From d61d707fa21b3ee8fc86b81ca685b3c29040639f Mon Sep 17 00:00:00 2001 From: installer Date: Fri, 24 Jan 2025 08:06:30 +0000 Subject: [PATCH] Orion lookin' good --- modules/apps/hyprland/default.nix | 1 + modules/apps/hyprland/waybar.nix | 36 +- modules/apps/vscode/default.nix | 4 +- modules/components/theming/default.nix | 441 +----------------------- modules/components/theming/verbose.nix | 460 +++++++++++++++++++++++++ modules/profiles/desktop.nix | 3 +- 6 files changed, 489 insertions(+), 456 deletions(-) create mode 100644 modules/components/theming/verbose.nix diff --git a/modules/apps/hyprland/default.nix b/modules/apps/hyprland/default.nix index 9f05720..46667da 100644 --- a/modules/apps/hyprland/default.nix +++ b/modules/apps/hyprland/default.nix @@ -63,6 +63,7 @@ with lib; natural_scroll = true disable_while_typing = true scroll_factor = 0.8 + tap_button_map = lmr } sensitivity = 0 # -1.0 - 1.0, 0 means no modification. accel_profile = flat diff --git a/modules/apps/hyprland/waybar.nix b/modules/apps/hyprland/waybar.nix index c8a2871..7036fe7 100644 --- a/modules/apps/hyprland/waybar.nix +++ b/modules/apps/hyprland/waybar.nix @@ -193,8 +193,8 @@ with lib; background: rgba(0,0,0,0); } #workspaces { - color: #${config.stylix.base16Scheme.base00}; - background: #${config.stylix.base16Scheme.base01}; + color: #${config.lib.stylix.colors.base00}; + background: #${config.lib.stylix.colors.base01}; margin: 4px 4px; padding: 5px 5px; border-radius: 16px; @@ -204,8 +204,8 @@ with lib; padding: 0px 5px; margin: 0px 3px; border-radius: 16px; - color: #${config.stylix.base16Scheme.base00}; - background: linear-gradient(45deg, #${config.stylix.base16Scheme.base08}, #${config.stylix.base16Scheme.base0D}); + color: #${config.lib.stylix.colors.base00}; + background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D}); opacity: 0.5; transition: ${betterTransition}; } @@ -214,8 +214,8 @@ with lib; padding: 0px 5px; margin: 0px 3px; border-radius: 16px; - color: #${config.stylix.base16Scheme.base00}; - background: linear-gradient(45deg, #${config.stylix.base16Scheme.base08}, #${config.stylix.base16Scheme.base0D}); + color: #${config.lib.stylix.colors.base00}; + background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D}); transition: ${betterTransition}; opacity: 1.0; min-width: 40px; @@ -223,31 +223,31 @@ with lib; #workspaces button:hover { font-weight: bold; border-radius: 16px; - color: #${config.stylix.base16Scheme.base00}; - background: linear-gradient(45deg, #${config.stylix.base16Scheme.base08}, #${config.stylix.base16Scheme.base0D}); + color: #${config.lib.stylix.colors.base00}; + background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D}); opacity: 0.8; transition: ${betterTransition}; } tooltip { - background: #${config.stylix.base16Scheme.base00}; - border: 1px solid #${config.stylix.base16Scheme.base08}; + background: #${config.lib.stylix.colors.base00}; + border: 1px solid #${config.lib.stylix.colors.base08}; border-radius: 12px; } tooltip label { - color: #${config.stylix.base16Scheme.base08}; + color: #${config.lib.stylix.colors.base08}; } #window, #pulseaudio, #cpu, #memory, #idle_inhibitor { font-weight: bold; margin: 4px 0px; margin-left: 7px; padding: 0px 18px; - background: #${config.stylix.base16Scheme.base04}; - color: #${config.stylix.base16Scheme.base00}; + background: #${config.lib.stylix.colors.base04}; + color: #${config.lib.stylix.colors.base00}; border-radius: 24px 10px 24px 10px; } #custom-startmenu { - color: #${config.stylix.base16Scheme.base0B}; - background: #${config.stylix.base16Scheme.base02}; + color: #${config.lib.stylix.colors.base0B}; + background: #${config.lib.stylix.colors.base02}; font-size: 28px; margin: 0px; padding: 0px 30px 0px 15px; @@ -256,8 +256,8 @@ with lib; #custom-hyprbindings, #network, #battery, #custom-notification, #tray, #custom-exit { font-weight: bold; - background: #${config.stylix.base16Scheme.base0F}; - color: #${config.stylix.base16Scheme.base00}; + background: #${config.lib.stylix.colors.base0F}; + color: #${config.lib.stylix.colors.base00}; margin: 4px 0px; margin-right: 7px; border-radius: 10px 24px 10px 24px; @@ -266,7 +266,7 @@ with lib; #clock { font-weight: bold; color: #0D0E15; - background: linear-gradient(90deg, #${config.stylix.base16Scheme.base0E}, #${config.stylix.base16Scheme.base0C}); + background: linear-gradient(90deg, #${config.lib.stylix.colors.base0E}, #${config.lib.stylix.colors.base0C}); margin: 0px; padding: 0px 15px 0px 30px; border-radius: 0px 0px 0px 40px; diff --git a/modules/apps/vscode/default.nix b/modules/apps/vscode/default.nix index 03ec4a7..537d086 100644 --- a/modules/apps/vscode/default.nix +++ b/modules/apps/vscode/default.nix @@ -71,7 +71,7 @@ in "git.allowForcePush" = true; "git.autofetch" = true; "git.confirmSync" = false; - "git.enableCommitSigning" = true; + "git.enableCommitSigning" = false; "gopls"."ui.semanticTokens" = true; "[nix]"."editor.defaultFormatter" = "jnoortheen.nix-ide"; "nix.enableLanguageServer" = true; @@ -81,7 +81,7 @@ in "nix.serverSettings"."nixd"."formatting"."options" = { "enable" = [ true ]; "nixos" = { - "expr" = + "expr" = "(builtins.getFlake \"github:keenanweaver/nix-config\").nixosConfigurations.${config.networking.hostName}.options"; }; }; diff --git a/modules/components/theming/default.nix b/modules/components/theming/default.nix index a6eb1e6..850b136 100644 --- a/modules/components/theming/default.nix +++ b/modules/components/theming/default.nix @@ -8,17 +8,7 @@ ... }: let - accent-lower = "lavender"; - accent-upper = "Lavender"; - flavor-lower = "mocha"; - flavor-upper = "Mocha"; cfg = config.catppuccinTheming; - mono-font = "JetBrainsMono Nerd Font"; - sans-font = "Inter"; - sans-font-pkg = pkgs.inter; - #serif-font = "IBM Plex Serif"; - GTK-THEME = "Breeze-Dark"; - cursor-theme = "breeze_cursors"; in #cursor-theme = "Catppuccin-${flavor-upper}-${accent-upper}"; { @@ -30,431 +20,14 @@ in config = lib.mkIf cfg.enable { stylix = { enable = true; - image = ./wallpapers/beautifulmountainscape.jpg; + image = ./wallpapers/mountainscapedark.jpg; + base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml"; + autoEnable = true; + }; + home-manager.users.${username}.stylix = { + targets.kitty.enable = true; + autoEnable = true; }; - catppuccin = { - enable = true; - accent = "${accent-lower}"; - cache.enable = true; - flavor = "${flavor-lower}"; - sddm = { - background = "/home/${username}/Pictures/wallpapers/lavender-wave-haikei.png"; - font = "${mono-font}"; - fontSize = "11"; - }; - }; - console = { - packages = with pkgs; [ terminus_font ]; - }; - environment = { - sessionVariables = { - # Breaks theming but forces the color scheme - #GTK_THEME = "${GTK-THEME}"; - }; - systemPackages = with pkgs; [ - (catppuccin-kde.override { - accents = [ "${accent-lower}" ]; - flavour = [ "${flavor-lower}" ]; - }) - (catppuccin-papirus-folders.override { - accent = "${accent-lower}"; - flavor = "${flavor-lower}"; - }) - #inputs.kwin-effects-forceblur.packages.${pkgs.system}.default - inputs.lightly.packages.${pkgs.system}.darkly-qt5 - inputs.lightly.packages.${pkgs.system}.darkly-qt6 - ]; - }; - services = { - displayManager = { - sddm = { - settings = { - Theme = { - CursorTheme = "${cursor-theme}"; - }; - }; - }; - }; - }; - - programs.dconf.enable = true; - - home-manager.users.${username} = - { - inputs, - lib, - config, - username, - pkgs, - ... - }: - { - catppuccin = { - enable = true; - accent = "${accent-lower}"; - flavor = "${flavor-lower}"; - cursors = { - enable = false; - accent = "${accent-lower}"; - flavor = "${flavor-lower}"; - }; - }; - - gtk = { - enable = true; - cursorTheme = { - name = lib.mkDefault "${cursor-theme}"; - size = 24; - }; - font = { - name = "${sans-font}"; - size = 12; - package = sans-font-pkg; - }; - gtk2 = { - configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc"; - # force = true; # https://github.com/nix-community/home-manager/pull/5263 - }; - gtk3 = { - extraConfig = { - gtk-application-prefer-dark-theme = true; - gtk-button-images = true; - gtk-decoration-layout = "icon:minimize,maximize,close"; - gtk-enable-animations = true; - gtk-menu-images = true; - gtk-modules = "colorreload-gtk-module"; - gtk-primary-button-warps-slider = true; - gtk-sound-theme-name = "ocean"; - gtk-toolbar-style = "3"; - gtk-xft-antialias = 1; - gtk-xft-hinting = 1; - gtk-xft-hintstyle = "hintslight"; - gtk-xft-rgba = "rgb"; - }; - }; - gtk4 = { - extraConfig = { - gtk-decoration-layout = "icon:minimize,maximize,close"; - gtk-enable-animations = true; - gtk-primary-button-warps-slider = true; - gtk-sound-theme-name = "ocean"; - gtk-xft-antialias = 1; - gtk-xft-hinting = 1; - gtk-xft-hintstyle = "hintslight"; - gtk-xft-rgba = "rgb"; - }; - }; - /* - theme = { - name = "${GTK-THEME}"; - package = pkgs.kdePackages.breeze-gtk; - }; - */ - }; - home = { - file = { - # UMU cursor workaround - breeze-cursors = { - enable = true; - source = config.lib.file.mkOutOfStoreSymlink "${pkgs.kdePackages.breeze}/share/icons/breeze_cursors"; - target = "${config.xdg.dataHome}/icons/breeze_cursors"; - }; - # Flatpak theming issue workarounds - catppuccin-gtk = { - enable = true; - source = config.lib.file.mkOutOfStoreSymlink "${pkgs.kdePackages.breeze-gtk}/share/themes/${GTK-THEME}"; - target = "${config.xdg.dataHome}/themes/${GTK-THEME}"; - }; - catppuccin-ghostwriter = { - enable = true; - source = config.lib.file.mkOutOfStoreSymlink "${inputs.catppuccin-ghostwriter}/colours/Catppuccin-Latte-${flavor-upper}-${accent-upper}.json"; - target = "${config.xdg.dataHome}/ghostwriter/themes/Catppuccin-Latte-${flavor-upper}-${accent-upper}.json"; - }; - catppuccin-halloy = { - enable = true; - source = config.lib.file.mkOutOfStoreSymlink "${inputs.catppuccin-halloy}/themes/catppuccin-${flavor-lower}.toml"; - target = "${config.xdg.configHome}/halloy/themes/catppuccin-${flavor-lower}.toml"; - }; - catppuccin-heroic = { - enable = vars.gaming; - source = config.lib.file.mkOutOfStoreSymlink "${inputs.catppuccin-heroic}/themes/catppuccin-${flavor-lower}.css"; - target = "Games/Heroic/catppuccin-${flavor-lower}.css"; - }; - catppuccin-obs-flatpak = { - enable = true; - recursive = true; - source = config.lib.file.mkOutOfStoreSymlink "${inputs.catppuccin-obs}/themes"; - target = ".var/app/com.obsproject.Studio/config/obs-studio/themes"; - }; - catppuccin-powershell = { - enable = true; - source = config.lib.file.mkOutOfStoreSymlink "${inputs.catppuccin-powershell}"; - target = "${config.xdg.dataHome}/powershell/Modules/Catppuccin"; - }; - catppuccin-vesktop = { - enable = true; - text = '' - @import url("https://catppuccin.github.io/discord/dist/catppuccin-${flavor-lower}-${accent-lower}.theme.css"); - ''; - target = "${config.xdg.configHome}/vesktop/themes/${flavor-lower}.theme.css"; - }; - catppuccin-zen-flatpak = { - enable = true; - source = config.lib.file.mkOutOfStoreSymlink "${inputs.catppuccin-zen}/themes/${flavor-upper}/${accent-upper}"; - target = ".var/app/app.zen_browser.zen/.zen/${username}/chrome"; - }; - cursor-theme-default = { - enable = true; - text = '' - [Icon Theme] - Inherits=${cursor-theme} - ''; - target = "${config.xdg.dataHome}/icons/default/index.theme"; - }; - klassy-config = { - enable = true; - text = '' - [ButtonBehaviour] - ShowCloseOutlineOnHoverActive=false - ShowCloseOutlineOnHoverInactive=false - ShowCloseOutlineOnPressActive=false - ShowCloseOutlineOnPressInactive=false - ShowOutlineOnHoverActive=false - ShowOutlineOnHoverInactive=false - ShowOutlineOnPressActive=false - ShowOutlineOnPressInactive=false - - [ButtonColors] - ButtonBackgroundColorsActive=TitleBarTextNegativeClose - ButtonBackgroundColorsInactive=TitleBarTextNegativeClose - ButtonBackgroundOpacityActive=10 - ButtonBackgroundOpacityInactive=10 - ButtonOverrideColorsActiveClose={"BackgroundHover":["NegativeFullySaturated"],"BackgroundPress":["NegativeSaturated",80]} - ButtonOverrideColorsInactiveClose={"BackgroundHover":["NegativeFullySaturated"],"BackgroundPress":["NegativeSaturated",80]} - OnPoorIconContrastActive=Nothing - OnPoorIconContrastInactive=Nothing - - [ButtonSizing] - ButtonCornerRadius=Custom - ButtonCustomCornerRadius=0 - FullHeightButtonSpacingLeft=0 - FullHeightButtonSpacingRight=0 - FullHeightButtonWidthMarginRight=14 - IntegratedRoundedRectangleBottomPadding=0.5 - - [ShadowStyle] - ShadowSize=ShadowSmall - - [TitleBarOpacity] - ActiveTitleBarOpacity=75 - - [TitleBarSpacing] - LockTitleBarLeftRightMargins=false - PercentMaximizedTopBottomMargins=50 - TitleAlignment=AlignLeft - TitleBarBottomMargin=2.25 - TitleBarLeftMargin=2 - TitleBarTopMargin=2.25 - - [Windeco] - BoldButtonIcons=BoldIconsFine - ButtonIconStyle=StyleSystemIconTheme - ButtonShape=ShapeFullHeightRectangle - ColorizeThinWindowOutlineWithButton=false - IconSize=IconMedium - WindowCornerRadius=8 - - [WindowOutlineStyle] - LockThinWindowOutlineStyleActiveInactive=true - ThinWindowOutlineStyleActive=WindowOutlineContrast - ThinWindowOutlineStyleInactive=WindowOutlineContrast - ''; - target = "${config.xdg.configHome}/klassy/klassyrc"; - }; - powershell-profile = { - enable = true; - text = '' - Import-Module Catppuccin - $Flavor = $Catppuccin['${flavor-upper}'] - ''; - target = "${config.xdg.configHome}/powershell/Microsoft.PowerShell_profile.ps1"; - }; - }; - packages = with pkgs; [ - hicolor-icon-theme - vivid - ## GNOME - adwaita-icon-theme - gnome-settings-daemon - gsettings-desktop-schemas - gsettings-qt - ]; - sessionVariables = { - GSETTINGS_BACKEND = "keyfile"; - GTK_USE_PORTAL = "1"; - LS_COLORS = "$(vivid generate catppuccin-${flavor-lower})"; - XCURSOR_NAME = "${cursor-theme}"; - XCURSOR_SIZE = "24"; - }; - }; - programs = { - bat = { - config = { - pager = "less -FR"; - }; - }; - btop = { - settings = { - theme_background = false; - }; - }; - foot = { - settings = { - colors = { - alpha = 0.7; - }; - main = { - font = "${mono-font}:size=12"; - }; - }; - }; - git = { - delta = { }; - }; - kitty = { - font = { - name = "${mono-font}"; - size = 14; - }; - settings = { - background_opacity = "0.7"; - }; - }; - lazygit = { - settings = { - gui = { - border = "single"; - mainPanelSplitMode = "vertical"; - nerdFontsVersion = "3"; - scrollHeight = 10; - scrollOffMargin = 4; - showFileTree = false; - sidePanelWidth = 0.3333; - }; - }; - }; - nixvim = { - colorschemes.catppuccin = { - enable = true; - settings = { - background.dark = "${flavor-lower}"; - flavor = "${flavor-lower}"; - integrations = { - cmp = true; - coc_nvim = true; - gitsigns = true; - markdown = true; - neotree = true; - overseer = true; - treesitter = true; - treesitter_context = true; - which_key = true; - }; - term_colors = true; - transparentBackground = true; - }; - }; - }; - nvf = { - settings = { - vim = { - theme = { - enable = true; - name = "catppuccin"; - style = "mocha"; - transparent = true; - }; - }; - }; - }; - vscode = { - extensions = with inputs.nix-vscode-extensions.extensions.x86_64-linux.vscode-marketplace; [ - catppuccin.catppuccin-vsc-icons - catppuccin.catppuccin-vsc - ]; - userSettings = { - "catppuccin.accentColor" = "${accent-lower}"; - "catppuccin.customUIColors"."${flavor-lower}"."statusBar.foreground" = "accent"; - "editor.fontFamily" = "'${mono-font}', 'monospace', monospace"; - "editor.fontLigatures" = true; - "editor.fontSize" = 18; - "glassit.alpha" = 210; - "terminal.integrated.fontFamily" = "${mono-font}"; - "terminal.integrated.fontSize" = 14; - "terminal.integrated.fontWeight" = "normal"; - "workbench.colorTheme" = "Catppuccin ${flavor-upper}"; - "workbench.iconTheme" = "catppuccin-${flavor-lower}"; - }; - }; - }; - services = { - flatpak = { - overrides = { - "com.fightcade.Fightcade" = { - Environment = { - GTK_THEME = "${GTK-THEME}"; - }; - }; - "app.zen_browser.zen" = { - Environment = { - GTK_THEME = "${GTK-THEME}"; - }; - }; - }; - }; - xsettingsd = { - settings = { - "Gtk/CursorThemeSize" = 24; - "Gtk/CursorThemeName" = "${cursor-theme}"; - "Gtk/FontName" = "${sans-font}, 12"; - "Net/IconThemeName" = "Papirus-Dark"; - "Net/ThemeName" = "${GTK-THEME}"; - }; - }; - }; - - xresources = { - properties = { - "Xcursor.size" = 24; - "Xcursor.theme" = "${cursor-theme}"; - "Xft.autohint" = 1; - "Xft.lcdfilter" = "lcddefault"; - "Xft.hintstyle" = "hintfull"; - "Xft.hinting" = 1; - "Xft.antialias" = 1; - "Xft.rgba" = "rgb"; - # Catppuccin - "*background" = "#1E1E2E"; - "*foreground" = "#CDD6F4"; - "*color0" = "#45475A"; - "*color8" = "#585B70"; - "*color1" = "#F38BA8"; - "*color9" = "#F38BA8"; - "*color2" = "#A6E3A1"; - "*color10" = "#A6E3A1"; - "*color3" = "#F9E2AF"; - "*color11" = "#F9E2AF"; - "*color4" = "#89B4FA"; - "*color12" = "#89B4FA"; - "*color5" = "#F5C2E7"; - "*color13" = "#F5C2E7"; - "*color6" = "#94E2D5"; - "*color14" = "#94E2D5"; - "*color7" = "#BAC2DE"; - "*color15" = "#A6ADC8"; - }; - }; - }; }; } diff --git a/modules/components/theming/verbose.nix b/modules/components/theming/verbose.nix new file mode 100644 index 0000000..deb9fbc --- /dev/null +++ b/modules/components/theming/verbose.nix @@ -0,0 +1,460 @@ +{ + config, + inputs, + lib, + username, + pkgs, + vars, + ... +}: +let + accent-lower = "lavender"; + accent-upper = "Lavender"; + flavor-lower = "mocha"; + flavor-upper = "Mocha"; + cfg = config.catppuccinTheming; + mono-font = "JetBrainsMono Nerd Font"; + sans-font = "Inter"; + sans-font-pkg = pkgs.inter; + #serif-font = "IBM Plex Serif"; + GTK-THEME = "Breeze-Dark"; + cursor-theme = "breeze_cursors"; +in +#cursor-theme = "Catppuccin-${flavor-upper}-${accent-upper}"; +{ + options = { + catppuccinTheming = { + enable = lib.mkEnableOption "Enable catppuccinTheming in NixOS & home-manager"; + }; + }; + config = lib.mkIf cfg.enable { + stylix = { + enable = true; + image = ./wallpapers/beautifulmountainscape.jpg; + }; + + catppuccin = { + enable = true; + accent = "${accent-lower}"; + cache.enable = true; + flavor = "${flavor-lower}"; + sddm = { + background = "/home/${username}/Pictures/wallpapers/lavender-wave-haikei.png"; + font = "${mono-font}"; + fontSize = "11"; + }; + }; + console = { + packages = with pkgs; [ terminus_font ]; + }; + environment = { + sessionVariables = { + # Breaks theming but forces the color scheme + #GTK_THEME = "${GTK-THEME}"; + }; + systemPackages = with pkgs; [ + (catppuccin-kde.override { + accents = [ "${accent-lower}" ]; + flavour = [ "${flavor-lower}" ]; + }) + (catppuccin-papirus-folders.override { + accent = "${accent-lower}"; + flavor = "${flavor-lower}"; + }) + #inputs.kwin-effects-forceblur.packages.${pkgs.system}.default + inputs.lightly.packages.${pkgs.system}.darkly-qt5 + inputs.lightly.packages.${pkgs.system}.darkly-qt6 + ]; + }; + services = { + displayManager = { + sddm = { + settings = { + Theme = { + CursorTheme = "${cursor-theme}"; + }; + }; + }; + }; + }; + + programs.dconf.enable = true; + + home-manager.users.${username} = + { + inputs, + lib, + config, + username, + pkgs, + ... + }: + { + catppuccin = { + enable = true; + accent = "${accent-lower}"; + flavor = "${flavor-lower}"; + cursors = { + enable = false; + accent = "${accent-lower}"; + flavor = "${flavor-lower}"; + }; + }; + + # gtk = { + # enable = true; + # cursorTheme = { + # name = lib.mkDefault "${cursor-theme}"; + # size = 24; + # }; + # font = { + # name = "${sans-font}"; + # size = 12; + # package = sans-font-pkg; + # }; + # gtk2 = { + # configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc"; + # # force = true; # https://github.com/nix-community/home-manager/pull/5263 + # }; + # gtk3 = { + # extraConfig = { + # gtk-application-prefer-dark-theme = true; + # gtk-button-images = true; + # gtk-decoration-layout = "icon:minimize,maximize,close"; + # gtk-enable-animations = true; + # gtk-menu-images = true; + # gtk-modules = "colorreload-gtk-module"; + # gtk-primary-button-warps-slider = true; + # gtk-sound-theme-name = "ocean"; + # gtk-toolbar-style = "3"; + # gtk-xft-antialias = 1; + # gtk-xft-hinting = 1; + # gtk-xft-hintstyle = "hintslight"; + # gtk-xft-rgba = "rgb"; + # }; + # }; + # gtk4 = { + # extraConfig = { + # gtk-decoration-layout = "icon:minimize,maximize,close"; + # gtk-enable-animations = true; + # gtk-primary-button-warps-slider = true; + # gtk-sound-theme-name = "ocean"; + # gtk-xft-antialias = 1; + # gtk-xft-hinting = 1; + # gtk-xft-hintstyle = "hintslight"; + # gtk-xft-rgba = "rgb"; + # }; + # }; + # /* + # theme = { + # name = "${GTK-THEME}"; + # package = pkgs.kdePackages.breeze-gtk; + # }; + # */ + # }; + home = { + file = { + # UMU cursor workaround + breeze-cursors = { + enable = true; + source = config.lib.file.mkOutOfStoreSymlink "${pkgs.kdePackages.breeze}/share/icons/breeze_cursors"; + target = "${config.xdg.dataHome}/icons/breeze_cursors"; + }; + # Flatpak theming issue workarounds + catppuccin-gtk = { + enable = true; + source = config.lib.file.mkOutOfStoreSymlink "${pkgs.kdePackages.breeze-gtk}/share/themes/${GTK-THEME}"; + target = "${config.xdg.dataHome}/themes/${GTK-THEME}"; + }; + catppuccin-ghostwriter = { + enable = true; + source = config.lib.file.mkOutOfStoreSymlink "${inputs.catppuccin-ghostwriter}/colours/Catppuccin-Latte-${flavor-upper}-${accent-upper}.json"; + target = "${config.xdg.dataHome}/ghostwriter/themes/Catppuccin-Latte-${flavor-upper}-${accent-upper}.json"; + }; + catppuccin-halloy = { + enable = true; + source = config.lib.file.mkOutOfStoreSymlink "${inputs.catppuccin-halloy}/themes/catppuccin-${flavor-lower}.toml"; + target = "${config.xdg.configHome}/halloy/themes/catppuccin-${flavor-lower}.toml"; + }; + catppuccin-heroic = { + enable = vars.gaming; + source = config.lib.file.mkOutOfStoreSymlink "${inputs.catppuccin-heroic}/themes/catppuccin-${flavor-lower}.css"; + target = "Games/Heroic/catppuccin-${flavor-lower}.css"; + }; + catppuccin-obs-flatpak = { + enable = true; + recursive = true; + source = config.lib.file.mkOutOfStoreSymlink "${inputs.catppuccin-obs}/themes"; + target = ".var/app/com.obsproject.Studio/config/obs-studio/themes"; + }; + catppuccin-powershell = { + enable = true; + source = config.lib.file.mkOutOfStoreSymlink "${inputs.catppuccin-powershell}"; + target = "${config.xdg.dataHome}/powershell/Modules/Catppuccin"; + }; + catppuccin-vesktop = { + enable = true; + text = '' + @import url("https://catppuccin.github.io/discord/dist/catppuccin-${flavor-lower}-${accent-lower}.theme.css"); + ''; + target = "${config.xdg.configHome}/vesktop/themes/${flavor-lower}.theme.css"; + }; + catppuccin-zen-flatpak = { + enable = true; + source = config.lib.file.mkOutOfStoreSymlink "${inputs.catppuccin-zen}/themes/${flavor-upper}/${accent-upper}"; + target = ".var/app/app.zen_browser.zen/.zen/${username}/chrome"; + }; + # cursor-theme-default = { + # enable = true; + # text = '' + # [Icon Theme] + # Inherits=${cursor-theme} + # ''; + # target = "${config.xdg.dataHome}/icons/default/index.theme"; + # }; + klassy-config = { + enable = true; + text = '' + [ButtonBehaviour] + ShowCloseOutlineOnHoverActive=false + ShowCloseOutlineOnHoverInactive=false + ShowCloseOutlineOnPressActive=false + ShowCloseOutlineOnPressInactive=false + ShowOutlineOnHoverActive=false + ShowOutlineOnHoverInactive=false + ShowOutlineOnPressActive=false + ShowOutlineOnPressInactive=false + + [ButtonColors] + ButtonBackgroundColorsActive=TitleBarTextNegativeClose + ButtonBackgroundColorsInactive=TitleBarTextNegativeClose + ButtonBackgroundOpacityActive=10 + ButtonBackgroundOpacityInactive=10 + ButtonOverrideColorsActiveClose={"BackgroundHover":["NegativeFullySaturated"],"BackgroundPress":["NegativeSaturated",80]} + ButtonOverrideColorsInactiveClose={"BackgroundHover":["NegativeFullySaturated"],"BackgroundPress":["NegativeSaturated",80]} + OnPoorIconContrastActive=Nothing + OnPoorIconContrastInactive=Nothing + + [ButtonSizing] + ButtonCornerRadius=Custom + ButtonCustomCornerRadius=0 + FullHeightButtonSpacingLeft=0 + FullHeightButtonSpacingRight=0 + FullHeightButtonWidthMarginRight=14 + IntegratedRoundedRectangleBottomPadding=0.5 + + [ShadowStyle] + ShadowSize=ShadowSmall + + [TitleBarOpacity] + ActiveTitleBarOpacity=75 + + [TitleBarSpacing] + LockTitleBarLeftRightMargins=false + PercentMaximizedTopBottomMargins=50 + TitleAlignment=AlignLeft + TitleBarBottomMargin=2.25 + TitleBarLeftMargin=2 + TitleBarTopMargin=2.25 + + [Windeco] + BoldButtonIcons=BoldIconsFine + ButtonIconStyle=StyleSystemIconTheme + ButtonShape=ShapeFullHeightRectangle + ColorizeThinWindowOutlineWithButton=false + IconSize=IconMedium + WindowCornerRadius=8 + + [WindowOutlineStyle] + LockThinWindowOutlineStyleActiveInactive=true + ThinWindowOutlineStyleActive=WindowOutlineContrast + ThinWindowOutlineStyleInactive=WindowOutlineContrast + ''; + target = "${config.xdg.configHome}/klassy/klassyrc"; + }; + powershell-profile = { + enable = true; + text = '' + Import-Module Catppuccin + $Flavor = $Catppuccin['${flavor-upper}'] + ''; + target = "${config.xdg.configHome}/powershell/Microsoft.PowerShell_profile.ps1"; + }; + }; + packages = with pkgs; [ + hicolor-icon-theme + vivid + ## GNOME + adwaita-icon-theme + gnome-settings-daemon + gsettings-desktop-schemas + gsettings-qt + ]; + sessionVariables = { + GSETTINGS_BACKEND = "keyfile"; + GTK_USE_PORTAL = "1"; + LS_COLORS = "$(vivid generate catppuccin-${flavor-lower})"; + XCURSOR_NAME = "${cursor-theme}"; + XCURSOR_SIZE = "24"; + }; + }; + programs = { + bat = { + config = { + pager = "less -FR"; + }; + }; + btop = { + settings = { + theme_background = false; + }; + }; + foot = { + settings = { + colors = { + alpha = 0.7; + }; + main = { + font = "${mono-font}:size=12"; + }; + }; + }; + git = { + delta = { }; + }; + kitty = { + font = { + name = "${mono-font}"; + size = 14; + }; + settings = { + background_opacity = "0.7"; + }; + }; + lazygit = { + settings = { + gui = { + border = "single"; + mainPanelSplitMode = "vertical"; + nerdFontsVersion = "3"; + scrollHeight = 10; + scrollOffMargin = 4; + showFileTree = false; + sidePanelWidth = 0.3333; + }; + }; + }; + nixvim = { + colorschemes.catppuccin = { + enable = true; + settings = { + background.dark = "${flavor-lower}"; + flavor = "${flavor-lower}"; + integrations = { + cmp = true; + coc_nvim = true; + gitsigns = true; + markdown = true; + neotree = true; + overseer = true; + treesitter = true; + treesitter_context = true; + which_key = true; + }; + term_colors = true; + transparentBackground = true; + }; + }; + }; + nvf = { + settings = { + vim = { + theme = { + enable = true; + name = "catppuccin"; + style = "mocha"; + transparent = true; + }; + }; + }; + }; + vscode = { + extensions = with inputs.nix-vscode-extensions.extensions.x86_64-linux.vscode-marketplace; [ + catppuccin.catppuccin-vsc-icons + catppuccin.catppuccin-vsc + ]; + userSettings = { + "catppuccin.accentColor" = "${accent-lower}"; + "catppuccin.customUIColors"."${flavor-lower}"."statusBar.foreground" = "accent"; + "editor.fontFamily" = "'${mono-font}', 'monospace', monospace"; + "editor.fontLigatures" = true; + "editor.fontSize" = 18; + "glassit.alpha" = 210; + "terminal.integrated.fontFamily" = "${mono-font}"; + "terminal.integrated.fontSize" = 14; + "terminal.integrated.fontWeight" = "normal"; + "workbench.colorTheme" = "Catppuccin ${flavor-upper}"; + "workbench.iconTheme" = "catppuccin-${flavor-lower}"; + }; + }; + }; + services = { + flatpak = { + overrides = { + "com.fightcade.Fightcade" = { + Environment = { + GTK_THEME = "${GTK-THEME}"; + }; + }; + "app.zen_browser.zen" = { + Environment = { + GTK_THEME = "${GTK-THEME}"; + }; + }; + }; + }; + # xsettingsd = { + # settings = { + # "Gtk/CursorThemeSize" = 24; + # "Gtk/CursorThemeName" = "${cursor-theme}"; + # "Gtk/FontName" = "${sans-font}, 12"; + # "Net/IconThemeName" = "Papirus-Dark"; + # "Net/ThemeName" = "${GTK-THEME}"; + # }; + # }; + }; + + # xresources = { + # properties = { + # "Xcursor.size" = 24; + # "Xcursor.theme" = "${cursor-theme}"; + # "Xft.autohint" = 1; + # "Xft.lcdfilter" = "lcddefault"; + # "Xft.hintstyle" = "hintfull"; + # "Xft.hinting" = 1; + # "Xft.antialias" = 1; + # "Xft.rgba" = "rgb"; + # # Catppuccin + # "*background" = "#1E1E2E"; + # "*foreground" = "#CDD6F4"; + # "*color0" = "#45475A"; + # "*color8" = "#585B70"; + # "*color1" = "#F38BA8"; + # "*color9" = "#F38BA8"; + # "*color2" = "#A6E3A1"; + # "*color10" = "#A6E3A1"; + # "*color3" = "#F9E2AF"; + # "*color11" = "#F9E2AF"; + # "*color4" = "#89B4FA"; + # "*color12" = "#89B4FA"; + # "*color5" = "#F5C2E7"; + # "*color13" = "#F5C2E7"; + # "*color6" = "#94E2D5"; + # "*color14" = "#94E2D5"; + # "*color7" = "#BAC2DE"; + # "*color15" = "#A6ADC8"; + # }; + # }; + }; + }; +} diff --git a/modules/profiles/desktop.nix b/modules/profiles/desktop.nix index 8761306..63f7ffd 100644 --- a/modules/profiles/desktop.nix +++ b/modules/profiles/desktop.nix @@ -91,9 +91,8 @@ in ... }: { - + programs.kitty.enable = true; home.packages = with pkgs; [ - kitty firefox filezilla ];