aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix42
1 files changed, 41 insertions, 1 deletions
diff --git a/flake.nix b/flake.nix
index 739f1cf..a51f8f7 100644
--- a/flake.nix
+++ b/flake.nix
@@ -5,9 +5,49 @@
nixpkgs.url = "github:nixos/nixpkgs";
flake-parts.url = "github:hercules-ci/flake-parts";
systems.url = "github:nix-systems/default";
+ treefmt-nix.url = "github:numtide/treefmt-nix";
};
- outputs = inputs@{self, ... }: inputs.flake-parts.mkFlake { inherit inputs self; } {
+ outputs = inputs@{self, ... }: inputs.flake-parts.lib.mkFlake { inherit inputs self; } {
systems = import inputs.systems;
+
+ flake.overlays.default = import ./overlays;
+
+ imports = [
+ inputs.treefmt-nix.flakeModule
+ ];
+
+ perSystem = { pkgs, config, system, ... }: {
+
+ _module.args.pkgs = import inputs.nixpkgs {
+ inherit system;
+ overlays = [ self.overlays.default ];
+ };
+
+ packages = {
+ inherit (pkgs) qmk_firmware qmk_firmware-modelf;
+ };
+
+
+ treefmt = {
+ programs = {
+ clang-format.enable = true;
+ nixfmt = {
+ enable = true;
+ strict = true;
+ };
+ };
+ };
+
+ devShells.default = pkgs.mkShellNoCC {
+ inputsFrom = [ config.treefmt.build.devShell ];
+ nativeBuildInputs = with pkgs; [
+ nixd
+ statix
+ deadnix
+ ];
+ };
+
+ };
};
}