No description
  • Nix 66.5%
  • Lua 17.2%
  • CSS 8.7%
  • Shell 4.3%
  • Python 3.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-24 10:03:29 -06:00
config added pi and deepseekH 2026-08-22 17:05:35 -06:00
hosts pinned to kernel 6.18 to avoid issues with nvidia. 2026-08-24 10:03:29 -06:00
modules pinned to kernel 6.18 to avoid issues with nvidia. 2026-08-24 10:03:29 -06:00
node_modules added pi and deepseekH 2026-08-22 17:05:35 -06:00
AGENTS.md docs: add AGENTS.md with repo conventions 2026-08-15 00:06:15 -06:00
BATTERY.md made changes to battery settings 2026-08-22 17:17:56 -06:00
flake.lock pinned to kernel 6.18 to avoid issues with nvidia. 2026-08-24 10:03:29 -06:00
flake.nix added deepseek again 2026-08-23 23:47:01 -06:00
package-lock.json added pi and deepseekH 2026-08-22 17:05:35 -06:00
package.json added pi and deepseekH 2026-08-22 17:05:35 -06:00
README.md docs: reflect netbird and shared power modules in README 2026-08-13 02:37:36 -06:00
result pinned to kernel 6.18 to avoid issues with nvidia. 2026-08-24 10:03:29 -06:00

Squeige NixOS Dotfiles

Modular NixOS flake configuration managed with home-manager. Hosts include my desktop, laptop, and a VM — all built from shared modules so system services and user apps stay reusable and consistent across machines.

Hosts

Host Hardware Notable config
squeigedesk Desktop (AMD CPU + NVIDIA GPU) Niri + Ly, secure boot (lanzaboote)
squeigeloq Lenovo LOQ laptop (NVIDIA GPU) Power tuning, NVIDIA tweaks
vm01 Hyper-V VM Minimal

Directory structure

.
├── flake.nix                  # Flake entry: inputs & nixosConfigurations
├── flake.lock
├── config
│   └── nvim                   # Neovim config (linked into home-manager)
│       ├── init.lua
│       ├── lazy-lock.json
│       └── lua
│           ├── config         # Editor base: options, keymaps, clipboard
│           └── plugins        # LSP, treesitter, telescope, colorscheme, ...
├── hosts                      # Per-machine configuration
│   ├── squeigedesk
│   │   ├── configuration.nix
│   │   └── hardware-configuration.nix
│   ├── squeigeloq
│   │   ├── configuration.nix
│   │   ├── hardware-configuration.nix
│   │   └── hardware           # Host-specific hardware modules
│   │       ├── default.nix
│   │       ├── nvidialoq.nix
│   │       └── power.nix
│   └── vm01
│       ├── configuration.nix
│       └── hardware-configuration.nix
└── modules                    # Shared, reusable NixOS + home-manager modules
    ├── desktops               # DEs/WMs, switchable via mySystem.desktops.<name>.enable
    │   ├── default.nix        # Imports all desktops
    │   ├── display_ly.nix     # Ly display/login manager
    │   ├── niri.nix           # Niri compositor
    │   ├── qtile.nix          # Qtile
    │   └── x11.nix            # X11 / display server
    ├── hardware               # Shared hardware support
    │   ├── audio.nix
    │   ├── lanzaboote.nix     # Secure boot
    │   ├── nvidia.nix
    │   └── power.nix          # Shared power tuning
    ├── home                   # Home-manager (user-level apps & config)
    │   └── default.nix
    └── system                 # System services & users
        ├── bluetooth.nix
        ├── incus.nix
        ├── luigi.nix          # Primary user (gated behind mySystem.users.luigi.enable)
        ├── netbird.nix        # NetBird mesh VPN
        └── openssh.nix

Policy

  • User apps (editors, terminals, dev tools): modules/home/
  • System services (audio, bluetooth, boot): modules/{hardware,system}/, each module owns its own required packages
  • Host configs keep only rescue tools (vim, wget, curl) and host wiring
  • Feature toggles: optional features are gated behind mySystem.<category>.<name>.enable (e.g. mySystem.desktops.niri.enable, mySystem.users.luigi.enable)

Usage

# Rebuild a host
sudo nixos-rebuild switch --flake .#squeigedesk
sudo nixos-rebuild switch --flake .#squeigeloq
sudo nixos-rebuild switch --flake .#vm01

# Update flake inputs
nix flake update