diff options
| author | seth <[email protected]> | 2024-04-17 03:50:34 -0400 |
|---|---|---|
| committer | seth <[email protected]> | 2024-04-17 03:50:34 -0400 |
| commit | dfdb0ceed87923086f258f5291276c9db0b7ecd0 (patch) | |
| tree | cf292e6da1789f71b07e85c8f2936bd60d210fce /flake.nix | |
| parent | cbcc5c09585229ec31cf76f2ab666b2d34129914 (diff) | |
nix: remove all inputs
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 135 |
1 files changed, 49 insertions, 86 deletions
@@ -1,93 +1,56 @@ { description = "seth's website"; - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; - - flake-parts = { - url = "github:hercules-ci/flake-parts"; - inputs.nixpkgs-lib.follows = "nixpkgs"; - }; - - treefmt-nix = { - url = "github:numtide/treefmt-nix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - pre-commit = { - url = "github:cachix/pre-commit-hooks.nix"; - inputs = { - nixpkgs.follows = "nixpkgs"; - nixpkgs-stable.follows = "nixpkgs"; - flake-compat.follows = ""; - }; - }; - }; - - outputs = inputs: - inputs.flake-parts.lib.mkFlake {inherit inputs;} { - imports = with inputs; [ - treefmt-nix.flakeModule - pre-commit.flakeModule - ]; - - systems = [ - "x86_64-linux" - "aarch64-linux" - "x86_64-darwin" - "aarch64-darwin" - ]; - - perSystem = { - lib, + inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + + outputs = { + self, + nixpkgs, + }: let + systems = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + + forAllSystems = fn: nixpkgs.lib.genAttrs systems (system: fn nixpkgs.legacyPackages.${system}); + in { + checks = forAllSystems ( + { pkgs, - config, - self', + system, ... - }: let - nodejs-slim = pkgs.nodejs-slim_20; # this should be the current lts - corepack = pkgs.corepack_20; - - enableAll = lib.flip lib.genAttrs (lib.const {enable = true;}); - in { - treefmt = { - projectRootFile = ".git/config"; - - programs = enableAll ["alejandra" "deadnix" "prettier"]; - - settings.global = { - excludes = [ - "./node_modules/*" - "./dist/*" - "./.astro/*" - "flake.lock" - "pnpm-lock.yaml" - ]; - }; - }; - - pre-commit.settings.hooks = - (enableAll [ - "actionlint" - "eclint" - "eslint" - "nil" - "statix" - "treefmt" - ]) - // { - treefmt.package = config.treefmt.build.wrapper; - }; - - devShells.default = pkgs.mkShellNoCC { - shellHook = config.pre-commit.installationScript; - packages = [ - self'.formatter - nodejs-slim - # use pnpm from package.json - corepack - ]; - }; + }: + import ./nix/checks.nix (pkgs // {formatter = self.formatter.${system};}) + ); + + devShells = forAllSystems ({ + pkgs, + system, + ... + }: { + default = import ./shell.nix { + inherit system; + nixpkgs = pkgs; + formatter = self.formatter.${system}; + }; + }); + + formatter = forAllSystems (pkgs: pkgs.alejandra); + + packages = forAllSystems ({ + pkgs, + system, + ... + }: let + pkgs' = import ./. { + inherit system; + nixpkgs = pkgs; }; - }; + in + pkgs' // {default = pkgs'.website;}); + + overlays.default = final: prev: import ./overlay.nix final prev; + }; } |
