mirror of
https://github.com/TheWanderingCrow/CrOS.git
synced 2026-01-10 01:24:05 -05:00
60 lines
3.1 KiB
Markdown
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
|