51 lines
1.3 KiB
Nix
51 lines
1.3 KiB
Nix
|
{ lib, config, pkgs, machineInfos, sopsHmModule, ... }:
|
||
|
with lib;
|
||
|
{
|
||
|
|
||
|
imports = [
|
||
|
./sound.nix
|
||
|
./desktop.nix
|
||
|
./bluetooth.nix
|
||
|
];
|
||
|
|
||
|
options.enableHomeManager = mkOption {
|
||
|
type = types.bool;
|
||
|
default = true;
|
||
|
example = false;
|
||
|
description = ''
|
||
|
Whether to install and use home-manager on this machine.
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
config = {
|
||
|
enableHomeManager = machineInfos.enableHomeManager;
|
||
|
|
||
|
home-manager.useGlobalPkgs = mkIf config.enableHomeManager true;
|
||
|
home-manager.useUserPackages = mkIf config.enableHomeManager true;
|
||
|
home-manager.sharedModules = mkIf config.enableHomeManager [
|
||
|
./home-manager
|
||
|
sopsHmModule
|
||
|
];
|
||
|
home-manager.users = builtins.mapAttrs
|
||
|
(name: value:
|
||
|
mkIf value.enableHomeManagerProfile ({
|
||
|
home.username = name;
|
||
|
home.homeDirectory = "/home/${name}";
|
||
|
home.stateVersion = machineInfos.stateVersion;
|
||
|
programs.home-manager.enable = true;
|
||
|
enableFishShell = value.shell == pkgs.fish;
|
||
|
isProfessional = config.isProfessional;
|
||
|
} // value.homeManagerConfig)
|
||
|
)
|
||
|
config.machineUsers;
|
||
|
|
||
|
programs.dconf.enable = true;
|
||
|
security.polkit.enable = true;
|
||
|
services.dbus.enable = true;
|
||
|
|
||
|
fonts.fontconfig.enable = true;
|
||
|
|
||
|
services.gnome.gnome-keyring.enable = true;
|
||
|
};
|
||
|
}
|