Commit Graph

212 Commits

Author SHA1 Message Date
09add9f5e4 fix: remove duplicate extraSpecialArgs in gortium.nix 2026-06-17 08:30:01 -04:00
b4b928a985 fix: clean module and flake after merge 2026-06-17 08:29:24 -04:00
33e98f32d7 feat: add HackerGadgets AIO v2 board module + enable on uConsole CM5 2026-06-17 08:27:15 -04:00
332f1cca1a chore: update nixos-uconsole flake.lock to latest pr/dcs-panel-detection 2026-06-17 08:27:01 -04:00
102586d7e8 fix: switch nixos-uconsole to cm5_fix branch (patches OK)
- Remove local boot.kernelPatches (now in nixos-uconsole fork)
- Point to github:gortium/nixos-uconsole/cm5_fix instead of pr/dcs-panel-detection
2026-06-16 19:21:54 -04:00
43f8d8a61c fix: correct aiov2_ctl hash from actual build 2026-06-16 19:12:37 -04:00
6aca5466b6 fix: convert hash to proper SRI base64 format 2026-06-16 19:11:43 -04:00
f0ec375875 fix: set real hash for aiov2_ctl fetchFromGitHub 2026-06-16 19:11:00 -04:00
e05ef66b8f fix: correct secrets path in configuration.nix (../../secrets from hosts/uconsole-cm5/) 2026-06-16 19:09:24 -04:00
a2096efc3f fix: correct dotfiles path in home.nix (relative to repo root) 2026-06-16 19:08:49 -04:00
088a82d730 fix: pass hostName as extraSpecialArgs to home-manager
home.nix used config.networking.hostName but home-manager modules
don't have access to NixOS config. Fix by passing via extraSpecialArgs.
2026-06-16 19:08:15 -04:00
b9e89ce537 fix: use libraspberrypi instead of raspberrypi-tools for pinctrl 2026-06-16 19:07:34 -04:00
1d50b6455d fix: zsh conflicts for gortium home-manager on uConsole
- Remove duplicate .zshrc from home.file (managed by programs.zsh)
- Enable programs.zsh system-wide for gortium user
2026-06-16 19:06:44 -04:00
bcf924408b fix: remove programs.gitsign (not available in nixpkgs 25.11) 2026-06-16 19:06:11 -04:00
820de72c0f fix: remove duplicate ai-worker user definition in configuration.nix
ai-worker is now defined in users/ai-worker/ai-worker.nix module
2026-06-16 19:05:03 -04:00
6c08958730 fix: add ai-worker-restricted module to uConsole CM5 base modules
Required for services.aiWorkerAccess option used by users/ai-worker/ai-worker.nix
2026-06-16 19:04:35 -04:00
3f331e4bfb fix: add home-manager input for uConsole CM5 gortium user config
The remote branch added users/gortium/gortium.nix which uses
home-manager module option, but home-manager wasn't imported.
2026-06-16 19:03:59 -04:00
1550219e77 Merge remote changes + feat: AIO v2 board module
- Cross-compile overlays for Hyprland (libcamera, pipewire, gjs)
- Refactor uconsoleBaseModules into reusable list
- Add wireguard-client service module
- Restructure users into subdirectories
- New: hardware.uconsole-cm5-aio-v2 module (GPIO rails, aiov2_ctl, GPS UART)
- Update configuration.nix with Hyprland + AIO v2
- Add AIO v2 module to both toplevel and SD image config
2026-06-16 19:02:38 -04:00
2572f47e41 feat: add NixOS module for HackerGadgets AIO v2 board (uConsole CM5)
- New module: hardware.uconsole-cm5-aio-v2
  - GPIO rail control for GPS (27), LORA (16), SDR (7), USB (23)
  - Systemd oneshot service (aiov2-rails-boot) to apply states at boot
  - aiov2_ctl CLI tool packaged from GitHub source
  - GPS UART support (ttyAMA0, 9600 baud) with dialout group
  - Optional systemd user service for system tray GUI
- Wired into uconsole-cm5 NixOS config + SD image

All rails default OFF — activate on demand with:
  aiov2_ctl <GPS|LORA|SDR|USB> on
2026-06-16 19:00:50 -04:00
bd8b1c564e feat: add reusable wireguard-client NixOS module
- modules/nixos/services/wireguard-client.nix — optional module under
  gortium.wireguard-client namespace with enable, vpnIp, privateKeyFile,
  and presharedKeyFile options
- Added to lazyworkhorse, cyt-pi, and uconsoleBaseModules (covers both
  uconsole-cm5 toplevel and SD image)
- Migrated lazyworkhorse from inline networking.wireguard to module
- Split-tunnel: allowedIPs = [ "10.8.0.0/24" ]

Usage in a host config:
  gortium.wireguard-client = {
    enable = true;
    vpnIp = "10.8.0.X/24";
    privateKeyFile = config.age.secrets.wireguard_private_key.path;
    presharedKeyFile = config.age.secrets.wireguard_preshared_key.path;
  };
2026-06-15 10:55:40 -04:00
bd283de350 fix: place passwordFile at correct attrset level in gortium.nix 2026-06-14 21:58:57 -04:00
a6d88f2d41 Moved user ai-worker 2026-06-14 21:57:44 -04:00
6399196a2c fix: move gortium passwordFile to shared user module (applies to all hosts) 2026-06-14 21:55:48 -04:00
8651295b0a Fixed stuff maybe i guess not sure 2026-06-14 21:48:23 -04:00
e991359584 add gortium password age secret 2026-06-14 21:34:42 -04:00
fba52fa66d fix: use passwordFile instead of hashedPasswordFile (matches other secrets: plain text) 2026-06-14 21:09:10 -04:00
e95baddb96 rename users/gortium/default.nix -> gortium.nix, add to uconsole modules 2026-06-14 21:05:22 -04:00
eb3fe42542 refactor: extract shared uconsole modules to eliminate toplevel/image duplication 2026-06-14 20:56:17 -04:00
cdbb7de04d fix: properly structure uConsole config (ai-worker, gortium password, age secret) 2026-06-14 19:56:33 -04:00
9004163891 feat: add agenix secret for gortium password on uConsole
- Add gortium_password.age entry in secrets.nix
- Add age.secrets.gortium_password in uConsole config
- Add hashedPasswordFile to existing gortium user
- Add ai-worker user for Hermes SSH access
2026-06-14 19:53:40 -04:00
f06d9028f0 feat: add ai-worker user to uConsole for Hermes SSH access 2026-06-14 19:52:11 -04:00
8423a121eb rename host/ -> hosts/ in dotfiles submodule 2026-06-14 19:41:58 -04:00
7238e9d45c update dotfiles submodule: per-host hyprland config 2026-06-14 19:37:35 -04:00
f344739b94 feat: per-host Hyprland monitor config via home-manager
- Split hyprland.conf into common (keybinds, looks, animations)
  and per-host (monitors, env, workspaces) configs
- Add uconsole.conf for CM5 DSI display (720x1280)
- Add laptop.conf for NVIDIA + external monitors
- home.nix links the correct host config based on hostname
- Remove NVIDIA env vars from common config
2026-06-14 19:37:14 -04:00
02ffcdb55e feat: add dotfiles submodule and home-manager config
- Add dotfiles repo as submodule in assets/dotfiles/
- Rewrite home.nix with direct file references instead of stow service
- Remove old custom dotfiles.nix service (replaced by home-manager)
- Clean up services/default.nix import
2026-06-14 19:22:27 -04:00
ce7f74c66f remove hyperspace files accidentally committed from feat/hyperspace-pods-module
These files were mixed into commit 16acc6a which was intended
to only fix SSH options for the uConsole configuration.
2026-06-14 18:58:35 -04:00
f5d1732346 Merge remote-tracking branch 'origin/home_manager' into uconsole-cm5-incremental
# Conflicts:
#	flake.lock
#	flake.nix
#	modules/nixos/services/default.nix
2026-06-14 18:53:53 -04:00
2ee616839e chore: point nixos-uconsole input to pr/dcs-panel-detection branch 2026-06-14 18:43:04 -04:00
42202c8a40 fix: add hyprwayland-scanner native paths for xdg-desktop-portal-hyprland cross-compile 2026-06-14 10:11:44 -04:00
2476352fdf fix: skip hyprland qtutils (Qt6Quick missing in aarch64 cross-compile)
Qt6Quick and its submodules are not built in the aarch64 qtdeclarative
cross-compile output. hyprland-qt-support can't find them and fails.

Hyprland only needs qtutils at runtime (added to PATH via wrapProgram).
Setting wrapRuntimeDeps = false skips the wrapping entirely, letting
Hyprland build without its QML UI support package.
2026-06-14 10:01:28 -04:00
8afca7315d fix: correct qtdeclarative attr to qt6.qtdeclarative 2026-06-14 09:56:31 -04:00
0372b37950 fix: set Qt6Qml_DIR for hyprland-qt-support cross-compile 2026-06-14 09:52:35 -04:00
11a4969028 fix: skip GTK tests in gjs cross-compile for Hyprland 2026-06-14 09:30:50 -04:00
6a1c26cac2 fix: remove libcamera from pipewire buildInputs (both overlays)
meta.platforms = [] on libcamera doesn't help because nixos-25.11 pipewire
has libcamera unconditionally in buildInputs. Must overrideAttrs to:
- filter libcamera out of buildInputs
- clear existing libcamera meson flags and set -Dlibcamera=disabled
2026-06-14 09:03:44 -04:00
9978ea36f4 fix: disable libcamera in pipewire via mesonFlags for both pkgs and rpi 2026-06-14 00:56:31 -04:00
f00477dacc fix: force -Dlibcamera=disabled in pipewire mesonFlags for cross-compile 2026-06-14 00:16:09 -04:00
86d8b7bf8b fix: disable libcamera in pipewire for cross-compile (rpi-pisp blocks) 2026-06-13 23:45:58 -04:00
4610a08072 feat: add Hyprland Wayland compositor from archive/uconsole-cm5-v3 2026-06-13 23:26:15 -04:00
3f985c72de switch to gortium/nixos-uconsole fork 2026-06-13 23:15:53 -04:00
67aafe37db fix: add DSI_INIT0 lane config to old panel init seq + fix mode_flags 2026-06-13 18:59:29 -04:00