No description
Find a file
TheWanderingCrow 4b38b8bd2c feat: add disks
2025-05-27 22:13:59 -04:00
devshells/default updates 2025-05-20 11:45:17 -04:00
hosts feat: add disks 2025-05-27 22:13:59 -04:00
lib work 2025-05-26 19:13:26 -04:00
.gitignore update media bucket 2025-04-04 11:40:10 -04:00
flake.lock updates 2025-05-20 11:45:17 -04:00
flake.nix work 2025-05-26 19:13:26 -04:00
LICENSE Push license 2024-09-18 22:41:58 -04:00
README.md work 2025-05-27 13:36:33 -04:00

CrOS (Crow's NixOS Configuration Repo)

Directory Structure

  • flake.nix - Entrypoint for hosts and user home configurations. Also exposes a devshell for manual bootstrapping tasks (nix develop).
  • hosts - NixOS configurations accessible via sudo nixos-rebuild switch --flake .#<host>.
    • common - Shared configurations consumed by the machine specific ones.
      • core - Configurations present across all hosts. This is a hard rule! If something isn't core, it is optional.
      • disks - Declarative disk partition and format specifications via disko.
      • optional - Optional configurations present across more than one host.
      • users - Host level user configurations present across at least one host.
        • <user>/keys - Public keys for the user that are symlinked to ~/.ssh
    • dariwn - machine specific configurations for darwin-based hosts
      • Currently not using any darwin hosts
    • nixos - machine specific configurations for NixOS-based hosts
      • Parzival - Primary Box - Ryzen 5 7600 - 32GB DDR5 - RX 7800 XT
      • Incarceron - Work issued framework 13 - AMD Ryzen 7 7840U - 32GB DDR5
  • home/<user> - Home-manager configurations, built automatically during host rebuilds.
    • common - Shared home-manager configurations consumed the user's machine specific ones.
      • core - Home-manager configurations present for user across all machines. This is a hard rule! If something isn't core, it is optional.
      • optional - Optional home-manager configurations that can be added for specific machines. These can be added by category (e.g. options/media) or individually (e.g. options/media/vlc.nix) as needed. The home-manager core and options are defined in host-specific .nix files housed in home/<user>.
  • lib - Custom library used throughout the nix-config to make import paths more readable. Accessible via lib.custom.
    • Currently am not extending lib.
  • modules - Custom modules to enable special functionality and options.
    • common - Custom modules that will work on either nixos or dariwn but that aren't specific to home-manager
    • darwin - Custom modules specific to dariwn-based hosts
    • home-manager - Custom modules to home-manager
    • nixos - Custom modules specific to nixos-based hosts
  • nixos-installer - A stripped down version of the main nix-config flake used exclusively during installation of NixOS and nix-config on hosts.
  • overlays - Custom modifications to upstream packages.
    • Currently not using overlays.
  • pkgs - Custom packages meant to be shared or upstreamed.
    • common - Custom packages that will work on either nixos or dariwn
    • darwin - Custom packages specific to dariwn-based hosts
    • nixos - Custom packages specific to nixos-based hosts
  • devshells - Custom development shells and environments

Credits

Inspired by many others, but especially: