{ description = "getchoo's flake for system configurations"; nixConfig = { extra-substituters = ["https://cache.garnix.io"]; extra-trusted-public-keys = ["cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="]; }; outputs = inputs: let inherit ((import ./modules/flake).flake) flakeModules; in inputs.flake-parts.lib.mkFlake {inherit inputs;} { imports = [ ./lib ./modules ./overlay ./systems ./users ./repo # checks, ci, devShells, etc. ./ext # nix expressions for *external*, not so nix-y things inputs.pre-commit.flakeModule # dogfooding flakeModules.configurations flakeModules.terranix ]; systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; }; inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; nixpkgs-stable.url = "nixpkgs/nixos-23.11"; darwin = { url = "github:LnL7/nix-darwin/"; inputs.nixpkgs.follows = "nixpkgs"; }; flake-parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; agenix = { url = "github:ryantm/agenix"; inputs = { nixpkgs.follows = "nixpkgs"; darwin.follows = ""; home-manager.follows = ""; }; }; arkenfox = { url = "github:dwarfmaster/arkenfox-nixos"; inputs = { nixpkgs.follows = "nixpkgs"; flake-compat.follows = ""; pre-commit.follows = ""; flake-utils.follows = "pre-commit/flake-utils"; }; }; catppuccin.url = "github:Stonks3141/ctp-nix"; deploy = { url = "github:serokell/deploy-rs"; inputs = { nixpkgs.follows = "nixpkgs"; flake-compat.follows = ""; utils.follows = "pre-commit/flake-utils"; }; }; firefox-addons = { url = "sourcehut:~rycee/nur-expressions?dir=pkgs/firefox-addons"; inputs = { nixpkgs.follows = "nixpkgs"; flake-utils.follows = "pre-commit/flake-utils"; }; }; getchvim = { url = "github:getchoo/getchvim"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; lanzaboote = { url = "github:nix-community/lanzaboote"; inputs = { nixpkgs.follows = "nixpkgs"; flake-compat.follows = ""; flake-parts.follows = "flake-parts"; flake-utils.follows = "pre-commit/flake-utils"; pre-commit-hooks-nix.follows = "pre-commit"; }; }; nix-index-database = { url = "github:nix-community/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; }; nixos-hardware.url = "github:NixOS/nixos-hardware"; nixos-wsl = { url = "github:nix-community/NixOS-WSL"; inputs = { nixpkgs.follows = "nixpkgs"; flake-compat.follows = ""; flake-utils.follows = "pre-commit/flake-utils"; }; }; nu-scripts = { url = "github:nushell/nu_scripts"; flake = false; }; openwrt-imagebuilder = { url = "github:astro/nix-openwrt-imagebuilder"; inputs.nixpkgs.follows = "nixpkgs"; }; pre-commit = { url = "github:cachix/pre-commit-hooks.nix"; inputs = { nixpkgs.follows = "nixpkgs"; nixpkgs-stable.follows = "nixpkgs"; }; }; teawiebot = { url = "github:getchoo/teawiebot"; inputs = { nixpkgs.follows = "nixpkgs"; parts.follows = "flake-parts"; pre-commit.follows = "pre-commit"; }; }; terranix = { url = "github:terranix/terranix"; inputs = { nixpkgs.follows = "nixpkgs"; flake-utils.follows = "pre-commit/flake-utils"; terranix-examples.follows = ""; bats-support.follows = ""; bats-assert.follows = ""; }; }; }; }