Home Manager

Robert Helgesson <robert@rycee.net>

What?

  • A declarative system to manage your $HOME

  • Based on the Nix package manager

  • Somewhat resembles NixOS

Support

  • Standalone

    • NixOS
    • Other GNU/Linux distros
    • macOS
  • System module

    • NixOS
    • nix-darwin

Why?

  • Install user-level packages

  • Configure programs & manage dotfiles

  • Configure user services

  • Reproducible

  • (Inconvenient) rollbacks

Integrations

Configure email accounts once, generate setups for

  • notmuch
  • mbsync
  • msmtp
  • astroid

Integrations

Calendars & contacts in progress

Nix crash course?

Nix

Nix expression language

  • A pure, lazy, functional language

  • Dynamically typed

  • Not general purpose

Basics

Strings

Lists & attribute sets

Functions

Path literals

Laziness

How?

Install

home.nix

Install packages

home-manager switch

… and

Manage dotfiles

… and

Note, files are world readable!

Program modules

… and

User services

E-mail accounts

Meta

Numbers

  • Born Christmas 2016

  • 79 contributors since

  • 692 commits

Alternatives

Where?