feat: refactor home-manager configuration for multi-host support

This commit is contained in:
lightly-toasted 2025-08-31 22:16:33 +09:00
parent f20c875a48
commit 6d1fd47bea
47 changed files with 51 additions and 14 deletions

View file

@ -29,18 +29,28 @@
rootPath = ./.;
in
{
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs rootPath; };
modules = [
./hosts/nixos/configuration.nix
];
nixosConfigurations = {
nixos = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs rootPath; };
modules = [ ./hosts/nixos/configuration.nix ];
};
wsl = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs rootPath; };
modules = [ ./hosts/wsl/configuration.nix ];
};
};
homeConfigurations."toast@nixos" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { inherit inputs rootPath; };
modules = [
./home/toast/home.nix
];
homeConfigurations = {
"toast@nixos" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { inherit inputs rootPath; };
modules = [ ./home/hosts/nixos.nix ];
};
"toast@wsl" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { inherit inputs rootPath; };
modules = [ ./home/hosts/wsl.nix ];
};
};
packages.x86_64-linux.default = self.homeConfigurations."toast@nixos".activationPackage;

26
home/hosts/nixos.nix Normal file
View file

@ -0,0 +1,26 @@
{ config, pkgs, inputs, ... }:
{
imports = [
inputs.nixvim.homeManagerModules.nixvim
inputs.nixcord.homeModules.nixcord
inputs.nix-flatpak.homeManagerModules.nix-flatpak
inputs.sops-nix.homeManagerModules.sops
] ++ (
let
modulesPath = ../modules;
cliModules = builtins.attrNames (builtins.readDir ( modulesPath + "/cli" ));
graphicalModules = builtins.attrNames (builtins.readDir ( modulesPath + "/graphical" ));
in
map (module: modulesPath + "/cli/${module}") cliModules
++ map (module: modulesPath + "/graphical/${module}") graphicalModules
);
home = {
username = "toast";
homeDirectory = "/home/toast";
stateVersion = "24.11";
};
nixpkgs.config.allowUnfree = true;
systemd.user.startServices = "sd-switch";
}

View file

@ -1,4 +1,5 @@
{ config, pkgs, inputs, ... }:
{
imports = [
inputs.nixvim.homeManagerModules.nixvim
@ -7,10 +8,10 @@
inputs.sops-nix.homeManagerModules.sops
] ++ (
let
modulesPath = ./modules;
moduleFiles = builtins.attrNames (builtins.readDir modulesPath);
modulesPath = ../modules;
cliModules = builtins.attrNames (builtins.readDir (modulesPath + "/cli/"));
in
map (module: modulesPath + ("/" + module)) moduleFiles
map (module: modulesPath + "/cli/${module}") cliModules
);
home = {