summaryrefslogtreecommitdiff
path: root/modules/nixos/desktop
diff options
context:
space:
mode:
authorSeth Flynn <[email protected]>2025-02-13 17:44:18 -0500
committerSeth Flynn <[email protected]>2025-02-13 22:09:11 -0500
commit8531a2bc3189e31ce1623123f92cdcfce20e49b6 (patch)
tree9632a5f799ece67019f97f5f99f2d3b01fb23477 /modules/nixos/desktop
parent386ecf3d14ea486aba523b14200fcd2e7e04b9d6 (diff)
nixos: make desktop stuff mixins
Diffstat (limited to 'modules/nixos/desktop')
-rw-r--r--modules/nixos/desktop/audio.nix26
-rw-r--r--modules/nixos/desktop/budgie/default.nix70
-rw-r--r--modules/nixos/desktop/default.nix32
-rw-r--r--modules/nixos/desktop/fonts.nix41
-rw-r--r--modules/nixos/desktop/gnome/default.nix56
-rw-r--r--modules/nixos/desktop/niri/default.nix53
-rw-r--r--modules/nixos/desktop/plasma/default.nix43
-rw-r--r--modules/nixos/desktop/programs.nix17
8 files changed, 0 insertions, 338 deletions
diff --git a/modules/nixos/desktop/audio.nix b/modules/nixos/desktop/audio.nix
deleted file mode 100644
index cf819e6..0000000
--- a/modules/nixos/desktop/audio.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ config, lib, ... }:
-let
- cfg = config.desktop.audio;
-in
-{
- options.desktop.audio = {
- enable = lib.mkEnableOption "desktop audio configuration" // {
- default = config.desktop.enable;
- defaultText = lib.literalExpression "config.desktop.enable";
- };
- };
-
- config = lib.mkIf cfg.enable {
- security.rtkit.enable = true;
-
- services = {
- pipewire = lib.mkDefault {
- enable = true;
- wireplumber.enable = true;
- alsa.enable = true;
- jack.enable = true;
- pulse.enable = true;
- };
- };
- };
-}
diff --git a/modules/nixos/desktop/budgie/default.nix b/modules/nixos/desktop/budgie/default.nix
deleted file mode 100644
index ac02b33..0000000
--- a/modules/nixos/desktop/budgie/default.nix
+++ /dev/null
@@ -1,70 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-let
- cfg = config.desktop.budgie;
-in
-{
- options.desktop.budgie.enable = lib.mkEnableOption "Budgie desktop";
-
- # TODO: Improve this module
- config = lib.mkIf cfg.enable {
- environment = {
- budgie.excludePackages = with pkgs; [
- qogir-theme
- qogir-icon-theme
-
- # I don't like MATE's apps. Fedora doesn't use them either :/
- mate.atril
- mate.pluma
- mate.engrampa
- mate.mate-calc
- mate.mate-terminal
- mate.mate-system-monitor
- vlc
- ];
-
- systemPackages = [
- pkgs.materia-theme
- pkgs.papirus-icon-theme
-
- # Replacements for mate stuff
- pkgs.celluloid
- pkgs.cinnamon.nemo-fileroller
- pkgs.evince
- pkgs.gedit
- pkgs.gnome-console
- pkgs.gnome.gnome-calculator
- pkgs.gnome.gnome-system-monitor
- ];
- };
-
- services.xserver = {
- # fedora uses these by default
- 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;
- # make sure we actually use the above themes
- 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
deleted file mode 100644
index c7029cb..0000000
--- a/modules/nixos/desktop/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-let
- cfg = config.desktop;
-in
-{
- options.desktop = {
- enable = lib.mkEnableOption "desktop settings";
- };
-
- imports = [
- ./audio.nix
- ./fonts.nix
- ./programs.nix
-
- ./budgie
- ./gnome
- ./niri
- ./plasma
- ];
-
- config = lib.mkIf cfg.enable {
- services.xserver = {
- enable = true;
- excludePackages = [ pkgs.xterm ];
- };
- };
-}
diff --git a/modules/nixos/desktop/fonts.nix b/modules/nixos/desktop/fonts.nix
deleted file mode 100644
index de3f5b4..0000000
--- a/modules/nixos/desktop/fonts.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-let
- cfg = config.desktop.fonts;
-in
-{
- options.desktop.fonts = {
- enable = lib.mkEnableOption "desktop fonts" // {
- default = config.desktop.enable;
- defaultText = lib.literalExpression "config.desktop.enable";
- };
- };
-
- config = lib.mkIf cfg.enable {
- fonts = {
- enableDefaultPackages = true;
-
- packages = with pkgs; [
- noto-fonts
- noto-fonts-color-emoji
- noto-fonts-cjk-sans
-
- nerd-fonts.hack
- ];
-
- fontconfig = {
- enable = true;
- defaultFonts = lib.mkDefault {
- serif = [ "Noto Serif" ];
- sansSerif = [ "Noto Sans" ];
- emoji = [ "Noto Color Emoji" ];
- monospace = [ "Hack Nerd Font" ];
- };
- };
- };
- };
-}
diff --git a/modules/nixos/desktop/gnome/default.nix b/modules/nixos/desktop/gnome/default.nix
deleted file mode 100644
index 13d25fa..0000000
--- a/modules/nixos/desktop/gnome/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-let
- cfg = config.desktop.gnome;
-in
-{
- options.desktop.gnome.enable = lib.mkEnableOption "GNOME desktop";
-
- config = lib.mkIf cfg.enable {
- environment = {
- gnome.excludePackages = with pkgs; [
- gnome-tour
- totem # Replaced with celluloid
- seahorse # Replaced with key-rack
- ];
-
- sessionVariables = {
- NIXOS_OZONE_WL = "1";
- # For qadwaitadecorations
- QT_WAYLAND_DECORATION = "adwaita";
- };
-
- systemPackages = [
- # Make GTK3 apps look good
- pkgs.adw-gtk3
- # Media player
- pkgs.celluloid
- # Checksum verifier
- pkgs.collision
- # Audio player
- pkgs.decibels
- # Screen recorder
- pkgs.kooha
- # Secret manager
- pkgs.key-rack
- # Fix Qt app client decorations
- pkgs.qadwaitadecorations
- pkgs.qadwaitadecorations-qt6
- # Task manager
- pkgs.resources
- # Emoji picker
- pkgs.smile
- pkgs.video-trimmer
- ];
- };
-
- services.xserver = {
- displayManager.gdm.enable = true;
- desktopManager.gnome.enable = true;
- };
- };
-}
diff --git a/modules/nixos/desktop/niri/default.nix b/modules/nixos/desktop/niri/default.nix
deleted file mode 100644
index 93505ee..0000000
--- a/modules/nixos/desktop/niri/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-let
- cfg = config.desktop.niri;
-in
-{
- options.desktop.niri = {
- enable = lib.mkEnableOption "Niri desktop settings";
- };
-
- config = lib.mkIf cfg.enable {
- environment = {
- sessionVariables = {
- NIXOS_OZONE_WL = "1"; # Niri doesn't have native XWayland support
- };
-
- systemPackages = with pkgs; [
- # Terminal
- alacritty
- # Media player
- celluloid
- # PDF viewer
- evince
- # Application runner
- fuzzel
- # Image viewer
- loupe
- # Notification daemon
- mako
- # Polkit agent
- pantheon.pantheon-agent-polkit
- # Screen locker
- swaylock
- # Trash manager
- trashy
- ];
- };
-
- services.greetd = {
- enable = true;
- settings = {
- default_session.command = toString [
- (lib.getExe pkgs.greetd.tuigreet)
- "--time"
- ];
- };
- };
- };
-}
diff --git a/modules/nixos/desktop/plasma/default.nix b/modules/nixos/desktop/plasma/default.nix
deleted file mode 100644
index 6160afa..0000000
--- a/modules/nixos/desktop/plasma/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- config,
- lib,
- pkgs,
- inputs',
- ...
-}:
-let
- cfg = config.desktop.plasma;
-in
-{
- options.desktop.plasma.enable = lib.mkEnableOption "Plasma desktop";
-
- config = lib.mkIf cfg.enable {
- environment = {
- plasma6.excludePackages = with pkgs.kdePackages; [
- discover
- khelpcenter
- konsole
- plasma-browser-integration
- ];
-
- sessionVariables = {
- NIXOS_OZONE_WL = "1";
- };
-
- systemPackages = [
- inputs'.krunner-nix.packages.default # thank you leah
- pkgs.ghostty
- pkgs.haruna # mpv frontend
- ];
- };
-
- services = {
- displayManager.sddm = {
- enable = true;
- wayland.enable = true;
- };
-
- desktopManager.plasma6.enable = true;
- };
- };
-}
diff --git a/modules/nixos/desktop/programs.nix b/modules/nixos/desktop/programs.nix
deleted file mode 100644
index 0bbf889..0000000
--- a/modules/nixos/desktop/programs.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-{
- config = lib.mkIf config.desktop.enable {
- environment.systemPackages = [
- pkgs.wl-clipboard
- ];
-
- programs = {
- chromium.enable = lib.mkDefault true;
- };
- };
-}