Files
TheaninovOS/modules/nixos/desktops/hyprland.nix

39 lines
1.0 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 {
services.getty.autologinUser = "${username}";
services.getty.extraArgs = [ "--noclear" "--noissue" "--nonewline" ];
services.getty.loginOptions = "-p -f -- \\u"; # preserve environment
services.dbus.enable = true;
xdg.portal = {
enable = true;
extraPortals =
[ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-kde ];
};
services.pcscd.enable = true;
# nautilus on non-gnome
services.gvfs.enable = true;
# fix pinentry on non-gnome
services.dbus.packages = with pkgs; [ gcr ];
services.gnome.gnome-online-accounts.enable = true;
services.gnome.evolution-data-server.enable = true;
programs.hyprland.enable = true;
programs.kdeconnect.enable = true;
environment.sessionVariables.NIXOS_OZONE_WL = "1";
};
}