• 1 Post
  • 17 Comments
Joined 2 years ago
cake
Cake day: June 11th, 2023

help-circle














  • I’d say it’s a pretty steep curve unfortunately, and nixOS is also not perfect, mind you

    • The nix language (that is used for the configuration) itself has sometimes weird syntax. It’s also a proper functional programming languages with all bells ans whistles that brings
    • The documentation is less than ideal (to put it mildley). Most of the times you need to search reddit (rip) and the forums to find how to do certain things.
    • Nix is not FHS compliant. Basically everything is a symlink to some file in the nix store, located in /nix. Packages installed with nix are patched to work that way, but things not installed with it might not run out of the box

    As for trying it out, yeah copying the config from the vm should work (except for maybe some hardware-specific stuff). remember to backup your stuff just in case lol


  • Your whole system is defined in a file called configuration.nix. This file describes everything about your system: all packages installed, which Desktop Environment / Window Manager to use, and also configuration for almost everything (e.g. zsh or neovim). When “switching” (which is basically installing/updating the system), Nix looks at the configuration and changes your system according to what you’ve declared in the configuration.nix, installing or uninstalling packages for instance.

    So, the state of your system is “declared” in a single file, which can be tracked in git or backed up wherever. If you have mulitple systems, you can also share parts of your config between them, which makes configuring and customizing stuff a lot easier.

    There are a lot of other aspects, but thats the basic gist of it