From 2de665b3c69133ed4848dd1bd34e0b9e94427d66 Mon Sep 17 00:00:00 2001 From: Jo Date: Tue, 24 Dec 2024 15:40:33 +0100 Subject: [PATCH 1/3] refactor: move leftover gnome configuration to home module desktop.gnome --- .../jo@puzzlevision/apps/gnome.nix | 30 ------------- .../x86_64-linux/jo@puzzlevision/default.nix | 1 - modules/home/desktop/gnome/default.nix | 42 ++++++++++++++++--- 3 files changed, 37 insertions(+), 36 deletions(-) delete mode 100644 homes/x86_64-linux/jo@puzzlevision/apps/gnome.nix diff --git a/homes/x86_64-linux/jo@puzzlevision/apps/gnome.nix b/homes/x86_64-linux/jo@puzzlevision/apps/gnome.nix deleted file mode 100644 index a7e3078..0000000 --- a/homes/x86_64-linux/jo@puzzlevision/apps/gnome.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - pkgs, - ... -}: { - # Use `dconf watch /` to track stateful changes you are doing, then set them here. - dconf.settings = { - "org/gnome/desktop/wm/preferences" = { - workspace-names = [ "Main" ]; - }; - - "org/gnome/shell/extensions/unite" = { - use-activities-text = false; - extend-left-box = false; - reduce-panel-spacing = false; - window-buttons-placement = "first"; - show-legacy-tray = false; - show-appmenu-button = false; - show-desktop-name = false; - enable-titlebar-actions = false; - restrict-to-primary-screen = true; - hide-activities-button = "never"; - hide-window-titlebars = "maximized"; - show-window-title = false; - autofocus-windows = true; - show-window-buttons = "maximized"; - notifications-position = "right"; - window-buttons-theme = "catppuccin"; - }; - }; -} diff --git a/homes/x86_64-linux/jo@puzzlevision/default.nix b/homes/x86_64-linux/jo@puzzlevision/default.nix index 89d6597..7848c5f 100644 --- a/homes/x86_64-linux/jo@puzzlevision/default.nix +++ b/homes/x86_64-linux/jo@puzzlevision/default.nix @@ -6,7 +6,6 @@ }: with lib; with lib.${namespace}; { imports = [ - ./apps/gnome.nix ./apps/vscodium.nix ]; diff --git a/modules/home/desktop/gnome/default.nix b/modules/home/desktop/gnome/default.nix index 0a965be..3c96963 100644 --- a/modules/home/desktop/gnome/default.nix +++ b/modules/home/desktop/gnome/default.nix @@ -12,29 +12,61 @@ let in { options.${host}.desktop.gnome = with types; { - extensions = mkOption { + enabled-extensions = mkOption { type = listOf package; default = with pkgs.gnomeExtensions; [ dash-to-dock user-themes blur-my-shell appindicator unite color-picker clipboard-history ]; example = [ dash-to-dock blur-my-shell ]; description = "Specify gnome extensions to install."; }; favorite-apps = mkOption { - type = listOf string; + type = listOf str; default = ["org.gnome.Nautilus.desktop" "obsidian.desktop" "zen.desktop" "dev.zed.Zed.desktop"]; example = ["org.gnome.Nautilus.desktop" "obsidian.desktop"]; - description = "Specify your favorite apps (sorted left to right)"; + description = "Specify your favorite apps (sorted left to right)."; + }; + extensions = { + unite = { + show-window-buttons = mkOption { + type = str; + default = "never"; + example = "never | maximized | tiled | both | always"; + description = "Specify when Unite should display window buttons within the top panel."; + }; + hide-window-titlebars = mkOption { + type = str; + default = "maximized"; + example = "never | maximized | tiled | both | always"; + description = "Specify when Unite should hide window titlebars."; + }; + }; }; }; config = mkIf osConfig.${namespace}.desktop.gnome.enable { - home.packages = cfg.extensions; + home.packages = cfg.enabled-extensions; dconf.settings = { "org/gnome/shell" = { favorite-apps = cfg.favorite-apps; - enabled-extensions = forEach cfg.extensions (x: x.extensionUuid); + enabled-extensions = forEach cfg.enabled-extensions (x: x.extensionUuid); disabled-extensions = []; # Make sure none of our extensions are disabled on system rebuild }; + "org/gnome/shell/extensions/unite" = mkIf (builtins.elem pkgs.gnomeExtensions.unite cfg.enabled-extensions) { + show-window-buttons = cfg.extensions.unite.show-window-buttons; + hide-window-titlebars = cfg.extensions.unite.hide-window-titlebars; + + use-activities-text = false; + extend-left-box = false; + reduce-panel-spacing = false; + show-legacy-tray = false; + show-appmenu-button = false; + show-desktop-name = false; + enable-titlebar-actions = false; + restrict-to-primary-screen = false; + hide-activities-button = "never"; + autofocus-windows = true; + notifications-position = "right"; + }; }; }; } From d543faff8cad80777a799cd40ba6f11aef04972d Mon Sep 17 00:00:00 2001 From: Jo Date: Tue, 24 Dec 2024 16:56:28 +0100 Subject: [PATCH 2/3] feat: add blackbox config and remove vscodium --- .../jo@puzzlevision/apps/vscodium.nix | 26 ------------------- .../x86_64-linux/jo@puzzlevision/default.nix | 11 ++++---- .../themes/catppuccin/black-box/default.nix | 23 ++++++++++++++++ 3 files changed, 29 insertions(+), 31 deletions(-) delete mode 100644 homes/x86_64-linux/jo@puzzlevision/apps/vscodium.nix create mode 100644 modules/home/themes/catppuccin/black-box/default.nix diff --git a/homes/x86_64-linux/jo@puzzlevision/apps/vscodium.nix b/homes/x86_64-linux/jo@puzzlevision/apps/vscodium.nix deleted file mode 100644 index 3d984e6..0000000 --- a/homes/x86_64-linux/jo@puzzlevision/apps/vscodium.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - pkgs, - ... -}: { - programs.vscode = { - enable = true; - package = pkgs.vscodium; - extensions = with pkgs.vscode-extensions; [ - # wakatime.vscode-wakatime # Wakatime for coding statistics - vue.volar # Vue support - svelte.svelte-vscode # Svelte support - pkief.material-icon-theme # Material icons - prisma.prisma - ms-python.vscode-pylance # Python support - ms-dotnettools.csharp # CSharp support - mikestead.dotenv # Improved dotenv support - catppuccin.catppuccin-vsc # Catppuccin theme - jnoortheen.nix-ide # Nix language support - ]; - userSettings = { - "nix.enableLanguageServer" = true; - "nix.serverPath" = "nil"; - "workbench.colorTheme" = "Catppuccin Macchiato"; - }; - }; -} \ No newline at end of file diff --git a/homes/x86_64-linux/jo@puzzlevision/default.nix b/homes/x86_64-linux/jo@puzzlevision/default.nix index 7848c5f..79e121d 100644 --- a/homes/x86_64-linux/jo@puzzlevision/default.nix +++ b/homes/x86_64-linux/jo@puzzlevision/default.nix @@ -5,11 +5,12 @@ ... }: with lib; with lib.${namespace}; { - imports = [ - ./apps/vscodium.nix - ]; - - themes.catppuccin.gtk.enable = true; + puzzlevision = { + themes.catppuccin = { + gtk.enable = true; + black-box.enable = true; + }; + }; home.file."~/.config/Yubico/u2f_keys".text = '' jo:gtKwCQKVw5O4IkWg8J8o7vHIo3hStmOqVcnmk97E335DwHnPUMIDTMnD46qEn/1tucTZlYfGABfzVVG+iYeUOA==,fVRFZb9iBiqjOXvk5Gm9ygO/O4huEUR1Uq3DGBlnS1RtqqK0shif8aOlNLkmn8Xe9+x4HYIeNEX4fc8Z7Y2Hgw==,es256,+presence diff --git a/modules/home/themes/catppuccin/black-box/default.nix b/modules/home/themes/catppuccin/black-box/default.nix new file mode 100644 index 0000000..cd2ba7d --- /dev/null +++ b/modules/home/themes/catppuccin/black-box/default.nix @@ -0,0 +1,23 @@ +{ + lib, + config, + namespace, + ... +}: +let + inherit (lib) mkEnableOption mkIf; + cfg = config.${namespace}.themes.catppuccin.black-box; +in +{ + options.${namespace}.themes.catppuccin.black-box = { + enable = mkEnableOption "Whether to enable the catppuccin theme for black-box."; + }; + + config = mkIf cfg.enable { + dconf.settings = { + "com/raggesilver/BlackBox" = { + theme-dark = "Catppuccin Macchiato"; + }; + }; + }; +} From 9e3a71b35ef9abb9ecef1e023bb313f51de7150f Mon Sep 17 00:00:00 2001 From: Jo Date: Tue, 24 Dec 2024 16:59:18 +0100 Subject: [PATCH 3/3] fix: resolve catppuccin deprecation warnings, use poppins, and replace host with namespace --- modules/home/desktop/gnome/default.nix | 5 ++-- .../home/themes/catppuccin/global/default.nix | 6 ++--- .../home/themes/catppuccin/gnome/default.nix | 26 ++++++++++--------- 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/modules/home/desktop/gnome/default.nix b/modules/home/desktop/gnome/default.nix index 3c96963..c6d29d5 100644 --- a/modules/home/desktop/gnome/default.nix +++ b/modules/home/desktop/gnome/default.nix @@ -1,17 +1,16 @@ { lib, pkgs, - host, config, osConfig, namespace, ... }: with lib; with lib.${namespace}; let - cfg = config.${host}.desktop.gnome; + cfg = config.${namespace}.desktop.gnome; in { - options.${host}.desktop.gnome = with types; { + options.${namespace}.desktop.gnome = with types; { enabled-extensions = mkOption { type = listOf package; default = with pkgs.gnomeExtensions; [ dash-to-dock user-themes blur-my-shell appindicator unite color-picker clipboard-history ]; diff --git a/modules/home/themes/catppuccin/global/default.nix b/modules/home/themes/catppuccin/global/default.nix index 189704d..e2b153a 100644 --- a/modules/home/themes/catppuccin/global/default.nix +++ b/modules/home/themes/catppuccin/global/default.nix @@ -6,8 +6,8 @@ accent = "blue"; flavor = "macchiato"; - pointerCursor.enable = true; - pointerCursor.accent = "blue"; - pointerCursor.flavor = "macchiato"; + cursors.enable = true; + cursors.accent = "blue"; + cursors.flavor = "macchiato"; }; } diff --git a/modules/home/themes/catppuccin/gnome/default.nix b/modules/home/themes/catppuccin/gnome/default.nix index e1152f4..cdf7a93 100644 --- a/modules/home/themes/catppuccin/gnome/default.nix +++ b/modules/home/themes/catppuccin/gnome/default.nix @@ -101,10 +101,10 @@ let ''; }; - cfg = config.themes.catppuccin.gtk; + cfg = config.${namespace}.themes.catppuccin.gtk; in { - options.themes.catppuccin.gtk = { enable = mkEnableOption "Enable the Catppuccin theme for GTK"; }; + options.${namespace}.themes.catppuccin.gtk = { enable = mkEnableOption "Enable the Catppuccin theme for GTK"; }; config = mkIf cfg.enable { home.packages = with pkgs; [ @@ -120,17 +120,9 @@ in enable = true; font = { - name = "Ubuntu"; + name = "Poppins"; size = 12; - package = pkgs.ubuntu-sans; - }; - - catppuccin = { - icon = { - enable = true; - accent = "maroon"; - flavor = "mocha"; - }; + package = pkgs.poppins; }; theme = { @@ -150,6 +142,16 @@ in }; }; + catppuccin = { + gtk = { + icon = { + enable = true; + accent = "maroon"; + flavor = "mocha"; + }; + }; + }; + dconf.settings = { "org/gnome/shell/extensions/user-theme" = { name = "Colloid-Dark-Catppuccin";