{ config, pkgs, ... }: let configPath = if config.machine.isGeneric then "${config.home.homeDirectory}/.config/home-manager" else "${config.home.homeDirectory}/.nixos-config"; in { programs.topgrade = { enable = true; settings = { misc = { assume_yes = true; ignore_failures = [ "git_repos" ]; no_retry = true; pre_sudo = false; cleanup = true; skip_notify = true; disable = [ "bun" "tldr" "flutter" "nix" ]; }; git.repos = [ configPath ]; firmware = { upgrade = true; }; pre_commands = { flakeUpgrade = "cd ${configPath} && ${pkgs.nixVersions.latest}/bin/nix flake update --commit-lock-file --verbose --repair"; }; }; }; }