feat: Add little-rascal laptop config and lab-tool auto-update system

## 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>
This commit is contained in:
Geir Okkenhaug Jerstad 2025-06-27 22:03:54 +02:00
parent 5e1061382c
commit 6eac143f57
19 changed files with 1287 additions and 559 deletions

View file

@ -76,6 +76,18 @@
./modules/common/tty.nix
];
};
# little-rascal - Development laptop with Niri + CLI login
little-rascal = nixpkgs.lib.nixosSystem {
inherit system specialArgs;
modules = [
./machines/little-rascal/configuration.nix
./machines/little-rascal/hardware-configuration.nix
./modules/common/nix.nix
./modules/common/base.nix
./modules/common/tty.nix
];
};
};
# Custom packages for the home lab
@ -100,6 +112,7 @@
echo " - sleeper-service (Xeon file server)"
echo " - reverse-proxy (VPS edge server)"
echo " - grey-area (Services host: Forgejo, Jellyfin, etc.)"
echo " - little-rascal (Development laptop with Niri)"
echo ""
echo "Build with: nixos-rebuild build --flake .#<config>"
echo "Switch with: nixos-rebuild switch --flake .#<config>"
@ -205,6 +218,20 @@
confirmTimeout = 30;
};
};
little-rascal = {
hostname = "little-rascal.tail807ea.ts.net";
profiles.system = {
user = "root";
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.little-rascal;
sshUser = "geir";
sudo = "sudo -u";
autoRollback = true;
magicRollback = true;
activationTimeout = 180;
confirmTimeout = 30;
};
};
};
# Deploy-rs checks (recommended by deploy-rs)