Use host-specific home configuration

This commit is contained in:
Yan Lin 2025-08-29 23:16:24 +02:00
parent 2a3a4aece9
commit 6368fe594a
5 changed files with 69 additions and 39 deletions

View file

@ -46,39 +46,6 @@
programs.zsh.enable = true;
};
homeConfiguration = { pkgs, ... }: {
imports = [
nixvim.homeManagerModules.nixvim
./modules/nvim.nix
./modules/tmux.nix
./modules/zsh.nix
./modules/ssh.nix
./modules/git.nix
./modules/lazygit.nix
./modules/papis.nix
./modules/termscp.nix
./modules/rsync.nix
./modules/btop.nix
./modules/firefox.nix
./modules/ghostty.nix
./modules/syncthing.nix
./config/fonts.nix
./config/packages/common.nix
./config/packages/darwin.nix
./config/packages/dev.nix
./config/packages/productivity.nix
];
nixpkgs.config.allowUnfree = true;
home.username = "yanlin";
home.homeDirectory = "/Users/yanlin";
home.stateVersion = "24.05";
programs.home-manager.enable = true;
};
in
{
darwinConfigurations."iMac" = nix-darwin.lib.darwinSystem {
@ -97,10 +64,18 @@
];
};
homeConfigurations.yanlin = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.aarch64-darwin;
modules = [ homeConfiguration ];
extraSpecialArgs = { inherit claude-code nixvim firefox-addons; };
homeConfigurations = {
"yanlin@iMac" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.aarch64-darwin;
modules = [ ./hosts/darwin/iMac/home.nix ];
extraSpecialArgs = { inherit claude-code nixvim firefox-addons; };
};
"yanlin@MacBook-Air" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.aarch64-darwin;
modules = [ ./hosts/darwin/MacBook-Air/home.nix ];
extraSpecialArgs = { inherit claude-code nixvim firefox-addons; };
};
};
};
}

33
home/common.nix Normal file
View file

@ -0,0 +1,33 @@
{ config, pkgs, nixvim, claude-code, firefox-addons, ... }:
{
imports = [
nixvim.homeManagerModules.nixvim
../modules/nvim.nix
../modules/tmux.nix
../modules/zsh.nix
../modules/ssh.nix
../modules/git.nix
../modules/lazygit.nix
../modules/papis.nix
../modules/termscp.nix
../modules/rsync.nix
../modules/btop.nix
../modules/firefox.nix
../modules/ghostty.nix
../modules/syncthing.nix
../config/fonts.nix
../config/packages/common.nix
../config/packages/darwin.nix
../config/packages/dev.nix
../config/packages/productivity.nix
];
nixpkgs.config.allowUnfree = true;
home.username = "yanlin";
home.homeDirectory = "/Users/yanlin";
home.stateVersion = "24.05";
programs.home-manager.enable = true;
}

View file

@ -0,0 +1,11 @@
{ config, pkgs, ... }:
{
imports = [
../../../home/common.nix
];
# MacBook Air-specific home configuration
# Example: Laptop-specific tools, power management, etc.
}

View file

@ -0,0 +1,11 @@
{ config, pkgs, ... }:
{
imports = [
../../../home/common.nix
];
# iMac-specific home configuration
# Example: Different screen setup, desktop-specific tools, etc.
}

View file

@ -24,8 +24,8 @@ in
# Nix helpers
hm = "home-manager";
hms = "home-manager switch --flake ~/.config/nix#yanlin";
hms-offline = "home-manager switch --flake ~/.config/nix#yanlin --option substitute false";
hms = "home-manager switch --flake ~/.config/nix#$(whoami)@$(hostname)";
hms-offline = "home-manager switch --flake ~/.config/nix#$(whoami)@$(hostname) --option substitute false";
} // lib.optionalAttrs pkgs.stdenv.isDarwin {
# macOS-specific app aliases