Commit graph

177 commits

Author SHA1 Message Date
Geir Okkenhaug Jerstad
8fda07ecd3 prepared for mininas 2025-07-07 19:17:33 +02:00
Geir Okkenhaug Jerstad
d5cc414e88 prepared for mininas 2025-07-07 19:09:29 +02:00
Geir Okkenhaug Jerstad
6459653ed1 prepared for mininas 2025-07-07 19:04:42 +02:00
Geir Okkenhaug Jerstad
a5dedc87f2 prepared for mininas 2025-07-07 18:52:50 +02:00
Geir Okkenhaug Jerstad
db9fadcb0a moved some files to archive 2025-07-07 14:20:29 +02:00
ef4b4b7736 feat: add Home Manager refactoring plan and initial structure
- Add comprehensive Home Manager refactoring plan document
- Create initial Home Manager directory structure with user configs
- Add modular Emacs configuration for Home Manager integration
- Update system configurations for Home Manager compatibility
- Preserve existing functionality while preparing for migration

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-07 13:29:04 +02:00
f323e3b909 tring to get laptop to work 2025-07-04 23:14:16 +02:00
e6d3e90d4d waybar nix config 2025-07-04 22:27:40 +02:00
064948a8ba regressed lab-tool to 0.1.0-dev not pretty but it works 2025-07-04 19:47:54 +02:00
b8c5cf2fb4 regressed lab-tool to 0.10-dev to make it again 2025-07-04 19:32:22 +02:00
2fdf7e4b0c regressed lab-tool to 0.10-dev to make it again 2025-07-04 19:31:48 +02:00
646c8bbc20 refactor: apply functional programming to SSH module
- Split complex nested functions into focused, single-responsibility helpers
- Created io/ directory with pure command builders and impure executors
- Eliminated parentheses complexity that was causing compilation errors
- SSH module now compiles and runs successfully with cleaner architecture

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-04 17:09:49 +02:00
043817f7d5 fix: ensure consistent sma user for all SSH operations
- Add 'user' field mapping in get-ssh-config for compatibility
- Add default identity-file (~/.ssh/id_ed25519_admin) for sma user
- Fix update-flake function syntax error in deployment.scm
- All SSH operations (deploy, status, health, ssh command) now use sma user consistently
2025-07-04 16:47:53 +02:00
3599f278a7 feat: implement SSH + rsync deployment method
- Extract deploy-rs code into separate module (lab/deploy-rs.scm)
- Create new SSH + rsync deployment module (lab/ssh-deploy.scm)
- Make SSH + rsync the default deployment method
- Update help text and examples
- Add options: --boot, --test, --use-deploy-rs
- Supports same workflow as manual: rsync + nixos-rebuild --flake

This provides a faster, simpler deployment method that matches
the manual workflow: sudo nixos-rebuild --flake /path#machine
2025-07-04 16:44:49 +02:00
59d287a543 fix: reduce excess parentheses in lab-tool SSH module
- Remove one excess closing parenthesis causing compilation warning
- Lab tool core functionality now works properly
2025-07-04 16:01:52 +02:00
250ba5e2ea feat: switch to incus-lts and fix lab-tool SSH syntax
- Use incus-lts (6.0.4) instead of latest incus to avoid cowsql build issues
- Re-enable incus on congenital-optimist with LTS version
- Restore incus-admin group membership for users
- Fix missing parentheses in lab-tool SSH module
- This provides stable containerization without build failures
2025-07-04 15:57:32 +02:00
2069f289ff fix: remove incus-admin group references from user configs
- Remove incus-admin group from geir and sma users
- Fixes deployment issue where cowsql was being built despite incus being disabled
- Addresses congenital-optimist build failure
2025-07-04 15:39:00 +02:00
add2152e3a disabled incus 2025-07-04 15:09:23 +02:00
f0a93f457e updated the lab-tool to use correct keys 2025-07-03 23:09:43 +02:00
62fabf835d updated the lab-tool to use correct keys 2025-07-03 22:49:35 +02:00
fef22d02b8 Merge branch 'main' of ssh://git.geokkjer.eu:2222/geir/home-lab 2025-07-03 22:32:34 +02:00
9576b67d91 theming for seatd tuigreet 2025-07-03 22:32:19 +02:00
Geir Okkenhaug Jerstad
974b3c62cc Some research 2025-07-03 22:13:21 +02:00
26507807cf some bad ides and research 2025-07-03 22:09:45 +02:00
251222037d feat(emacs): robust Nix-based Emacs setup with daemon service, improved elisp dev, and full package documentation
- Emacs daemon runs as a systemd service via Nix
- Modular Emacs config with Nix-managed packages (elisp-slime-nav, aggressive-indent, highlight-defined, etc.)
- Keybinding fixes and error handling improvements
- New EMACS_README.md explains ecosystem and troubleshooting
- Nix config: GUI sudo askpass, podman, and desktop tweaks
- All errors from missing packages and keybindings resolved
2025-07-03 20:39:07 +02:00
649f0f3b2c fix: resolve emacs claude-code errors and optimize lab-tool deployments
- Fix claude-code.el quelpa installation with correct Git URL
- Make auto-compile and flycheck conditional for little-rascal
- Auto-skip checks for local machines in lab-tool for faster deployments
- Prevent emacs "Cannot load auto-compile" and "arrayp, nil" errors

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-03 18:31:37 +02:00
6558540485 Merge branch 'main' of ssh://git.geokkjer.eu:2222/geir/home-lab 2025-07-03 17:45:51 +02:00
47c2961033 Refactor emacs configuration and clean up lab-tool project
- Reorganized emacs configuration with profiles in modules/development/emacs.nix
- Updated machine configurations to use new emacs module structure
- Cleaned up lab-tool project by removing archive, research, testing, and utils directories
- Streamlined lab-tool to focus on core deployment functionality with deploy-rs
- Added DEVELOPMENT.md documentation for lab-tool

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-03 17:45:34 +02:00
bff56e4ffc We have made an emacs conf with profiles. And refactored lab tool to use deploy-rs 2025-07-03 15:09:33 +02:00
Geir Okkenhaug Jerstad
93efaff06e added create home true to ensure ssh is done right 2025-07-02 12:47:57 +02:00
Geir Okkenhaug Jerstad
aa607747c3 feat: added basic structure for searXNG and netdata 2025-07-02 12:45:23 +02:00
Geir Okkenhaug Jerstad
fa5de8f1bb Add fwupd service for firmware updates
Adding fwupd to check if there are firmware updates available
for the ITE8353 touchpad or other components that might help
resolve the touchpad issue.
2025-06-30 19:26:26 +02:00
Geir Okkenhaug Jerstad
51335f144b Try Linux 5.15 LTS kernel for touchpad compatibility
6.1 LTS improved I2C communication significantly, but hidraw device
still not created. Trying 5.15 LTS since laptop worked with older distros.
2025-06-30 19:25:33 +02:00
Geir Okkenhaug Jerstad
497cdced54 Remove udev rules - test with clean LTS kernel configuration
Removing custom udev rules since they weren't needed in earlier
working configurations. Testing with clean 6.1 LTS kernel to see
if touchpad works naturally without interference.
2025-06-30 19:16:25 +02:00
Geir Okkenhaug Jerstad
92a2c73b8a Remove blacklisted modules and test with LTS kernel
The LTS kernel (6.1) is handling the ITE8353 touchpad much better.
Removing blacklisted modules to see if the proper drivers can now
work correctly with the improved kernel support.
2025-06-30 19:15:04 +02:00
Geir Okkenhaug Jerstad
4aa06b1851 Add HID input drivers and document LTS kernel success
LTS kernel 6.1.142 successfully established communication with ITE8353:
- Device properly detected and HID descriptor read
- Input events are being received from touchpad
- Debug output shows device is working at HID level
- Need to bind to proper input driver for touchpad functionality
2025-06-30 19:13:12 +02:00
Geir Okkenhaug Jerstad
4d688d47da Switch to LTS kernel 6.1 for touchpad compatibility
The laptop worked fine with older NixOS and Arch installations,
suggesting a kernel regression in 6.12.x. Switching to LTS
kernel 6.1 to test if this resolves the ITE8353 touchpad issue.
2025-06-30 19:07:32 +02:00
Geir Okkenhaug Jerstad
24b01ae4f0 Blacklist hid_sensor_hub to fix touchpad
The ITE8353 touchpad is still being bound to hid-sensor-hub instead
of hid-multitouch. Blacklisting hid_sensor_hub should force it to
use the proper touchpad driver.
2025-06-30 18:59:15 +02:00
Geir Okkenhaug Jerstad
a0a12e14c8 Fix touchpad by blacklisting AMD SFH driver
Based on dmesg analysis, found that:
- ITE8353 touchpad is detected but bound to hid-sensor-hub
- AMD Sensor Fusion Hub (amd_sfh) is interfering with touchpad
- Error: 'pcie_mp2_amd 0000:02:00.7: amd_sfh_hid_client_init failed err -95'

Blacklisting amd_sfh module should allow touchpad to work properly.
2025-06-30 18:56:00 +02:00
Geir Okkenhaug Jerstad
b2ce976a65 Add comprehensive touchpad troubleshooting documentation
- Document ITE8353 touchpad issue on little-rascal
- List all attempted solutions and current status
- Provide next steps for further investigation
- Include useful debugging commands and references
2025-06-30 18:48:03 +02:00
Geir Okkenhaug Jerstad
d5ea2514b4 Add udev rules to force ITE8353 touchpad driver binding
- Add udev rule to unbind from hid-sensor-hub and bind to hid-multitouch
- Add i2c_hid_acpi.probe_defer parameter to help with device detection
- This should fix the touchpad being misidentified as a sensor hub
2025-06-30 18:45:27 +02:00
Geir Okkenhaug Jerstad
414f17a5a0 Fix xinput package reference in input module 2025-06-30 18:42:00 +02:00
Geir Okkenhaug Jerstad
e4cbaff3e0 Fix little-rascal touchpad support and update AMD GPU config
- Add ITE8353 touchpad support with I2C HID modules
- Configure libinput for proper touchpad functionality
- Add udev rules for touchpad device permissions
- Simplify AMD GPU config to use open source drivers only
- Remove ROCm and 32-bit support for cleaner configuration
- Add diagnostic script for touchpad troubleshooting
2025-06-30 18:41:06 +02:00
Geir Okkenhaug Jerstad
5c9c5bbbc4 feat: extract seatd service to reusable module with boot log suppression
- Create modules/services/seatd.nix for clean greetd/tuigreet login experience
- Add boot log suppression options to prevent systemd messages on login screen
- Configure kernel parameters and journald to minimize console noise
- Update both little-rascal and congenital-optimist to use new seatd module
- Ensure consistent login experience across all machines
- Maintain compatibility with existing lab tool (binary name: lab)
2025-06-30 14:47:28 +02:00
Geir Okkenhaug Jerstad
5f65abc2cc feat: implement orchestrated auto-update system and fix deployment
- Add sma user module to little-rascal configuration for passwordless deployment
- Replace cosmic-greeter with greetd on both congenital-optimist and little-rascal
- Implement staggered auto-update system that updates remote machines first
- Add proper SSH user configuration for secure deployments
- Fix deployment permission issues by configuring admin user access
- Ensure orchestrator machine (congenital-optimist) reboots last to prevent SSH disconnection
- Add comprehensive error handling and update reporting
- Successfully tested lab tool deployment and auto-update on all machines

Fixes the critical issue where orchestrator reboot could break SSH connections
during multi-machine updates.
2025-06-30 14:35:21 +02:00
Geir Okkenhaug Jerstad
0465c56305 testing claude code and niri wm on laptop 2025-06-30 11:43:31 +02:00
Geir Okkenhaug Jerstad
3715e542b2 feat: add little-rascal laptop configuration and deployment
- Add complete NixOS configuration for little-rascal laptop
- Include Niri window manager and CLI-focused setup
- Add hardware configuration for laptop hardware
- Include deployment script for little-rascal
- Update flake.nix to include little-rascal as build target
- Add deploy-rs configuration for little-rascal deployment

The little-rascal laptop is now fully integrated into the Home Lab
infrastructure with complete NixOS configuration management.
2025-06-30 11:40:31 +02:00
Geir Okkenhaug Jerstad
f42bae513c feat(lab-tool): integrate little-rascal laptop into Home Lab management
- Add little-rascal to lab-tool configuration with proper attributes
- Include little-rascal in machine management, SSH connectivity, and deployment targets
- Update README.md with examples including little-rascal
- Verify full integration: machines listing, status monitoring, SSH access, deployment ready

The little-rascal laptop is now fully managed through the unified lab-tool interface
alongside other Home Lab machines (congenital-optimist, sleeper-service, grey-area, reverse-proxy).
2025-06-30 11:40:10 +02:00
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
Geir Okkenhaug Jerstad
5e1061382c testing claude code 2025-06-27 21:14:28 +02:00