{ description = "Willem's Nix configurations"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; darwin.url = "github:lnl7/nix-darwin"; darwin.inputs.nixpkgs.follows = "nixpkgs"; emacs-overlay.url = "github:nix-community/emacs-overlay"; emacs-overlay.inputs.nixpkgs.follows = "nixpkgs"; fenix.url = "github:nix-community/fenix"; flake-parts.url = "github:hercules-ci/flake-parts"; home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; nixos-apple-silicon.url = "github:tpwrules/nixos-apple-silicon"; nixos-apple-silicon.inputs.nixpkgs.follows = "nixpkgs"; rycee-firefox-addons.url = "git+https://git.sr.ht/~rycee/nur-expressions?dir=pkgs/firefox-addons"; pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix"; pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = inputs: inputs.flake-parts.lib.mkFlake {inherit inputs;} { imports = [ ./flake-parts ]; systems = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ]; perSystem = { system, self', pkgs, ... }: { checks.pre-commit-check = inputs.pre-commit-hooks.lib.${system}.run { src = ./.; hooks = { alejandra.enable = true; }; }; devShells.default = pkgs.mkShell { inherit (self'.checks.pre-commit-check) shellHook; }; formatter = pkgs.alejandra; }; }; }