No description
Find a file
TheWanderingCrow dbb0c97868 add envrc
2025-06-24 12:32:35 -04:00
devshells/default updates 2025-05-20 11:45:17 -04:00
home/crow need to finish up user setup with passwords and whatnot 2025-06-09 14:25:56 -04:00
hosts machines are building woo 2025-06-24 11:34:44 -04:00
lib work 2025-05-26 19:13:26 -04:00
modules/common need to finish up user setup with passwords and whatnot 2025-06-09 14:25:56 -04:00
.envrc add envrc 2025-06-24 12:32:35 -04:00
.gitignore update media bucket 2025-04-04 11:40:10 -04:00
flake.lock flake.lock: Update 2025-06-24 11:42:55 -04:00
flake.nix machines are building woo 2025-06-24 11:34:44 -04:00
justfile justfile 2025-06-24 11:43:33 -04:00
LICENSE Push license 2024-09-18 22:41:58 -04:00
README.md work 2025-06-03 14:41:12 -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
      • Bulwark - Forensics and RE VM
  • 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
  • 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: