home-manager 1 Home Manager home-manager reconfigure a user environment home-manager build instantiate edit expire-generations timestamp generations help news option option.name packages remove-generations ID … switch uninstall -A attrPath -I path --flake flake-uri -b ext -f --file path -h --help --version -n --dry-run --option name value --cores number -j --max-jobs number --debug --impure --keep-failed --keep-going -L --print-build-logs --show-trace --(no-)substitute --no-out-link --refresh -v --verbose Description This command updates the user environment so that it corresponds to the configuration specified in ~/.config/nixpkgs/home.nix or ~/.config/nixpkgs/flake.nix. All operations using this tool expects a sub-command that indicates the operation to perform. It must be one of Build configuration into a result directory. Instantiate the configuration and print the resulting derivation. Open the home configuration using the editor indicated by EDITOR. Remove generations older than timestamp where timestamp is interpreted as in the argument of the date 1 tool. For example -30 days or 2018-01-01. List all home environment generations. Print tool help. Show news entries in a pager. Inspect the given option name in the home configuration, like nixos-option 8 . List all packages installed in home-manager-path. Remove indicated generations. Use the sub-command to find suitable generation numbers. Build and activate the configuration. Remove Home Manager from the user environment. This will remove all managed files from the home directory, remove packages installed through Home Manager from the user profile, and remove all Home Manager generations and make them available for immediate garbage collection. Options The tool accepts the options Optional attribute that selects a configuration expression in the configuration file. That is, if home.nix contains { joe-at-work = {pkgs, ...}: { home.packages = [ pkgs.fortune ]; }; joe-at-home = {pkgs, ...}: { home.packages = [ pkgs.cowsay ]; }; } then the command home-manager switch -A joe-at-work will activate the profile containing the fortune program. Add a path to the Nix expression search path. For example, to build a Home Manager profile using a specific Nixpkgs run home-manager -I nixpkgs=/absolute/path/to/nixpkgs build. By default <nixpkgs> is used. Build Home Manager configuration from the flake, which must contain the output homeConfigurations.name. If no name is specified it will first try username@hostname and then username. Enable automatic resolution of collisions between unmanaged and managed files. The name of the original file will be suffixed by the given extension. For example, $ home-manager -b bck switch will cause a colliding file ~/.config/foo.conf to be moved to ~/.config/foo.conf.bck. Indicates the path to the Home Manager configuration file. If not given, $XDG_CONFIG_HOME/nixpkgs/home.nix is used. Prints usage information for the home-manager tool. Prints the version number of the home-manager tool. Perform a dry-run of the given operation, only prints what actions would be taken. Passed on to nix-build 1 . Passed on to nix-build 1 . Passed on to nix-build 1 . Passed on to nix-build 1 . Passed on to nix-build 1 . Passed on to nix-build 1 . Passed on to nix-build 1 . Passed on to nix build when building from a flake. Passed on to nix-build 1 . Passed on to nix-build 1 . Passed on to nix-build 1 when running home-manager build. Passed on to nix-build 1 Activates verbose output. Files $XDG_DATA_HOME/home-manager/news-read-ids Identifiers of news items that have been shown. Can be deleted to reset the read news indicator. Bugs Please report any bugs on the project issue tracker. See also home-configuration.nix 5