Files
TheaninovOS/modules/nixos/desktops/hyprland.nix
2024-04-03 22:09:56 +02:00

51 lines
1.1 KiB
Nix

{ config, lib, pkgs, username, ... }:
with lib;
let cfg = config.desktops.hyprland;
in {
options.desktops.hyprland = {
enable = mkEnableOption (mdDoc "Enable a DE based on Hyprland");
};
config = mkIf cfg.enable {
xdg.portal = {
enable = true;
extraPortals =
[ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-kde ];
};
services = {
greetd = {
enable = true;
settings = rec {
initial_session = {
command = "${pkgs.hyprland}/bin/Hyprland &> /dev/null";
user = username;
};
default_session = initial_session;
};
};
dbus.enable = true;
pcscd.enable = true;
# nautilus on non-gnome
gvfs.enable = true;
# fix pinentry on non-gnome
dbus.packages = with pkgs; [ gcr ];
gnome.gnome-online-accounts.enable = true;
gnome.evolution-data-server.enable = true;
};
programs = {
hyprland.enable = true;
kdeconnect.enable = true;
};
environment.sessionVariables.NIXOS_OZONE_WL = "1";
};
}