this repo has no description
at main 83 lines 2.0 kB view raw
1{ 2 inputs = { 3 nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"; 4 }; 5 6 outputs = 7 { 8 self, 9 nixpkgs, 10 }: 11 let 12 inherit (nixpkgs) lib; 13 14 forAllSystems = 15 f: lib.genAttrs lib.systems.flakeExposed (system: f nixpkgs.legacyPackages.${system}); 16 17 mkPkgs = pkgs: import ./default.nix { inherit pkgs; }; 18 in 19 { 20 formatter = forAllSystems ( 21 pkgs: 22 pkgs.treefmt.withConfig { 23 runtimeInputs = with pkgs; [ 24 # keep-sorted start 25 deadnix 26 keep-sorted 27 nixfmt-rfc-style 28 statix 29 stylua 30 taplo 31 # keep-sorted end 32 33 (writeShellScriptBin "statix-fix" '' 34 for file in "$@"; do 35 ${lib.getExe statix} fix "$file" 36 done 37 '') 38 ]; 39 40 settings = { 41 on-unmatched = "info"; 42 tree-root-file = "flake.nix"; 43 44 formatter = { 45 # keep-sorted start block=yes newline_separated=yes 46 deadnix = { 47 command = "deadnix"; 48 includes = [ "*.nix" ]; 49 }; 50 51 keep-sorted = { 52 command = "keep-sorted"; 53 includes = [ "*" ]; 54 }; 55 56 nixfmt = { 57 command = "nixfmt"; 58 includes = [ "*.nix" ]; 59 }; 60 61 statix = { 62 command = "statix-fix"; 63 includes = [ "*.nix" ]; 64 }; 65 # keep-sorted end 66 }; 67 }; 68 } 69 ); 70 71 legacyPackages = forAllSystems mkPkgs; 72 packages = forAllSystems mkPkgs; 73 overlays.default = _: mkPkgs; 74 75 devShells = forAllSystems (pkgs: { 76 default = pkgs.mkShellNoCC { 77 inputsFrom = [ 78 self.formatter.${pkgs.stdenv.hostPlatform.system} 79 ]; 80 }; 81 }); 82 }; 83}