home-manager VS impermanence

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

home-manager

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

impermanence

Modules to help you handle persistent state on systems with ephemeral root storage [maintainer=@talyz] (by nix-community)
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
home-manager impermanence
4 36
1,753 1,442
- 1.3%
9.1 6.2
over 4 years ago about 1 month 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.

home-manager

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

impermanence

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 2025-03-05.
  • Xdg-ninja: checking your $HOME for unwanted files and directories
    2 projects | news.ycombinator.com | 5 Mar 2025
    This is a tough problem to solve. I currently use NixOS with impermanence [1] which is one way of solving it. Impermanence, in short, allows you to explicitely opt-in the files and directories that are persisted after each reboot.

    So while my `~` is not "clean" in the sense that all my config files are in `~/.config`, it is "clean" in the sense that all files in `~` are there for a reason (i.e., `~` is not polluted by uninstalled packages).

    [1] https://github.com/nix-community/impermanence

  • NixOS Is Not Reproducible
    6 projects | news.ycombinator.com | 26 Oct 2024
    Mostly private use, I have 2 servers and a laptop configured with this: https://github.com/matrss/nixfiles. The servers host a bunch of different services from Nextcloud to a DoT-to-ODoH proxy.

    I've also introduced some light NixOS usage at work (3 hosts, one is an uptime-kuma instance, two are Forgejo Actions runners). For that I had to get some proprietary scanner software to run on it, which I could by just putting the extracted deb package in an emulated FHS environment.

    Even for interfacing with legacy systems and unusual stacks I don't think you will need the escape hatch. Anything that is buildable on and above the abstraction-level of "ensure a file is present at some path with some content" should be doable declaratively, and that includes setting up an unusual software stack and running it in systemd services to communicate with some other legacy system or whatever.

    The escape hatch is there to modify how NixOS itself behaves, and modifying that should only be necessary to extend NixOS' core functionality. A quick search revealed that impermanence (https://github.com/nix-community/impermanence) and in some cases sops-nix (https://github.com/Mic92/sops-nix) use it, but those fundamentally extend NixOS with ephemeral root storage support and secrets management, respectively.

  • Ask HN: How to Manage Phones and PCs for Elderly Parents?
    2 projects | news.ycombinator.com | 23 Apr 2024
    You might want to set up NixOS with impermanence, with something like https://github.com/nix-community/impermanence. Install an easy to use desktop environment like ElementaryOS, and configure NixOS with or without Flatpak, if you want to give the user the ability to install new software or not. Then set up automatic updates, automatic garbage collection and you have a truly stable system.
  • Tvix – A New Implementation of Nix
    8 projects | news.ycombinator.com | 16 Apr 2024
    I would not call these projects unbelievable, but they are neat.

    - Opt-in state: https://github.com/nix-community/impermanence and https://grahamc.com/blog/erase-your-darlings/

  • Every NixOS rebuild creates a new Tailscale machine
    1 project | /r/NixOS | 11 Jul 2023
    That way will work - I use the impermanence module which works similarly but allows to hide mounts.
  • 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
    [3]: https://github.com/nix-community/impermanence
  • How to add impermanence afterwards?
    1 project | /r/NixOS | 16 May 2023
  • File system choice for Impermanence setup
    1 project | /r/NixOS | 20 Apr 2023
    I have recently stumbled upon Impermanence - modules to help you handle persistent state on systems with ephemeral root storage, and the concept seems quite nice.
  • Erase your darlings: Can this be applied to /home?
    1 project | /r/NixOS | 17 Apr 2023
    I haven't used it yet but nix-community/impermanence has a home-manager module that might be useful.

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.

nix-config - :space_invader: NixOS configuration

.nixpkgs - .nixpkgs aka dotfiles with nix

nix-config - Nix configurations

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

nix-config - Personal nixos and home-manager configurations.

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured