From eace2fabb2c1e9b36b65d3d4f153c2642a75feee Mon Sep 17 00:00:00 2001 From: clerie Date: Sat, 28 Jun 2025 14:03:57 +0200 Subject: [PATCH] pkgs/build-support: Add writePytonScript helper function --- pkgs/build-support/default.nix | 5 ++++ pkgs/build-support/writePythonScript.nix | 37 ++++++++++++++++++++++++ pkgs/git-show-link/default.nix | 11 ++----- pkgs/pkgs.nix | 2 ++ 4 files changed, 46 insertions(+), 9 deletions(-) create mode 100644 pkgs/build-support/default.nix create mode 100644 pkgs/build-support/writePythonScript.nix diff --git a/pkgs/build-support/default.nix b/pkgs/build-support/default.nix new file mode 100644 index 0000000..c8ababc --- /dev/null +++ b/pkgs/build-support/default.nix @@ -0,0 +1,5 @@ +final: prev: + +{ + writePythonScript = final.callPackage ./writePythonScript.nix {}; +} diff --git a/pkgs/build-support/writePythonScript.nix b/pkgs/build-support/writePythonScript.nix new file mode 100644 index 0000000..c670818 --- /dev/null +++ b/pkgs/build-support/writePythonScript.nix @@ -0,0 +1,37 @@ +{ + python3, + writeTextFile, + lib, +}: + +{ + name, + text, + runtimePackages ? ps: [], + pythonPackage ? python3, + meta ? {}, + passthru ? {}, + derivationArgs ? {}, +}: + +let + + pythonWithPackages = pythonPackage.withPackages runtimePackages; + +in writeTextFile { + inherit + name + meta + passthru + derivationArgs + ; + executable = true; + destination = "/bin/${name}"; + allowSubstitutes = true; + preferLocalBuild = false; + text = '' + #!${lib.getExe pythonWithPackages} + + ${text} + ''; +} diff --git a/pkgs/git-show-link/default.nix b/pkgs/git-show-link/default.nix index 9fe38bb..314a753 100644 --- a/pkgs/git-show-link/default.nix +++ b/pkgs/git-show-link/default.nix @@ -1,13 +1,6 @@ { pkgs, ... }: -pkgs.writeTextFile { +pkgs.clerie-build-support.writePythonScript { name = "git-show-link"; - executable = true; - destination = "/bin/git-show-link"; - allowSubstitutes = true; - preferLocalBuild = false; - text = '' - #!${pkgs.python3.withPackages (ps: with ps; [])}/bin/python3 - ${builtins.readFile ./git-show-link.py} - ''; + text = builtins.readFile ./git-show-link.py; } diff --git a/pkgs/pkgs.nix b/pkgs/pkgs.nix index 8e2c444..4e40f69 100644 --- a/pkgs/pkgs.nix +++ b/pkgs/pkgs.nix @@ -1,4 +1,6 @@ { + clerie-build-support = final: prev: import ./build-support final prev; + clerie-backup = final: prev: final.callPackage ./clerie-backup {}; clerie-cleanup-branches = final: prev: final.callPackage ./clerie-update-nixfiles/clerie-cleanup-branches.nix {}; clerie-keys = final: prev: final.callPackage ./clerie-keys {};