2021-04-26 02:36:48 +03:00
|
|
|
{ lib, devshell, deploy }:
|
|
|
|
|
|
|
|
{ pkgs }:
|
2021-01-19 10:51:23 +03:00
|
|
|
let
|
2021-04-10 20:59:10 +03:00
|
|
|
overlays = [
|
2021-04-18 04:46:20 +03:00
|
|
|
devshell.overlay
|
2021-04-19 06:40:53 +03:00
|
|
|
|
2021-04-10 20:59:10 +03:00
|
|
|
(final: prev: {
|
|
|
|
deploy-rs =
|
2021-04-18 04:46:20 +03:00
|
|
|
deploy.packages.${prev.system}.deploy-rs;
|
2021-04-10 20:59:10 +03:00
|
|
|
})
|
|
|
|
];
|
|
|
|
|
2021-04-26 02:36:48 +03:00
|
|
|
pkgs' = import pkgs.path {
|
|
|
|
inherit (pkgs) system;
|
|
|
|
inherit overlays;
|
|
|
|
};
|
2021-01-19 10:51:23 +03:00
|
|
|
|
2021-04-26 02:36:48 +03:00
|
|
|
flk = pkgs'.callPackage ./flk.nix { };
|
2021-02-14 12:29:17 +03:00
|
|
|
|
|
|
|
installPkgs = (lib.nixosSystem {
|
2021-04-26 02:36:48 +03:00
|
|
|
inherit (pkgs') system;
|
2021-02-14 12:29:17 +03:00
|
|
|
modules = [ ];
|
2021-01-19 10:51:23 +03:00
|
|
|
}).config.system.build;
|
|
|
|
in
|
2021-04-26 02:36:48 +03:00
|
|
|
pkgs'.devshell.mkShell {
|
|
|
|
imports = [ (pkgs'.devshell.importTOML ./devshell.toml) ];
|
2021-01-19 10:51:23 +03:00
|
|
|
|
2021-02-17 21:49:13 +03:00
|
|
|
packages = with installPkgs; [
|
2021-01-19 10:51:23 +03:00
|
|
|
nixos-install
|
|
|
|
nixos-generate-config
|
|
|
|
nixos-enter
|
2021-02-17 22:54:41 +03:00
|
|
|
];
|
2021-01-19 10:51:23 +03:00
|
|
|
|
2021-02-14 12:29:17 +03:00
|
|
|
git.hooks = {
|
|
|
|
pre-commit.text = lib.fileContents ./pre-commit.sh;
|
2021-01-27 18:31:17 +03:00
|
|
|
};
|
|
|
|
|
2021-04-26 02:36:48 +03:00
|
|
|
commands = with pkgs'; [
|
2021-03-17 07:11:56 +03:00
|
|
|
{ package = flk; }
|
2021-02-17 21:49:13 +03:00
|
|
|
{
|
2021-03-17 07:11:56 +03:00
|
|
|
name = "nix";
|
2021-04-26 02:36:48 +03:00
|
|
|
help = pkgs'.nixFlakes.meta.description;
|
2021-03-17 07:11:56 +03:00
|
|
|
command = ''
|
2021-04-26 02:36:48 +03:00
|
|
|
${pkgs'.nixFlakes}/bin/nix --experimental-features "nix-command flakes ca-references" "${"\${@}"}"
|
2021-03-17 07:11:56 +03:00
|
|
|
'';
|
2021-02-17 21:49:13 +03:00
|
|
|
}
|
2021-02-17 22:54:41 +03:00
|
|
|
]
|
|
|
|
++ 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.";
|
|
|
|
};
|
2021-01-19 10:51:23 +03:00
|
|
|
}
|