Files
nixos-blueprint/modules/nixos/desktop/cosmic.nix
2025-04-27 22:02:07 +03:00

49 lines
1.2 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 {
sound.pipewire.enable = true;
nix.settings = {
substituters = ["https://cosmic.cachix.org/"];
trusted-public-keys = ["cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="];
};
environment.sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1;
systemd.packages = [pkgs.observatory];
systemd.services.monitord.wantedBy = ["multi-user.target"];
services.desktopManager.cosmic.enable = true;
services.displayManager.cosmic-greeter.enable = true;
services = {
gnome.gnome-keyring.enable = true;
dbus = {
apparmor = "enabled";
implementation = "broker";
};
};
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"];
};
};
};
}