• 0 Posts
  • 5 Comments
Joined 1 year ago
cake
Cake day: June 11th, 2023

help-circle




  • 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