X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/xdg-ninja.git/blobdiff_plain/a3ff4754fb9af6fa82f8f92a41af4914c968549d..5537d3ab2923b298fc0b6bf484b5215de782f94a:/flake.nix diff --git a/flake.nix b/flake.nix index 91adf01..a84a475 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,6 @@ { inputs = { - nixpkgs.url = "nixpkgs"; + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { @@ -10,10 +10,6 @@ }: flake-utils.lib.eachDefaultSystem (system: let - runtimeDependencies = with pkgs; [ - glow - jq - ]; overlays = [ (self: super: { xdg-ninja = super.xdg-ninja.overrideAttrs (old: { @@ -24,14 +20,32 @@ ]; pkgs = import nixpkgs { inherit system overlays; }; in rec { - packages = flake-utils.lib.flattenTree { - # The shell script and configurations, uses derivation from offical nixpkgs - xdg-ninja = pkgs.xdg-ninja; + packages = flake-utils.lib.flattenTree rec { + default = xdg-ninja; + # The shell script and configurations, uses derivation from official nixpkgs + xdg-ninja = pkgs.stdenvNoCC.mkDerivation { + pname = "xdg-ninja"; + version = "0.1.0"; + + src = ./.; + + nativeBuildInputs = with pkgs; [ makeWrapper ]; + + installPhase = '' + runHook preInstall + + DESTDIR="$out" PREFIX= make install + + wrapProgram "$out/bin/xdg-ninja" \ + --prefix PATH : "${pkgs.lib.makeBinPath (with pkgs; [ glow jq findutils ])}" + + 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="; @@ -41,14 +55,14 @@ mkdir -p "$out/bin" install -Dm755 $src "$out/bin/xdgnj" ''; + meta.description = "Pre-built binary of the xdgnj tool for creating and editing configuration files for xdg-ninja."; }; }; - defaultPackage = packages.xdg-ninja; - apps = { - xdg-ninja = flake-utils.lib.mkApp { drv = packages.xdg-ninja; }; + apps = rec { + default = xdg-ninja; + xdg-ninja = flake-utils.lib.mkApp { drv = packages.xdg-ninja; exePath = "/bin/xdg-ninja"; }; xdgnj-bin = flake-utils.lib.mkApp { drv = packages.xdgnj-bin; exePath = "/bin/xdgnj"; }; }; - defaultApp = apps.xdg-ninja; } ); }