diff --git a/index.xhtml b/index.xhtml index 8ee15120..0f400bab 100644 --- a/index.xhtml +++ b/index.xhtml @@ -33,7 +33,7 @@
-

Table of Contents

Preface
Installing Home Manager
Standalone installation
NixOS module
nix-darwin module
Using Home Manager
Configuration Example
Rollbacks
Keeping your ~ safe from harm
Graphical services
Updating
Nix Flakes
Prerequisites
Standalone setup
NixOS module
nix-darwin module
Writing Home Manager Modules
Option Types
Contributing
Getting started
Guidelines
News
Tests
Third-Party Tools and Extensions
Module Collections
Frequently Asked Questions (FAQ)
Why is there a collision error when switching generation?
Why are the session variables not set?
How to set up a configuration for multiple users/machines?
Why do I get an error message about ca.desrt.dconf or dconf.service?
How do I install packages from Nixpkgs unstable?
How do I change the package used by a module?
A. Home Manager Configuration Options
B. NixOS Configuration Options
C. nix-darwin Configuration Options
D. Release Notes
+

Table of Contents

Preface
Introduction to Home Manager
Installing Home Manager
Standalone installation
NixOS module
nix-darwin module
Using Home Manager
Configuration Example
Rollbacks
Keeping your ~ safe from harm
Graphical services
Updating
Nix Flakes
Prerequisites
Standalone setup
NixOS module
nix-darwin module
Writing Home Manager Modules
Option Types
Contributing
Getting started
Guidelines
News
Tests
Third-Party Tools and Extensions
Module Collections
Frequently Asked Questions (FAQ)
Why is there a collision error when switching generation?
Why are the session variables not set?
How to set up a configuration for multiple users/machines?
Why do I get an error message about ca.desrt.dconf or dconf.service?
How do I install packages from Nixpkgs unstable?
How do I change the package used by a module?
A. Home Manager Configuration Options
B. NixOS Configuration Options
C. nix-darwin Configuration Options
D. Release Notes

Preface

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

If you encounter problems then please reach out on the IRC channel #home-manager @@ -45,6 +45,18 @@ be reported on the Home Manager issue tracker.

Note

Commands prefixed with $ sudo have to be run as root, either requiring to login as root user or temporarily switching to it using sudo for example.

+

Introduction to Home Manager

Home Manager is a Nix-powered tool for reproducible management of the contents of users’ home directories. +This includes programs, configuration files, environment variables and, well… arbitrary files. +The following example snippet of Nix code:

programs.git = {
+  enable = true;
+  userEmail = "joe@example.org";
+  userName = "joe";
+};
+

would make available to a user the git executable and man pages and a configuration file ~/.config/git/config:

[user]
+	email = "joe@example.org"
+	name = "joe"
+

Since Home Manager is implemented in Nix, it provides several benefits:

  • Contents are reproducible — a home will be the exact same every time it is built, unless of course, an intentional change is made. +This also means you can have the exact same home on different hosts.

  • Significantly faster and more powerful than various backup strategies.

  • Unlike “dotfiles” repositories, Home Manager supports specifying programs, as well as their configurations.

  • Supported by http://cache.nixos.org/, so that you don’t have to build from source.

  • If you do want to build some programs from source, there is hardly a tool more useful than Nix for that, and the build instructions can be neatly integrated in your Home Manager usage.

  • Infinitely composable, so that values in different configuration files and build instructions can share a source of truth.

  • Connects you with the most extensive and most up-to-date software package repository on earth, Nixpkgs.

Installing Home Manager

Home Manager can be used in three primary ways:

  1. Using the standalone home-manager tool. For platforms other than NixOS and Darwin, this is the only available choice. It is also recommended for people on NixOS or Darwin that want to manage their