Jack77793's NixOS Config

June 24, 2026 · View on GitHub

A personal NixOS configuration flake for multiple hosts.

Note: This configuration contains hardware-specific settings and references a private secrets repository. Do not deploy it directly on your machine — use it as a reference instead.

Structure

.
├── flake.nix              # Flake entry point, defines hosts and inputs
├── Makefile               # Convenience targets: rebuild, gc, check, livecd, ...
├── hosts/                 # Per-machine configurations
├── modules/
│   ├── default.nix        # Module options and profile defaults
│   ├── vars.nix           # Global variables (username, ssh keys, etc.)
│   ├── nixos/
│   │   ├── default.nix    # Entry point, imports agenix, impermanence, lanzaboote modules
│   │   ├── base/          # System-level base configuration
│   │   ├── desktop/       # Desktop-related system config
│   │   └── extras/        # Optional features, enabled per-host
│   └── home/
│       ├── default.nix    # Home-manager entry point
│       ├── base/          # Core home-manager modules
│       ├── cli/           # CLI tools
│       └── gui/           # GUI applications
└── pkgs/
    ├── default.nix        # Overlay aggregator
    ├── pkgs.toml          # Package metadata for nvchecker
    ├── overlays/
    └── ...                # Custom packages

Components

CategoryDesktop NixOS
Desktop EnvironmentGnome (Mutter)
Display ManagerGDM
ShellZsh
Terminal EmulatorGhostty
Terminal MultiplexerTmux
EditorNeovim
BrowserChromium
Network ManagerNetworkManager (iwd)
Input MethodIBus (Rime, Anthy)
Media Playermpv, mpd (ncmpcpp)
Filesystemtmpfs /, Btrfs on LUKS
Secure Bootlanzaboote

Secrets Management

Secrets are managed with agenix and stored in a private repository, referenced as the mySecrets flake input. This configuration cannot be deployed without access to that repository.

References