This is my personal configuration for my systems, managed by the nix language and the lix package manager. I stick to the dendritic pattern, making use of flake-parts. Documentation will explain all concepts I use here. I use this to tinker, deploy, and manage my computers from home and remote. :)
My personal workstation is Stellyrland, most topics here will revolve around that host.
|
|
|
|
|
|
Note:
This is a personal configuration. This is not meant to be forked or used by others.
DOCUMENTATION
flowchart TD
INPUTS["flake.nix + flake.lock\nlocked inputs"]
subgraph FLAKE["flake.nix"]
IT["generated root\nflake-parts + import-tree"]
end
subgraph MODS["modules/"]
DECL["flake-file input declarations\nkept beside their consumers"]
AGG["flake.modules.*.*\nreusable NixOS / Darwin / Home Manager aspects"]
HOSTDATA["flake.hosts.*\nper-host data and aspect composition"]
MK["mkNixos / mkDarwin\nmodules/nix/lib.nix"]
end
DECL -.-> INPUTS
INPUTS --> IT
IT --> AGG
IT --> HOSTDATA
AGG --> MK
HOSTDATA --> MK
MK --> SL["stellyrland\nNixOS · x86_64-linux"]
MK --> ST["stellyrtop\nmacOS · aarch64-darwin"]
MK --> PPF["plasmapulsefinale\nNixOS · x86_64-linux"]
MK --> IRF["ItsRedFlame\nNixOS · x86_64-linux"]
style INPUTS fill:#363a4f,color:#cad3f5,stroke:#5b6078
style IT fill:#363a4f,color:#cad3f5,stroke:#5b6078
style DECL fill:#24273a,color:#f5a97f,stroke:#494d64
style AGG fill:#24273a,color:#c6a0f6,stroke:#494d64
style HOSTDATA fill:#24273a,color:#8aadf4,stroke:#494d64
style MK fill:#24273a,color:#7dc4e4,stroke:#494d64
style SL fill:#1e2030,color:#8aadf4,stroke:#8aadf4
style ST fill:#1e2030,color:#a6da95,stroke:#a6da95
style PPF fill:#1e2030,color:#c6a0f6,stroke:#c6a0f6
style IRF fill:#1e2030,color:#ed8796,stroke:#ed8796
.
├── flake.nix # Flake entry point
├── flake.lock # Input lockfile
├── docs/ # Concepts, workflow notes, and troubleshooting
├── secrets/ # nix-secrets encrypted secrets
│ └── *.enc
└── modules/ # Flake-parts modules
├── flake-config.nix # Flake-file declarations and supported systems
├── constants.nix # Shared defaults merged into every host's `host.*`
├── treefmt.nix # Repo-wide formatter configuration
├── ai/ # Declarative Stellxie/Hermes Agent configuration
│ ├── default.nix # Home Manager module, package, config, services
│ └── _*.nix # Explicitly imported helpers (theme, fetching, Discord)
├── factory/ # factory.user: per-user NixOS/Darwin/Home Manager wiring
├── hosts/ # Host declarations and host-specific aspect composition
│ ├── stellyrland/ # NixOS workstation (x86_64-linux)
│ ├── stellyrtop/ # macOS MacBook (aarch64-darwin)
│ ├── plasmapulsefinale/ # NixOS desktop (x86_64-linux)
│ └── ItsRedFlame/ # NixOS gaming/AV box (x86_64-linux)
├── users/ # Shared user aspect definitions
├── base/ # Core, Lix, Nix settings, SSH, Tailscale, secrets, users
├── nix/ # Nix, Home Manager, deployment, operational helpers, and flake options
├── linux/ # Linux boot, hardware, and storage configuration
│ ├── boot/
│ ├── hardware/
│ └── storage/
├── applications/ # User-facing applications, grouped by domain
│ ├── communication/
│ ├── development/
│ ├── gaming/
│ └── media/
├── system/ # Darwin, Homebrew, MIME, XDG, service, and secret definitions
└── openrgb/ # Peripheral RGB control
- Locked Inputs:
flake-filedeclarations live with the modules that own them;flake.nixandflake.lockprovide the standard Nix input graph. - Zero-Boilerplate Imports: flake-file's dendritic output uses
import-treeto load non-underscore.nixfiles undermodules/as flake-parts modules. - Multi-System Outputs: Per-system formatter and check outputs cover x86_64 Linux, aarch64 Linux, and aarch64 Darwin.
- BORE Scheduler: CachyOS kernel with BORE scheduling. Optimized for the X3D CPU. It's smarter about which workloads get the extra cache vs extra clock.
- ZFS Preservation + Sanoid Snapshots: Every boot rolls back to a blank snapshot, keeping the system declared as configured in preservation.nix. Snapshots are taken daily.
- Boot Security: Secure boot, LUKS encryption, initrd ZFS rollback functionality. Only trusted hardware may access my things.
- Architecture: Dendritic (Keeps things separate and maintainable as aspects that can be toggled.)
- Framework: Flake-Parts
- OS: NixOS (Unstable) & macOS (Darwin)
- Package Manager: Lix (Community-created Nix variant)
- WM: Hyprland
- Shell: Zsh
- Editor: Neovim (NVF IDE + writing), Zed
- Terminal: Kitty
- Bar/Shell: Noctalia
AI is utilized in the development of this system, largely for learning, review, and debugging. I'm still actively learning Nix! More elaboration on my AI morals here.
I have my own personal assistant, Stellxie. You will see her assist me with commits and audits from time to time.
- CPU: AMD Ryzen 9 9950X3D
- GPU: AMD Radeon 7900 XTX 24 GB
- Architecture: x86_64-linux
- Memory: 64 GB DDR5
- Storage: 4.5 TB
- OS: NixOS
- CPU: Apple M4
- Architecture: aarch64-darwin
- Memory: 16 GB Unified
- Storage: 512 GB
- OS: macOS (nix-darwin)
- Architecture: x86_64-linux
- OS: NixOS
- Architecture: x86_64-linux
- OS: NixOS




