{ description = "duynguyen's NixOS configuration"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05"; home-manager = { url = "github:nix-community/home-manager/release-26.05"; 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:youwen5/zen-browser-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; claude-desktop.url = "github:k3d3/claude-desktop-linux-flake"; # Noctalia: Wayland shell for Niri (bar, launcher, lock, wallpaper, idle) # Uses its own pinned nixpkgs (needs unstable deps) noctalia.url = "github:noctalia-dev/noctalia-shell"; }; outputs = { self, nixpkgs, home-manager, plasma-manager, zen-browser, claude-desktop, noctalia, ... }@inputs: { nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/nixos/configuration.nix home-manager.nixosModules.home-manager { nixpkgs.overlays = [ (_: _: { zen-browser = zen-browser.packages.x86_64-linux.default; claude-desktop = claude-desktop.packages.x86_64-linux.default; }) ]; home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.backupFileExtension = "hm-back"; home-manager.sharedModules = [ plasma-manager.homeModules.plasma-manager ]; home-manager.users.duynguyen = import ./home/hosts/nixos.nix; } ]; }; }; }