{ description = "NixOS configuration"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; nixos-hardware.url = "github:NixOS/nixos-hardware"; #To Provide Framework13 hardware modules home-manager.url = "github:nix-community/home-manager/release-25.05"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; plasma-manager = { url = "github:nix-community/plasma-manager"; inputs.nixpkgs.follows = "nixpkgs"; inputs.home-manager.follows = "home-manager"; }; zen-browser.url = "github:0xc000022070/zen-browser-flake"; zen-browser.inputs.nixpkgs.follows = "nixpkgs"; #stylix.url = "github:nix-community/stylix/"; stylix.url = "github:nix-community/stylix/release-25.05"; #Had to use branch or it would not build corrently stylix.inputs.nixpkgs.follows = "nixpkgs"; quickshell = { url = "github:outfoxxed/quickshell"; inputs.nixpkgs.follows = "nixpkgs"; }; noctalia = { url = "github:noctalia-dev/noctalia-shell"; inputs.nixpkgs.follows = "nixpkgs"; inputs.quickshell.follows = "quickshell"; }; nix-flatpak.url = "github:gmodena/nix-flatpak"; grub2-themes.url = "github:vinceliuice/grub2-themes"; }; outputs = inputs@{ nixpkgs, home-manager, plasma-manager, nixos-hardware ,stylix, zen-browser, grub2-themes, nix-flatpak, ... }: let username = "cookiez"; hostname = "nixos"; version = "25.05"; system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; }; hyprlandEnabled = false; plasmaEnabled = false; framework13 = true; in { nixosConfigurations = { ${hostname} = nixpkgs.lib.nixosSystem { inherit system; specialArgs = { inherit inputs; inherit username; inherit version; inherit system; host = hostname; }; modules = [ ./modules grub2-themes.nixosModules.default nix-flatpak.nixosModules.nix-flatpak stylix.nixosModules.stylix #Conditional Modules! ] ++ (if hyprlandEnabled then [ ./hyprland/hyprland.nix ] else [ ]) ++ [ ] ++ (if plasmaEnabled then [ ./plasma/plasma.nix ] else [ ]) ++ [ ] ++ (if framework13 then [ nixos-hardware.nixosModules.framework-13-7040-amd ] else [ ]) ++ [ ]; }; }; }; }