{ description = "NixOS Configuration"; inputs = { # General NixOS config nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-24-11.url = "github:NixOS/nixpkgs/nixos-24.11"; # NixOS Grub Themes (hyperfluent) nixos-grub-themes = { url = "github:jeslie0/nixos-grub-themes"; inputs.nixpkgs.follows = "nixpkgs"; }; # SDDM Sugar Candy sddm-sugar-candy-nix = { url = "github:Zhaith-Izaliel/sddm-sugar-candy-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; # Home Manager + Plasma home-manager = { url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixpkgs"; }; plasma-manager = { url = "github:nix-community/plasma-manager"; inputs.nixpkgs.follows = "nixpkgs"; inputs.home-manager.follows = "home-manager"; }; # Firefox Nightly + Addons firefox-nightly = { url = "github:nix-community/flake-firefox-nightly"; inputs.nixpkgs.follows = "nixpkgs"; }; firefox-addons = { type = "gitlab"; owner = "rycee"; repo = "nur-expressions"; dir = "/pkgs/firefox-addons"; inputs.nixpkgs.follows = "nixpkgs"; }; # VSCode extensions vscode-extensions = { url = "github:nix-community/nix-vscode-extensions"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs@{ nixpkgs, home-manager, plasma-manager, ... }: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; secrets = import ./secrets.nix; in { nixosConfigurations.ty-nixos = nixpkgs.lib.nixosSystem { inherit system; modules = [ ./hosts/laptop # Home manager home-manager.nixosModules.home-manager ./home-manager ]; specialArgs = { inherit inputs system secrets; }; }; # Add home manager configuration compatibility to the main flake homeConfigurations."ty" = home-manager.lib.homeManagerConfiguration { inherit pkgs; # Specify your home configuration modules here, for example, # the path to your home.nix. modules = [ plasma-manager.homeManagerModules.plasma-manager ./home-manager/home.nix ]; extraSpecialArgs = { inherit inputs system secrets; }; }; }; }