nixos/home/plasma/nixos.nix
2025-01-13 11:52:09 +08:00

58 lines
1.2 KiB
Nix

{
pkgs,
lib,
config,
plasma-manager,
...
}:
with lib;
let
cfg = config.home.plasma;
in
{
options.home.plasma = {
enable = mkEnableOption "plasma desktop and configuration";
specialise = mkEnableOption "enable plasma in a specialisation";
extraConfig = mkOption {
type = with types; anything;
default = { };
description = "extra plasma-manager configuration";
};
};
config = {
users.homeModules = [
# this module passes plasma configuration to home-manager
{ passthrough.plasma = cfg; }
];
users.home.persist.files = mkIf cfg.enable [
".config/kwinoutputconfig.json"
];
users.home.persist.directories = mkIf cfg.enable [
".local/share/kwalletd"
];
services.desktopManager.plasma6 = mkIf cfg.enable {
enable = true;
};
home-manager.backupFileExtension = mkIf cfg.enable "old";
home-manager.sharedModules = [
plasma-manager.homeManagerModules.plasma-manager
];
services.blueman = mkIf cfg.enable {
enable = mkForce false;
};
home = mkIf cfg.enable {
catppuccin.enable = mkForce false;
};
specialisation.plasma = mkIf cfg.specialise {
configuration.home.plasma.enable = true;
};
};
}