nixos/home/plasma/nixos.nix

53 lines
1.2 KiB
Nix
Raw Normal View History

2024-05-13 08:55:58 +08:00
{ pkgs
, lib
, config
, plasma-manager
, ... }: with lib; let
cfg = config.home.plasma;
in {
options.home.plasma = {
enable = mkEnableOption "plasma desktop and configuration";
2024-05-14 10:20:46 +08:00
specialise = mkEnableOption "enable plasma in a specialisation";
2024-05-13 08:55:58 +08:00
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"
2024-05-14 17:29:54 +08:00
];
users.home.persist.directories = mkIf cfg.enable [
2024-05-14 12:14:12 +08:00
".local/share/kwalletd"
];
2024-05-13 08:55:58 +08:00
services.desktopManager.plasma6 = mkIf cfg.enable {
enable = true;
};
home-manager.backupFileExtension = mkIf cfg.enable "old";
home-manager.sharedModules = [
2024-05-13 08:55:58 +08:00
plasma-manager.homeManagerModules.plasma-manager
];
services.blueman = mkIf cfg.enable {
enable = mkForce false;
};
home = mkIf cfg.enable {
catppuccin.enable = mkForce false;
};
2024-05-14 10:20:46 +08:00
specialisation.plasma = mkIf cfg.specialise {
configuration.home.plasma.enable = true;
};
2024-05-13 08:55:58 +08:00
};
}