{ inputs = { flake-parts.url = "github:hercules-ci/flake-parts"; nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; disko = { url = "github:nix-community/disko/latest"; inputs.nixpkgs.follows = "nixpkgs"; }; sops = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; treefmt = { url = "github:numtide/treefmt-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; statix = { url = "github:oppiliappan/statix"; inputs = { nixpkgs.follows = "nixpkgs"; flake-parts.follows = "flake-parts"; }; }; # For Workstations nixos-hardware.url = "github:NixOS/nixos-hardware/master"; home-manager = { url = "github:nix-community/home-manager/release-25.11"; inputs.nixpkgs.follows = "nixpkgs"; }; vscode-extensions = { url = "github:nix-community/nix-vscode-extensions"; inputs.nixpkgs.follows = "nixpkgs"; }; firefox-addons = { url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; inputs.nixpkgs.follows = "nixpkgs"; }; betterfox = { url = "github:yokoffing/Betterfox"; flake = false; }; # For Servers impermanence = { url = "github:nix-community/impermanence"; inputs.home-manager.follows = "home-manager"; }; comin = { url = "github:nlewo/comin"; inputs = { nixpkgs.follows = "nixpkgs"; treefmt-nix.follows = "treefmt"; }; }; dns = { url = "github:kirelagin/dns.nix"; inputs.nixpkgs.follows = "nixpkgs"; }; radicale-birthday-calendar = { url = "github:iBigQ/radicale-birthday-calendar"; flake = false; }; }; outputs = { flake-parts, ... }@inputs: flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" ]; imports = ./flake-parts |> builtins.readDir |> builtins.attrNames |> builtins.map (name: ./flake-parts/${name}); }; }