Create base-linux and base-darwin modules to cleanly separate platform- specific role imports from shared roles. This prevents importing modules that require platform-specific home-manager modules (like plasma-manager on NixOS) in environments where they don't exist (like nix-darwin). - base-linux includes: plasma-manager, i3+sway - base-darwin includes: aerospace - roles/default.nix now only contains truly cross-platform roles This architecture makes it immediately clear which roles are shared versus platform-specific and makes it easy to add new platform-specific roles in the future.
21 lines
382 B
Nix
21 lines
382 B
Nix
{
|
|
# Shared roles that work across all platforms (Linux, Darwin, etc.)
|
|
# Platform-specific roles are imported via base-linux or base-darwin
|
|
# in each home configuration file
|
|
imports = [
|
|
./base
|
|
./communication
|
|
./desktop
|
|
./development
|
|
./gaming
|
|
./kdeconnect
|
|
./kubectl
|
|
./launchers
|
|
./media
|
|
./office
|
|
./sync
|
|
./tmux
|
|
./emacs
|
|
];
|
|
}
|