]> glassweightruler.freedombox.rocks Git - xdg-ninja.git/blobdiff - flake.nix
Merge pull request #328 from Cantido/add-dropbox
[xdg-ninja.git] / flake.nix
index 080cee9ab985435155e61c881968703e57bcad87..5a1be2c21cce6fd7a1c971081d85a72352726eba 100644 (file)
--- a/flake.nix
+++ b/flake.nix
@@ -13,6 +13,7 @@
         runtimeDependencies = with pkgs; [
           glow
           jq
+          findutils
         ];
         overlays = [
           (self: super: {
         pkgs = import nixpkgs { inherit system overlays; };
       in rec {
         packages = flake-utils.lib.flattenTree {
-          xdg-ninja = pkgs.xdg-ninja;
+          # The shell script and configurations, uses derivation from offical nixpkgs
+          xdg-ninja = pkgs.stdenv.mkDerivation rec {
+            pname = "xdg-ninja";
+            version = "0.1.0";
+
+            src = ./.;
+
+            nativeBuildInputs = with pkgs; [ makeWrapper ];
+
+            installPhase = ''
+              runHook preInstall
+
+              DESTDIR="$out" PREFIX="/usr" make install
+
+              wrapProgram "$out/usr/bin/xdg-ninja" \
+                --prefix PATH : "${pkgs.lib.makeBinPath [ pkgs.glow pkgs.jq ]}"
+
+              runHook postInstall
+            '';
+          };
+          # Pre-built binary of xdgnj tool downloaded from github
+          xdgnj-bin = pkgs.stdenvNoCC.mkDerivation {
+            name = "xdgnj-bin";
+            version = "0.2.0.1-alpha";
+            description = "Pre-built binary of the xdgnj tool for creating and editing configuration files for xdg-ninja.";
+            src = pkgs.fetchurl {
+              url = "https://github.com/b3nj5m1n/xdg-ninja/releases/download/v0.2.0.1/xdgnj";
+              sha256 = "y1BSqKQWbhCyg2sRgMsv8ivmylSUJj6XZ8o+/2oT5ns=";
+            };
+            dontUnpack = true;
+            installPhase = ''
+              mkdir -p "$out/bin"
+              install -Dm755 $src "$out/bin/xdgnj"
+            '';
+          };
         };
         defaultPackage = packages.xdg-ninja;
         apps = {
-          xdg-ninja = flake-utils.lib.mkApp { drv = packages.xdg-ninja; };
+          xdg-ninja = flake-utils.lib.mkApp { drv = packages.xdg-ninja; exePath = "/usr/bin/xdg-ninja"; };
+          xdgnj-bin = flake-utils.lib.mkApp { drv = packages.xdgnj-bin; exePath = "/bin/xdgnj"; };
         };
         defaultApp = apps.xdg-ninja;
       }