Welcome to my dotfiles. These are the files I use to declare the configuration of my systems that run NixOS (so, basically all of them).
- Get yourself a copy of NixOS. They got some of those over here.
- Write it to a USB, CD, DVD, IDE drive, whatever floats your boat - so long as you can boot into it.
- Now that you’re in, use
parted
or whatever tool you prefer to set up your install disk. Chapter 2.2 of the NixOS manual might be able to give you a hand with that. - Next, mount your filesystems at
/mnt
and clone this configuration whereever you want it, withgit clone https://git.isincredibly.gay/srxl/dotfiles.git
. cd
into the clone and drop into anix-shell
- you’ll want the rebuild script that’s in there to install everything.- Double check the value of
srxl.rebuild.configLocation
- that’s where the rebuild script will expect the configuration to live. Change it, or move the config to match. - Finally, kick off the installation with
rebuild -c $(pwd) -s <hostname>
, where<hostname>
is the name of the file insystems
you want to build, minus the.nix
bit. - Reboot, and enjoy your newly, freshly, declaratively installed system! Future rebuilds can be redone by simply running
rebuild
.
config
- Configuration for applications that are common to most setups.
home
- home-manager specific configuration. Contains all the user-specific configuration.
home/modules
- Custom home-manager modules.
nixpkgs
- Configuration relating to Nixpkgs.
nixpkgs/packages
- Derivations for packages that aren’t in Nixpkgs, or packages I’ve vendored for whatever reason.
npins
- Locked versions of all the external repos this config depends on, managed by npins.
system
- Main machine-specific NixOS configurations.
system-darwin
- Same as above, but for nix-darwin machines.
Looking for some information on how to use NixOS? Here’s some handy learning material.
- First foray into Nix? The Nix Pills are a great guide for first-timers.
- The Learn page on NixOS’ website also contains lots of resources for beginners and seasoned Nix veterans alike.
- A few configs from other people that I’ve
shamelessly stolendrawn inspiration from.
All material in this configuration is released in the public domain (see the LICENCE file in the repo root). I invite you to pinch parts of this configuration for yourself, and build your own amazing configurations.