{ description = "Alqueva is the largest lake in Portugal."; inputs = { nixpkgs = { type = "github"; owner = "nixos"; repo = "nixpkgs"; ref = "nixos-unstable"; }; flake-parts = { type = "github"; owner = "hercules-ci"; repo = "flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; git-hooks-nix = { type = "github"; owner = "cachix"; repo = "git-hooks.nix"; }; disko = { type = "github"; owner = "nix-community"; repo = "disko"; }; wallpkgs = { type = "github"; owner = "notashelf"; repo = "wallpkgs"; }; nixpkgs-f2k = { type = "github"; owner = "moni-dz"; repo = "nixpkgs-f2k"; }; pankomacs = { type = "git"; url = "https://codeberg.org/amadaluzia/pankomacs.git"; ref = "main"; }; rosepine-qutebrowser = { type = "github"; owner = "aalbegr"; repo = "qutebrowser-rose-pine"; flake = false; }; painless-neovim = { type = "git"; url = "https://codeberg.org/amadaluzia/painless-neovim.git"; ref = "master"; }; }; outputs = inputs @ { nixpkgs, flake-parts, ... }: let lib = nixpkgs.lib.extend (import ./lib {inherit inputs;}); in flake-parts.lib.mkFlake { inherit inputs; specialArgs = {inherit lib;}; } { systems = ["x86_64-linux"]; imports = [ ./computers ./overlays inputs.git-hooks-nix.flakeModule ]; flake = {inherit lib;}; perSystem = { config, pkgs, ... }: { pre-commit = { check.enable = true; settings.hooks = { alejandra.enable = true; deadnix = { enable = true; args = ["-e"]; }; statix = { enable = true; args = ["fix"]; }; }; }; devShells.default = config.pre-commit.devShell; formatter = pkgs.alejandra; }; }; }