{ pkgs, config, lib, ... }: let cfg = config.xyno.presets.gui; in { options.xyno.presets.gui.enable = lib.mkEnableOption "enables xynos gui config"; options.xyno.presets.gui.terminalEmulator = lib.mkOption { type = lib.types.str; default = "alacritty"; }; config = lib.mkIf cfg.enable { xyno.desktop.niri.enable = true; xyno.desktop.audio.enable = lib.mkDefault true; xyno.desktop.mate-polkit.enable = true; xyno.hardware.kmonad.enable = true; # wayland on electron environment.sessionVariables.NIXOS_OZONE_WL = "1"; services.displayManager.defaultSession = "niri"; # gdm services.xserver.displayManager.gdm.enable = true; services.xserver.enable = true; services.xserver.displayManager.gdm.wayland = true; # ssh agent programs.ssh.startAgent = true; qt = { enable = true; style = "breeze"; platformTheme = "kde"; }; # setup printing services.avahi = { enable = true; nssmdns4 = true; nssmdns6 = true; openFirewall = true; }; services.printing.enable = true; # enable the gnome shit services.gnome.gnome-keyring.enable = true; services.gnome.gnome-online-accounts.enable = true; services.gnome.core-utilities.enable = true; services.gnome.sushi.enable = true; services.gnome.gnome-settings-daemon.enable = true; services.gvfs.enable = true; home-manager.users.${config.xyno.system.user.name} = { pkgs, ... }: { xdg.desktopEntries.nemo = { name = "Nemo"; exec = "${pkgs.nemo-with-extensions}/bin/nemo"; }; xdg.mimeApps = { enable = true; defaultApplications = { "inode/directory" = [ "nemo.desktop" ]; "application/x-gnome-saved-search" = [ "nemo.desktop" ]; "x-scheme-handler/http" = "userapp-Zen-D2P132.desktop"; "x-scheme-handler/https" = "userapp-Zen-D2P132.desktop"; "x-scheme-handler/chrome" = "userapp-Zen-D2P132.desktop"; "text/html" = "userapp-Zen-D2P132.desktop"; "application/x-extension-htm" = "userapp-Zen-D2P132.desktop"; "application/x-extension-html" = "userapp-Zen-D2P132.desktop"; "application/x-extension-shtml" = "userapp-Zen-D2P132.desktop"; "application/xhtml+xml" = "userapp-Zen-D2P132.desktop"; "application/x-extension-xhtml" = "userapp-Zen-D2P132.desktop"; "application/x-extension-xht" = "userapp-Zen-D2P132.desktop"; "application/pdf" = "org.gnome.Evince.desktop"; }; }; }; environment.systemPackages = with pkgs; [ nemo-with-extensions kdePackages.breeze-gtk kdePackages.breeze.qt5 kdePackages.breeze kdePackages.breeze-icons ]; # fonts fonts.packages = with pkgs; [ nerdfonts cantarell-fonts dejavu_fonts source-code-pro # Default monospace font in 3.32 source-sans b612 ]; }; }