meta/flake.nix

55 lines
2.0 KiB
Nix

{
inputs.nixpkgs.url = "github:NixOS/nixpkgs/release-22.11";
description = "Packages pin";
outputs = { self, nixpkgs, syndicate }:
let inherit (nixpkgs) lib;
in {
overlays.default = 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.overlays.default)
nixpkgs.legacyPackages;
packages =
lib.mapAttrs (_: pkgs: { inherit (pkgs) tup; }) self.legacyPackages;
devShells = lib.mapAttrs (_: pkgs:
with pkgs.extend self.overlays.default; {
default = mkShell { packages = [ ccacheWrapper gdb tup ]; };
nim = mkShell {
packages = [ ccacheWrapper nim-unwrapped nodejs openssl solo5 ];
};
battery_actor = mkShell { packages = [ libnl pkg-config ]; };
config = mkShell { packages = [ gnused ]; };
eris = mkShell { packages = [ getdns pkg-config solo5 tkrzw ]; };
gemlog = mkShell { packages = [ dhall ]; };
getdns = mkShell { packages = [ getdns pkg-config ]; };
libnl = let
libnl' = libnl.overrideAttrs ({ configureFlags ? [ ], ... }: {
configureFlags = configureFlags ++ [ "--enable-debug" ];
});
in mkShell { packages = [ libnl' pkg-config ]; };
libnotify_actor = mkShell { packages = [ libnotify pkg-config ]; };
nix_actor = mkShell { packages = [ boost nix pkg-config ]; };
movement = mkShell {
packages = [ emscripten gcc-arm-embedded python3Minimal ];
};
simplex_history_actor =
mkShell { packages = [ pkg-config sqlcipher ]; };
zua = mkShell { packages = [ fontconfig pkg-config SDL2 ]; };
}) nixpkgs.legacyPackages;
};
}