diff --git a/index.html b/index.html index f21b8236..c43afa7d 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.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

+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.

@@ -297,7 +297,9 @@ and nixpkgs url to github:Nix

  • The Home Manager library is exported by the flake under lib.hm. -
  • +

  • +You can use the above flake.nix as a template in ~/.config/nixpkgs by +
  • $ nix flake new ~/.config/nixpkgs -t github:nix-community/home-manager
  • Install Home Manager and apply the configuration by

    $ nix build --no-link <flake-uri>#homeConfigurations.jdoe.activationPackage
     $ "$(nix path-info <flake-uri>#homeConfigurations.jdoe.activationPackage)"/activate

    Substitute <flake-uri> with the flake URI of the configuration flake. @@ -346,7 +348,7 @@ a bare-minimum flake.nix would be as follows:

    The Home Manager configuration is then part of the NixOS configuration and is automatically rebuilt with the system when using the appropriate command -for the system, such as nixos-rebuild switch --flake <flake-uri>.

    3.4. nix-darwin module

    The flake-based setup of the Home Manager nix-darwin module +for the system, such as nixos-rebuild switch --flake <flake-uri>.

    You can use the above flake.nix as a template in /etc/nixos by

    $ nix flake new /etc/nixos -t github:nix-community/home-manager#nixos

    3.4. nix-darwin module

    The flake-based setup of the Home Manager nix-darwin module is similar to that of NixOS. The flake.nix would be:

    {
       description = "NixOS configuration";
     
    @@ -378,7 +380,7 @@ is similar to that of NixOS. The flake.nix would be
         };
       };
     }

    and it is also rebuilt with the nix-darwin generations. -The rebuild command here may be darwin-rebuild switch --flake <flake-uri>.

    Chapter 4. Writing Home Manager Modules

    The module system in Home Manager is based entirely on the NixOS module system so we will here only highlight aspects that are specific for Home Manager. For information about the module system as such please refer to the Writing NixOS Modules chapter of the NixOS manual.

    4.1. Option Types

    Overall the basic option types are the same in Home Manager as NixOS. A few Home Manager options, however, make use of custom types that are worth describing in more detail. These are the option types dagOf and gvariant that are used, for example, by programs.ssh.matchBlocks and dconf.settings.

    +The rebuild command here may be darwin-rebuild switch --flake <flake-uri>.

    You can use the above flake.nix as a template in ~/.config/darwin by

    $ nix flake new ~/.config/darwin -t github:nix-community/home-manager#nix-darwin

    Chapter 4. Writing Home Manager Modules

    The module system in Home Manager is based entirely on the NixOS module system so we will here only highlight aspects that are specific for Home Manager. For information about the module system as such please refer to the Writing NixOS Modules chapter of the NixOS manual.

    4.1. Option Types

    Overall the basic option types are the same in Home Manager as NixOS. A few Home Manager options, however, make use of custom types that are worth describing in more detail. These are the option types dagOf and gvariant that are used, for example, by programs.ssh.matchBlocks and dconf.settings.

    hm.types.dagOf

    Options of this type have attribute sets as values where each member is a node in a directed acyclic graph (DAG). This allows the attribute set entries to express dependency relations among themselves. This can, for example, be used to control the order of match blocks in a OpenSSH client configuration or the order of activation script blocks in home.activation. diff --git a/tools.html b/tools.html index 088857e3..94f53aed 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 | @@ -84,7 +84,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.

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

  • -

    Options

    +

    Options

    The tool accepts the options

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

    Activates verbose output. -

    Files

    +

    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

    +

    Bugs

    Please report any bugs on the project issue tracker. -

    See also

    +

    See also

    home-configuration.nix(5)

    \ No newline at end of file