{ description = "NixOS configuration"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; spicetify-nix.url = "github:Gerg-L/spicetify-nix"; xray-3x-ui.url = "github:sunmeplz/xray-3x-ui"; nixarr.url = "github:nix-media-server/nixarr"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; agenix = { url = "github:ryantm/agenix"; }; deploy-rs.url = "github:serokell/deploy-rs"; quickshell = { url = "github:outfoxxed/quickshell"; inputs.nixpkgs.follows = "nixpkgs"; }; noctalia = { url = "github:noctalia-dev/noctalia-shell"; inputs.nixpkgs.follows = "nixpkgs"; # inputs.quickshell.follows = "quickshell"; # Use same quickshell version }; nix-colors.url = "github:misterio77/nix-colors"; nixos-vfio.url = "github:/j-brn/nixos-vfio"; nixos-vfio.inputs.nixpkgs.follows = "nixpkgs"; zen-browser = { url = "github:0xc000022070/zen-browser-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; stylix = { url = "github:nix-community/stylix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, home-manager, nix-colors, stylix, disko, agenix, xray-3x-ui, deploy-rs, nixarr, ... } @ inputs: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; config.allowUnfree = true; }; in { nixosConfigurations.virgil = nixpkgs.lib.nixosSystem { inherit system; specialArgs = {inherit inputs;}; modules = [ ./hosts/virgil/configuration.nix home-manager.nixosModules.home-manager inputs.disko.nixosModules.disko stylix.nixosModules.stylix agenix.nixosModules.default #./modules/home-manager/stylix.nix ]; }; nixosConfigurations.archangel = nixpkgs.lib.nixosSystem { inherit system; specialArgs = {inherit inputs;}; modules = [ ./hosts/archangel/configuration.nix home-manager.nixosModules.home-manager inputs.disko.nixosModules.disko stylix.nixosModules.stylix agenix.nixosModules.default ]; }; #placeholder nixosConfigurations.beatrice = nixpkgs.lib.nixosSystem { inherit system; specialArgs = {inherit inputs;}; modules = [ ./hosts/beatrice/configuration.nix home-manager.nixosModules.home-manager inputs.disko.nixosModules.disko agenix.nixosModules.default stylix.nixosModules.stylix ]; }; nixosConfigurations.kittykat = nixpkgs.lib.nixosSystem { inherit system; specialArgs = {inherit inputs;}; modules = [ ./hosts/kittykat/configuration.nix home-manager.nixosModules.home-manager xray-3x-ui.nixosModules.default agenix.nixosModules.default inputs.disko.nixosModules.disko ]; }; nixosConfigurations.overlord = nixpkgs.lib.nixosSystem { inherit system; specialArgs = {inherit inputs;}; modules = [ home-manager.nixosModules.home-manager nixarr.nixosModules.default agenix.nixosModules.default inputs.disko.nixosModules.disko ./hosts/overlord/configuration.nix ]; }; deploy.nodes = nixpkgs.lib.mapAttrs (name: config: { hostname = name; profiles.system = { sshUser = "root"; user = "root"; path = deploy-rs.lib.${config.pkgs.system}.activate.nixos config; }; }) self.nixosConfigurations; checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib; }; }