diff --git a/flake.nix b/flake.nix index 9f756ea..f064d7a 100644 --- a/flake.nix +++ b/flake.nix @@ -18,28 +18,12 @@ localSystem.system = system; overlays = with self.overlays; [hyprutils]; }); - mkDate = longDate: (lib.concatStringsSep "-" [ - (builtins.substring 0 4 longDate) - (builtins.substring 4 2 longDate) - (builtins.substring 6 2 longDate) - ]); - - version = lib.removeSuffix "\n" (builtins.readFile ./VERSION); in { - overlays = { - default = self.overlays.hyprutils; - hyprutils = final: prev: { - hyprutils = final.callPackage ./nix/default.nix { - stdenv = final.gcc15Stdenv; - version = version + "+date=" + (mkDate (self.lastModifiedDate or "19700101")) + "_" + (self.shortRev or "dirty"); - }; - hyprutils-with-tests = final.hyprutils.override {doCheck = true;}; - }; - }; + overlays = import ./nix/overlays.nix {inherit self lib;}; packages = eachSystem (system: { default = self.packages.${system}.hyprutils; - inherit (pkgsFor.${system}) hyprutils hyprutils-with-tests; + inherit (pkgsFor.${system}) hyprutils hyprutils-debug hyprutils-with-tests; }); formatter = eachSystem (system: pkgsFor.${system}.alejandra); diff --git a/nix/default.nix b/nix/default.nix index ea575ac..b7096fd 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -11,6 +11,7 @@ }: let inherit (builtins) foldl'; inherit (lib.lists) flatten; + inherit (lib.strings) optionalString; adapters = flatten [ stdenvAdapters.useMoldLinker @@ -20,7 +21,7 @@ customStdenv = foldl' (acc: adapter: adapter acc) stdenv adapters; in customStdenv.mkDerivation { - pname = "hyprutils"; + pname = "hyprutils" + optionalString debug "-debug"; inherit version doCheck; src = ../.; diff --git a/nix/overlays.nix b/nix/overlays.nix new file mode 100644 index 0000000..dab9c03 --- /dev/null +++ b/nix/overlays.nix @@ -0,0 +1,23 @@ +{ + self, + lib, +}: let + mkDate = longDate: (lib.concatStringsSep "-" [ + (builtins.substring 0 4 longDate) + (builtins.substring 4 2 longDate) + (builtins.substring 6 2 longDate) + ]); + + ver = lib.removeSuffix "\n" (builtins.readFile ../VERSION); + version = ver + "+date=" + (mkDate (self.lastModifiedDate or "19700101")) + "_" + (self.shortRev or "dirty"); +in { + default = self.overlays.hyprutils; + hyprutils = final: prev: { + hyprutils = final.callPackage ./default.nix { + stdenv = final.gcc15Stdenv; + inherit version; + }; + hyprutils-debug = final.hyprutils.override {debug = true;}; + hyprutils-with-tests = final.hyprutils.override {doCheck = true;}; + }; +}