Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Nix
  3. Home Manager

Home Manager

MITNix

Declarative user environment management for Nix users, handling packages and dotfiles with configuration-as-code.

Visit WebsiteGitHubGitHub
10.5k stars2.5k forks0 contributors

What is Home Manager?

Home Manager is a tool for managing user environments using the Nix package manager. It allows you to declaratively configure user-specific packages, applications, and dotfiles through Nix expressions, bringing system-level reproducibility and rollback capabilities to your personal workspace. It solves the problem of inconsistent or manually managed home directories by treating user configuration as code.

Target Audience

Nix and NixOS users who want reproducible, declarative control over their user environment, including developers, system administrators, and power users managing complex dotfile setups across machines.

Value Proposition

Developers choose Home Manager because it extends Nix's powerful declarative and reproducible model to user-space configuration, eliminating manual dotfile management and enabling easy rollbacks. Its integration with NixOS and nix-darwin allows unified system and user environment management.

Overview

Manage a user environment using Nix [maintainer=@khaneliman, @rycee]

Use Cases

Best For

  • Managing dotfiles across multiple machines with a single configuration
  • Reproducible developer environment setup for teams or projects
  • Rolling back broken user configurations without system-wide impact
  • Integrating user package management with NixOS system configuration
  • Automating installation of user-specific tools and applications
  • Maintaining consistent shell and terminal configurations declaratively

Not Ideal For

  • Users who are not already familiar with Nix and its ecosystem
  • Projects requiring frequent, manual tweaks to configuration files without rebuilding
  • Teams using non-NixOS Linux distributions where support is limited or unstable
  • Environments where simplicity and quick setup are prioritized over reproducibility

Pros & Cons

Pros

Declarative Dotfile Management

Automatically generates and manages configuration files like .bashrc and .gitconfig from Nix expressions, ensuring consistency across systems as highlighted in the dotfile management feature.

Built-in Rollback Capability

Leverages Nix's generation system to allow easy switching between environment states, providing safety nets for configuration changes, which is a core value proposition for recovery from broken states.

Flexible Integration Options

Can be used standalone, as a NixOS module, or with nix-darwin, offering adaptability for different system management strategies as described in the installation section.

Extensive Module Library

Includes modules for popular applications like Gnome Terminal and shell environments, reducing boilerplate configuration code through the extensible module system.

Cons

Nix Expertise Required

The README explicitly warns that users must be comfortable with Nix language and tools, as errors can be difficult to understand, making it inaccessible for beginners.

Risk of Configuration Overwrites

Modules like Gnome Terminal cannot detect if they are overwriting manual configurations, potentially leading to unintended data loss, as admitted in the warning section.

Platform Limitations

Primarily targets NixOS unstable and version 25.11; support for other Linux distributions or NixOS versions is not guaranteed and may be buggy, limiting broader adoption.

Frequently Asked Questions

Quick Stats

Stars10,452
Forks2,496
Contributors0
Open Issues697
Last commit1 day ago
CreatedSince 2017

Tags

#declarative-config#dotfiles#reproducible-environments#nixos#home-directory#system-configuration#nix#package-management#configuration-management#nixpkgs

Built With

N
Nix
N
Nixpkgs

Links & Resources

Website

Included in

Nix5.0k
Auto-fetched 1 day ago

Related Projects

nix-darwinnix-darwin

Manage your macOS using Nix

Stars6,021
Forks667
Last commit1 day ago
NixOS hardwareNixOS hardware

A collection of NixOS modules covering hardware quirks.

Stars3,341
Forks990
Last commit1 day ago
NixOS-WSLNixOS-WSL

NixOS on WSL [maintainer=@nzbr]

Stars3,139
Forks164
Last commit2 days ago
NixVimNixVim

Configure Neovim with Nix! [maintainers=@GaetanLepage, @traxys, @mattsturgeon, @khaneliman]

Stars2,971
Forks404
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub