Files
TheaninovOS/modules/nixos/desktops/hyprland.nix
2024-04-17 10:03:57 +02:00

63 lines
1.2 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 = {
initial_session = {
command = "${pkgs.hyprland}/bin/Hyprland &> /dev/null";
user = username;
};
default_session = {
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --asterisks";
user = username;
};
};
};
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";
};
}