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/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 89d6597..79e121d 100644 --- a/homes/x86_64-linux/jo@puzzlevision/default.nix +++ b/homes/x86_64-linux/jo@puzzlevision/default.nix @@ -5,12 +5,12 @@ ... }: with lib; with lib.${namespace}; { - imports = [ - ./apps/gnome.nix - ./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/desktop/gnome/default.nix b/modules/home/desktop/gnome/default.nix index 0a965be..c6d29d5 100644 --- a/modules/home/desktop/gnome/default.nix +++ b/modules/home/desktop/gnome/default.nix @@ -1,40 +1,71 @@ { 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; { - extensions = mkOption { + 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 ]; 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"; + }; }; }; } 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"; + }; + }; + }; +} 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";