{inputs, ...}: { # debug = true; # We only define machines config in this flake yet, so we only include # the module that builds these. This file might get fuller, if we need to # build our own packages, that are not flakes. imports = [ ./nixos/flake-module.nix inputs.pre-commit-hooks.flakeModule # To import a flake module # 1. Add foo to inputs # 2. Add foo as a parameter to the outputs function # 3. Add here: foo.flakeModule ]; systems = ["x86_64-linux"]; perSystem = { config, inputs', pkgs, ... }: { devShells.default = pkgs.mkShell { shellHook = config.pre-commit.installationScript; }; pre-commit = { check.enable = true; pkgs = inputs'.nixpkgs.legacyPackages; settings.hooks = { nil.enable = true; statix.enable = true; deadnix.enable = true; alejandra.enable = true; }; }; # Per-system attributes can be defined here. The self' and inputs' # module parameters provide easy access to attributes of the same # system. }; # Equivalent to inputs'.nixpkgs.legacyPackages.hello; # flake = { # The usual flake attributes can be defined here, including system- # agnostic ones like nixosModule and system-enumerating ones, although # those are more easily expressed in perSystem. # }; }