{ lib, inputs, nixpkgs, home-manager, user, ... }: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; config.allowUnfree = true; }; lib = nixpkgs.lib; in { x220 = lib.nixosSystem { inherit system; specialArgs = { inherit user; }; modules = [ ./thinkpads ./configuration.nix ./desktop.nix { # 1024x768 is the closest supported resolution to X220's native 1366x768 # To see a list of supported GRUB resolutions, enter GRUB, # press e, F2 to enter command mode, and then type videoinfo to see list boot.loader.grub.gfxmodeEfi = "1024x768"; networking.hostName = "x220"; } home-manager.nixosModules.home-manager { home-manager = { useGlobalPkgs = true; useUserPackages = true; extraSpecialArgs = { inherit user; }; users.${user} = { imports = [ (import ./home.nix) (import ./thinkpads/home.nix) ]; home.file."./.background-image".source = ../wallpapers/178869_1366x768.jpg; }; }; } ]; }; t430 = lib.nixosSystem { inherit system; specialArgs = { inherit user; }; modules = [ ./thinkpads ./configuration.nix ./desktop.nix { boot.loader.grub.gfxmodeEfi = "1600x900"; networking.hostName = "t430"; } home-manager.nixosModules.home-manager { home-manager = { useGlobalPkgs = true; useUserPackages = true; extraSpecialArgs = { inherit user; }; users.${user} = { imports = [ (import ./home.nix) (import ./thinkpads/home.nix) ]; home.file."./.background-image".source = ../wallpapers/roxynord.png; }; }; } ]; }; virtualbox = lib.nixosSystem { inherit system; specialArgs = { inherit user; }; modules = [ ./virtualbox ./configuration.nix ./desktop.nix { networking.hostName = "virtualbox"; } home-manager.nixosModules.home-manager { home-manager = { useGlobalPkgs = true; useUserPackages = true; extraSpecialArgs = { inherit user; }; users.${user} = { imports = [ (import ./home.nix) (import ./virtualbox/home.nix) ]; home.file."./.background-image".source = ../wallpapers/roxynord.png; }; }; } ]; }; }