{ inputs = { nixpkgs.url = "nixpkgs/nixos-unstable"; stable.url = "nixpkgs/nixos-25.05"; systems.url = "github:nix-systems/default-linux"; nix-index-database = { url = "github:Mic92/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; impurity.url = "github:outfoxxed/impurity.nix"; emacs-overlay = { url = "github:nix-community/emacs-overlay"; inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs-stable.follows = "stable"; }; hyprutils = { url = "github:hyprwm/hyprutils"; inputs.nixpkgs.follows = "nixpkgs"; inputs.systems.follows = "systems"; }; hyprlang = { url = "github:hyprwm/hyprlang"; inputs.nixpkgs.follows = "nixpkgs"; inputs.systems.follows = "systems"; inputs.hyprutils.follows = "hyprutils"; }; hyprland = { url = "github:hyprwm/Hyprland"; inputs.nixpkgs.follows = "nixpkgs"; inputs.systems.follows = "systems"; inputs.hyprutils.follows = "hyprutils"; inputs.hyprlang.follows = "hyprlang"; }; hyprland-hy3 = { url = "github:outfoxxed/hy3"; inputs.hyprland.follows = "hyprland"; }; quickshell = { url = "git+https://git.outfoxxed.me/quickshell/quickshell"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-qml-support = { url = "git+https://git.outfoxxed.me/outfoxxed/nix-qml-support"; inputs.nixpkgs.follows = "nixpkgs"; }; nur = { url = "github:nix-community/NUR"; inputs.nixpkgs.follows = "nixpkgs"; }; #vps-testing.url = "path:/home/admin/vpsnew"; }; outputs = inputs @ { self, nixpkgs, ... }: { nixosConfigurations = { msi = nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; specialArgs = { inherit self system inputs; }; modules = [ ./modules/impurity.nix ./modules/preserve-system.nix ./modules/system.nix ./modules/hyprland ./modules/xserver ./systems/msi ]; }; lenovo = nixpkgs.lib.nixosSystem rec { system = "x86_64-linux"; specialArgs = { inherit self system inputs; }; modules = [ ./modules/impurity.nix ./modules/preserve-system.nix ./modules/system.nix ./modules/hyprland ./systems/lenovo ]; }; msi-impure = self.nixosConfigurations.msi.extendModules { modules = [ { impurity.enable = true; } ]; }; lenovo-impure = self.nixosConfigurations.lenovo.extendModules { modules = [ { impurity.enable = true; } ]; }; }; }; }