From 51634b115a78e0a3c74ed0c34281adcb58225388 Mon Sep 17 00:00:00 2001 From: specCon18 Date: Tue, 15 Aug 2023 21:35:08 -0400 Subject: [PATCH] converted to having an enable for desktop envs --- modules/system/desktop-environments/gnome.nix | 69 ++++++++++-------- .../system/desktop-environments/hyprland.nix | 71 ++++++++++++------- 2 files changed, 85 insertions(+), 55 deletions(-) diff --git a/modules/system/desktop-environments/gnome.nix b/modules/system/desktop-environments/gnome.nix index 1e2163f..9bccc32 100644 --- a/modules/system/desktop-environments/gnome.nix +++ b/modules/system/desktop-environments/gnome.nix @@ -1,34 +1,45 @@ -{ config, pkgs, lib, ... }: { - # Gnome extensions - environment.systemPackages = with pkgs; [ - gnomeExtensions.dock-from-dash - gnomeExtensions.pop-shell - gnome-extension-manager - ]; + config, + pkgs, + lib, + ... +}: let + inherit (lib) mkEnableOption mkIf; + cfg = config.speccon18.desktop.gnome; +in { + options.speccon18.desktop.gnome = { + enable = mkEnableOption "enables specs custom gnome setup"; + }; + config = mkIf cfg.enable { + # Gnome extensions + environment.systemPackages = with pkgs; [ + gnomeExtensions.dock-from-dash + gnomeExtensions.pop-shell + gnome-extension-manager + ]; - services = { - gnome = { - core-utilities.enable = false; - gnome-keyring.enable = true; - }; - - xserver = { - enable = true; - layout = "us"; - xkbVariant = ""; - displayManager = { - gdm = { - enable = true; - wayland = true; - }; - defaultSession = lib.mkDefault "gnome"; - }; - desktopManager = { - xterm.enable = false; - gnome.enable = lib.mkDefault true; + services = { + gnome = { + core-utilities.enable = false; + gnome-keyring.enable = true; + }; + + xserver = { + enable = true; + layout = "us"; + xkbVariant = ""; + displayManager = { + gdm = { + enable = true; + wayland = true; + }; + defaultSession = lib.mkDefault "gnome"; + }; + desktopManager = { + xterm.enable = false; + gnome.enable = lib.mkDefault true; + }; }; - }; }; programs = { @@ -41,5 +52,5 @@ "text/markdown" = "hx"; }; }; - + }; } diff --git a/modules/system/desktop-environments/hyprland.nix b/modules/system/desktop-environments/hyprland.nix index 415ea0b..7f6cbdc 100644 --- a/modules/system/desktop-environments/hyprland.nix +++ b/modules/system/desktop-environments/hyprland.nix @@ -1,31 +1,50 @@ -{ config, pkgs, lib, ... }: { - programs.hyprland = { - enable = true; - nvidiaPatches = true; - xwayland.enable = true; + config, + pkgs, + lib, + ... +}: let + inherit (lib) mkEnableOption mkIf; + cfg = config.speccon18.desktop.hyprland; +in { + options.speccon18.desktop.hyprland = { + enable = mkEnableOption "enables specs custom hyprland setup"; }; - environment = { - systemPackages = with pkgs; [ - # libsForQt5.polkit-kde-agent - libsForQt5.qt5.qtwayland - qt6.full - qt6.qtwayland - waybar - swww - pw-volume - rofi-wayland - libnotify - mako - xdg-desktop-portal-hyprland - ]; - sessionVariables = { - WLR_NO_HARDWARE_CURSORS = "1"; - NIXOS_OZONE_WL = "1"; + config = mkIf cfg.enable { + programs.hyprland = { + enable = true; + nvidiaPatches = true; + xwayland.enable = true; + }; + environment = { + systemPackages = with pkgs; [ + # libsForQt5.polkit-kde-agent + libsForQt5.qt5.qtwayland + qt6.full + qt6.qtwayland + waybar + swww + pw-volume + rofi-wayland + libnotify + mako + xdg-desktop-portal-hyprland + ]; + sessionVariables = { + WLR_NO_HARDWARE_CURSORS = "1"; + NIXOS_OZONE_WL = "1"; + }; + }; + xdg.portal = { + enable = true; + extraPortals = [ + pkgs.xdg-desktop-portal-hyprland + pkgs.xdg-desktop-portal-gtk + ]; + }; + hardware = { + opengl.enable = true; + nvidia.modesetting.enable = true; }; }; - hardware = { - opengl.enable = true; - nvidia.modesetting.enable = true; - }; } \ No newline at end of file