/dotfiles

Mirror of my NixOS configuration

Primary LanguageNixThe UnlicenseUnlicense

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 20.09. Can’t use anything older, since they won’t have support for nixos-install --flake.
  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 the configuration with git clone https://github.com/Sorixelle/dotfiles /mnt/etc/dotfiles.
  5. Finally, kick off the installation with nixos-install --root /mnt --flake /mnt/etc/dotfiles#<hostname>, where <hostname> is the name of the system you want to install. Check nixosConfigurations in flake.nix for avaliable systems.
  6. Reboot, and enjoy your newly, freshly, declaratively installed system!

Structure

  • config: Configuration for applications that are common to most setups, and not specific to any theme.
  • home: home-manager specific configuration. Contains all the user-specific configuration.
  • home/modules: home-manager modules.
  • home/themes: A set of avaliable system-wide themes. A “theme” consists of a few things, namely a window manager, colour scheme, and other packages that define the look and feel of the system.
  • nixpkgs: Configuration relating to Nixpkgs.
  • nixpkgs/packages: Derivations for packages that aren’t in Nixpkgs.
  • system: Main machine-specific NixOS configurations. Typically, each file in this folder maps to an attribute in the flake’s nixosConfigurations.
  • system/hardware: Hardware-specific configuration options for each machine. These are accurate for my hardware, but if you’re not me, you’ll probably want to modify these if you intend to use my configurations.

Useful info

Looking for some information on how to use NixOS and flakes? 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.
  • Want to get started with flakes? These three articles are a great intro.
  • The Flakes page on the NixOS wiki has a full flake format specification, as well as some handy recipes. The rest of the wiki is pretty good, too.
  • 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.