]> glassweightruler.freedombox.rocks Git - xdg-ninja.git/blob - flake.nix
Add zen browser (#485)
[xdg-ninja.git] / flake.nix
1 {
2 inputs = {
3 nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
4 flake-utils.url = "github:numtide/flake-utils";
5 };
6 outputs = {
7 self,
8 nixpkgs,
9 flake-utils,
10 }:
11 flake-utils.lib.eachDefaultSystem (system:
12 let
13 overlays = [
14 (self: super: {
15 xdg-ninja = super.xdg-ninja.overrideAttrs (old: {
16 version = "git";
17 src = ./.;
18 });
19 })
20 ];
21 pkgs = import nixpkgs { inherit system overlays; };
22 in rec {
23 packages = flake-utils.lib.flattenTree rec {
24 default = xdg-ninja;
25 # The shell script and configurations, uses derivation from official nixpkgs
26 xdg-ninja = pkgs.stdenvNoCC.mkDerivation {
27 pname = "xdg-ninja";
28 version = "0.1.0";
29
30 src = ./.;
31
32 nativeBuildInputs = with pkgs; [ makeWrapper ];
33
34 installPhase = ''
35 runHook preInstall
36
37 DESTDIR="$out" PREFIX= make install
38
39 wrapProgram "$out/bin/xdg-ninja" \
40 --prefix PATH : "${pkgs.lib.makeBinPath (with pkgs; [ glow jq findutils ])}"
41
42 runHook postInstall
43 '';
44 };
45 # Pre-built binary of xdgnj tool downloaded from github
46 xdgnj-bin = pkgs.stdenvNoCC.mkDerivation {
47 name = "xdgnj-bin";
48 version = "0.2.0.1-alpha";
49 src = pkgs.fetchurl {
50 url = "https://github.com/b3nj5m1n/xdg-ninja/releases/download/v0.2.0.1/xdgnj";
51 sha256 = "y1BSqKQWbhCyg2sRgMsv8ivmylSUJj6XZ8o+/2oT5ns=";
52 };
53 dontUnpack = true;
54 installPhase = ''
55 mkdir -p "$out/bin"
56 install -Dm755 $src "$out/bin/xdgnj"
57 '';
58 meta.description = "Pre-built binary of the xdgnj tool for creating and editing configuration files for xdg-ninja.";
59 };
60 };
61 apps = rec {
62 default = xdg-ninja;
63 xdg-ninja = flake-utils.lib.mkApp { drv = packages.xdg-ninja; exePath = "/bin/xdg-ninja"; };
64 xdgnj-bin = flake-utils.lib.mkApp { drv = packages.xdgnj-bin; exePath = "/bin/xdgnj"; };
65 };
66 }
67 );
68 }