{ description = "TimmyOS System Config"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager/release-24.05"; inputs.nixpkgs.follows = "nixpkgs"; }; arkenfox = { url = "github:dwarfmaster/arkenfox-nixos"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { nixpkgs, home-manager, arkenfox, ... }@inputs : let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; userDetails = { username = "timmy"; home.root = "/home/timmy"; home.downloads = /home/timmy/dls; email = "tjkeller.xyz"; fullname = "Tim Keller"; }; mkNixosConfiguration = hostname: nixpkgs.lib.nixosSystem { inherit system; specialArgs = { inherit inputs; inherit userDetails; }; modules = [ ./modules/hosts/${hostname}/configuration.nix ./modules/root home-manager.nixosModules.home-manager { home-manager = { useGlobalPkgs = true; useUserPackages = true; users.${userDetails.username} = import ./modules/home; extraSpecialArgs = { inherit userDetails; }; sharedModules = [ inputs.arkenfox.hmModules.arkenfox ./modules/hosts/${hostname}/home.nix ]; }; } ]; }; in { nixosConfigurations = { T430 = mkNixosConfiguration "T430"; T495 = mkNixosConfiguration "T495"; }; #homeConfigurations.${userDetails.username} = home-manager.lib.homeManagerConfiguration { # inherit pkgs; # extraSpecialArgs = { # inherit userDetails; # }; # modules = [ # ./modules/home # inputs.arkenfox.hmModules.arkenfox # ]; #}; }; }