home-manager VS impermanence

Compare home-manager vs impermanence and see what are their differences.


Manage a user environment using Nix [maintainer=@rycee] [Moved to: https://github.com/nix-community/home-manager] (by rycee)


Modules to help you handle persistent state on systems with ephemeral root storage [maintainer=@talyz] (by nix-community)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
home-manager impermanence
4 32
1,753 878
- 10.4%
9.1 5.9
about 3 years ago about 2 months ago
Nix Nix
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of home-manager. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-22.
  • [Help] Home-manager service?
    2 projects | /r/NixOS | 22 Apr 2023
    I really am at lost rn, foud this github issue tried the solution and it didn't work.
  • NixOS and Neovim plugins
    3 projects | /r/NixOS | 24 Oct 2022
  • Flakes, nixos and home-configuration help
    2 projects | /r/NixOS | 7 May 2022
    { config, pkgs, ... }: { imports = [ (import "${builtins.fetchTarball https://github.com/rycee/home-manager/archive/master.tar.gz}/nixos") ]; users.users = { jdoe = { isNormalUser = true; initialPassword = "1234"; extraGroups = [ "wheel" ]; }; }; home-manager.useUserPackages = true; home-manager.users.jdoe = { home.stateVersion = "21.11"; programs.home-manager.enable = true; programs.git.userName = "John"; programs.git.userEmail = "Doe"; programs.zsh.zplug = { enable = true; plugins = [ { name = "zsh-users/zsh-autosuggestions"; } { name = "romkatv/powerlevel10k"; tags = [ as:theme depth:1 ]; } { name = "ohmyzsh/ohmyzsh oh-my-zsh"; } { name = "ajeetdsouza/zoxide"; } { name = "marlonrichert/zsh-autocomplete"; } { name = "marlonrichert/zsh-edit"; } { name = "zsh-users/zsh-autosuggestions"; } { name = "ptavares/zsh-exa"; } { name = "zsh-users/zsh-syntax-highlighting"; } { name = "mbenford/zsh-tmux-auto-title"; } { name = "zsh-users/zsh-history-substring-search"; } ]; }; services.gpg-agent = { enable = true; defaultCacheTtl = 1800; enableSshSupport = true; }; }; }
  • How do I do declarative package management using nix package manager on Debian?
    2 projects | /r/NixOS | 6 Jan 2021
    There are multiple ways of managing declarative profiles. 1) Attrset, compatible with imperative use of nix-env https://git.io/fAQHW ; 2) buildEnv, providing more control over the paths that are linked into the profile https://git.io/fp0aU ; 3) home-manager, providing nixos-like config for your ~ https://github.com/rycee/home-manager


Posts with mentions or reviews of impermanence. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-23.
  • Silverblue users: why?
    4 projects | /r/Fedora | 23 Jun 2023
    This is indeed a blind spot. Thanks for pointing that out! Silverblue -to my knowledge- doesn't do a lot to address this. Though, 3rd-party tools like Home Manager and the suite of applications developed by the folks over at uBlue might be able to limit this to a minimum. Though I'm not sure if it surpasses NixOS in this regard; for the uninitiated. Though, to my knowledge, this requires special attention and depends on the specifics of the NixOS system in question.
  • NixOS for the Impatient
    5 projects | news.ycombinator.com | 9 Jun 2023
  • Interested in NixOS, have some questions
    3 projects | /r/NixOS | 4 Apr 2023
    Some files in /etc (like saved networks) will still not be managed by NixOS, if you want to have full control over them use Impermanence
  • Upgrading to NixOS 22.11 Issue
    5 projects | /r/NixOS | 24 Jan 2023
    { imports = [ (modulesPath + "/installer/scan/not-detected.nix") "${builtins.fetchGit { url = "https://github.com/NixOS/nixos-hardware.git"; }}/system76" "${builtins.fetchGit { url = "https://github.com/nix-community/impermanence.git"; }}/nixos.nix" ];
  • Good guides for a non-developer using NixOS?
    2 projects | /r/NixOS | 26 Nov 2022
    There is a maintained collection of modules for running this kind of NixOS setup. It's called impermanence.
  • 48hrs with Fedora Silverblue and I'm SOLD. Question: does anyone else use a volatile home ?
    5 projects | /r/linux | 17 Nov 2022
    https://grahamc.com/blog/erase-your-darlings https://nixos.org/ https://github.com/nix-community/home-manager https://github.com/nix-community/impermanence
  • First post, here's my home lab and how I use it every day (running Proxmox and NixOS)
    3 projects | /r/homelab | 14 Nov 2022
    I'm also fascinated by the idea of completely decoupling the state from the configuration using https://github.com/nix-community/impermanence. If you can get your system working without leftover state sticking around, and continuously back up the state you do have, you're almost guaranteed to have a fully working environment at all times.
  • First post, here's what my homelab does running Proxmox and NixOS
    3 projects | /r/homelab | 13 Nov 2022
    Drop Proxmox for vanilla NixOS + kvm. Working towards impermanence to manage persistent state everywhere.
  • Nix: Taming Unix with Functional Programming
    18 projects | news.ycombinator.com | 5 Aug 2022
    docs nixos: https://nixos.org/manual/nixos/stable/

    This tooling includes higher-level helpers for language-/environment-specific packaging, like "buildGoModule", "buildRustPackage" and so on, as well as e.g. tooling to run integration tests in a whole cluster of inter-connected linux VMs!

    Packages which are submitted to nixpkgs must fulfill certain criteria, such as not using "IFD" (input-from-derivation, to simplify: "letting nix evaluate nix-code which was generated by another deriviation/"nix package".

    nixpkgs is alive and well with lots of daily contribution and an everlasting effort to keep Hydra, the nix-specific CI/CD system and public binary caches up to date and responsive. Thanks to all maintainers & contributors!

    * flakes are an approach to standardize a way to package nix code outside of nixpkgs but to still keep it re-usable. They are still "experimental" as the details are figured out, but nevertheless used in production. There are some frame-works to keep boilerplate low, like "flake-utils", "flake-parts" and others, as well as e.g. deployment tools like "colmena" and "deploy-rs" and re-usable helpers for system-configuration like e.g. https://github.com/nix-community/impermanence

    There's lots of other stuff in the community, things like home-manager, direnv + flakes and devshells changed my workflow fundamentally to the better since I've switched. If you got the time and are still interested, join us on matrix or elsewhere :)

  • How can you keep a Linux installation tidy and minimal?
    2 projects | /r/linuxquestions | 22 Jun 2022
    I haven't set this up for my personal machines yet but you can trivially use a tmpfs as your / and then use impermanence to explicitly opt into stateful files and directories that you want to keep across reboots like login passwords, host keys etc.

What are some alternatives?

When comparing home-manager and impermanence you can also consider the following projects:

nixos-flake-example - This is a demo NixOS config, with optional flakes support. Along with notes on why flakes is useful and worth adopting.

nixpkgs-wayland - Automated, pre-built packages for Wayland (sway/wlroots) tools for NixOS. [maintainers=@colemickens, @Artturin]

rust-nix-template - Rust project template with Nix (Flakes) and VSCode support

nixos-vscode-server - Visual Studio Code Server support in NixOS

nix-config - Nix configurations

nixpkgs - My Nix system configs!

gitignore.nix - Nix functions for filtering local git sources

raspi-overlayroot - Protect your SD card against wear and tear

nix-config - :space_invader: NixOS configuration

dotfiles - My personal dotfiles

Home Manager using Nix - Manage a user environment using Nix [maintainer=@rycee]

nix-config - my nix config files