# 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] # On Unix systems, Topgrade should not be run as root, it # will run commands with sudo or equivalent where needed. # Set this to true to suppress the warning and confirmation # prompt if Topgrade detects it is being run as root. # (default: false) # allow_root = false # 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 = ["system", "emacs"] # 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 # Show the reason for skipped steps (default: false) # This has no effect if the "only" option is specified # show_skipped = 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"] # Whether to show a distribution-specific summary if applicable, e.g. listing # Pacman backup configuration files (*.pacsave and *.pacnew) # (default: true) # show_distribution_summary = false # 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 [conda] # Additional named conda environments to update (`conda env update -n env_name`) # env_names = [ # "Toolbox", # "PyTorch" # ] # Additional conda environment paths to update (`conda env update -p env_path`) # env_paths = [ # "~/webserver/.conda/", # "~/experiments/.conda/" # ] [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 supersede 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"] [mandb] # Enable the mandb step (to update manual entries). # Mandb is updated in the background by a service on most systems by default. # (default: false) # enable = true [pkgfile] # Enable the pkgfile step (to update the pkgfile database). # Pkgfile is sometimes installed by default, but often not used and heavy to update. # (default: false) # enable = true [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 # Controls whether to automatically reboot the computer when updates are # installed that request it. (default: "no", allowed values: "yes", "no", "ask") # updates_auto_reboot = "yes" # 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 # Use sudo to elevate privileges for the Windows Package Manager (winget) # Only use this option if you want to run the Winget step in sudo-mode. # Running winget in sudo-mode is generally not recommended, as not every # package supports installing / upgrading in sudo-mode and it may cause issues # with some packages or may even cause the Winget-step to fail. # If any problems occur, please try running Topgrade without this option first # before reporting an issue. # (default: false) # winget_use_sudo = true [chezmoi] # Exclude encrypted files from update # (default: false) # exclude_encrypted = false [mise] # Upgrades to the latest version available, bumping the version in mise.toml # (default: false) # bump = false # Number of jobs to run in parallel # (default: 4) # jobs = 4 # Run interactively # (default: false) # interactive = false [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" # Run 'docker system prune' to clean up unused containers, networks, and build cache # (default: false) # system_prune = false [lensfun] # If disabled, Topgrade invokes `lensfun‑update‑data` without root privilege, # 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 = "" [pixi] # Show the release notes of the latest pixi release # during the pixi step # (default: false) # include_release_notes = false [doom] # If this is set to true, the `--aot` flag is added to `doom upgrade`, # which enables ahead-of-time native compilation of packages. # (default: false) # aot = true [rustup] # If set, updates only these channels. # (default: [] (all channels)) # channels = ["stable"]