{ description = "System Configuration."; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05"; flake-utils.url = "github:numtide/flake-utils"; linger = { url = "github:mindsbackyard/linger-flake"; inputs.flake-utils.follows = "flake-utils"; }; niri.url = "github:sodiboo/niri-flake"; dms = { url = "github:AvengeMedia/DankMaterialShell/stable"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager/release-26.05"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs@{ self, nixpkgs, flake-utils, home-manager, niri, dms, ... }: { nixosConfigurations = { thinkpad = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ ./hosts/thinkpad/default.nix niri.nixosModules.niri home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.users.jashton = import ./home/jashton.nix; } ]; }; desktop = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/desktop/default.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.jashton = import ./home/jashton.nix; } ]; }; framework = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ./hosts/framework/default.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.jashton = import ./home/jashton.nix; } ]; }; }; }; }