{ description = "SRX NixOS Platform"; nixConfig = { extra-trusted-substituters = [ "https://nix-config.cachix.org" "https://nix-community.cachix.org" "https://tweag-jupyter.cachix.org" "https://serokell.cachix.org" "https://cache.nix.srx.digital" ]; extra-trusted-public-keys = [ "nix-config.cachix.org-1:Vd6raEuldeIZpttVQfrUbLvXJHzzzkS0pezXCVVjDG4=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "tweag-jupyter.cachix.org-1:UtNH4Zs6hVUFpFBTLaA4ejYavPo5EFFqgd7G7FxGW9g=" "serokell.cachix.org-1:5DscEJD6c1dD1Mc/phTIbs13+iW22AVbx0HqiSb+Lq8=" "cache.nix.srx.digital-1:+sJ/hAmjuhTpRakfhkCj7i2LoqNyBgm+YItJUSAWWlg=" ]; }; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; nixos-hardware.url = "github:NixOS/nixos-hardware"; nur.url = "github:nix-community/NUR"; nixos-anywhere = { url = "github:nix-community/nixos-anywhere"; inputs = { nixpkgs.follows = "nixpkgs"; flake-parts.follows = "flake-parts"; disko.follows = "disko"; treefmt-nix.follows = "treefmt-nix"; }; }; nixos-generators = { url = "github:nix-community/nixos-generators"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-index-database = { url = "github:nix-community/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; }; flake-parts = { url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; flake-utils.url = "github:numtide/flake-utils"; flake-compat.url = "github:nix-community/flake-compat"; devenv = { url = "github:cachix/devenv"; inputs = { nixpkgs.follows = "nixpkgs"; pre-commit-hooks.follows = "git-hooks"; flake-compat.follows = "flake-compat"; }; }; devshell = { url = "github:numtide/devshell"; inputs = { nixpkgs.follows = "nixpkgs"; flake-utils.follows = "flake-utils"; }; }; flake-root.url = "github:srid/flake-root"; srvos = { url = "github:nix-community/srvos"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager/release-24.05"; inputs.nixpkgs.follows = "nixpkgs"; }; lanzaboote = { url = "github:nix-community/lanzaboote"; inputs = { nixpkgs.follows = "nixpkgs"; flake-compat.follows = "flake-compat"; flake-parts.follows = "flake-parts"; flake-utils.follows = "flake-utils"; pre-commit-hooks-nix.follows = "git-hooks"; }; }; nix-fast-build = { url = "github:Mic92/nix-fast-build"; inputs = { nixpkgs.follows = "nixpkgs"; flake-parts.follows = "flake-parts"; treefmt-nix.follows = "treefmt-nix"; }; }; systems.url = "github:nix-systems/default"; agenix = { url = "github:ryantm/agenix"; inputs = { home-manager.follows = "home-manager"; nixpkgs.follows = "nixpkgs"; }; }; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; nixvim = { url = "github:nix-community/nixvim"; inputs = { nixpkgs.follows = "nixpkgs"; flake-parts.follows = "flake-parts"; flake-compat.follows = "flake-compat"; devshell.follows = "devshell"; home-manager.follows = "home-manager"; treefmt-nix.follows = "treefmt-nix"; }; }; deploy-rs = { url = "github:serokell/deploy-rs"; inputs = { flake-compat.follows = "flake-compat"; nixpkgs.follows = "nixpkgs"; utils.follows = "flake-utils"; }; }; treefmt-nix = { url = "github:numtide/treefmt-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; git-hooks = { url = "github:cachix/git-hooks.nix"; inputs = { nixpkgs.follows = "nixpkgs"; flake-compat.follows = "flake-compat"; }; }; base16-schemes = { url = "github:tinted-theming/base16-schemes"; flake = false; }; stylix = { url = "github:danth/stylix"; inputs = { nixpkgs.follows = "nixpkgs"; flake-compat.follows = "flake-compat"; home-manager.follows = "home-manager"; }; }; kubenix = { url = "github:hall/kubenix"; inputs.nixpkgs.follows = "nixpkgs"; }; microvm = { url = "github:astro/microvm.nix"; inputs = { nixpkgs.follows = "nixpkgs"; flake-utils.follows = "flake-utils"; }; }; vault-secrets = { url = "github:serokell/vault-secrets"; inputs = { nixpkgs.follows = "nixpkgs"; flake-compat.follows = "flake-compat"; }; }; dns = { url = "github:nix-community/dns.nix"; inputs = { nixpkgs.follows = "nixpkgs"; flake-utils.follows = "flake-utils"; }; }; impermanence.url = "github:nix-community/impermanence"; simple-nixos-mailserver = { url = "gitlab:simple-nixos-mailserver/nixos-mailserver"; inputs = { nixpkgs.follows = "nixpkgs"; flake-compat.follows = "flake-compat"; }; }; terranix = { url = "github:terranix/terranix"; inputs = { nixpkgs.follows = "nixpkgs"; flake-utils.follows = "flake-utils"; }; }; nix-vscode-extensions = { url = "github:nix-community/nix-vscode-extensions"; inputs = { nixpkgs.follows = "nixpkgs"; flake-utils.follows = "flake-utils"; flake-compat.follows = "flake-compat"; }; }; firefox-addons = { url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; inputs = { nixpkgs.follows = "nixpkgs"; flake-utils.follows = "flake-utils"; }; }; cq-flake = { url = "github:vinszent/cq-flake"; inputs.flake-utils.follows = "flake-utils"; }; srx-nixos-shadow = { url = "git+ssh://forgejo@code.srx.digital/srx/srx-nixos-shadow"; inputs = { nixpkgs.follows = "nixpkgs"; flake-compat.follows = "flake-compat"; flake-parts.follows = "flake-parts"; pre-commit-hooks.follows = "git-hooks"; treefmt-nix.follows = "treefmt-nix"; }; }; srx-digital-website = { url = "git+ssh://forgejo@code.srx.digital/srx/srx.astro.nix"; inputs = { nixpkgs.follows = "nixpkgs"; flake-parts.follows = "flake-parts"; treefmt-nix.follows = "treefmt-nix"; pre-commit.follows = "git-hooks"; }; }; nix-hamburg-website = { url = "git+ssh://forgejo@code.srx.digital/nix-hamburg/nix-hamburg.astro.nix"; inputs = { nixpkgs.follows = "nixpkgs"; flake-parts.follows = "flake-parts"; treefmt-nix.follows = "treefmt-nix"; pre-commit.follows = "git-hooks"; }; }; }; outputs = inputs@ { flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" "aarch64-linux" ]; imports = [ ./nix/hosts.nix ./nix/packages.nix ./nix/modules.nix ./nix/overlay.nix ./nix/nixos.nix ./nix/home-manager.nix ./nix/deploy.nix ./nix/devshell.nix ./nix/terranix.nix ]; }; }