diff --git a/index.html b/index.html index 56055cddc..b4ca787dd 100644 --- a/index.html +++ b/index.html @@ -1,6 +1,6 @@ -Home Manager Manual

Home Manager Manual


Preface
1. Installing Home Manager
1.1. Standalone installation
1.2. NixOS module
1.3. nix-darwin module
2. Using Home Manager
2.1. Configuration Example
2.2. Rollbacks
2.3. Keeping your ~ safe from harm
2.4. Graphical services
3. Writing Home Manager Modules
3.1. Option Types
4. Contributing
4.1. Getting started
4.2. Guidelines
4.2.1. Maintain backward compatibility
4.2.2. Keep forward compatibility in mind
4.2.3. Add only valuable options
4.2.4. Add relevant tests
4.2.5. Add relevant documentation
4.2.6. Add yourself as a module maintainer
4.2.7. Format your code
4.2.8. Format your commit messages
4.2.9. Format your news entries
4.2.10. Use conditional modules and news
4.2.11. Mind the license
4.3. Commits
4.4. Code Style
4.5. News
4.6. Tests
5. Frequently Asked Questions (FAQ)
5.1. Why is there a collision error when switching generation?
5.2. Why are the session variables not set?
5.3. How to set up a configuration for multiple users/machines?
5.4. Why do I get an error message about ca.desrt.dconf?
5.5. How do I install packages from Nixpkgs unstable?
5.6. How do I override the package used by a module?
A. Configuration Options
B. NixOS Module Options
C. nix-darwin Module Options
D. Tools
home-manager - — reconfigure a user environment
E. Release Notes
E.1. Release 21.11
E.1.1. Highlights
E.1.2. State Version Changes
E.2. Release 21.05
E.2.1. Highlights
E.2.2. State Version Changes
E.3. Release 20.09
E.3.1. Highlights
E.3.2. State Version Changes
E.4. Release 20.03
E.4.1. Highlights
E.4.2. State Version Changes
E.5. Release 19.09
E.5.1. Highlights
E.5.2. State Version Changes
E.6. Release 19.03
E.6.1. Highlights
E.6.2. State Version Changes
E.7. Release 18.09

Preface

+Home Manager Manual

Home Manager Manual


Preface
1. Installing Home Manager
1.1. Standalone installation
1.2. NixOS module
1.3. nix-darwin module
2. Using Home Manager
2.1. Configuration Example
2.2. Rollbacks
2.3. Keeping your ~ safe from harm
2.4. Graphical services
3. Writing Home Manager Modules
3.1. Option Types
4. Contributing
4.1. Getting started
4.2. Guidelines
4.2.1. Maintain backward compatibility
4.2.2. Keep forward compatibility in mind
4.2.3. Add only valuable options
4.2.4. Add relevant tests
4.2.5. Add relevant documentation
4.2.6. Add yourself as a module maintainer
4.2.7. Format your code
4.2.8. Format your commit messages
4.2.9. Format your news entries
4.2.10. Use conditional modules and news
4.2.11. Mind the license
4.3. Commits
4.4. Code Style
4.5. News
4.6. Tests
5. Frequently Asked Questions (FAQ)
5.1. Why is there a collision error when switching generation?
5.2. Why are the session variables not set?
5.3. How to set up a configuration for multiple users/machines?
5.4. Why do I get an error message about ca.desrt.dconf?
5.5. How do I install packages from Nixpkgs unstable?
5.6. How do I override the package used by a module?
A. Configuration Options
B. NixOS Module Options
C. nix-darwin Module Options
D. Tools
home-manager + — reconfigure a user environment
E. Release Notes
E.1. Release 22.05
E.1.1. Highlights
E.1.2. State Version Changes
E.2. Release 21.11
E.2.1. Highlights
E.2.2. State Version Changes
E.3. Release 21.05
E.3.1. Highlights
E.3.2. State Version Changes
E.4. Release 20.09
E.4.1. Highlights
E.4.2. State Version Changes
E.5. Release 20.03
E.5.1. Highlights
E.5.2. State Version Changes
E.6. Release 19.09
E.6.1. Highlights
E.6.2. State Version Changes
E.7. Release 19.03
E.7.1. Highlights
E.7.2. State Version Changes
E.8. Release 18.09

Preface

This manual will eventually describe how to install, use, and extend Home Manager.

@@ -45,7 +45,7 @@ Manager is incompatible with the new nix profile.

$ nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
-$ nix-channel --update

and if you follow a Nixpkgs version 21.05 channel you can run

$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-21.05.tar.gz home-manager
+$ nix-channel --update

and if you follow a Nixpkgs version 21.11 channel you can run

$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-21.11.tar.gz home-manager
 $ nix-channel --update

On NixOS you may need to log out and back in for the channel to become available. On non-NixOS you may have to add

export NIX_PATH=$HOME/.nix-defexpr/channels${NIX_PATH:+:}$NIX_PATH

to your shell (see nix#2033).

  • @@ -70,7 +70,7 @@ deployed through NixOps.

    To make the NixOS module available for use you mu your system configuration. This is most conveniently done by adding a Home Manager channel. For example, if you are following Nixpkgs master or an unstable channel, you can run

    # nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
    -# nix-channel --update

    and if you follow a Nixpkgs version 21.05 channel, you can run

    # nix-channel --add https://github.com/nix-community/home-manager/archive/release-21.05.tar.gz home-manager
    +# nix-channel --update

    and if you follow a Nixpkgs version 21.11 channel, you can run

    # nix-channel --add https://github.com/nix-community/home-manager/archive/release-21.11.tar.gz home-manager
     # nix-channel --update

    It is then possible to add

    imports = [ <home-manager/nixos> ];

    to your system configuration.nix file, which will introduce a new NixOS option called home-manager.users whose type is an attribute set that maps user names to Home Manager configurations.

    For example, a NixOS configuration may include the lines

    users.users.eve.isNormalUser = true;
    @@ -99,7 +99,7 @@ tool.

    To make the NixOS module available for use you must # nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager -# nix-channel --update

    and if you follow a Nixpkgs version 21.05 channel, you can run

    # nix-channel --add https://github.com/nix-community/home-manager/archive/release-21.05.tar.gz home-manager
    +# nix-channel --update

    and if you follow a Nixpkgs version 21.11 channel, you can run

    # nix-channel --add https://github.com/nix-community/home-manager/archive/release-21.11.tar.gz home-manager
     # nix-channel --update

    It is then possible to add

    imports = [ <home-manager/nix-darwin> ];

    to your nix-darwin configuration.nix file, which will introduce a new NixOS option called home-manager whose type is an attribute set that maps user names to Home Manager configurations.

    For example, a nix-darwin configuration may include the lines

    users.users.eve = {
    @@ -144,7 +144,7 @@ error: A definition for option `programs.emacs.enable' is not of type `boolean'.
       # You can update Home Manager without changing this value. See
       # the Home Manager release notes for a list of state version
       # changes in each release.
    -  home.stateVersion = "21.11";
    +  home.stateVersion = "22.05";
     
       # Let Home Manager install and manage itself.
       programs.home-manager.enable = true;
    @@ -170,7 +170,7 @@ error: A definition for option `programs.emacs.enable' is not of type `boolean'.
       # You can update Home Manager without changing this value. See
       # the Home Manager release notes for a list of state version
       # changes in each release.
    -  home.stateVersion = "21.11";
    +  home.stateVersion = "22.05";
     
       # Let Home Manager install and manage itself.
       programs.home-manager.enable = true;
    diff --git a/options.html b/options.html
    index 765aa372b..9c161be2b 100644
    --- a/options.html
    +++ b/options.html
    @@ -722,7 +722,7 @@ Nixpkgs.
     

    When this option is enabled and a mismatch is detected then a warning will be printed when the user configuration is being built. -

    Type: boolean

    Default: true

    Declared by:

    +

    Type: boolean

    Default: false

    Declared by:

    <home-manager/modules/home-environment.nix>
    home.packages

    The set of packages to appear in the user environment.

    Type: list of packages

    Default: [ @@ -1005,7 +1005,7 @@ settings are in effect and will therefore help avoid breaking program configurations. Switching to a higher state version typically requires performing some manual steps, such as data conversion or moving files. -

    Type: one of "18.09", "19.03", "19.09", "20.03", "20.09", "21.03", "21.05", "21.11"

    Default: "18.09"

    Declared by:

    +

    Type: one of "18.09", "19.03", "19.09", "20.03", "20.09", "21.03", "21.05", "21.11", "22.05"

    Default: "18.09"

    Declared by:

    <home-manager/modules/misc/version.nix>
    home.username

    The user's username.

    Type: string

    Default:

    "$USER"   for state version < 20.09,
     undefined for state version ≥ 20.09
    diff --git a/release-notes.html b/release-notes.html
    index 69c22dccf..693752132 100644
    --- a/release-notes.html
    +++ b/release-notes.html
    @@ -1,6 +1,11 @@
     
    -Appendix E. Release Notes

    Release Notes

    This section lists the release notes for stable versions of Home Manager and the current unstable version.

    E.1. Release 21.11

    This is the current unstable branch and the information in this -section is therefore not final.

    E.1.1. Highlights

    This release has the following notable changes:

    E.2.2. State Version Changes

    The state version in this release includes the changes below. These changes are only active if the home.stateVersion option is set to "21.11" or later.

    • The home.keyboard option now defaults to null, meaning that Home Manager won’t do any keyboard layout management. For example, setxkbmap won’t be run in X sessions.
    • The programs.pet.settings option no longer place its value inside a General attribute. For example, is you before had -

      programs.pet.settings.editor = "nvim";

      then you now need

      programs.pet.settings.General.editor = "nvim";

    E.2. Release 21.05

    The 21.05 release branch became the stable branch in May, 2021.

    E.2.1. Highlights

    This release has the following notable changes:

    • +

      programs.pet.settings.editor = "nvim";

      then you now need

      programs.pet.settings.General.editor = "nvim";

    E.3. Release 21.05

    The 21.05 release branch became the stable branch in May, 2021.

    E.3.1. Highlights

    This release has the following notable changes:

    • The programs.broot.verbs option is now a list rather than an attribute set. To migrate, move the keys of the attrset into the list items' invocation keys. For example, @@ -148,14 +153,14 @@ options in programs.htop. To migrate, set the htop highlight_megabytes = 1; highlight_threads = 1; }; -};

    E.2.2. State Version Changes

    The state version in this release includes the changes below. These +};

    E.3.2. State Version Changes

    The state version in this release includes the changes below. These changes are only active if the home.stateVersion option is set to "21.05" or later.

    • The newsboat module now stores generated configuration in $XDG_CONFIG_HOME/newsboat. -

    E.3. Release 20.09

    The 20.09 release branch became the stable branch in late September, 2020.

    E.3.1. Highlights

    This release has the following notable changes:

    • +

    E.4. Release 20.09

    The 20.09 release branch became the stable branch in late September, 2020.

    E.4.1. Highlights

    This release has the following notable changes:

    • Nothing has happened. -

    E.3.2. State Version Changes

    The state version in this release includes the changes below. These +

    E.4.2. State Version Changes

    The state version in this release includes the changes below. These changes are only active if the home.stateVersion option is set to "20.09" or later.

    • The options home.homeDirectory and home.username no @@ -204,7 +209,7 @@ The options wayland.windowManager.sway.config.bars binding_mode #2f343a #900000 #ffffff } -}

    E.4. Release 20.03

    The 20.03 release branch became the stable branch in April, 2020.

    E.4.1. Highlights

    This release has the following notable changes:

    • +}

    E.5. Release 20.03

    The 20.03 release branch became the stable branch in April, 2020.

    E.5.1. Highlights

    This release has the following notable changes:

    • Assigning a list to the home.file, xdg.configFile, and xdg.dataFile options is now deprecated and will produce a warning message if used. Specifically, if your configuration currently @@ -260,7 +265,7 @@ configuration user = "jd"; } };

      Support for the list form will be removed in Home Manager version -20.09.

    E.4.2. State Version Changes

    The state version in this release includes the changes below. These +20.09.

    E.5.2. State Version Changes

    The state version in this release includes the changes below. These changes are only active if the home.stateVersion option is set to "20.03" or later.

    E.5. Release 19.09

    The 19.09 release branch became the stable branch in October, 2019.

    E.5.1. Highlights

    This release has the following notable changes:

    • +

    E.6. Release 19.09

    The 19.09 release branch became the stable branch in October, 2019.

    E.6.1. Highlights

    This release has the following notable changes:

    • The programs.firefox.enableGoogleTalk and programs.firefox.enableIcedTea options are now deprecated and will only work if Firefox ESR 52.x is used. @@ -280,7 +285,7 @@ The programs.firefox.enableGoogleTalk and The home-manager tool now provides an uninstall sub-command that can be used to uninstall Home Manager, if used in the standalone mode. That is, not as a NixOS module. -

    E.5.2. State Version Changes

    The state version in this release includes the changes below. These +

    E.6.2. State Version Changes

    The state version in this release includes the changes below. These changes are only active if the home.stateVersion option is set to "19.09" or later.

    E.6. Release 19.03

    The 19.03 release branch became the stable branch in April, 2019.

    E.6.1. Highlights

    This release has the following notable changes:

    • +

    E.7. Release 19.03

    The 19.03 release branch became the stable branch in April, 2019.

    E.7.1. Highlights

    This release has the following notable changes:

    • The home.file.<name>.source option now allows source files to be hidden, that is, having a name starting with the . character. It also allows the source file name to contain characters not typically @@ -306,10 +311,10 @@ encounter errors. “defined multiple times” then you need to use the mkForce function. For example,

      systemd.user.services.foo.Service.ExecStart = "/foo/bar";

      becomes

      systemd.user.services.foo.Service.ExecStart = lib.mkForce "/foo/bar";

      We had to make this change because the old merging was causing too -many confusing situations for people.

    E.6.2. State Version Changes

    The state version in this release includes the changes below. These +many confusing situations for people.

    E.7.2. State Version Changes

    The state version in this release includes the changes below. These changes are only active if the home.stateVersion option is set to “19.03” or later.

    E.7. Release 18.09

    The 18.09 release branch became the stable branch in September, 2018.

    \ No newline at end of file +

    E.8. Release 18.09

    The 18.09 release branch became the stable branch in September, 2018.

    \ No newline at end of file diff --git a/tools.html b/tools.html index 4f7f863d3..f938159bc 100644 --- a/tools.html +++ b/tools.html @@ -1,6 +1,6 @@ -Appendix D. Tools

    Appendix D. Tools

    home-manager - — reconfigure a user environment

    Name

    home-manager +Appendix D. Tools

    Appendix D. Tools

    home-manager + — reconfigure a user environment

    Name

    home-manager — reconfigure a user environment

    Synopsis

    home-manager { build | @@ -82,7 +82,7 @@ | --verbose } - ]

    Description

    + ]

    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.

    @@ -151,7 +151,7 @@ available for immediate garbage collection.

    -

    Options

    +

    Options

    The tool accepts the options

    -A attrPath @@ -259,15 +259,15 @@ --verbose

    Activates verbose output. -

    Files

    +

    Files

    ~/.local/share/home-manager/news-read-ids

    Identifiers of news items that have been shown. Can be deleted to reset the read news indicator. -

    Bugs

    +

    Bugs

    Please report any bugs on the project issue tracker. -

    See also

    +

    See also

    home-configuration.nix(5)

    \ No newline at end of file