devos/lib/pkgs-lib/shell/default.nix
Pacman99 3986cc441b pkgs-lib: don't system space functions
have each function take pkgs as an argument, so a nixpkgs isn't created
just for pkgs-lib and they support more systems
2021-04-26 11:27:00 -07:00

55 lines
1.1 KiB
Nix

{ lib, devshell, deploy }:
{ pkgs }:
let
overlays = [
devshell.overlay
(final: prev: {
deploy-rs =
deploy.packages.${prev.system}.deploy-rs;
})
];
pkgs' = import pkgs.path {
inherit (pkgs) system;
inherit overlays;
};
flk = pkgs'.callPackage ./flk.nix { };
installPkgs = (lib.nixosSystem {
inherit (pkgs') system;
modules = [ ];
}).config.system.build;
in
pkgs'.devshell.mkShell {
imports = [ (pkgs'.devshell.importTOML ./devshell.toml) ];
packages = with installPkgs; [
nixos-install
nixos-generate-config
nixos-enter
];
git.hooks = {
pre-commit.text = lib.fileContents ./pre-commit.sh;
};
commands = with pkgs'; [
{ package = flk; }
{
name = "nix";
help = pkgs'.nixFlakes.meta.description;
command = ''
${pkgs'.nixFlakes}/bin/nix --experimental-features "nix-command flakes ca-references" "${"\${@}"}"
'';
}
]
++ lib.optional (system != "i686-linux") { package = cachix; }
++ lib.optional (system == "x86_64-linux") {
name = "deploy";
package = deploy-rs;
help = "A simple multi-profile Nix-flake deploy tool.";
};
}