meta/flake.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;
};
}