dotfiles/nix/mzte-nix.nix

46 lines
1.3 KiB
Nix

{ common, lib, pkgs, config, ... }:
let
flakePkg = ref: (builtins.getFlake ref).packages.${pkgs.system}.default;
in
{
options.mzte-nix-packages = lib.mkOption { };
config.nixpkgs.overlays = [
(final: prev: {
nsxiv = prev.nsxiv.overrideAttrs {
patches = [ (common.confgenFile "cgassets/nix/nsxiv-config.patch") ];
};
nsxiv-pipe = prev.stdenvNoCC.mkDerivation {
name = "nsxiv-pipe";
src = prev.fetchurl {
url = "https://codeberg.org/nsxiv/nsxiv-extra/raw/commit/f7d1efe3495949e2e88fdfef37aed5a40400acea/scripts/nsxiv-pipe/nsxiv-pipe";
sha256 = "sha256-q651YZlot/lEKyIqVBvvXWUTsdpUbIvg9BGH0dZ77u8=";
};
dontUnpack = true;
dontBuild = true;
dontFixup = true;
installPhase = ''
runHook preInstall
mkdir -p $out/bin
substitute $src $out/bin/nsxiv-pipe \
--replace "nsxiv " "${final.nsxiv}/bin/nsxiv "
chmod +x $out/bin/nsxiv-pipe
patchShebangs $out/bin/nsxiv-pipe
runHook postInstall
'';
};
})
];
config.mzte-nix-packages = with pkgs; [
nsxiv
nsxiv-pipe
];
config.output.packages.mzte-nix = pkgs.symlinkJoin {
name = "mzte-nix";
paths = lib.concatMap (p: map (o: p.${o}) p.outputs) config.mzte-nix-packages;
};
}