refactor: modularize flake into option-gated feature modules #1

Merged
gitea_admin merged 1 commit from refactor/modularize-flake into main 2026-06-12 09:46:50 +00:00
Owner

Split the monolithic host/home config into reusable my.* feature
modules so the same modules serve the desktop laptop and a headless
server (and future non-NixOS coder/WSL targets).

  • lib/default.nix: mkSystem/mkHome helpers. mkSystem integrates Home
    Manager into NixOS and derives each home's roles from the system
    config, so a single rebuild applies system + home.
  • modules/nixos/{base,dev,laptop,desktop,server}: system feature
    modules gated by my.* (base on by default); minikube-local and
    nm-ovpn moved under modules/nixos.
  • home/modules/{base,dev,desktop,gnome,hyprland,zsh,neovim,tmux,
    claude-code}: home feature modules; entry point home/felix.nix.
  • hosts/{framework,server}: thin hosts that flip my.* roles; assets
    moved to home/assets.
  • Behavioral: dev CLIs (kubectl, terraform, …) moved from system
    packages to felix's home; aarch64 emulation moved to base; nm-ovpn
    left disabled.

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com

Split the monolithic host/home config into reusable `my.*` feature modules so the same modules serve the desktop laptop and a headless server (and future non-NixOS coder/WSL targets). - lib/default.nix: mkSystem/mkHome helpers. mkSystem integrates Home Manager into NixOS and derives each home's roles from the system config, so a single rebuild applies system + home. - modules/nixos/{base,dev,laptop,desktop,server}: system feature modules gated by my.* (base on by default); minikube-local and nm-ovpn moved under modules/nixos. - home/modules/{base,dev,desktop,gnome,hyprland,zsh,neovim,tmux, claude-code}: home feature modules; entry point home/felix.nix. - hosts/{framework,server}: thin hosts that flip my.* roles; assets moved to home/assets. - Behavioral: dev CLIs (kubectl, terraform, …) moved from system packages to felix's home; aarch64 emulation moved to base; nm-ovpn left disabled. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Split the monolithic host/home config into reusable `my.*` feature
modules so the same modules serve the desktop laptop and a headless
server (and future non-NixOS coder/WSL targets).

- lib/default.nix: mkSystem/mkHome helpers. mkSystem integrates Home
  Manager into NixOS and derives each home's roles from the system
  config, so a single rebuild applies system + home.
- modules/nixos/{base,dev,laptop,desktop,server}: system feature
  modules gated by my.* (base on by default); minikube-local and
  nm-ovpn moved under modules/nixos.
- home/modules/{base,dev,desktop,gnome,hyprland,zsh,neovim,tmux,
  claude-code}: home feature modules; entry point home/felix.nix.
- hosts/{framework,server}: thin hosts that flip my.* roles; assets
  moved to home/assets.
- Behavioral: dev CLIs (kubectl, terraform, …) moved from system
  packages to felix's home; aarch64 emulation moved to base; nm-ovpn
  left disabled.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
gitea_admin/nixos!1
No description provided.