2020-10-19 21:06:22 +02:00
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2020-11-14 23:17:22 +01:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> < html xmlns = "http://www.w3.org/1999/xhtml" > < head > < meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8" / > < title > Appendix B. Tools< / title > < link rel = "stylesheet" type = "text/css" href = "style.css" / > < link rel = "stylesheet" type = "text/css" href = "overrides.css" / > < link rel = "stylesheet" type = "text/css" href = "mono-blue.css" / > < script src = "highlight.pack.js" type = "text/javascript" > < / script > < script src = "highlight.load.js" type = "text/javascript" > < / script > < meta name = "generator" content = "DocBook XSL Stylesheets V1.79.2" / > < link rel = "home" href = "index.html" title = "Home Manager Manual" / > < link rel = "up" href = "index.html" title = "Home Manager Manual" / > < link rel = "prev" href = "options.html" title = "Appendix A. Configuration Options" / > < link rel = "next" href = "release-notes.html" title = "Appendix C. Release Notes" / > < / head > < body > < div class = "navheader" > < table width = "100%" summary = "Navigation header" > < tr > < th colspan = "3" align = "center" > Appendix B. Tools< / th > < / tr > < tr > < td width = "20%" align = "left" > < a accesskey = "p" href = "options.html" > Prev< / a > < / td > < th width = "60%" align = "center" > < / th > < td width = "20%" align = "right" > < a accesskey = "n" href = "release-notes.html" > Next< / a > < / td > < / tr > < / table > < hr / > < / div > < div class = "appendix" > < div class = "titlepage" > < div > < div > < h1 class = "title" > < a id = "ch-tools" > < / a > Appendix B. Tools< / h1 > < / div > < / div > < / div > < div class = "toc" > < dl class = "toc" > < dt > < span class = "refentrytitle" > < a href = "tools.html#idm140737312189488" > < span class = "command" > < strong > home-manager< / strong > < / span >
< / a > < / span > < span class = "refpurpose" > — reconfigure a user environment< / span > < / dt > < / dl > < / div > < div class = "refentry" > < a id = "idm140737312189488" > < / a > < div class = "titlepage" > < / div > < div class = "refnamediv" > < h2 > Name< / h2 > < p > < span class = "command" > < strong > home-manager< / strong > < / span >
2020-10-19 21:06:22 +02:00
— reconfigure a user environment< / p > < / div > < div class = "refsynopsisdiv" > < h2 > Synopsis< / h2 > < div class = "cmdsynopsis" > < p > < code class = "command" > home-manager< / code > {
build
|
instantiate
|
edit
|
expire-generations < em class = "replaceable" > < code > timestamp< / code > < / em >
|
generations
|
help
|
news
|
packages
|
remove-generations < em class = "replaceable" > < code > ID …< / code > < / em >
|
switch
|
uninstall
}< br / > [
-A < em class = "replaceable" > < code > attrPath< / code > < / em >
] [
-I < em class = "replaceable" > < code > path< / code > < / em >
] [
-b < em class = "replaceable" > < code > ext< / code > < / em >
] [
{
-f
|
--file
} < em class = "replaceable" > < code > path< / code > < / em >
] [
{
-h
|
--help
}
] [
{
-n
|
--dry-run
}
] [
--option < em class = "replaceable" > < code > name< / code > < / em > < em class = "replaceable" > < code > value< / code > < / em >
] [
--cores < em class = "replaceable" > < code > number< / code > < / em >
] [
2020-11-13 23:58:40 +01:00
{
-j
|
--max-jobs
}
< em class = "replaceable" > < code > number< / code > < / em >
2020-10-19 21:06:22 +02:00
] [
--keep-failed
] [
--keep-going
] [
--show-trace
] [
--(no-)substitute
] [
{
-v
|
--verbose
}
2020-11-14 23:17:22 +01:00
]< / p > < / div > < / div > < div class = "refsection" > < a id = "idm140737312155792" > < / a > < h2 > Description< / h2 > < p >
2020-10-19 21:06:22 +02:00
This command updates the user environment so that it corresponds to the
configuration specified in < code class = "filename" > ~/.config/nixpkgs/home.nix< / code > .
< / p > < p >
All operations using this tool expects a sub-command that indicates the
operation to perform. It must be one of
< / p > < div class = "variablelist" > < dl class = "variablelist" > < dt > < span class = "term" >
< code class = "option" > build< / code >
< / span > < / dt > < dd > < p >
Build configuration into a < code class = "filename" > result< / code > directory.
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > instantiate< / code >
< / span > < / dt > < dd > < p >
Instantiate the configuration and print the resulting derivation.
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > edit< / code >
< / span > < / dt > < dd > < p >
Open the home configuration using the editor indicated by
< code class = "envar" > EDITOR< / code > .
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > expire-generations < em class = "replaceable" > < code > timestamp< / code > < / em > < / code >
< / span > < / dt > < dd > < p >
Remove generations older than < em class = "replaceable" > < code > timestamp< / code > < / em > where
< em class = "replaceable" > < code > timestamp< / code > < / em > is interpreted as in the
< code class = "option" > -d< / code > argument of the < span class = "citerefentry" > < span class = "refentrytitle" > date< / span > (1)< / span > tool. For example < code class = "literal" > -30
days< / code > or < code class = "literal" > 2018-01-01< / code > .
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > generations< / code >
< / span > < / dt > < dd > < p >
List all home environment generations.
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > help< / code >
< / span > < / dt > < dd > < p >
Print tool help.
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > news< / code >
< / span > < / dt > < dd > < p >
Show news entries in a pager.
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > packages< / code >
< / span > < / dt > < dd > < p >
List all packages installed in < code class = "varname" > home-manager-path< / code > .
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > remove-generations < em class = "replaceable" > < code > ID …< / code > < / em > < / code >
< / span > < / dt > < dd > < p >
Remove indicated generations. Use the < code class = "option" > generations< / code >
sub-command to find suitable generation numbers.
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > switch< / code >
< / span > < / dt > < dd > < p >
Build and activate the configuration.
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > uninstall< / code >
< / span > < / dt > < dd > < p >
Remove Home Manager from the user environment. This will
< / p > < div class = "itemizedlist" > < ul class = "itemizedlist" style = "list-style-type: disc; " > < li class = "listitem" > < p >
remove all managed files from the home directory,
< / p > < / li > < li class = "listitem" > < p >
remove packages installed through Home Manager from the user profile,
and
< / p > < / li > < li class = "listitem" > < p >
optionally remove all Home Manager generations and make them
available for immediate garbage collection.
< / p > < / li > < / ul > < / div > < p >
< / p > < / dd > < / dl > < / div > < p >
2020-11-14 23:17:22 +01:00
< / p > < / div > < div class = "refsection" > < a id = "idm140737312122272" > < / a > < h2 > Options< / h2 > < p >
2020-10-19 21:06:22 +02:00
The tool accepts the options
< / p > < div class = "variablelist" > < dl class = "variablelist" > < dt > < span class = "term" >
< code class = "option" > -A < em class = "replaceable" > < code > attrPath< / code > < / em > < / code >
< / span > < / dt > < dd > < p >
Optional attribute that selects a configuration expression in the
configuration file. That is, if < code class = "filename" > home.nix< / code > contains
< / p > < pre class = "programlisting nix" >
{
joe-at-work = {pkgs, ...}: { home.packages = [ pkgs.fortune ]; };
joe-at-home = {pkgs, ...}: { home.packages = [ pkgs.cowsay ]; };
}
< / pre > < p >
then the command < span class = "command" > < strong > home-manager switch -A joe-at-work< / strong > < / span >
will activate the profile containing the fortune program.
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > -I < em class = "replaceable" > < code > path< / code > < / em > < / code >
< / span > < / dt > < dd > < p >
Add a path to the Nix expression search path. For example, to build a
Home Manager profile using a specific Nixpkgs run < span class = "command" > < strong > home-manager
-I nixpkgs=/absolute/path/to/nixpkgs build< / strong > < / span > . By default
< code class = "literal" > < nixpkgs> < / code > is used.
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > -b < em class = "replaceable" > < code > extension< / code > < / em > < / code >
< / span > < / dt > < dd > < p >
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,
< / p > < pre class = "screen" >
< code class = "prompt" > $< / code > < strong class = "userinput" > < code > home-manager -b bck switch< / code > < / strong >
< / pre > < p >
will cause a colliding file < code class = "filename" > ~/.config/foo.conf< / code > to be
moved to < code class = "filename" > ~/.config/foo.conf.bck< / code > .
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > -f < em class = "replaceable" > < code > path< / code > < / em > < / code >
, < / span > < span class = "term" >
< code class = "option" > --file < em class = "replaceable" > < code > path< / code > < / em > < / code >
< / span > < / dt > < dd > < p >
Indicates the path to the Home Manager configuration file. If not given,
< code class = "filename" > ~/.config/nixpkgs/home.nix< / code > is used.
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > -h< / code >
, < / span > < span class = "term" >
< code class = "option" > --help< / code >
< / span > < / dt > < dd > < p >
Prints usage information for the < span class = "command" > < strong > home-manager< / strong > < / span > tool.
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > -n< / code >
, < / span > < span class = "term" >
< code class = "option" > --dry-run< / code >
< / span > < / dt > < dd > < p >
Perform a dry-run of the given operation, only prints what actions would
be taken.
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > --option < em class = "replaceable" > < code > name< / code > < / em > < em class = "replaceable" > < code > value< / code > < / em > < / code >
< / span > < / dt > < dd > < p >
Passed on to < span class = "citerefentry" > < span class = "refentrytitle" > nix-build< / span > (1)< / span > .
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > --cores < em class = "replaceable" > < code > number< / code > < / em > < / code >
< / span > < / dt > < dd > < p >
Passed on to < span class = "citerefentry" > < span class = "refentrytitle" > nix-build< / span > (1)< / span > .
< / p > < / dd > < dt > < span class = "term" >
2020-11-13 23:58:40 +01:00
< code class = "option" > -j < em class = "replaceable" > < code > number< / code > < / em > < / code >
, < / span > < span class = "term" >
2020-10-19 21:06:22 +02:00
< code class = "option" > --max-jobs < em class = "replaceable" > < code > number< / code > < / em > < / code >
< / span > < / dt > < dd > < p >
Passed on to < span class = "citerefentry" > < span class = "refentrytitle" > nix-build< / span > (1)< / span > .
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > --keep-failed< / code >
< / span > < / dt > < dd > < p >
Passed on to < span class = "citerefentry" > < span class = "refentrytitle" > nix-build< / span > (1)< / span > .
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > --keep-going< / code >
< / span > < / dt > < dd > < p >
Passed on to < span class = "citerefentry" > < span class = "refentrytitle" > nix-build< / span > (1)< / span > .
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > --show-trace< / code >
< / span > < / dt > < dd > < p >
Passed on to < span class = "citerefentry" > < span class = "refentrytitle" > nix-build< / span > (1)< / span > .
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > --(no-)substitute< / code >
< / span > < / dt > < dd > < p >
Passed on to < span class = "citerefentry" > < span class = "refentrytitle" > nix-build< / span > (1)< / span > .
< / p > < / dd > < dt > < span class = "term" >
< code class = "option" > -v< / code >
, < / span > < span class = "term" >
< code class = "option" > --verbose< / code >
< / span > < / dt > < dd > < p >
Activates verbose output.
2020-11-14 23:17:22 +01:00
< / p > < / dd > < / dl > < / div > < / div > < div class = "refsection" > < a id = "idm140737312071168" > < / a > < h2 > Files< / h2 > < div class = "variablelist" > < dl class = "variablelist" > < dt > < span class = "term" >
2020-10-19 21:06:22 +02:00
< code class = "filename" > ~/.local/share/home-manager/news-read-ids< / code >
< / span > < / dt > < dd > < p >
Identifiers of news items that have been shown. Can be deleted to reset
the read news indicator.
2020-11-14 23:17:22 +01:00
< / p > < / dd > < / dl > < / div > < / div > < div class = "refsection" > < a id = "idm140737312067872" > < / a > < h2 > Bugs< / h2 > < p >
2020-10-19 21:06:22 +02:00
Please report any bugs on the
2020-10-19 21:27:00 +02:00
< a class = "link" href = "https://github.com/nix-community/home-manager/issues" target = "_top" > project
2020-10-19 21:06:22 +02:00
issue tracker< / a > .
2020-11-14 23:17:22 +01:00
< / p > < / div > < div class = "refsection" > < a id = "idm140737312065872" > < / a > < h2 > See also< / h2 > < p >
2020-10-19 21:06:22 +02:00
< span class = "citerefentry" > < span class = "refentrytitle" > home-configuration.nix< / span > (5)< / span >
< / p > < / div > < / div > < / div > < div class = "navfooter" > < hr / > < table width = "100%" summary = "Navigation footer" > < tr > < td width = "40%" align = "left" > < a accesskey = "p" href = "options.html" > Prev< / a > < / td > < td width = "20%" align = "center" > < / td > < td width = "40%" align = "right" > < a accesskey = "n" href = "release-notes.html" > Next< / a > < / td > < / tr > < tr > < td width = "40%" align = "left" valign = "top" > Appendix A. Configuration Options < / td > < td width = "20%" align = "center" > < a accesskey = "h" href = "index.html" > Home< / a > < / td > < td width = "40%" align = "right" valign = "top" > Appendix C. Release Notes< / td > < / tr > < / table > < / div > < / body > < / html >