{ description = "getchoo's flake for system configurations"; nixConfig = { extra-substituters = ["https://cache.garnix.io"]; extra-trusted-public-keys = ["cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="]; }; inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; nixpkgs-stable.url = "nixpkgs/nixos-23.05"; darwin = { url = "github:LnL7/nix-darwin/"; inputs.nixpkgs.follows = "nixpkgs"; }; parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; agenix = { url = "github:ryantm/agenix"; inputs = { nixpkgs.follows = "nixpkgs"; darwin.follows = "darwin"; home-manager.follows = "hm"; }; }; arkenfox = { url = "github:dwarfmaster/arkenfox-nixos"; inputs = { nixpkgs.follows = "nixpkgs"; flake-compat.follows = "flake-compat"; pre-commit.follows = "pre-commit"; flake-utils.follows = "flake-utils"; }; }; catppuccin = { url = "github:Stonks3141/ctp-nix"; inputs = { nixpkgs.follows = "nixpkgs"; home-manager.follows = "hm"; }; }; getchoo = { url = "github:getchoo/nix-exprs"; inputs.nixpkgs.follows = "nixpkgs"; }; getchvim = { url = "github:getchoo/getchvim"; inputs = { nixpkgs.follows = "nixpkgs"; getchoo.follows = "getchoo"; parts.follows = "parts"; pre-commit.follows = "pre-commit"; }; }; guzzle_api = { url = "github:getchoo/guzzle_api"; inputs = { nixpkgs.follows = "nixpkgs"; parts.follows = "parts"; pre-commit.follows = "pre-commit"; }; }; hm = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; lanzaboote = { url = "github:nix-community/lanzaboote"; inputs = { nixpkgs.follows = "nixpkgs"; flake-compat.follows = "flake-compat"; flake-parts.follows = "parts"; flake-utils.follows = "flake-utils"; pre-commit-hooks-nix.follows = "pre-commit"; }; }; nixinate = { url = "github:MatthewCroughan/nixinate"; inputs.nixpkgs.follows = "nixpkgs"; }; 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-compat"; flake-utils.follows = "flake-utils"; }; }; nur.url = "github:nix-community/NUR"; 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"; flake-compat.follows = "flake-compat"; flake-utils.follows = "flake-utils"; }; }; # ------------------------------ # -- these are just to avoid having multiple versions in flake.lock # ------------------------------ flake-compat = { url = "github:edolstra/flake-compat"; flake = false; }; flake-utils.url = "github:numtide/flake-utils"; }; outputs = {parts, ...} @ inputs: parts.lib.mkFlake {inherit inputs;} { imports = [ inputs.pre-commit.flakeModule ./modules ./overlay ./systems ./users ./dev.nix ]; systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; }; }