• 1 Post
  • 55 Comments
Joined 2 years ago
cake
Cake day: June 3rd, 2023

help-circle







  • It would be the exact same amount of effort you’d use to get new software on other distros. Both Arch and NixOS have very straightforward methods of installing new software that aren’t any more difficult than doing so on Debian or some other distro. Both Arch and NixOS support independent package managers like flatpak and snap + they support Appimages.

    I’d also add that OP doesn’t even need to use NixOS to use nix packages, whereas Arch or Debian would require systems based on those distros. So if anything NixOS tries to make it very easy to add and configure software. Where does all the effort come in?





  • If so, how does that solve the problem of clutter in $HOME ?

    If it wasn’t clear from my message, the problem(s) these tools are solving for me would be 1. not having to keep track of my dotfiles and their directories, and 2. not storing configuration files directly on the disk I use for the $HOME dir. I’m not claiming these tools would solve clutter in the $HOME dir. Further, I think it should be alright for me to share tools for managing configuration files in your home directory in a discussion that directly relates to that subject.

    So you create a symlink from $HOME/.program.ini to something in the nix store?

    Normally it’s the other way around. When you use nix and home-manager, you’re technically generating files that will live in the nix-store and nix/home-manager will take care of symlinking those files to locations in your $HOME dir.

    In this scenario though, I would use the https://nix-community.github.io/home-manager/options.html#opt-home.file option from home-manager to create a symlinks to a location that’s outside of my $HOME dir so those files don’t have to live on my home disk.

    My particular use-case is that I want persistent configuration files that are shared throughout a handful of devices on my network. To this end, I use some home-manager symlinks that lead to a network folder where all these various directories and configuration files actually live. I edit those configurations in a single place and their changes propagate across the network to all the devices that would use them.