diff options
| author | seth <[email protected]> | 2024-02-02 14:40:21 -0500 |
|---|---|---|
| committer | seth <[email protected]> | 2024-02-02 14:40:21 -0500 |
| commit | 9758b8236dcaafb958e6ef4f634d201af0bea80b (patch) | |
| tree | 5c5e2ad317d6bef10a26487c5aa2e7887e18f68c /modules/nixos/desktop | |
| parent | b405f4750738a0850cf220f7bade601a8c6355b5 (diff) | |
modules/nixos+darwin: make everything an actual module again
Diffstat (limited to 'modules/nixos/desktop')
| -rw-r--r-- | modules/nixos/desktop/budgie/default.nix | 101 | ||||
| -rw-r--r-- | modules/nixos/desktop/default.nix | 95 | ||||
| -rw-r--r-- | modules/nixos/desktop/gnome/default.nix | 43 | ||||
| -rw-r--r-- | modules/nixos/desktop/plasma/default.nix | 37 |
4 files changed, 161 insertions, 115 deletions
diff --git a/modules/nixos/desktop/budgie/default.nix b/modules/nixos/desktop/budgie/default.nix index cb236b5..dbd3715 100644 --- a/modules/nixos/desktop/budgie/default.nix +++ b/modules/nixos/desktop/budgie/default.nix @@ -1,54 +1,65 @@ -{pkgs, ...}: { - environment = { - budgie.excludePackages = with pkgs; [ - qogir-theme - qogir-icon-theme +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.desktop.budgie; +in { + options.desktop.budgie.enable = lib.mkEnableOption "budgie desktop"; - # i don't like mates apps. fedora doesn't use them either :/ - mate.atril - mate.pluma - mate.engrampa - mate.mate-calc - mate.mate-terminal - mate.mate-system-monitor - vlc - ]; + config = lib.mkIf cfg.enable { + environment = { + budgie.excludePackages = with pkgs; [ + qogir-theme + qogir-icon-theme - systemPackages = with pkgs; [ - materia-theme - papirus-icon-theme + # i don't like mates apps. fedora doesn't use them either :/ + mate.atril + mate.pluma + mate.engrampa + mate.mate-calc + mate.mate-terminal + mate.mate-system-monitor + vlc + ]; - # replacements for mate stuff - evince - gedit - cinnamon.nemo-fileroller - gnome.gnome-calculator - blackbox-terminal - gnome.gnome-system-monitor - celluloid - ]; - }; + systemPackages = with pkgs; [ + materia-theme + papirus-icon-theme - services.xserver = { - displayManager.lightdm.greeters.slick = { - theme = { - name = "Materia-dark"; - package = pkgs.materia-theme; - }; - iconTheme = { - name = "Papirus-Dark"; - package = pkgs.papirus-icon-theme; - }; + # replacements for mate stuff + evince + gedit + cinnamon.nemo-fileroller + gnome.gnome-calculator + blackbox-terminal + gnome.gnome-system-monitor + celluloid + ]; }; - desktopManager.budgie = { - enable = true; - extraGSettingsOverrides = '' - [org.gnome.desktop.interface:Budgie] - color-scheme='prefer-dark' - gtk-theme='Materia-dark' - icon-theme='Papirus-Dark' - ''; + services.xserver = { + displayManager.lightdm.greeters.slick = { + theme = { + name = "Materia-dark"; + package = pkgs.materia-theme; + }; + iconTheme = { + name = "Papirus-Dark"; + package = pkgs.papirus-icon-theme; + }; + }; + + desktopManager.budgie = { + enable = true; + extraGSettingsOverrides = '' + [org.gnome.desktop.interface:Budgie] + color-scheme='prefer-dark' + gtk-theme='Materia-dark' + icon-theme='Papirus-Dark' + ''; + }; }; }; } diff --git a/modules/nixos/desktop/default.nix b/modules/nixos/desktop/default.nix index 68e9d65..12023ef 100644 --- a/modules/nixos/desktop/default.nix +++ b/modules/nixos/desktop/default.nix @@ -1,55 +1,68 @@ { + config, lib, pkgs, ... -}: { - environment = { - noXlibs = lib.mkForce false; - systemPackages = with pkgs; [wl-clipboard xclip]; - }; +}: let + cfg = config.desktop; +in { + options.desktop.enable = lib.mkEnableOption "base desktop settings"; + + imports = [ + ./budgie + ./gnome + ./plasma + ]; + + config = lib.mkIf cfg.enable { + environment = { + noXlibs = lib.mkForce false; + systemPackages = with pkgs; [wl-clipboard xclip]; + }; + + fonts = { + enableDefaultPackages = lib.mkDefault true; + + packages = with pkgs; [ + (nerdfonts.override {fonts = ["FiraCode" "Hack" "Noto"];}) + noto-fonts + noto-fonts-extra + noto-fonts-color-emoji + noto-fonts-cjk-sans + ]; - fonts = { - enableDefaultPackages = lib.mkDefault true; - - packages = with pkgs; [ - (nerdfonts.override {fonts = ["FiraCode" "Hack" "Noto"];}) - noto-fonts - noto-fonts-extra - noto-fonts-color-emoji - noto-fonts-cjk-sans - ]; - - fontconfig = { - enable = lib.mkDefault true; - cache32Bit = true; - defaultFonts = lib.mkDefault { - serif = ["Noto Serif"]; - sansSerif = ["Noto Sans"]; - emoji = ["Noto Color Emoji"]; - monospace = ["Noto Sans Mono"]; + fontconfig = { + enable = lib.mkDefault true; + cache32Bit = true; + defaultFonts = lib.mkDefault { + serif = ["Noto Serif"]; + sansSerif = ["Noto Sans"]; + emoji = ["Noto Color Emoji"]; + monospace = ["Noto Sans Mono"]; + }; }; }; - }; - hardware.pulseaudio.enable = false; + hardware.pulseaudio.enable = false; - programs = { - chromium.enable = lib.mkDefault true; - firefox.enable = lib.mkDefault true; - xwayland.enable = lib.mkDefault true; - }; + programs = { + chromium.enable = lib.mkDefault true; + firefox.enable = lib.mkDefault true; + xwayland.enable = lib.mkDefault true; + }; - services = { - pipewire = lib.mkDefault { - enable = true; - wireplumber.enable = true; - alsa.enable = true; - jack.enable = true; - pulse.enable = true; + services = { + pipewire = lib.mkDefault { + enable = true; + wireplumber.enable = true; + alsa.enable = true; + jack.enable = true; + pulse.enable = true; + }; + + xserver.enable = lib.mkDefault true; }; - xserver.enable = lib.mkDefault true; + xdg.portal.enable = lib.mkDefault true; }; - - xdg.portal.enable = lib.mkDefault true; } diff --git a/modules/nixos/desktop/gnome/default.nix b/modules/nixos/desktop/gnome/default.nix index 18f023f..a925199 100644 --- a/modules/nixos/desktop/gnome/default.nix +++ b/modules/nixos/desktop/gnome/default.nix @@ -1,21 +1,32 @@ -{pkgs, ...}: { - environment = { - gnome.excludePackages = with pkgs; [ - gnome-tour - ]; +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.desktop.gnome; +in { + options.desktop.gnome.enable = lib.mkEnableOption "GNOME desktop"; - sessionVariables = { - NIXOS_OZONE_WL = "1"; - }; + config = lib.mkIf cfg.enable { + environment = { + gnome.excludePackages = with pkgs; [ + gnome-tour + ]; - systemPackages = with pkgs; [ - adw-gtk3 - blackbox-terminal - ]; - }; + sessionVariables = { + NIXOS_OZONE_WL = "1"; + }; - services.xserver = { - displayManager.gdm.enable = true; - desktopManager.gnome.enable = true; + systemPackages = with pkgs; [ + adw-gtk3 + blackbox-terminal + ]; + }; + + services.xserver = { + displayManager.gdm.enable = true; + desktopManager.gnome.enable = true; + }; }; } diff --git a/modules/nixos/desktop/plasma/default.nix b/modules/nixos/desktop/plasma/default.nix index d580e3f..df9fe38 100644 --- a/modules/nixos/desktop/plasma/default.nix +++ b/modules/nixos/desktop/plasma/default.nix @@ -1,17 +1,28 @@ -{pkgs, ...}: { - environment = { - plasma5.excludePackages = with pkgs.libsForQt5; [ - khelpcenter - plasma-browser-integration - print-manager - ]; - }; +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.desktop.plasma; +in { + options.desktop.plasma.enable = lib.mkEnableOption "Plasma desktop"; + + config = lib.mkIf cfg.enable { + environment = { + plasma5.excludePackages = with pkgs.libsForQt5; [ + khelpcenter + plasma-browser-integration + print-manager + ]; + }; - services.xserver = { - displayManager.sddm.enable = true; - desktopManager.plasma5 = { - enable = true; - useQtScaling = true; + services.xserver = { + displayManager.sddm.enable = true; + desktopManager.plasma5 = { + enable = true; + useQtScaling = true; + }; }; }; } |
