diff --git a/index.html b/index.html index fc9796430..381ad7188 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
2.5. Updating
3. Nix Flakes
3.1. Prerequisties
3.2. Standalone setup
3.3. NixOS module
3.4. nix-darwin module
4. Writing Home Manager Modules
4.1. Option Types
5. Contributing
5.1. Getting started
5.2. Guidelines
5.2.1. Maintain backward compatibility
5.2.2. Keep forward compatibility in mind
5.2.3. Add only valuable options
5.2.4. Add relevant tests
5.2.5. Add relevant documentation
5.2.6. Add yourself as a module maintainer
5.2.7. Format your code
5.2.8. Format your commit messages
5.2.9. Format your news entries
5.2.10. Use conditional modules and news
5.2.11. Mind the license
5.3. Commits
5.4. Code Style
5.5. News
5.6. Tests
6. Frequently Asked Questions (FAQ)
6.1. Why is there a collision error when switching generation?
6.2. Why are the session variables not set?
6.3. How to set up a configuration for multiple users/machines?
6.4. Why do I get an error message about ca.desrt.dconf or dconf.service?
6.5. How do I install packages from Nixpkgs unstable?
6.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

+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
2.5. Updating
3. Nix Flakes
3.1. Prerequisties
3.2. Standalone setup
3.3. NixOS module
3.4. nix-darwin module
4. Writing Home Manager Modules
4.1. Option Types
5. Contributing
5.1. Getting started
5.2. Guidelines
5.2.1. Maintain backward compatibility
5.2.2. Keep forward compatibility in mind
5.2.3. Add only valuable options
5.2.4. Add relevant tests
5.2.5. Add relevant documentation
5.2.6. Add yourself as a module maintainer
5.2.7. Format your code
5.2.8. Format your commit messages
5.2.9. Format your news entries
5.2.10. Use conditional modules and news
5.2.11. Mind the license
5.3. Commits
5.4. Code Style
5.5. News
5.6. Tests
6. Frequently Asked Questions (FAQ)
6.1. Why is there a collision error when switching generation?
6.2. Why are the session variables not set?
6.3. How to set up a configuration for multiple users/machines?
6.4. Why do I get an error message about ca.desrt.dconf or dconf.service?
6.5. How do I install packages from Nixpkgs unstable?
6.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.11
E.1.1. Highlights
E.1.2. State Version Changes
E.2. Release 22.05
E.2.1. Highlights
E.2.2. State Version Changes
E.3. Release 21.11
E.3.1. Highlights
E.3.2. State Version Changes
E.4. Release 21.05
E.4.1. Highlights
E.4.2. State Version Changes
E.5. Release 20.09
E.5.1. Highlights
E.5.2. State Version Changes
E.6. Release 20.03
E.6.1. Highlights
E.6.2. State Version Changes
E.7. Release 19.09
E.7.1. Highlights
E.7.2. State Version Changes
E.8. Release 19.03
E.8.1. Highlights
E.8.2. State Version Changes
E.9. Release 18.09

Preface

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

@@ -47,7 +47,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.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

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

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

On non-NixOS, you may have to add

export NIX_PATH=$HOME/.nix-defexpr/channels:/nix/var/nix/profiles/per-user/root/channels${NIX_PATH:+:$NIX_PATH}

to your shell (see nix#2033 and this @@ -73,7 +73,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.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

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

# nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.05.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;
@@ -103,7 +103,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.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

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

# nix-channel --add https://github.com/nix-community/home-manager/archive/release-22.05.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 = {
@@ -283,7 +283,7 @@ Set up a flake with a flake.nix as follows:
         # Update the state version as needed.
         # See the changelog here:
         # https://nix-community.github.io/home-manager/release-notes.html#sec-release-21.05
-        stateVersion = "21.11";
+        stateVersion = "22.05";
 
         # Optionally use extraSpecialArgs
         # to pass through arguments to home.nix
@@ -292,9 +292,9 @@ Set up a flake with a flake.nix as follows:
 }

Note