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",