No description
Find a file
TheWanderingCrow 158bb2d1a7 add justfile
2025-06-27 15:01:17 -04:00
devshells/default update devshell 2025-06-25 08:44:11 -04:00
home/crow testing 2025-06-26 15:24:00 -04:00
hosts testing 2025-06-26 15:26:33 -04:00
lib work 2025-05-26 19:13:26 -04:00
modules work on porting sway config over 2025-06-25 10:46:12 -04:00
nixos-bootstrap add justfile 2025-06-27 15:01:17 -04:00
overlays implement overlays 2025-06-25 16:22:40 -04:00
.envrc add envrc 2025-06-24 12:32:35 -04:00
.gitignore add justfile 2025-06-27 15:01:17 -04:00
flake.lock implement overlays 2025-06-25 16:22:40 -04:00
flake.nix implement overlays 2025-06-25 16:22:40 -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 add handlerone 2025-06-25 08:50:43 -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 - RX 7800 XT - 32GB DDR5
      • Incarceron - Work issued framework 13 - AMD Ryzen 7 7840U - 32GB DDR5
      • HandlerOne - Lenovo m710q - i5-7500T - 16GB DDR4
      • Dragneel - Partner's Box - AMD Ryzen 5 3600 - RTX 2070 - 32GB - DDR4
      • Bulwark - Forensics and RE VM
      • Infiltrator - Pentesting 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: