From 71bbd5614608706429b4ba7f6977048085d0e2b5 Mon Sep 17 00:00:00 2001 From: Andrew Kvalheim Date: Mon, 29 Apr 2024 20:44:31 -0700 Subject: [PATCH] Expose NUR packages --- nur.nix | 19 +++++++++++++++++++ packages/override-utils.nix | 5 +++-- 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 nur.nix diff --git a/nur.nix b/nur.nix new file mode 100644 index 0000000..e7593cd --- /dev/null +++ b/nur.nix @@ -0,0 +1,19 @@ +{ pkgs }: + +rec { + apex = pkgs.callPackage ./packages/apex.nix { }; + buildJosmPlugin = pkgs.callPackage ./packages/buildJosmPlugin.nix { }; + cavif = pkgs.callPackage ./packages/cavif.nix { }; + ch57x-keyboard-tool = pkgs.callPackage ./packages/ch57x-keyboard-tool.nix { }; + decompiler-mc = pkgs.callPackage ./packages/decompiler-mc.nix { }; + dmarc-report-converter = pkgs.callPackage ./packages/dmarc-report-converter.nix { }; + fastnbt-tools = pkgs.callPackage ./packages/fastnbt-tools.nix { }; + git-diff-image = pkgs.callPackage ./packages/git-diff-image.nix { }; + gpx-reduce = pkgs.callPackage ./packages/gpx-reduce.nix { }; + josm-imagery-used = pkgs.callPackage ./packages/josm-imagery-used.nix { inherit buildJosmPlugin; }; + minemap = pkgs.callPackage ./packages/minemap.nix { }; + mmdbinspect = pkgs.callPackage ./packages/mmdbinspect.nix { }; + nbt-explorer = pkgs.callPackage ./packages/nbt-explorer.nix { }; + pngquant-interactive = pkgs.callPackage ./packages/pngquant-interactive.nix { }; + tile-stitch = pkgs.callPackage ./packages/tile-stitch.nix { }; +} diff --git a/packages/override-utils.nix b/packages/override-utils.nix index 2f41414..2fd3b5b 100644 --- a/packages/override-utils.nix +++ b/packages/override-utils.nix @@ -8,7 +8,7 @@ let # Utilities composeOverrides = f1: f2: a0: let o1 = f1 a0; o2 = f2 (a0 // o1); in o1 // o2; isEmpty = attrs: length (attrNames attrs) == 0; - isLocal = r: isPath r; + isLocal = r: isPath r || r._name or null == "NUR packages"; isStable = r: isAttrs r && ! r ? "_name"; mkRepo = name: path: (import path { inherit (stable) config; overlays = [ ]; }) // { _name = name; }; repoName = r: if isPath r then toString r else r._name or "stable"; @@ -19,6 +19,7 @@ let else throw "version operator not implemented: ${toJSON operator}"; # Repositories + nur = (import ../nur.nix { pkgs = stable; }) // { _name = "NUR packages"; }; pin = rev: mkRepo "pin ${rev}" (fetchGit { name = "nixpkgs-pin-${toString rev}"; url = "https://github.com/NixOS/nixpkgs.git"; inherit rev; }); pr = id: mkRepo "PR #${toString id}" (fetchGit { name = "nixpkgs-pr-${toString id}"; url = "https://github.com/NixOS/nixpkgs.git"; ref = "refs/pull/${toString id}/head"; }); unstable = @@ -69,7 +70,7 @@ let && (version == null || versionMeetsSpec (getAttrFromPath path r).version version) && (condition == null || condition (getAttrFromPath path r)); extra = if search == null then [ ] else imap1 (i: s: { _extra = i; _name = "search"; } // s) (toList search); - repos = [ stable unstable ] ++ extra; + repos = [ stable unstable ] ++ extra ++ [ nur ]; repo = findFirst suffices file repos; package = if isPath repo then