aboutsummaryrefslogtreecommitdiff
path: root/nix/dev.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix/dev.nix')
-rw-r--r--nix/dev.nix46
1 files changed, 46 insertions, 0 deletions
diff --git a/nix/dev.nix b/nix/dev.nix
new file mode 100644
index 00000000..635c6bb4
--- /dev/null
+++ b/nix/dev.nix
@@ -0,0 +1,46 @@
+{
+ inputs,
+ self,
+ ...
+}: {
+ perSystem = {
+ system,
+ pkgs,
+ ...
+ }: {
+ checks = {
+ pre-commit-check = inputs.pre-commit-hooks.lib.${system}.run {
+ src = self;
+ hooks = {
+ markdownlint.enable = true;
+
+ alejandra.enable = true;
+ deadnix.enable = true;
+ nil.enable = true;
+
+ clang-format = {
+ enable =
+ false; # As most of the codebase is **not** formatted, we don't want clang-format yet
+ types_or = ["c" "c++"];
+ };
+ };
+ };
+ };
+
+ devShells.default = pkgs.mkShell {
+ inherit (self.checks.${system}.pre-commit-check) shellHook;
+ packages = with pkgs; [
+ nodePackages.markdownlint-cli
+ alejandra
+ deadnix
+ clang-tools
+ nil
+ ];
+
+ inputsFrom = [self.packages.${system}.prismlauncher-unwrapped];
+ buildInputs = with pkgs; [ccache ninja];
+ };
+
+ formatter = pkgs.alejandra;
+ };
+}