converted to having an enable for desktop envs

This commit is contained in:
specCon18 2023-08-15 21:35:08 -04:00
parent 00554ce703
commit 51634b115a
2 changed files with 85 additions and 55 deletions

View file

@ -1,34 +1,45 @@
{ config, pkgs, lib, ... }:
{ {
# Gnome extensions config,
environment.systemPackages = with pkgs; [ pkgs,
gnomeExtensions.dock-from-dash lib,
gnomeExtensions.pop-shell ...
gnome-extension-manager }: 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 = { services = {
gnome = { gnome = {
core-utilities.enable = false; core-utilities.enable = false;
gnome-keyring.enable = true; gnome-keyring.enable = true;
}; };
xserver = { xserver = {
enable = true; enable = true;
layout = "us"; layout = "us";
xkbVariant = ""; xkbVariant = "";
displayManager = { displayManager = {
gdm = { gdm = {
enable = true; enable = true;
wayland = true; wayland = true;
}; };
defaultSession = lib.mkDefault "gnome"; defaultSession = lib.mkDefault "gnome";
}; };
desktopManager = { desktopManager = {
xterm.enable = false; xterm.enable = false;
gnome.enable = lib.mkDefault true; gnome.enable = lib.mkDefault true;
};
}; };
};
}; };
programs = { programs = {
@ -41,5 +52,5 @@
"text/markdown" = "hx"; "text/markdown" = "hx";
}; };
}; };
};
} }

View file

@ -1,31 +1,50 @@
{ config, pkgs, lib, ... }:
{ {
programs.hyprland = { config,
enable = true; pkgs,
nvidiaPatches = true; lib,
xwayland.enable = true; ...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.speccon18.desktop.hyprland;
in {
options.speccon18.desktop.hyprland = {
enable = mkEnableOption "enables specs custom hyprland setup";
}; };
environment = { config = mkIf cfg.enable {
systemPackages = with pkgs; [ programs.hyprland = {
# libsForQt5.polkit-kde-agent enable = true;
libsForQt5.qt5.qtwayland nvidiaPatches = true;
qt6.full xwayland.enable = true;
qt6.qtwayland };
waybar environment = {
swww systemPackages = with pkgs; [
pw-volume # libsForQt5.polkit-kde-agent
rofi-wayland libsForQt5.qt5.qtwayland
libnotify qt6.full
mako qt6.qtwayland
xdg-desktop-portal-hyprland waybar
]; swww
sessionVariables = { pw-volume
WLR_NO_HARDWARE_CURSORS = "1"; rofi-wayland
NIXOS_OZONE_WL = "1"; 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;
};
} }