diff --git a/hosts/configuration.nix b/hosts/configuration.nix index d20a3c6..1d0c237 100644 --- a/hosts/configuration.nix +++ b/hosts/configuration.nix @@ -22,17 +22,16 @@ programs.fish.enable = true; # Enable the X11 windowing system. - services.xserver.enable = true; + # services.xserver.enable = true; # Enable the KDE Plasma Desktop Environment. services.xserver.displayManager.sddm.enable = true; - services.xserver.desktopManager.plasma5.enable = true; # Configure keymap in X11 - services.xserver = { - layout = "de"; - xkbVariant = ""; - }; + # services.xserver = { + # layout = "de"; + # xkbVariant = ""; + # }; time.timeZone = "Europe/Berlin"; i18n = { @@ -160,6 +159,8 @@ }; }; + #hardware.pulseaudio.enable = false; + nix = { # Nix Package Manager Settings settings = { diff --git a/hosts/desktop/default.nix b/hosts/desktop/default.nix index 15eb725..d3d2330 100644 --- a/hosts/desktop/default.nix +++ b/hosts/desktop/default.nix @@ -39,6 +39,7 @@ services.udev.packages = [unstable.utsushi]; hyprland.enable = true; # Window Manager + kde.enable = true; environment = { systemPackages = with pkgs; [ diff --git a/modules/desktops/default.nix b/modules/desktops/default.nix index 12b71c3..c5d69b9 100644 --- a/modules/desktops/default.nix +++ b/modules/desktops/default.nix @@ -1 +1,5 @@ -[./hyprland.nix] +[ + ./hyprland.nix + ./kde.nix + ./gnome.nix +] diff --git a/modules/desktops/gnome.nix b/modules/desktops/gnome.nix new file mode 100644 index 0000000..8b3b151 --- /dev/null +++ b/modules/desktops/gnome.nix @@ -0,0 +1,65 @@ +# +# Gnome Configuration +# Enable with "gnome.enable = true;" +# +{ + config, + lib, + pkgs, + vars, + ... +}: +with lib; { + options = { + gnome = { + enable = mkOption { + type = types.bool; + default = false; + }; + }; + }; + + config = mkIf (config.gnome.enable) { + services = { + xserver = { + enable = true; + + layout = "de"; + libinput.enable = true; + modules = [pkgs.xf86_input_wacom]; + wacom.enable = true; + + desktopManager.gnome.enable = true; # Desktop Environment + }; + udev.packages = with pkgs; [ + gnome.gnome-settings-daemon + ]; + }; + + environment = { + systemPackages = with pkgs; [ + # System-Wide Packages + gnome.adwaita-icon-theme + gnome.dconf-editor + gnome.gnome-tweaks + ]; + gnome.excludePackages = + (with pkgs; [ + # Ignored Packages + gnome-tour + ]) + ++ (with pkgs.gnome; [ + atomix + epiphany + geary + gedit + gnome-characters + gnome-contacts + gnome-initial-setup + hitori + iagno + tali + ]); + }; + }; +} diff --git a/modules/desktops/hyprland.nix b/modules/desktops/hyprland.nix index d412514..eb28bbc 100644 --- a/modules/desktops/hyprland.nix +++ b/modules/desktops/hyprland.nix @@ -25,42 +25,7 @@ with host; { }; config = mkIf (config.hyprland.enable) { - #wlwm.enable = true; # Wayland Window Manager - environment = { - # variables = { - # #WLR_NO_HARDWARE_CURSORS="1"; # Needed for VM - # #WLR_RENDERER_ALLOW_SOFTWARE="1"; - # XDG_CURRENT_DESKTOP = "Hyprland"; - # XDG_SESSION_TYPE = "wayland"; - # XDG_SESSION_DESKTOP = "Hyprland"; - # }; - # sessionVariables = - # if hostName == "desktop" - # then { - # GBM_BACKEND = "nvidia-drm"; - # #__GL_GSYNC_ALLOWED = "0"; - # #__GL_VRR_ALLOWED = "0"; - # #WLR_DRM_NO_ATOMIC = "1"; - # __GLX_VENDOR_LIBRARY_NAME = "nvidia"; - # #_JAVA_AWT_WM_NONREPARENTING = "1"; - # - # QT_QPA_PLATFORM = "wayland"; - # QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; - # - # GDK_BACKEND = "wayland"; - # WLR_NO_HARDWARE_CURSORS = "1"; - # MOZ_ENABLE_WAYLAND = "1"; - # NIXOS_OZONE_WL = "1"; - # } - # else { - # QT_QPA_PLATFORM = "wayland"; - # QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; - # - # GDK_BACKEND = "wayland"; - # WLR_NO_HARDWARE_CURSORS = "1"; - # MOZ_ENABLE_WAYLAND = "1"; - # }; systemPackages = with pkgs; [ grim # Grab Images slurp # Region Selector diff --git a/modules/desktops/kde.nix b/modules/desktops/kde.nix new file mode 100644 index 0000000..5064e52 --- /dev/null +++ b/modules/desktops/kde.nix @@ -0,0 +1,53 @@ +# +# KDE Plasma 5 Configuration +# Enable with "kde.enable = true;" +# Get the plasma configs in a file with $ nix run github:pjones/plasma-manager > +# +{ + config, + lib, + pkgs, + vars, + ... +}: +with lib; { + options = { + kde = { + enable = mkOption { + type = types.bool; + default = false; + }; + }; + }; + + config = mkIf (config.kde.enable) { + services = { + xserver = { + enable = true; + + layout = "de"; + libinput.enable = true; + modules = [pkgs.xf86_input_wacom]; + wacom.enable = true; + + #displayManager.defaultSession = "plasmawayland"; + + desktopManager.plasma5 = { + enable = true; # Desktop Environment + }; + }; + }; + + environment = { + systemPackages = with pkgs.libsForQt5; [ + # System-Wide Packages + ]; + plasma5.excludePackages = with pkgs.libsForQt5; [ + elisa + khelpcenter + konsole + oxygen + ]; + }; + }; +}