36 lines
1.2 KiB
Nix
36 lines
1.2 KiB
Nix
{
|
|
description = "Packages pin";
|
|
inputs.nixpkgs.url = "github:nixos/nixpkgs/release-22.11";
|
|
outputs = { self, nixpkgs }:
|
|
let inherit (nixpkgs) lib;
|
|
in {
|
|
|
|
overlay = final: prev: {
|
|
tup = let
|
|
tup' = prev.tup.overrideAttrs
|
|
({ patches ? [ ], ... }: { patches = patches ++ [ ./tup.patch ]; });
|
|
in with final;
|
|
writeScriptBin "tup" ''
|
|
export PATH=${lib.makeBinPath [ coreutils direnv gitMinimal nix ]}
|
|
exec ${tup'}/bin/tup $@
|
|
'';
|
|
};
|
|
|
|
legacyPackages = lib.mapAttrs (_: { extend, ... }: extend self.overlay)
|
|
nixpkgs.legacyPackages;
|
|
|
|
packages =
|
|
lib.mapAttrs (_: pkgs: { inherit (pkgs) tup; }) self.legacyPackages;
|
|
|
|
devShells = lib.mapAttrs (_: pkgs:
|
|
with pkgs.extend self.overlay; {
|
|
default = mkShell { packages = [ ccacheWrapper tup ]; };
|
|
nim = mkShell { packages = [ ccacheWrapper nim-unwrapped ]; };
|
|
config = mkShell { packages = [ gnused ]; };
|
|
eris = mkShell { packages = [ getdns pkg-config solo5 tkrzw ]; };
|
|
getdns = mkShell { packages = [ getdns pkg-config ]; };
|
|
}) nixpkgs.legacyPackages;
|
|
|
|
};
|
|
}
|