{ description = "getchoo's flake for system configurations"; nixConfig = { extra-substituters = [ "https://getchoo.cachix.org" # personal cache "https://nix-community.cachix.org" # nix-community ]; extra-trusted-public-keys = [ "getchoo.cachix.org-1:ftdbAUJVNaFonM0obRGgR5+nUmdLMM+AOvDOSx0z5tE=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; }; inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; nixpkgs-stable.url = "nixpkgs/nixos-23.05"; darwin = { url = "github:LnL7/nix-darwin/"; inputs.nixpkgs.follows = "nixpkgs"; }; agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; inputs.darwin.follows = "darwin"; inputs.home-manager.follows = "home-manager"; }; deploy-rs = { url = "github:serokell/deploy-rs"; inputs.nixpkgs.follows = "nixpkgs"; inputs.utils.follows = "flake-utils"; inputs.flake-compat.follows = "flake-compat"; }; # this is just to avoid having multiple versions in flake.lock flake-compat = { url = "github:edolstra/flake-compat"; flake = false; }; # ditto flake-utils.url = "github:numtide/flake-utils"; flake-parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; getchoo = { url = "github:getchoo/nix-exprs"; inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-compat.follows = "flake-compat"; }; guzzle_api = { url = "github:getchoo/guzzle_api"; inputs.nixpkgs.follows = "nixpkgs"; inputs.pre-commit-hooks.follows = "pre-commit-hooks"; }; hercules-ci-agent = { url = "github:hercules-ci/hercules-ci-agent"; inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-parts.follows = "flake-parts"; }; hercules-ci-effects = { url = "github:hercules-ci/hercules-ci-effects"; inputs.nixpkgs.follows = "nixpkgs"; inputs.hercules-ci-agent.follows = "hercules-ci-agent"; inputs.flake-parts.follows = "flake-parts"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; lanzaboote = { url = "github:nix-community/lanzaboote"; inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-compat.follows = "flake-compat"; inputs.flake-parts.follows = "flake-parts"; inputs.flake-utils.follows = "flake-utils"; inputs.pre-commit-hooks-nix.follows = "pre-commit-hooks"; }; nix-index-database = { url = "github:nix-community/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; }; nixos-wsl = { url = "github:nix-community/NixOS-WSL"; inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-compat.follows = "flake-compat"; inputs.flake-utils.follows = "flake-utils"; }; nixos-hardware.url = "github:NixOS/nixos-hardware"; nur.url = "github:nix-community/NUR"; openwrt-imagebuilder = { url = "github:astro/nix-openwrt-imagebuilder"; inputs.nixpkgs.follows = "nixpkgs"; }; pre-commit-hooks = { url = "github:cachix/pre-commit-hooks.nix"; inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs-stable.follows = "nixpkgs"; inputs.flake-compat.follows = "flake-compat"; inputs.flake-utils.follows = "flake-utils"; }; ragenix = { url = "github:yaxitech/ragenix"; inputs.nixpkgs.follows = "nixpkgs"; inputs.agenix.follows = "agenix"; inputs.flake-utils.follows = "flake-utils"; }; }; outputs = { flake-parts, getchoo, pre-commit-hooks, ... } @ inputs: flake-parts.lib.mkFlake {inherit inputs;} { imports = [ ./hosts ./parts ./users getchoo.flakeModules.homeConfigurations pre-commit-hooks.flakeModule ]; }; }