(09-12-2020, 12:30 AM)Guest0x0 Wrote: I feel that NixOS really provides a solution to this.
The fact that system iis "tied to" a machine is actually because the actual behavior of the system is distributed and hidden in the file system, through various small configs, command calls, etc. If every detail of the system is "reachable" from somewhere, or even better, they are stored centrally somewhere, then the system naturally becomes portable.
NixOS tries to put everything in the config file of NixOS itself, in this way, once you have the NixOS config file, you have your whole system. There is also home-manager, which manages user dot files as well.
Another thing I really like about NixOS is that its package system is so flexible. The fact that NixOS uses a programming language to describe packages implies that you can customize the build option, etc. of any package, *while keeping it completely managed by the package manager*. Which makes tweaked packages much easier to manage and port.
Right now I mostly just use the Nix package manager on Arch to provide Haskell, but all of this sounds very nice. I'll keep this in mind the next time I'm reinstalling Linux.