{ description = "NixOS Configuration"; inputs = { # General NixOS config nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-24-11.url = "github:NixOS/nixpkgs/nixos-24.11"; # Nixpkgs index for command-not-found support nix-index-database = { url = "github:nix-community/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; }; # 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"; }; # VSCode server support vscode-server.url = "github:nix-community/nixos-vscode-server"; }; outputs = inputs@{ nixpkgs, home-manager, plasma-manager, nix-index-database, vscode-server, ... }: 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 # Better command-not-found nix-index-database.nixosModules.nix-index { programs.nix-index-database.comma.enable = true; } # Home manager home-manager.nixosModules.home-manager ./home-manager { ty-home-manager-options = { plasma.enable = true; beets.enable = true; firefox.enable = true; thunderbird.enable = true; rescrobbled.enable = true; vscode.enable = true; }; } ]; specialArgs = { inherit inputs system secrets; }; }; nixosConfigurations."ty-laptop-server" = nixpkgs.lib.nixosSystem { inherit system; modules = [ ./hosts/laptop-server # Better command-not-found nix-index-database.nixosModules.nix-index { programs.nix-index-database.comma.enable = true; } # Home manager home-manager.nixosModules.home-manager ./home-manager { ty-home-manager-options = { plasma.enable = false; beets.enable = false; firefox.enable = false; thunderbird.enable = false; rescrobbled.enable = false; vscode.enable = false; }; } # VSCode server support vscode-server.nixosModules.default ({ pkgs, ... }: { services.vscode-server = { enable = true; nodejsPackage = pkgs.nodejs-18_x; installPath = "$HOME/.vscodium-server"; }; }) ]; specialArgs = { inherit inputs system secrets; }; }; }; }