Compare commits

...

4 commits

Author SHA1 Message Date
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
7 changed files with 22 additions and 22 deletions

6
flake.lock generated
View file

@ -70,11 +70,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1751211869, "lastModified": 1751479989,
"narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=", "narHash": "sha256-M5KgdpVBVcW4HRVq9/OSRbrxlwsQ1ogEKqnvzsClDqU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51", "rev": "34627c90f062da515ea358360f448da57769236e",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -46,7 +46,7 @@
../../modules/users/sma.nix ../../modules/users/sma.nix
# Virtualization configuration # Virtualization configuration
../../modules/virtualization/incus.nix ../../modules/virtualization/incus.nix # Re-enabled with LTS version
../../modules/virtualization/libvirt.nix ../../modules/virtualization/libvirt.nix
../../modules/virtualization/podman.nix ../../modules/virtualization/podman.nix
]; ];

View file

@ -12,8 +12,12 @@
# XDG Portal configuration for Wayland/X11 compatibility # XDG Portal configuration for Wayland/X11 compatibility
xdg.portal = { xdg.portal = {
enable = true; enable = true;
wlr.enable = true; extraPortals = [
extraPortals = [pkgs.xdg-desktop-portal-gtk]; pkgs.xdg-desktop-portal-wlr
pkgs.xdg-desktop-portal-gtk
];
config.common.default = "*";
config.niri.default = ["wlr" "gtk"];
}; };
# Display manager and session management # Display manager and session management

View file

@ -3,12 +3,12 @@
virtualisation.incus = { virtualisation.incus = {
enable = true; enable = true;
ui.enable = true; ui.enable = true;
package = pkgs.incus; package = pkgs.incus-lts; # Use LTS version to avoid cowsql build issues
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = [
incus pkgs.incus-lts
lxc pkgs.lxc
]; ];
networking.firewall.allowedTCPPorts = [ 8443 ]; networking.firewall.allowedTCPPorts = [ 8443 ];

View file

@ -114,15 +114,7 @@ Home lab root: ~a
(define (cmd-deploy machine-name . args) (define (cmd-deploy machine-name . args)
"Deploy configuration to machine using deploy-rs" "Deploy configuration to machine using deploy-rs"
(let* ((base-options (parse-deploy-options args)) (let* ((options (parse-deploy-options args)))
;; Auto-skip checks for local machines to speed up deployment
(local-machines '("little-rascal"))
(should-skip-checks (member machine-name local-machines))
(options (if should-skip-checks
(cons '(skip-checks . #t) base-options)
base-options)))
(when should-skip-checks
(log-info "Auto-skipping checks for local machine: ~a" machine-name))
(log-info "Deploying to machine: ~a using deploy-rs" machine-name) (log-info "Deploying to machine: ~a using deploy-rs" machine-name)
(if (validate-machine-name machine-name) (if (validate-machine-name machine-name)
(let ((result (deploy-machine machine-name "default" options))) (let ((result (deploy-machine machine-name "default" options)))

View file

@ -20,8 +20,9 @@
(define default-config (define default-config
`((homelab-root . "/home/geir/Home-lab") `((homelab-root . "/home/geir/Home-lab")
(machines . ((congenital-optimist (machines . ((congenital-optimist
(type . local) (type . remote)
(hostname . "localhost") (hostname . "congenital-optimist.tail807ea.ts.net")
(ssh-alias . "congenital-optimist.tail807ea.ts.net")
(ssh-user . "sma") (ssh-user . "sma")
(services . (workstation development))) (services . (workstation development)))
(sleeper-service (sleeper-service

View file

@ -82,7 +82,10 @@
(port (open-pipe* OPEN_READ "/bin/sh" "-c" ssh-cmd)) (port (open-pipe* OPEN_READ "/bin/sh" "-c" ssh-cmd))
(output (get-string-all port)) (output (get-string-all port))
(status (close-pipe port))) (status (close-pipe port)))
(values (zero? status) output))))))) (values (zero? status) output)))
(lambda (key . args)
(log-error "SSH command failed for ~a: ~a ~a" machine-name key args)
(values #f ""))))))))))
;; Copy file to remote machine using scp ;; Copy file to remote machine using scp
(define (copy-file-to-remote machine-name local-path remote-path) (define (copy-file-to-remote machine-name local-path remote-path)