home-manager1Home Managerhome-managerreconfigure a user environmenthome-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 namevalue
--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
$XDG_CONFIG_HOME/home-manager/home.nix or
$XDG_CONFIG_HOME/home-manager/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 date1 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-option8.
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/home-manager/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-build1.
Passed on to nix-build1.
Passed on to nix-build1.
Passed on to nix-build1.
Passed on to nix-build1.
Passed on to nix-build1.
Passed on to nix-build1.
Passed on to nix build
when building from a flake.
Passed on to nix-build1.
Passed on to nix-build1.
Passed on to nix-build1
when running home-manager build.
Passed on to nix-build1
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 alsohome-configuration.nix5