[home] Refactor into roles
This commit is contained in:
35
CLAUDE.md
35
CLAUDE.md
@@ -43,6 +43,33 @@ roles = {
|
||||
};
|
||||
```
|
||||
|
||||
### Home-Manager Role System
|
||||
The repository also uses a modular home-manager role system for user-space configuration:
|
||||
|
||||
**Available Home Roles:**
|
||||
- `home.roles.base`: Core CLI tools, git, ssh, bash, rbw (enabled everywhere)
|
||||
- `home.roles.desktop`: GUI applications, Firefox, KDE services
|
||||
- `home.roles.office`: LibreOffice, OpenSCAD (heavy packages)
|
||||
- `home.roles.media`: VLC, Jellyfin, Moonlight (media consumption)
|
||||
- `home.roles.development`: Custom packages, kubectl, development tools
|
||||
- `home.roles.communication`: Element, Nextcloud Talk, Google cookie tools
|
||||
- `home.roles.sync`: Syncthing service and tray (for file synchronization)
|
||||
- `home.roles.kdeconnect`: KDE Connect for device integration
|
||||
- `home.roles.gaming`: Gaming applications (future expansion)
|
||||
|
||||
**Role-Based Home Configurations:**
|
||||
- `home-desktop.nix`: Full-featured desktop for development workstations
|
||||
- `home-media-center.nix`: Living room media consumption and gaming setup (boxy)
|
||||
- `home-laptop-compact.nix`: Essential tools only, excludes office/media for storage constraints (nix-book)
|
||||
- `home-live-usb.nix`: Minimal setup for live environments, no persistent services
|
||||
|
||||
**Machine-Specific Role Usage:**
|
||||
- **nix-book**: Compact laptop → excludes office/media roles due to SSD space constraints
|
||||
- **boxy**: Living room media center → optimized for media consumption, excludes sync/office (shared machine)
|
||||
- **zix790prors**: All-purpose workstation → full desktop experience with all roles enabled
|
||||
- **wixos**: WSL2 development → full desktop experience, inherits from zix790prors Windows host
|
||||
- **live-usb**: Temporary environment → only base + desktop roles, no persistent services
|
||||
|
||||
## Common Commands
|
||||
|
||||
### Building and Switching Configurations
|
||||
@@ -58,9 +85,11 @@ home-manager switch --flake .#johno
|
||||
```
|
||||
|
||||
### Available Machine Configurations
|
||||
- `nix-book`: Uses `home/home-nix-book.nix`
|
||||
- `boxy`: Gaming desktop with AMD GPU, uses `home/home.nix`
|
||||
- `wixos`: WSL configuration, uses `home/home.nix`
|
||||
- `nix-book`: Compact laptop with storage constraints, uses `home/home-laptop-compact.nix`
|
||||
- `boxy`: Shared living room media center/gaming desktop with AMD GPU, uses `home/home-media-center.nix`
|
||||
- `zix790prors`: Powerful all-purpose workstation (gaming, 3D modeling, development), dual-boots Windows 11 with shared btrfs /games partition, uses `home/home-desktop.nix`
|
||||
- `wixos`: WSL2 development environment running in Windows partition of zix790prors, uses `home/home-desktop.nix`
|
||||
- `live-usb`: Bootable ISO configuration, uses `home/home-live-usb.nix`
|
||||
|
||||
### Flake Operations
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user