summaryrefslogtreecommitdiff
path: root/users/seth/desktop
diff options
context:
space:
mode:
authorSeth Flynn <[email protected]>2025-02-14 01:18:47 -0500
committerSeth Flynn <[email protected]>2025-02-14 01:29:06 -0500
commit3e208d20934bedd8cd7769f23f35cfae9d8e7d0d (patch)
tree452399d770df6be2589be3c92771b1999dd1b93a /users/seth/desktop
parentc1bea770122a7cf2dea5113387265f59010d5a7f (diff)
seth: simplify module structure
Moving to mixins generally reduces the boilerplate in all configurations, and less custom "stuff" These are then enabled by the regular options in programs.nix for example Many of the other options (like desktops) also had little use in being abstracted as there's no situation where I'd *not* want them to be applied when said desktop is in use
Diffstat (limited to 'users/seth/desktop')
-rw-r--r--users/seth/desktop/budgie.nix20
-rw-r--r--users/seth/desktop/default.nix52
-rw-r--r--users/seth/desktop/gnome.nix73
-rw-r--r--users/seth/desktop/niri.nix62
-rw-r--r--users/seth/desktop/plasma.nix22
5 files changed, 0 insertions, 229 deletions
diff --git a/users/seth/desktop/budgie.nix b/users/seth/desktop/budgie.nix
deleted file mode 100644
index beda82f..0000000
--- a/users/seth/desktop/budgie.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ lib, osConfig, ... }:
-let
- enable = osConfig.services.xserver.desktopManager.budgie.enable or false;
-in
-{
- config = lib.mkIf enable {
- dconf = {
- enable = true;
- settings = {
- "com.solus-project.budgie-panel:Budgie" = {
- pinned-launchers = [
- "firefox.desktop"
- "nemo.desktop"
- "discord-canary.desktop"
- ];
- };
- };
- };
- };
-}
diff --git a/users/seth/desktop/default.nix b/users/seth/desktop/default.nix
deleted file mode 100644
index f4c0126..0000000
--- a/users/seth/desktop/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- config,
- lib,
- pkgs,
- osConfig,
- ...
-}:
-let
- cfg = config.seth.desktop;
-in
-{
- options.seth.desktop = {
- enable = lib.mkEnableOption "desktop (Linux) settings" // {
- default = osConfig.services.xserver.enable or false;
- defaultText = lib.literalExpression "osConfig.desktop.enable or false";
- };
- };
-
- imports = [
- ./budgie.nix
- ./gnome.nix
- ./niri.nix
- ./plasma.nix
- ];
-
- config = lib.mkIf cfg.enable {
- # This is meant for Linux
- assertions = [ (lib.hm.assertions.assertPlatform "seth.desktop" pkgs lib.platforms.linux) ];
-
- home.packages = [
- (pkgs.discord-canary.overrideAttrs (old: {
- preInstall =
- old.preInstall or ""
- + ''
- gappsWrapperArgs+=(--add-flags "--enable-features=VaapiOnNvidiaGPUs,AcceleratedVideoDecodeLinuxGL")
- '';
- }))
-
- # Matrix client
- pkgs.element
-
- pkgs.prismlauncher
-
- (pkgs.spotify.overrideAttrs {
- # Spotify doesn't work well on Wayland natively. Don't force it
- preFixup = ''
- gappsWrapperArgs+=(--unset NIXOS_OZONE_WL)
- '';
- })
- ];
- };
-}
diff --git a/users/seth/desktop/gnome.nix b/users/seth/desktop/gnome.nix
deleted file mode 100644
index 60c3bf9..0000000
--- a/users/seth/desktop/gnome.nix
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- lib,
- pkgs,
- osConfig,
- ...
-}:
-let
- enable = osConfig.services.xserver.desktopManager.gnome.enable or false;
-in
-{
- config = lib.mkIf enable {
- dconf = {
- enable = true;
- settings = {
- "org/gnome/shell" = {
- disable-user-extensions = false;
-
- enabled-extensions = [ "[email protected]" ];
-
- favorite-apps = [
- "chromium-browser.desktop"
- "org.gnome.Nautilus.desktop"
- "discord-canary.desktop"
- ];
- };
-
- "org/gnome/desktop/interface" = {
- color-scheme = "prefer-dark";
- document-font-name = "Noto Sans 11";
- font-antialiasing = "rgba";
- font-name = "Noto Sans 11";
- monospace-font-name = "Hack Nerd Font 10";
- };
-
- "org/gnome/desktop/peripherals/mouse" = {
- accel-profile = "flat";
- };
-
- "org/gnome/desktop/wm/preferences" = {
- titlebar-font = "Noto Sans Bold 11";
- };
-
- "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
- name = "ptyxis";
- command = "ptyxis";
- binding = "<Control><Alt>t";
- };
- };
- };
-
- # Required for adwaita-ize
- gtk.enable = true;
-
- home.packages = [
- # Torrent client
- pkgs.fragments
-
- # Keep my screen awake
- pkgs.gnomeExtensions.caffeine
-
- # Terminal emulator
- pkgs.ptyxis
-
- # Mastodon client
- pkgs.tuba
- ];
-
- # The regular Spotify client is weird sometimes
- services.spotifyd.enable = true;
-
- seth.tweaks.adwaita-ize.enable = true;
- };
-}
diff --git a/users/seth/desktop/niri.nix b/users/seth/desktop/niri.nix
deleted file mode 100644
index 9ec7d36..0000000
--- a/users/seth/desktop/niri.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- lib,
- pkgs,
- osConfig,
- ...
-}:
-let
- enable = osConfig.programs.niri.enable or false;
-in
-{
- config = lib.mkIf enable {
- # Set dark theme for Flatpak apps
- # https://github.com/YaLTeR/niri/wiki/Important-Software#portals
- dconf = {
- enable = true;
- settings = {
- "org/gnome/desktop/interface" = {
- color-scheme = "prefer-dark";
- };
- };
- };
-
- # Required for adwaita-ize
- gtk.enable = true;
-
- home.packages = [
- # Torrent client
- pkgs.fragments
-
- # Mastodon client
- pkgs.tuba
-
- # the funni (I need it for native Wayland support)
- pkgs.vesktop
-
- # TODO: Figure out how to export $DISPLAY from this
- # so I don't need the above
- pkgs.xwayland-satellite
- ];
-
- # Enable some things from the NixOS module here to
- # apply Catppuccin themes
- programs = {
- alacritty.enable = true;
- fuzzel.enable = true;
- mako.enable = true;
- ncspot.enable = true; # Official Spotify has ugly CSD
- swaylock.enable = true;
- yazi.enable = true;
- zellij.enable = true;
- };
-
- seth = {
- # See comment about ncspot
- services.spotifyd.enable = true;
-
- tweaks = {
- adwaita-ize.enable = true;
- };
- };
- };
-}
diff --git a/users/seth/desktop/plasma.nix b/users/seth/desktop/plasma.nix
deleted file mode 100644
index f3acc36..0000000
--- a/users/seth/desktop/plasma.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- lib,
- pkgs,
- osConfig,
- ...
-}:
-let
- enable = osConfig.services.desktopManager.plasma6.enable or false;
-in
-{
- config = lib.mkIf enable {
- home.packages = [
- # Matrix client
- # TODO: Use after it drops libolm
- # pkgs.kdePackages.neochat
- # Mastodon client
- pkgs.kdePackages.tokodon
- # Torrent client
- pkgs.qbittorrent
- ];
- };
-}