CrOS/README.md
TheWanderingCrow 3e1492e3e5 update readme
2025-09-02 18:32:31 -04:00

60 lines
3.1 KiB
Markdown

# 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
- `Nyx` - My X1 Carbon, personal laptop - i7-8650U - 16GB DDR4
- `HandlerOne` - Lenovo m710q - i5-7500T - 16GB DDR4
- `Dragneel` - Partner's Box - Ryzen 5 3600 - RTX 2070 - 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` - Custom modules to home-manager
- `nixos` - Custom modules specific to nixos-based hosts
- `services` - Definitions for hosted services
- `overlays` - Custom modifications to upstream packages.
- `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
- `assets` - Storage for things like wallpapers
# Credits
Inspired by many others, but especially:
- https://github.com/EmergentMind/
- https://github.com/vimjoyer/
- https://github.com/Misterio77/nix-starter-configs
- https://github.com/numtide/blueprint