From a64e81236eeb2a88b0ca461cb86e17a0bee90ee5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20=E2=80=9CNiols=E2=80=9D=20Jeannerod?= Date: Wed, 4 Jun 2025 16:03:54 +0200 Subject: [PATCH] [HACK] FediPanel: do not call `nix develop` --- panel/nix/configuration.nix | 9 ++++++++- panel/nix/package.nix | 2 ++ panel/src/panel/views.py | 8 ++------ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/panel/nix/configuration.nix b/panel/nix/configuration.nix index 0598d2f1..c2114c8c 100644 --- a/panel/nix/configuration.nix +++ b/panel/nix/configuration.nix @@ -21,7 +21,7 @@ let name = "panel"; cfg = config.services.${name}; - package = pkgs.callPackage ./package.nix { }; + package = pkgs.callPackage ./package.nix { nixops4 = config.services.panel.nixops4Package; }; environment = import ../env.nix { inherit lib pkgs; } // { DATABASE_URL = "sqlite:////var/lib/${name}/db.sqlite3"; @@ -133,6 +133,11 @@ in type = types.attrsOf types.path; default = { }; }; + nixops4Package = mkOption { + description = '' + A package providing NixOps4. + ''; + }; }; config = mkIf cfg.enable { @@ -179,6 +184,8 @@ in path = [ python-environment manage-service + config.services.panel.nixops4Package + pkgs.openssh ]; preStart = '' # Auto-migrate on first run or if the package has changed diff --git a/panel/nix/package.nix b/panel/nix/package.nix index 42440261..badb18c6 100644 --- a/panel/nix/package.nix +++ b/panel/nix/package.nix @@ -4,6 +4,7 @@ python3, python3Packages, callPackage, + nixops4, runCommand, sources ? import ../../npins, }: @@ -85,6 +86,7 @@ python3.pkgs.buildPythonPackage { in [ sqlite + nixops4 ] ++ pythonPackages; diff --git a/panel/src/panel/views.py b/panel/src/panel/views.py index 734be8a0..eae98d7d 100644 --- a/panel/src/panel/views.py +++ b/panel/src/panel/views.py @@ -89,16 +89,12 @@ class DeploymentStatus(ConfigurationForm): def deployment(self, config: BaseModel): env = { - "PATH": settings.bin_path, + "PATH": os.environ['PATH'] + ":" + settings.bin_path, + "HOME": '/run/fedipanel', # pass in form info to our deployment "DEPLOYMENT": config.json() } cmd = [ - "nix", - "develop", - "--extra-experimental-features", - "configurable-impure-env", - "--command", "nixops4", "apply", "check-deployment-panel",