# Include any additional configuration file(s) # [include] sections are processed in the order you write them # Files in $CONFIG_DIR/topgrade.d/ are automatically included before this file [include] # paths = ["/etc/topgrade.toml"] [misc] # Run `sudo -v` to cache credentials at the start of the run # This avoids a blocking password prompt in the middle of an unattended run # (default: false) # pre_sudo = false # Sudo command to be used # sudo_command = "sudo" # Disable specific steps - same options as the command line flag # disable = ["a_m", "app_man", "asdf", "atom", "aqua", "audit", "auto_cpufreq", "bin", "bob", "brew_cask", "brew_formula", "bun", "bun_packages", "cargo", "certbot", "chezmoi", "chocolatey", "choosenim", "cinnamon_spices", "clam_av_db", "composer", "conda", "config_update", "containers", "custom_commands", "deb_get", "deno", "distrobox", "dkp_pacman", "dotnet", "elan", "emacs", "firmware", "flatpak", "flutter", "fossil", "gcloud", "gem", "ghcup", "github_cli_extensions", "git_repos", "gnome_shell_extensions", "go", "guix", "haxelib", "helm", "home_manager", "jet_brains_toolbox", "jetpack", "julia", "juliaup", "kakoune", "helix", "krew", "lure", "lensfun", "macports", "mamba", "miktex", "mas", "maza", "micro", "microsoft_store", "mise", "myrepos", "nix", "node", "opam", "pacdef", "pacstall", "pearl", "pip3", "pip_review", "pip_review_local", "pipupgrade", "pipx", "pipxu", "pixi", "pkg", "pkgin", "platformio_core", "pnpm", "poetry", "powershell", "protonup", "pyenv", "raco", "rcm", "remotes", "restarts", "rtcl", "ruby_gems", "rustup", "rye", "scoop", "sdkman", "self_update", "sheldon", "shell", "snap", "sparkle", "spicetify", "stack", "stew", "system", "tldr", "tlmgr", "tmux", "toolbx", "uv", "vagrant", "vcpkg", "vim", "volta_packages", "vscode", "vscodium", "waydroid", "winget", "wsl", "wsl_update", "xcodes", "yadm", "yarn", "zigup", "zvm"] # disable = ["a_m", "app_man", "asdf", "atom", "aqua", "audit", "auto_cpufreq", "bin", "bob", "brew_cask", "brew_formula", "certbot", "chezmoi", "chocolatey", "choosenim", "cinnamon_spices", "clam_av_db", "conda", "config_update", "custom_commands", "deb_get", "deno", "distrobox", "dkp_pacman", "dotnet", "elan", "emacs", "flutter", "fossil", "gcloud", "gem", "ghcup", "github_cli_extensions", "git_repos", "gnome_shell_extensions", "guix", "haxelib", "helm", "home_manager", "jet_brains_toolbox", "jetpack", "julia", "juliaup", "kakoune", "helix", "krew", "lure", "lensfun", "macports", "mamba", "miktex", "mas", "maza", "micro", "microsoft_store", "mise", "myrepos", "nix", "opam", "pacdef", "pacstall", "pearl", "pip_review", "pip_review_local", "pipupgrade", "pipxu", "pixi", "pkg", "pkgin", "platformio_core", "poetry", "powershell", "protonup", "pyenv", "raco", "rcm", "remotes", "restarts", "rtcl", "ruby_gems", "rustup", "rye", "scoop", "self_update", "sheldon", "shell", "snap", "sparkle", "spicetify", "stack", "stew", "tlmgr", "toolbx", "uv", "vagrant", "vcpkg", "vim", "volta_packages", "vscode", "vscodium", "waydroid", "winget", "wsl", "wsl_update", "xcodes", "yadm", "zigup", "zvm"] disable = ["a_m", "app_man", "asdf", "atom", "aqua", "audit", "auto_cpufreq", "bin", "bob", "brew_cask", "brew_formula", "certbot", "chezmoi", "chocolatey", "choosenim", "cinnamon_spices", "clam_av_db", "conda", "config_update", "custom_commands", "deb_get", "deno", "distrobox", "dkp_pacman", "dotnet", "elan", "emacs", "flutter", "fossil", "gcloud", "gem", "ghcup", "github_cli_extensions", "git_repos", "gnome_shell_extensions", "guix", "haxelib", "helm", "home_manager", "jetpack", "julia", "juliaup", "kakoune", "helix", "krew", "lure", "lensfun", "macports", "mamba", "miktex", "mas", "maza", "micro", "microsoft_store", "mise", "myrepos", "nix", "opam", "pacdef", "pacstall", "pearl", "pip_review", "pip_review_local", "pipupgrade", "pipxu", "pixi", "pkg", "pkgin", "platformio_core", "poetry", "powershell", "protonup", "pyenv", "raco", "rcm", "remotes", "restarts", "rtcl", "ruby_gems", "rustup", "rye", "scoop", "self_update", "sheldon", "shell", "snap", "sparkle", "spicetify", "stack", "stew", "tlmgr", "toolbx", "uv", "vagrant", "vcpkg", "vim", "volta_packages", "vscode", "vscodium", "waydroid", "winget", "wsl", "wsl_update", "xcodes", "yadm", "zigup", "zvm"] # Ignore failures for these steps # ignore_failures = ["powershell"] # List of remote machines with Topgrade installed on them # remote_topgrades = ["toothless", "pi", "parnas"] # Path to Topgrade executable on remote machines # remote_topgrade_path = ".cargo/bin/topgrade" # Arguments to pass to SSH when upgrading remote systems # ssh_arguments = "-o ConnectTimeout=2" # Arguments to pass tmux when pulling Repositories # tmux_arguments = "-S /var/tmux.sock" # Do not set the terminal title (default: true) # set_title = true # Display the time in step titles (default: true) # display_time = true # Don't ask for confirmations (no default value) # assume_yes = true # Do not ask to retry failed steps (default: false) # no_retry = true # Run inside tmux (default: false) # run_in_tmux = true # Changes the way topgrade interacts with # the tmux session, creating the session # and only attaching to it if not inside tmux # (default: "attach_if_not_in_session", allowed values: "attach_if_not_in_session", "attach_always") # tmux_session_mode = "attach_if_not_in_session" # Cleanup temporary or old files (default: false) # cleanup = true # Send a notification for every step (default: false) # notify_each_step = false # Skip sending a notification at the end of a run (default: false) # skip_notify = true # The Bash-it branch to update (default: "stable") # bashit_branch = "stable" # Run specific steps - same options as the command line flag # only = ["system", "emacs"] # Whether to self update # # this will be ignored if the binary is built without self update support # # available also via setting the environment variable TOPGRADE_NO_SELF_UPGRADE) # no_self_update = true # Extra tracing filter directives # These are prepended to the `--log-filter` argument # See: https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives # log_filters = ["topgrade::command=debug", "warn"] # Commands to run before anything [pre_commands] # "Emacs Snapshot" = "rm -rf ~/.emacs.d/elpa.bak && cp -rl ~/.emacs.d/elpa ~/.emacs.d/elpa.bak" # Commands to run after anything [post_commands] # "Emacs Snapshot" = "rm -rf ~/.emacs.d/elpa.bak && cp -rl ~/.emacs.d/elpa ~/.emacs.d/elpa.bak" # Custom commands [commands] # "Python Environment" = "~/dev/.env/bin/pip install -i https://pypi.python.org/simple -U --upgrade-strategy eager jupyter" # "Custom command using interactive shell (unix)" = "-i vim_upgrade" [python] # enable_pip_review = true ###disabled by default # enable_pip_review_local = true ###disabled by default # enable_pipupgrade = true ###disabled by default # pipupgrade_arguments = "-y -u --pip-path pip" ###disabled by default # For the poetry step, by default, Topgrade skips its update if poetry is not # installed with the official script. This configuration entry forces Topgrade # to run the update in this case. # # (default: false) # poetry_force_self_update = true [composer] # self_update = true [brew] # For the BrewCask step # If `Repo Cask Upgrade` exists, then use the `-a` option. # Otherwise, use the `--greedy` option. # greedy_cask = true # For the BrewCask step # If `Repo Cask Upgrade` does not exist, then use the `--greedy_latest` option. # NOTE: the above entry `greedy_cask` contains this entry, though you can enable # both of them, they won't clash with each other. # greedy_latest = true # For the BrewCask step # If `Repo Cask Upgrade` does not exist, then use the `--greedy_auto_updates` option. # NOTE: the above entry `greedy_cask` contains this entry, though you can enable # both of them, they won't clash with each other. # greedy_auto_updates = true # For the BrewFormula step # Execute `brew autoremove` after the step. # autoremove = true # For the BrewFormula step # Upgrade formulae built from the HEAD branch; `brew upgrade --fetch-HEAD` # fetch_head = true [linux] # Arch Package Manager to use. # Allowed values: # autodetect, aura, garuda_update, pacman, pamac, paru, pikaur, trizen, yay # arch_package_manager = "pacman" # Arguments to pass yay (or paru) when updating packages # yay_arguments = "--nodevel" # Arguments to pass dnf when updating packages # dnf_arguments = "--refresh" # aura_aur_arguments = "-kx" # aura_pacman_arguments = "" # garuda_update_arguments = "" # show_arch_news = true # trizen_arguments = "--devel" # pikaur_arguments = "" # pamac_arguments = "--no-devel" # enable_tlmgr = true # emerge_sync_flags = "-q" # emerge_update_flags = "-uDNa --with-bdeps=y world" # redhat_distro_sync = false # suse_dup = false # rpm_ostree = false # For Fedora/CentOS/RHEL Atomic variants, if `bootc` is available and this configuration entry is set to true, use # it to do the update - Will also supercede rpm-ostree if enabled # (default: false) # bootc = false # nix_arguments = "--flake" # nix_env_arguments = "--prebuilt-only" # Extra Home Manager arguments # home_manager_arguments = ["--flake", "file"] [git] # How many repos to pull at max in parallel # max_concurrency = 5 # Additional git repositories to pull # repos = [ # "~/src/*/", # "~/.config/something" # ] # Don't pull the predefined git repos # pull_predefined = false # Arguments to pass Git when pulling Repositories # arguments = "--rebase --autostash" [windows] # Manually select Windows updates # accept_all_updates = false # open_remotes_in_new_terminal = true # wsl_update_pre_release = true # wsl_update_use_web_download = true # The default for winget_install_silently is true, # this example turns off silent install. # winget_install_silently = false # Causes Topgrade to rename itself during the run to allow package managers # to upgrade it. Use this only if you installed Topgrade by using a package # manager such as Scoop or Cargo # self_rename = true [npm] # Use sudo if the NPM directory isn't owned by the current user # use_sudo = true [yarn] # Run `yarn global upgrade` with `sudo` # use_sudo = true [deno] # Upgrade deno executable to the given version. # version = "stable" [vim] # For `vim-plug`, execute `PlugUpdate!` instead of `PlugUpdate` # force_plug_update = true [firmware] # Offer to update firmware; if false just check for and display available updates # upgrade = true [vagrant] # Vagrant directories # directories = [] # power on vagrant boxes if needed # power_on = true # Always suspend vagrant boxes instead of powering off # always_suspend = true [flatpak] # Use sudo for updating the system-wide installation # use_sudo = true [distrobox] # use_root = false # containers = ["archlinux-latest"] [containers] # Specify the containers to ignore while updating (Wildcard supported) # ignored_containers = ["ghcr.io/rancher-sandbox/rancher-desktop/rdx-proxy:latest", "docker.io*"] # Specify the runtime to use for containers (default: "docker", allowed values: "docker", "podman") # runtime = "podman" [lensfun] # If disabled, Topgrade invokes `lensfun‑update‑data` without root priviledge, # then the update will be only available to you. Otherwise, `sudo` is required, # and the update will be installed system-wide, i.e., available to all users. # (default: false) # use_sudo = false [julia] # If disabled, Topgrade invokes julia with the --startup-file=no CLI option. # # This may be desirable to avoid loading outdated packages with "using" directives # in the startup file, which might cause the update run to fail. # (default: true) # startup_file = true [zigup] # Version strings passed to zigup. # These may be pinned versions such as "0.13.0" or branches such as "master". # Each one will be updated in its own zigup invocation. # (default: ["master"]) # target_versions = ["master", "0.13.0"] # Specifies the directory that the zig files will be installed to. # If defined, passed with the --install-dir command line flag. # If not defined, zigup will use its default behaviour. # (default: not defined) # install_dir = "~/.zig" # Specifies the path of the symlink which will be set to point at the default compiler version. # If defined, passed with the --path-link command line flag. # If not defined, zigup will use its default behaviour. # This is not meaningful if set_default is not enabled. # (default: not defined) # path_link = "~/.bin/zig" # If enabled, run `zigup clean` after updating all versions. # If enabled, each updated version above will be marked with `zigup keep`. # (default: false) # cleanup = false [vscode] # If this is set and is a non-empty string, it specifies the profile the # extensions should be updated for. # (default: this won't be set by default) # profile = ""