Skip to content

Sorixelle/dotfiles

Repository files navigation

dotfiles

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).

Setup

  1. Get yourself a copy of NixOS. They got some of those over here.
  2. Write it to a USB, CD, DVD, IDE drive, whatever floats your boat - so long as you can boot into it.
  3. 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.
  4. Next, mount your filesystems at /mnt and clone this configuration whereever you want it, with git clone https://git.isincredibly.gay/srxl/dotfiles.git.
  5. cd into the clone and drop into a nix-shell - you’ll want the rebuild script that’s in there to install everything.
  6. 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.
  7. Finally, kick off the installation with rebuild -c $(pwd) -s <hostname>, where <hostname> is the name of the file in systems you want to build, minus the .nix bit.
  8. Reboot, and enjoy your newly, freshly, declaratively installed system! Future rebuilds can be redone by simply running rebuild.

Structure

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.

Useful info

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 stolen drawn inspiration from.

License

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.