vesktop: init (#365)

adds a generated theme to Vesktop
This commit is contained in:
Victor B 2024-05-20 13:58:22 +02:00 committed by GitHub
parent 76e7daf5a1
commit 81df844355
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 73 additions and 0 deletions

16
modules/vesktop/hm.nix Normal file
View file

@ -0,0 +1,16 @@
{ config, lib, ... }:
let
themeFile = config.lib.stylix.colors {
template = ./template.mustache;
extension = ".css";
};
in
{
options.stylix.targets.vesktop.enable = config.lib.stylix.mkEnableTarget "Vesktop" true;
config = lib.mkIf config.stylix.targets.vesktop.enable {
home.file."${config.xdg.configHome}/vesktop/themes/stylix.theme.css" = {
source = themeFile;
};
};
}

View file

@ -0,0 +1,57 @@
/**
* @name Stylix
* @author Stylix
* @version 0.0.0
* @description Theme configured via NixOS or Home Manager.
**/
:root {
--base00: #{{base00-hex}}; /* Black */
--base01: #{{base01-hex}}; /* Bright Black */
--base02: #{{base02-hex}}; /* Grey */
--base03: #{{base03-hex}}; /* Brighter Grey */
--base04: #{{base04-hex}}; /* Bright Grey */
--base05: #{{base05-hex}}; /* White */
--base06: #{{base06-hex}}; /* Brighter White */
--base07: #{{base07-hex}}; /* Bright White */
--base08: #{{base08-hex}}; /* Red */
--base09: #{{base09-hex}}; /* Orange */
--base0A: #{{base0A-hex}}; /* Yellow */
--base0B: #{{base0B-hex}}; /* Green */
--base0C: #{{base0C-hex}}; /* Cyan */
--base0D: #{{base0D-hex}}; /* Blue */
--base0E: #{{base0E-hex}}; /* Purple */
--base0F: #{{base0F-hex}}; /* Magenta */
--primary-630: var(--base00); /* Autocomplete background */
--primary-660: var(--base00); /* Search input background */
}
.theme-light, .theme-dark {
--search-popout-option-fade: none; /* Disable fade for search popout */
--bg-overlay-2: var(--base00); /* These 2 are needed for proper threads coloring */
--home-background: var(--base00);
--background-primary: var(--base00);
--background-secondary: var(--base01);
--background-secondary-alt: var(--base01);
--channeltextarea-background: var(--base01);
--background-tertiary: var(--base00);
--background-accent: var(--base0E);
--background-floating: var(--base01);
--background-modifier-hover: #{{base00-hex}}4c; /* 30% of base00 */
--background-modifier-selected: var(--base00);
--text-normal: var(--base05);
--text-secondary: var(--base00);
--text-muted: var(--base03);
--text-link: var(--base0C);
--interactive-normal: var(--base05);
--interactive-hover: var(--base05);
--interactive-active: var(--base07);
--interactive-muted: var(--base03);
--channels-default: var(--base04);
--channel-icon: var(--base04);
--header-primary: var(--base06);
--header-secondary: var(--base03);
--scrollbar-thin-track: transparent;
--scrollbar-auto-track: transparent;
}