summary refs log tree commit diff stats
path: root/flake/default.nix
diff options
context:
space:
mode:
authorSilas Schöffel <sils@sils.li>2024-05-18 09:34:21 +0200
committerSilas Schöffel <sils@sils.li>2024-05-18 09:34:21 +0200
commitf5133421aa24e653bd1f87ce69b60a36e3cdd742 (patch)
treed1d3c389591877dfea9d52e71661e728d7aa5e16 /flake/default.nix
parentflake: switch to flake-parts (diff)
downloadnix-config-f5133421aa24e653bd1f87ce69b60a36e3cdd742.tar.gz
nix-config-f5133421aa24e653bd1f87ce69b60a36e3cdd742.zip
flake: factor outputs in separate file
Diffstat (limited to 'flake/default.nix')
-rw-r--r--flake/default.nix54
1 files changed, 54 insertions, 0 deletions
diff --git a/flake/default.nix b/flake/default.nix
new file mode 100644
index 0000000..443999e
--- /dev/null
+++ b/flake/default.nix
@@ -0,0 +1,54 @@
+{inputs, ...}: {
+  perSystem = {
+    config,
+    system,
+    ...
+  }: let
+    pkgs = import inputs.nixpkgs {
+      inherit system;
+      overlays = [inputs.nixvim.overlays.default];
+    };
+    nixVimConfig =
+      (import ../hm/nixvim/config.nix pkgs)
+      // {
+        colorschemes.gruvbox.enable = true;
+        plugins.airline.settings.theme = "minimalist";
+      };
+    nvim = inputs.nixvim.legacyPackages."${system}".makeNixvim nixVimConfig;
+    hooks = inputs.self.checks.${system}.pre-commit;
+  in {
+    devShells.default = pkgs.mkShell {
+      inherit (hooks) shellHook;
+      buildInputs = hooks.enabledPackages;
+      packages = with pkgs; [
+        nil
+        statix
+        alejandra
+        sops
+        inputs.ragenix.packages."${system}".default
+      ];
+    };
+
+    formatter = pkgs.alejandra;
+
+    packages = {
+      inherit nvim;
+      default = nvim;
+    };
+    checks = {
+      nvim = inputs.nixvim.lib.${system}.check.mkTestDerivationFromNvim {
+        inherit nvim;
+        name = "My NixVim Configuration";
+      };
+      pre-commit = inputs.git-hooks.lib.${system}.run {
+        src = ./.;
+        hooks = {
+          alejandra.enable = true;
+        };
+      };
+    };
+  };
+  flake = {
+    nixosConfigurations = import ./nixosConfigurations inputs;
+  };
+}