nichts/nyx/flake/shell.nix

43 lines
1.1 KiB
Nix
Raw Normal View History

2024-04-09 23:11:33 +02:00
{
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];
};
};
}