From ba907ef7b4f5962a11c20adb4036b6ddad26a000 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Sun, 22 Jun 2025 21:13:23 +0200 Subject: ... --- modules/borgcopy/default.nix | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) (limited to 'modules/borgcopy/default.nix') diff --git a/modules/borgcopy/default.nix b/modules/borgcopy/default.nix index 8e1afc27..af021777 100644 --- a/modules/borgcopy/default.nix +++ b/modules/borgcopy/default.nix @@ -1,25 +1,32 @@ -{ config, pkgs, lib, utils, flakeInputs, ... }: +{ config, pkgs, lib, utils, flake, flakeInputs, ... }: with lib; let - copyBorg = - with pkgs.poetry2nix; - mkPoetryApplication { - projectDir = cleanPythonSources { src = ./.; }; + copyBorg = let + workspace = flakeInputs.uv2nix.lib.workspace.loadWorkspace { workspaceRoot = ./.; }; + pythonSet = flake.lib.pythonSet { + inherit pkgs; + python = pkgs.python312; + overlay = workspace.mkPyprojectOverlay { + sourcePreference = "wheel"; + }; + }; + virtualEnv = pythonSet.mkVirtualEnv "copy_borg" workspace.deps.default; + in virtualEnv.overrideAttrs (oldAttrs: { + meta = (oldAttrs.meta or {}) // { + mainProgram = "copy_borg"; + }; - overrides = overrides.withDefaults (self: super: { - pyprctl = super.pyprctl.overridePythonAttrs (oldAttrs: { - buildInputs = (oldAttrs.buildInputs or []) ++ [super.setuptools]; - }); - inherit (pkgs.python3Packages) python-unshare; - }); + nativeBuildInputs = (oldAttrs.nativeBuildInputs or []) ++ [ pkgs.makeWrapper ]; - postInstall = '' - wrapProgram $out/bin/copy_borg \ - --prefix PATH : ${makeBinPath (with pkgs; [util-linux borgbackup])}:${config.security.wrapperDir} - ''; - }; + postInstall = '' + ${oldAttrs.postInstall or ""} + + wrapProgram $out/bin/copy_borg \ + --prefix PATH : ${makeBinPath (with pkgs; [util-linux borgbackup])}:${config.security.wrapperDir} + ''; + }); copyService = name: opts: nameValuePair "copy-borg@${utils.escapeSystemdPath name}" { restartIfChanged = false; -- cgit v1.2.3