From 3c986ff650f04bb19597e3d519d3ebcfbd9e18a7 Mon Sep 17 00:00:00 2001 From: Chris Wells Date: Thu, 16 Oct 2025 12:41:27 -0500 Subject: qmk_firmware package and started writing build modules --- flake.nix | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) (limited to 'flake.nix') 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 + ]; + }; + + }; }; } -- cgit v1.2.3