From 8bec816dc873652ff1a019edfa09babf3f3eeb5f Mon Sep 17 00:00:00 2001 From: Julian Sutter Date: Thu, 27 Nov 2025 12:58:10 -0800 Subject: [PATCH] agents.md --- agents.md | 159 ------------------------------------------------------ 1 file changed, 159 deletions(-) delete mode 100644 agents.md diff --git a/agents.md b/agents.md deleted file mode 100644 index acee33e..0000000 --- a/agents.md +++ /dev/null @@ -1,159 +0,0 @@ -# Quick Start Guide for NixOS Configuration Repository - -This guide provides essential information for agents to quickly understand and work with this NixOS configuration repository. - -## Repository at a Glance - -- **Type**: Flake-based NixOS configuration -- **Base**: NixOS 25.05 stable with selective unstable packages -- **Systems**: framework (laptop), aurora (desktop), labrizor (desktop) -- **Desktop**: KDE Plasma with modular application sets -- **Users**: jsutter (primary), isutter, aksutter - -## Essential Commands - -### Testing Configuration -```bash -# Check flake syntax and outputs -nix flake check - -# Dry run for specific system -sudo nixos-rebuild dry-run --flake .#systemname - -# Show flake outputs -nix flake show -``` - -### Applying Changes -```bash -# Apply to specific system -sudo nixos-rebuild switch --flake .#systemname - -# Build only (don't switch) -sudo nixos-rebuild build --flake .#systemname - -# Test (current generation rollback on reboot) -sudo nixos-rebuild test --flake .#systemname -``` - -### Updates -```bash -# Update all flake inputs -nix flake update - -# Update only unstable packages -nix flake lock --update-input nixpkgs-unstable -``` - -## File Locations - -| What you want to do | Where to edit | -|---------------------|---------------| -| Add system packages | `systems/common.nix` | -| Add development tools | `desktop/dev.nix` | -| Add desktop apps | `desktop/[category].nix` | -| Modify user settings | `users/[username].nix` | -| System-specific settings | `systems/[hostname].nix` | -| Add new system | Edit `flake.nix` + create `systems/[hostname].nix` | - -## Adding Packages: Quick Reference - -```nix -# In appropriate .nix file -{ config, pkgs, pkgs-unstable, ... }: # Add pkgs-unstable if needed - -{ - # Use stable packages - environment.systemPackages = with pkgs; [ - firefox - git - new-package - ]; - - # Use unstable when necessary - environment.systemPackages = with pkgs; [ - pkgs-unstable.latest-tool # Comment why unstable is needed - ]; -} -``` - -## System Status - -### framework (Laptop) -- Hardware: Framework AMD AI 300 series -- Special: AMD GPU optimization, power management -- Users: jsutter - -### aurora (Desktop) -- Hardware: Generic desktop -- Special: 3D/2D printing, multiple users -- Users: jsutter, isutter, aksutter - -### labrizor (Desktop) -- Hardware: Generic desktop -- Special: 3D printing -- Users: jsutter - -## Module Structure - -### Common Desktop Modules (applied to all desktop systems) -- `systems/common.nix` - Base system config -- `desktop/plasma.nix` - KDE Plasma -- `desktop/dev.nix` - Development tools -- `desktop/office.nix` - Office applications -- `desktop/gaming.nix` - Gaming platforms -- `desktop/media.nix` - Audio/video software -- `desktop/virtualization.nix` - VM/container support -- `desktop/tailscale.nix` - VPN for internet archive -- `desktop/3dprinting.nix` - 3D printing tools -- `desktop/2dprinting.nix` - 2D printing tools - -## Critical Rules - -1. **Always test before applying**: Use `dry-run` first -2. **Use stable packages unless necessary**: Document unstable usage -3. **Follow file placement rules**: Put configs in correct directories -4. **Maintain security**: Never commit secrets or private keys - - -## Emergency Recovery - -If system fails to boot: -```bash -# Boot from installation media -mount /dev/disk/by-partlabel/primary /mnt -cd /mnt/root/nixos -sudo nixos-rebuild switch --rollback -``` - -## Common Patterns - -### Add New Package -1. Choose appropriate file (see table above) -2. Add to `environment.systemPackages` -3. Test: `sudo nixos-rebuild dry-run --flake .#system-name` -4. Apply: `sudo nixos-rebuild switch --flake .#system-name` - -### Add New User -1. Create `users/newuser.nix` following existing pattern -2. Add to desired system in `flake.nix` -3. Test and apply - -### Add New System -1. Create `systems/hostname.nix` with hardware config -2. Add to `flake.nix` following existing pattern -3. Test and apply - -## Documentation - -- **Project Guide**: `docs/PROJECT_GUIDE.md` - Comprehensive documentation -- **File Structure**: `docs/FILE_STRUCTURE.md` - Detailed file reference -- **Workflows**: `docs/WORKFLOW.md` - Step-by-step procedures -- **Rules**: `.clinerules` - Agent-specific guidelines - -## Get Help - -1. Check existing patterns in similar files -2. Read `docs/PROJECT_GUIDE.md` for detailed information -3. Follow `.clinerules` for best practices -4. Test thoroughly before applying changes