51 lines
1,019 B
Nix
51 lines
1,019 B
Nix
{ pkgs, extraModules, ... }:
|
|
(pkgs.devshell.mkShell {
|
|
imports = extraModules;
|
|
|
|
name = "dadada/nix-config";
|
|
|
|
packages = with pkgs; [
|
|
agenix
|
|
nixpkgs-fmt
|
|
nixos-rebuild
|
|
nil
|
|
];
|
|
|
|
commands = [
|
|
{
|
|
name = "switch";
|
|
help = "Switch the configuration on the current system.";
|
|
command = ''
|
|
flake=$(nix flake metadata --json ${./.} | jq -r .url)
|
|
${pkgs.nixos-rebuild}/bin/nixos-rebuild switch --flake ".#" --use-remote-sudo
|
|
'';
|
|
category = "deploy";
|
|
}
|
|
{
|
|
name = "format";
|
|
help = "Format the project";
|
|
command = ''
|
|
nixpkgs-fmt .
|
|
'';
|
|
category = "dev";
|
|
}
|
|
{
|
|
name = "update";
|
|
help = "Update the project";
|
|
command = ''
|
|
nix flake update --commit-lock-file
|
|
'';
|
|
category = "dev";
|
|
}
|
|
{
|
|
name = "check";
|
|
help = "Run checks";
|
|
category = "dev";
|
|
command = "nix flake check";
|
|
}
|
|
];
|
|
|
|
git.hooks = {
|
|
pre-commit.text = "nix flake check";
|
|
};
|
|
})
|