## 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>
77 lines
1.6 KiB
Nix
77 lines
1.6 KiB
Nix
# Common User Configuration
|
|
# Shared settings for all users in the home lab
|
|
{
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
imports = [
|
|
./shell-aliases.nix
|
|
];
|
|
# Common user settings
|
|
users = {
|
|
# Use mutable users for flexibility
|
|
mutableUsers = true;
|
|
|
|
# Default shell for all users
|
|
defaultUserShell = pkgs.zsh;
|
|
};
|
|
|
|
# Enable zsh system-wide
|
|
programs.zsh = {
|
|
enable = true;
|
|
autosuggestions.enable = true;
|
|
syntaxHighlighting.enable = true;
|
|
|
|
# direnv integration
|
|
interactiveShellInit = ''
|
|
eval "$(starship init zsh)"
|
|
eval "$(direnv hook zsh)"
|
|
'';
|
|
|
|
# Removed sessionVariables - moved to environment.sessionVariables
|
|
};
|
|
|
|
# Common packages for all users
|
|
environment.systemPackages = with pkgs; [
|
|
# Essential CLI tools moved to base.nix
|
|
# Adding user-specific tools here
|
|
|
|
# Communication
|
|
firefox
|
|
|
|
# Development (basic tools moved to base.nix)
|
|
# Additional utilities not in base.nix
|
|
];
|
|
|
|
# Common security settings
|
|
security = {
|
|
# Require password for sudo (can be overridden per user)
|
|
sudo.wheelNeedsPassword = true;
|
|
|
|
# Polkit for desktop users
|
|
polkit.enable = true;
|
|
};
|
|
|
|
# Common services
|
|
services = {
|
|
# Enable SSH for remote management
|
|
openssh = {
|
|
enable = true;
|
|
settings = {
|
|
PasswordAuthentication = false; # Key-based auth only
|
|
PermitRootLogin = "no"; # No root login
|
|
X11Forwarding = true; # For GUI applications over SSH
|
|
};
|
|
};
|
|
};
|
|
|
|
# XDG portal for desktop integration
|
|
xdg.portal = {
|
|
enable = true;
|
|
extraPortals = with pkgs; [
|
|
xdg-desktop-portal-gtk
|
|
xdg-desktop-portal-gnome
|
|
];
|
|
};
|
|
}
|