Skip to content

kanwren/nixfiles

Repository files navigation

nixfiles

built with nix

My NixOS configurations and other Nix files ❄️

Overview

  • flake.nix: Flakes for each configuration, outputs for libs/modules/packages, and a dev shell for working with secrets.
  • modules/: Custom NixOS modules; see the mixins section
  • hosts/: Configuration for each of my NixOS machines
  • hm-modules/: Custom home-manager modules
  • darwin-modules/: Custom nix-darwin modules
  • pkgs/: Custom-built derivations exported from flake
  • installer/: Minimal custom installer configuration using nixos-generators; see the installer section
  • overlays/: Nixpkgs overlays for overriding or adding packages
  • templates/: Various templates that can be used with the nix flake init/new subcommands

Hosts

Mixins

Most of the code for building configurations is split into mixins, which are NixOS modules that configure part of a system according to my preferences. Mixins can be mixed-and-matched and composed together to create the base config for a specific system.

  • base/: The common base of all of my systems, with essential packages, services, and settings
  • desktop/: Different mixins for creating a development workstation on a (usually graphical) computer
    • desktop/x: Mixins for display managers, window managers, and desktop environments
  • users/: Per-user system user settings and home-manager configurations

installer

installer/ contains a custom installer configuration, built with nixos-generators. The justfile contains a recipe for building installers:

# x86_64-linux installer iso
$ just build-nixos-installer x86_64-linux ./installer/configuration.nix

# aarch64-linux installer sd image (requires 'boot.binfmt.emulatedSystems = [ "aarch64-linux" ];')
$ just build-nixos-installer aarch64-linux ./installer/configuration.nix

Manual setup

Some things cannot be set up automatically, especially some of the Catppuccin theming. Here are some things that may need to be done manually:

About

My NixOS configurations and other Nix files ❄️

Resources

Stars

Watchers

Forks