I’m looking for interesting tools to automate managing packaging and configuring everything automated.
And yeah I know about NixOS but I like to distro hop and experiment so I for now know these:
- Ansible - automating many machines, using different package names as vars and package managers.
- Bash - the most native and compatible scripting language that can be.
- Chezmoi - for dotfiles.
For now that’s it. I’m looking forward for your suggestions!
If you know about NixOS, then you probably know this, but Nix, the package manager/the language behind NixOS, is cross-platform.
I daily drive NixOS, but I also use Nix (and home-manager) on my Fedora music laptop, my Ubuntu home file-server, and my work Windows machine (WSL) to install and configure neovim automatically instead of copying a config, installing all the packages, and running check health over and over again until everything is set up.
I just copy my neovim.nix file over (also other things like zsh.nix) and run
home-manager switch
You don’t have to use NixOS to take advantage of its benefits.
It always seemed to me like Nix package manager is not “native” enough or there are some downsides compared to dnf or apt. If that’s not the case I think I’ve got my answer.
From an outsider perspective (I haven’t used Nix at all), the downsides I see are that it’s extra software on top of the defaults for any given distro, it’s not optimized for the distro (meaning it might pull in dependencies that already exist or not use distro specific APIs/libs), and it doesn’t adhere to the motivations of the distro (e.g. not adhering to the DFSGs for Debian).
And of course, most of the packages are community maintained and there’s the immutability, which might be a hinderance to some use cases, but not for me.
All in all, not really the worst if you’re not worried about space or getting the absolute most in performance and not an ideologue, but it’s enough to make me stick with APT. I chose Debian because of its commitment to FOSS, not the stability nor performance.