## New Machine: little-rascal - Add Lenovo Yoga Slim 7 14ARE05 configuration (AMD Ryzen 7 4700U) - Niri desktop with CLI login (greetd + tuigreet) - zram swap configuration (25% of RAM with zstd) - AMD-optimized hardware support and power management - Based on congenital-optimist structure with laptop-specific additions ## Lab Tool Auto-Update System - Implement Guile Scheme auto-update module (lab/auto-update.scm) - Add health checks, logging, and safety features - Integrate with existing deployment and machine management - Update main CLI with auto-update and auto-update-status commands - Create NixOS service module for automated updates - Document complete implementation in simple-auto-update-plan.md ## MCP Integration - Configure Task Master AI and Context7 MCP servers - Set up local Ollama integration for AI processing - Add proper environment configuration for existing models ## Infrastructure Updates - Add little-rascal to flake.nix with deploy-rs support - Fix common user configuration issues - Create missing emacs.nix module - Update package integrations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
---|---|---|
.. | ||
ai | ||
common | ||
desktop | ||
development | ||
network | ||
security | ||
services | ||
sound | ||
users | ||
virtualization | ||
README.md |
NixOS Modules Directory Structure
This directory contains reusable NixOS modules organized by functional domain for the Home-lab infrastructure.
Directory Organization
common/
Core modules shared across all machines in the home lab:
base.nix
- Modern CLI tools, aliases, and essential packagestty.nix
- Console configuration and themingnix.nix
- Nix/flakes configuration and optimization settingsssh.nix
- SSH server and security configurationsnetworking.nix
- Basic networking and firewall settings
desktop/
Desktop environment configurations for workstation machines:
gnome.nix
- GNOME desktop environment setupcosmic.nix
- System76 COSMIC desktop configurationsway.nix
- Sway window manager and Wayland setupfonts.nix
- Font packages and configurationsaudio.nix
- PipeWire/audio system setup
development/
Development tools and environments:
editors.nix
- Text editors (Emacs, Neovim, VSCode)languages.nix
- Programming languages and runtimestools.nix
- Development utilities and CLI toolscontainers.nix
- Development container toolsgit.nix
- Git configuration and tools
virtualization/
Virtualization and containerization:
podman.nix
- Podman container runtimelibvirt.nix
- KVM/QEMU virtualizationincus.nix
- System container managementdocker.nix
- Docker runtime (if needed)
services/
Network services primarily for SleeperService file server:
nfs.nix
- Network File System serversamba.nix
- SMB/CIFS file sharingbackup.nix
- Automated backup servicesmonitoring.nix
- System monitoring and alertingstorage.nix
- ZFS and storage managementmedia.nix
- Media server services (Jellyfin/Plex)
users/
User management and shared user configurations:
common.nix
- Shared user settings across machinesgroups.nix
- System groups and permissionssecurity.nix
- User security policies
Usage
Modules are imported in machine configurations like:
imports = [
../../modules/common/base.nix
../../modules/desktop/gnome.nix
../../modules/virtualization/podman.nix
];
Design Philosophy
- Modular: Each module has a single, clear responsibility
- Reusable: Modules work across different machine types
- Composable: Mix and match modules for different machine roles
- Documented: Each module includes usage examples and options
- Testable: Modules can be tested independently
Machine Profiles
CongenitalOptimist (Workstation)
- All desktop modules
- Development tools
- Virtualization stack
- User-focused configurations
sleeper-service (File Server)
- Common base only
- Service modules (NFS, Samba, backup)
- No desktop environment
- Server-focused configurations