42 lines
1.1 KiB
Nix
42 lines
1.1 KiB
Nix
{
|
|
perSystem = {
|
|
inputs',
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
devShells.default = pkgs.mkShell {
|
|
name = "nyx";
|
|
meta.description = "The default development shell for my NixOS configuration";
|
|
|
|
shellHook = ''
|
|
${config.pre-commit.installationScript}
|
|
'';
|
|
|
|
# tell direnv to shut up
|
|
DIRENV_LOG_FORMAT = "";
|
|
|
|
# packages available in the dev shell
|
|
packages = with pkgs; [
|
|
inputs'.agenix.packages.default # provide agenix CLI within flake shell
|
|
inputs'.deploy-rs.packages.default # provide deploy-rs CLI within flake shell
|
|
config.treefmt.build.wrapper # treewide formatter
|
|
nil # nix ls
|
|
alejandra # nix formatter
|
|
git # flakes require git, and so do I
|
|
glow # markdown viewer
|
|
statix # lints and suggestions
|
|
deadnix # clean up unused nix code
|
|
nodejs # for ags and eslint_d
|
|
(pkgs.writeShellApplication {
|
|
name = "update";
|
|
text = ''
|
|
nix flake update && git commit flake.lock -m "flake: bump inputs"
|
|
'';
|
|
})
|
|
];
|
|
|
|
inputsFrom = [config.treefmt.build.devShell];
|
|
};
|
|
};
|
|
}
|