No description
  • Nix 64.3%
  • Lua 20.5%
  • Rust 6.9%
  • Shell 3.8%
  • CSS 3%
  • Other 1.5%
Find a file
2026-09-08 22:56:17 -06:00
images
secrets
system
toolbox
userspace
.gitignore
.sops.yaml
flake.lock
flake.nix
justfile
keys.nix
readme.md

Logo

NixOS and Home Manager

My NixOS and Home Manager Configurations deployed as a flake.
Homepage · Forums · Nixpkgs

Repository Structure

This repository uses a modular, role-based configuration system:

System Configuration (/system)

system/
├── profiles/          # Role-based system profiles
│   ├── base.nix       # Base system (Nix settings, core packages)
│   ├── desktop.nix    # Desktop systems
│   └── laptop.nix     # Laptop systems (desktop + power management)
├── modules/           # Modular system components
│   ├── desktop/       # Desktop environments (GNOME, COSMIC)
│   ├── services/      # System services (audio, docker, gaming, etc.)
│   ├── hardware/      # Hardware support (tablet, power)
│   ├── work/          # Work-specific (SentinelOne, SRAM udev rules)
│   └── localization/  # i18n modules
└── hosts/            # Host-specific configurations
    ├── hal9000/      # Each host has its own directory
    ├── marvin/
    └── ...

User Configuration (/userspace)

userspace/
├── modules/          # User-level modules
├── users/           # User-specific configs (ajlow, alowry)
└── dotfiles/        # Configuration files

Module System

Modules use namespaced options for clarity:

  • System profiles: profiles.system.{base,desktop,laptop}
  • System modules: modules.{desktop,services,hardware,work}.{name}
  • Example: modules.services.gaming.enable = true;

Adding a New Host

See system/hosts/readme.md for instructions on adding a new host.

Usage

Warning

This is stale and pending changes as Im exploring an in config installer

Installation

Official installation instructions can be found in the NixOS Wiki or the Home Manager community docs.

I deploy my HM configuration as a flake which needs be enabled. For standalone personal computers, I enable this via a nixos option nix.settings.experimental-features = [ "nix-command" "flakes" ];. If running Home Manager on top of another distro, I enable this via a nix config file:

# ~/.config/nix/nix.conf
experimental-features = nix-command flakes 

Nix Flakes documentation if needed.

Post garbage collection fix for win11 vm

https://crescentro.se/posts/windows-vm-nixos/ nix eval nixpkgs#qemu.outPath virsh edit win11

WSL

[https://github.com/nix-community/NixOS-WSL]