Files
nixos-blueprint/modules/nixos/desktop/cosmic.nix
2025-05-03 13:31:37 +03:00

47 lines
1.1 KiB
Nix

{
config,
inputs,
pkgs,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.desktop.cosmic;
in {
imports = with inputs; [
nixos-cosmic.nixosModules.default
];
options = {
desktop.cosmic.enable =
mkEnableOption "enable cosmic desktop";
};
config = mkIf cfg.enable {
environment.sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1;
sound.pipewire.enable = true;
services = {
desktopManager.cosmic.enable = true;
displayManager.cosmic-greeter.enable = true;
gnome.gnome-keyring.enable = true;
dbus = {
apparmor = "enabled";
implementation = "broker";
};
};
systemd = {
packages = [pkgs.observatory];
services.monitord.wantedBy = ["multi-user.target"];
};
xdg.portal = {
enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-cosmic
xdg-desktop-portal-gtk
];
config.cosmic = {
default = ["cosmic" "gtk"];
"org.freedesktop.impl.portal.Secret" = ["gnome-keyring"];
};
};
};
}