diff --git a/machines/congenital-optimist/configuration.nix b/machines/congenital-optimist/configuration.nix index 1c86f71..c63d5e5 100644 --- a/machines/congenital-optimist/configuration.nix +++ b/machines/congenital-optimist/configuration.nix @@ -46,7 +46,7 @@ ../../modules/users/sma.nix # Virtualization configuration - # ../../modules/virtualization/incus.nix # Disabled: cowsql build issue + ../../modules/virtualization/incus.nix # Re-enabled with LTS version ../../modules/virtualization/libvirt.nix ../../modules/virtualization/podman.nix ]; diff --git a/modules/users/geir.nix b/modules/users/geir.nix index ce312e7..e4f3738 100644 --- a/modules/users/geir.nix +++ b/modules/users/geir.nix @@ -20,6 +20,7 @@ in { "wheel" "networkmanager" "libvirt" + "incus-admin" "podman" "audio" "video" diff --git a/modules/users/sma.nix b/modules/users/sma.nix index 9688016..e074086 100644 --- a/modules/users/sma.nix +++ b/modules/users/sma.nix @@ -21,6 +21,7 @@ "wheel" # sudo access "networkmanager" # network management "libvirt" # virtualization management + "incus-admin" # container management "podman" # container runtime "docker" # docker compatibility (if needed) "media" # shared media access for NFS shares diff --git a/modules/virtualization/incus.nix b/modules/virtualization/incus.nix index 49cb49b..06f81f0 100644 --- a/modules/virtualization/incus.nix +++ b/modules/virtualization/incus.nix @@ -1,37 +1,13 @@ { config, pkgs, ... }: -let - # Fix cowsql build issue with glibc 2.40 - cowsql-fixed = pkgs.cowsql.overrideAttrs (oldAttrs: { - patches = (oldAttrs.patches or []) ++ [ - (pkgs.writeText "cowsql-float-t-fix.patch" '' - --- a/src/lib/serialize.h - +++ b/src/lib/serialize.h - @@ -37,7 +37,9 @@ - #define SERIALIZE_H_ - - #include - +#ifndef _MATH_H - typedef double float_t; - +#endif - - struct serialize; - '') - ]; - }); - - incus-fixed = pkgs.incus.override { - cowsql = cowsql-fixed; - }; -in { virtualisation.incus = { enable = true; ui.enable = true; - package = incus-fixed; + package = pkgs.incus-lts; # Use LTS version to avoid cowsql build issues }; environment.systemPackages = [ - incus-fixed + pkgs.incus-lts pkgs.lxc ]; diff --git a/packages/lab-tool/utils/ssh.scm b/packages/lab-tool/utils/ssh.scm index 1f9a56d..e9e9af2 100644 --- a/packages/lab-tool/utils/ssh.scm +++ b/packages/lab-tool/utils/ssh.scm @@ -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)