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": {
"locked": {
"lastModified": 1751211869,
"narHash": "sha256-1Cu92i1KSPbhPCKxoiVG5qnoRiKTgR5CcGSRyLpOd7Y=",
"lastModified": 1751479989,
"narHash": "sha256-M5KgdpVBVcW4HRVq9/OSRbrxlwsQ1ogEKqnvzsClDqU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b43c397f6c213918d6cfe6e3550abfe79b5d1c51",
"rev": "34627c90f062da515ea358360f448da57769236e",
"type": "github"
},
"original": {

View file

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

View file

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

View file

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

View file

@ -114,15 +114,7 @@ Home lab root: ~a
(define (cmd-deploy machine-name . args)
"Deploy configuration to machine using deploy-rs"
(let* ((base-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))
(let* ((options (parse-deploy-options args)))
(log-info "Deploying to machine: ~a using deploy-rs" machine-name)
(if (validate-machine-name machine-name)
(let ((result (deploy-machine machine-name "default" options)))

View file

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

View file

@ -82,7 +82,10 @@
(port (open-pipe* OPEN_READ "/bin/sh" "-c" ssh-cmd))
(output (get-string-all 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
(define (copy-file-to-remote machine-name local-path remote-path)