6

I think the least that distros can do, is allow listing all packages and system settings in config files like .toml rather than having to type in every single package to install, or click through system setting GUIs to setup. Would that require using a whole programming language or system like NIx?

While NixOS works much differently from most distros, that's the only reason I use it: package and system settings in text files. If I fix something, it's fixed permanently, I don't need to hunt down files in random directories if I want to change a setting. If I ever need to reinstall the OS I don't have to write dnf install every single damn package and manually setup all that up all over again. Having daily-drove Windows macOS & Fedora as throughout the years, my setups have felt hacky as well as houses of cards as I've wanted or had to set them up again (I don't mean Fedora specifically, but distros in general).

Basically it feels insane that it's the way most linux users and servers in the world operate. If I, a humble computer hobbyist can figure out Nix, why don't more users do so, and why is Nix so niche?

you are viewing a single comment's thread
view the rest of the comments
[-] oranki@sopuli.xyz 3 points 1 day ago

If something like Ansible is too much, you could list the packages as a bash array in a file

pkgs=(
vim
bash-completion
...
)

Source the file

source pkgs.txt

Then install them

dnf install ${pkgs[@]}

This expands to dnf install vim bash-completion ...

As for listing the installed packages,

dnf repoquery --userinstalled --queryformat '%{name}\n'

The list includes all packages not installed as dependencies, so it's not quite perfect but might be close enough to what you need.

The array expansion workaround should work for other package managers too, as long as they take the list of packages as whitespace-separated arguments.

this post was submitted on 13 Jun 2025
6 points (75.0% liked)

Linux

2793 readers
22 users here now

founded 2 years ago
MODERATORS