{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; xivlauncher-rb = { url = "github:dawei-nh/xivlauncher-rb-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; cheatengine = { url = "github:Hy4ri/cheatengine-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; millennium = { url = "github:SteamClientHomebrew/Millennium?dir=packages/nix"; }; scopebuddy = { url = "github:HikariKnight/ScopeBuddy"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-gaming = { url = "github:fufexan/nix-gaming"; inputs.nixpkgs.follows = "nixpkgs"; }; nixpkgs-xr = { url = "github:nix-community/nixpkgs-xr"; inputs.nixpkgs.follows = "nixpkgs"; }; lazyvim = { url = "github:pfassina/lazyvim-nix/v16.0.0"; inputs.nixpkgs.follows = "nixpkgs"; }; affinity-nix = { url = "github:Meo98/affinity-nix-fork"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-flatpak = { url = "github:gmodena/nix-flatpak/?ref=latest"; }; appimage-manager = { url = "github:kem-a/AppManager"; inputs.nixpkgs.follows = "nixpkgs"; }; pi = { url = "github:earendil-works/pi/stable"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-darwin = { url = "github:nix-darwin/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs"; }; affinity-thumbnailer-kde = { url = "path:./packages/affinity-thumbnailer-kde"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs@{ self, nixpkgs, nixpkgs-xr, nix-darwin, nix-flatpak, home-manager, affinity-nix, sops-nix, affinity-thumbnailer-kde, millennium, cheatengine, xivlauncher-rb, ... }: let home-manager-configuration = { home-manager, ... }: { home-manager = { useGlobalPkgs = true; useUserPackages = true; extraSpecialArgs = { inherit inputs; }; users.frank = ./home/frank.nix; }; }; trusted-users-configuration = { nix, ... }: { nix.settings.trusted-users = [ "frank" ]; }; in { nixosConfigurations = { nero = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ home-manager.nixosModules.home-manager home-manager-configuration trusted-users-configuration nixpkgs-xr.nixosModules.nixpkgs-xr nix-flatpak.nixosModules.nix-flatpak affinity-thumbnailer-kde.nixosModules.default sops-nix.nixosModules.sops ./hosts/nero/hardware.nix ./hosts/nero/configuration.nix ]; }; vergil = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ home-manager.nixosModules.home-manager home-manager-configuration trusted-users-configuration sops-nix.nixosModules.sops ./hosts/vergil/hardware.nix ./hosts/vergil/configuration.nix ]; }; pdw-frankiel = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ home-manager.nixosModules.home-manager home-manager-configuration trusted-users-configuration nix-flatpak.nixosModules.nix-flatpak affinity-thumbnailer-kde.nixosModules.default sops-nix.nixosModules.sops ./hosts/pdw-frankiel/hardware.nix ./hosts/pdw-frankiel/configuration.nix ]; }; }; darwinConfigurations = { franks-macbook-pro = nix-darwin.lib.darwinSystem { specialArgs = { inherit inputs; inherit self; }; modules = [ home-manager.darwinModules.home-manager home-manager-configuration sops-nix.darwinModules.sops { users.users.frank.home = "/Users/frank"; } ./hosts/franks-macbook-pro/configuration.nix ]; }; }; }; }