home-lab/modules/services/lab-auto-update-example.nix
Geir O. Jerstad 6eac143f57 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>
2025-06-27 22:03:54 +02:00

44 lines
No EOL
1.2 KiB
Nix

# Example configuration for enabling lab auto-update service
# Add this to your machine's configuration.nix
{
# Import the lab auto-update service module
imports = [
../services/lab-auto-update.nix
];
# Enable and configure the auto-update service
services.lab-auto-update = {
enable = true;
# Schedule updates at 2:00 AM with up to 30 minute random delay
schedule = "02:00";
randomizedDelay = "30m";
# Path to your home lab flake
flakePath = "/home/geir/Projects/home-lab";
# Keep logs for 30 days
logRetentionDays = 30;
# Persist timer across reboots
persistent = true;
};
# Optional: Enable the lab tool package system-wide
environment.systemPackages = with pkgs; [
(pkgs.callPackage ../../packages/lab-tools.nix {}).default
];
# Optional: Staggered scheduling for different machine types
# Uncomment and modify based on machine role:
# For database/storage servers (run first)
# services.lab-auto-update.schedule = "02:00";
# For application servers (run after storage)
# services.lab-auto-update.schedule = "02:30";
# For development machines (run last)
# services.lab-auto-update.schedule = "03:00";
}