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
cb2b535fde
fix: correct patch format — blank line between hunks
2026-06-13 18:51:39 -04:00
2c9136d1dc
fix: add DSI_INIT0 lane config to old panel init_sequence + fix mode_flags
2026-06-13 18:49:36 -04:00
6fac886598
revert: remove failed CWU50 display fix patches
2026-06-13 18:04:06 -04:00
a4f4891236
try: no-burst-no-sync-pulse (VIDEO only)
2026-06-13 17:12:51 -04:00
3a809938c9
try: no-sync-pulse variant (keep BURST, remove SYNC_PULSE)
2026-06-13 16:38:24 -04:00
0f765d99cb
feat: add CWU50 display patch (no-burst) + fix flake syntax
...
Remove extra '};' that broke flake.nix parsing.
Apply kernel patch '0008-panel-cwu50-no-burst.patch' to remove
MIPI_DSI_MODE_VIDEO_BURST flag in panel-cwu50.c.
Switch nixos-uconsole module to consolidated uconsole-cm5 module.
Keep patches/0008-panel-cwu50-remove-sync-pulse.patch as variant.
2026-06-13 16:27:32 -04:00
4d8087badf
fix: apply DSI burst mode fix as kernel patch overlay
2026-06-13 13:47:35 -04:00
6543de3a45
fix: correct sd-image module to nixosModules.sd-image
2026-06-12 21:57:49 -04:00
0db8071300
fix: correct sd-image module path
2026-06-12 21:56:22 -04:00
9038863728
fix: remove dead rpi-pkgs line
2026-06-12 21:48:48 -04:00
7e3b2520eb
fix: use nixos-raspberrypi.lib.nixosSystem + sd-image module directly
2026-06-12 21:47:29 -04:00
80efb68428
feat(uconsole): add flashable SD image package (SSH+WiFi+keys)
2026-06-12 21:42:51 -04:00
3d86af76b9
fix: remove non-existent ssh opts for nixpkgs-25.11
2026-06-12 20:55:42 -04:00
656570b39e
fix: use plain string for bootloader setting
2026-06-12 20:54:19 -04:00
8b6990ceee
deploy1(uconsole): revert rasberry-pi-5.base removal — keep minimal SSH+WiFi config
2026-06-12 20:52:11 -04:00