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:
parent
5e1061382c
commit
6eac143f57
19 changed files with 1287 additions and 559 deletions
44
modules/services/lab-auto-update-example.nix
Normal file
44
modules/services/lab-auto-update-example.nix
Normal file
|
@ -0,0 +1,44 @@
|
|||
# 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";
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue