add: discord theme
This commit is contained in:
parent
96d7199c3f
commit
82635d7b8b
3 changed files with 275 additions and 2 deletions
|
|
@ -1,11 +1,149 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.programs.desktop.communication.discord;
|
||||
inherit (config.colorscheme) colors;
|
||||
in
|
||||
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.packages = with pkgs; [ vesktop ];
|
||||
home.packages = [ pkgs.vesktop ];
|
||||
|
||||
xdg.configFile."vesktop/theme/nix.css".text = /* css */ ''
|
||||
/*
|
||||
* @name nix-colors-minimal
|
||||
* @author aoku
|
||||
* @description minimal theme designed with nix colors
|
||||
*/
|
||||
|
||||
:root {
|
||||
--nix-bg1: #${colors.base00}; /*base00*/
|
||||
--nix-bg2: #${colors.base01}; /*base01*/
|
||||
--nix-bg3: #${colors.base02}; /*base02*/
|
||||
|
||||
--nix-fg1: #${colors.base05}; /*base05*/
|
||||
--nix-fg2: #${colors.base07}; /*base07*/
|
||||
--nix-fg3: #${colors.base03}; /*base03*/
|
||||
--nix-link: #${colors.base0D}; /*base0D*/
|
||||
|
||||
--nix-accent: #${colors.base08}; /*base08*/
|
||||
--nix-hi: #${colors.base0B}; /*base0B*/
|
||||
|
||||
--font-mono: ${config.fontProfiles.monospace.family}, monospace;
|
||||
--font-regular: ${config.fontProfiles.regular.family}, sans serif;
|
||||
|
||||
/* server collapse */
|
||||
--sb-collapsed-width: 12px;
|
||||
--sb-transition-duration: 0s;
|
||||
}
|
||||
|
||||
.theme-dark {
|
||||
--background-primary: var(--nix-bg1);
|
||||
--background-secondary: var(--nix-bg1);
|
||||
--background-secondary-alt: var(--nix-bg1);
|
||||
--background-accent: var(--nix-accent); /*base08*/
|
||||
--background-tertiary: var(--nix-bg2); /*base01*/
|
||||
--background-floating: var(--nix-bg1); /*base00*/
|
||||
--background-mentioned: var(--nix-bg2);
|
||||
--background-mentioned-hover: var(--nix-bg1);
|
||||
--background-mobile: var(--nix-bg1);
|
||||
--background-mobile-secondary: var(--nix-bg2);
|
||||
--background-modifier-selected: var(--nix-bg1);
|
||||
--channeltextarea-background:var(--nix-bg1);
|
||||
--background-modifier-hover:var(--nix-bg1);
|
||||
--activity-card-background: var(--nix-bg2);
|
||||
|
||||
--header-primary: var(--nix-fg2);
|
||||
--header-secondary: var(--nix-fg1);
|
||||
|
||||
--text-normal: var(--nix-fg1);
|
||||
--text-muted: var(--nix-fg1);
|
||||
--text-link: var(--nix-link);
|
||||
--text-warning: var(--nix-accent);
|
||||
--font-primary: var(--font-mono);
|
||||
--font-headline: var(--font-mono);
|
||||
--font-display: var(--font-mono);
|
||||
|
||||
--interactive-normal: var(--nix-fg1); /*base05*/
|
||||
--interactive-hover: var(--nix-hi); /*base0B*/
|
||||
--interactive-active: var(--nix-fg2);
|
||||
--interactive-muted: var(--nix-fg3); /*base03*/
|
||||
--channels-default: var(--nix-fg1);
|
||||
|
||||
--scrollbar-thin-thun: var(--nix-hi);
|
||||
--scrollbar-auto-thumb: var(--nix-fg1);
|
||||
--scrollbar-auto-track:var(--nix-bg2);
|
||||
--scrollbar-auto-scrollbar-color-thumb: var(--nix-accent);
|
||||
}
|
||||
|
||||
.messagesWrapper_ea2b0b {
|
||||
font-family: var(--font-regular);
|
||||
}
|
||||
|
||||
.titleWrapper__482dc {
|
||||
font-family: var(--font-mono);
|
||||
}
|
||||
|
||||
.link__95dc0 /* text channel*/{
|
||||
border-radius: 0px;
|
||||
margin-left: -10px;
|
||||
font-family: var(--font-mono);
|
||||
}
|
||||
|
||||
.container_ca50b9 .avatar_f8541f { /*avatar*/
|
||||
display: none;
|
||||
}
|
||||
|
||||
.form__13a2c /* text input box resize */ {
|
||||
height: 50px;
|
||||
font-family: var(--font-regular);
|
||||
}
|
||||
|
||||
.containerDefault__3187b .wrapper__7bcde:before /* text channel */{
|
||||
content: "";
|
||||
display:inline-block;
|
||||
background: var(--nix-hi);
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
|
||||
/* server collapse */
|
||||
.guilds__2b93a /* servers */{
|
||||
overflow: hidden !important;
|
||||
width: var(--sb-collapsed-width, 75px);
|
||||
transition: width var(--sb-transition-duration);
|
||||
}
|
||||
.guilds__2b93a:hover /* expand server bar on hover */{
|
||||
width: 70px;
|
||||
overflow: visible !important;
|
||||
animation: server-bar-overflow 0s linear 0ms forwards
|
||||
}
|
||||
.guilds__2b93a ~ .base__3e6af /* friends list, chat */{
|
||||
position: absolute;
|
||||
left: var(--sb-collapsed-left, var(--sb-collapsed-width));
|
||||
top: var(--sb-collapsed-top, 0px);
|
||||
bottom: var(--sb-collapsed-bottom, 0px);
|
||||
right: var(--sb-collapsed-right, 0px);
|
||||
transition-property: var(--sb-transition-property, left);
|
||||
transition-duration: var(--sb-transition-duration);
|
||||
}
|
||||
.guilds__2b93a:hover ~ .base__3e6af /* friends list, chat */{
|
||||
position: absolute;
|
||||
left: var(--sb-left, 70px);
|
||||
top: var(--sb-top, 0px);
|
||||
bottom: var(--sb-bottom, 0px);
|
||||
right: var(--sb-right, 0px);
|
||||
}
|
||||
@keyframes server-bar-overflow{
|
||||
from{
|
||||
overflow: hidden;
|
||||
}
|
||||
to{
|
||||
overflow: visible;
|
||||
}
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
|||
102
home/programs/desktop/communication/discord/theme.css
Normal file
102
home/programs/desktop/communication/discord/theme.css
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
:root {
|
||||
--nix-bg1: #32302f; /*base00*/
|
||||
--nix-bg2: #3c3836; /*base01*/
|
||||
--nix-bg3: #504945; /*base02*/
|
||||
|
||||
--nix-fg1: #d5c4a1; /*base05*/
|
||||
--nix-fg2: #fbf1c7; /*base07*/
|
||||
--nix-fg3: #665c54; /*base03*/
|
||||
--nix-link: #83a598; /*base0D*/
|
||||
|
||||
--nix-accent: #fb4934; /*base08*/
|
||||
--nix-hi: #b8bb26; /*base0B*/
|
||||
|
||||
/* server collapse */
|
||||
--sb-collapsed-width: 12px;
|
||||
--sb-transition-duration: 0.15s;
|
||||
}
|
||||
|
||||
.theme-dark {
|
||||
--background-primary: var(--nix-bg1);
|
||||
--background-secondary: var(--nix-bg2);
|
||||
--background-secondary-alt: var(--nix-bg3);
|
||||
--header-primary: var(--nix-fg1);
|
||||
--header-secondary: var(--nix-hi);
|
||||
--text-normal: var(--nix-fg1);
|
||||
--text-muted: var(--nix-fg1);
|
||||
--text-link: var(--nix-link);
|
||||
--background-accent: var(--nix-accent); /*base08*/
|
||||
--background-tertiary: var(--nix-bg2); /*base01*/
|
||||
--background-floating: var(--nix-bg1); /*base00*/
|
||||
--background-mentioned: var(--nix-hi);
|
||||
--background-mentioned: var(--nix-hi);
|
||||
--interactive-normal: var(--nix-fg1); /*base05*/
|
||||
--interactive-hover: var(--nix-hi); /*base0B*/
|
||||
--interactive-active: var(--nix-fg2);
|
||||
--interactive-muted: var(--nix-fg3); /*base03*/
|
||||
--channels-default: var(--nix-fg1);
|
||||
--background-mobile: var(--nix-bg1);
|
||||
--background-mobile-secondary: var(--nix-bg2);
|
||||
--background-modifier-selected: var(--nix-bg1);
|
||||
--scrollbar-thin-thun: var(--nix-hi);
|
||||
--scrollbar-auto-thumb: var(--nix-fg1);
|
||||
--scrollbar-auto-track: var(--nix-bg2);
|
||||
--channeltextarea-background: var(--nix-bg2);
|
||||
--background-modifier-hover: var(--nix-bg1);
|
||||
--activity-card-background: var(--nix-bg2);
|
||||
--text-warning: var(--nix-accent);
|
||||
}
|
||||
|
||||
.link__95dc0 /* text channel*/ {
|
||||
border-radius: 0px;
|
||||
margin-left: var(--csu-init-margin);
|
||||
font-family: JetBrains Mono Nerd Font;
|
||||
transition:
|
||||
margin-left var(--csu-anim-duration) var(--csu-anim-transition),
|
||||
background-color var(--csu-anim-duration);
|
||||
}
|
||||
|
||||
.containerDefault__3187b .wrapper__7bcde:before /* text channel */ {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
background: var(--nix-hi);
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
/* server collapse */
|
||||
.guilds__2b93a /* servers */ {
|
||||
overflow: hidden !important;
|
||||
width: var(--sb-collapsed-width, 75px);
|
||||
transition: width var(--sb-transition-duration);
|
||||
}
|
||||
.guilds__2b93a:hover /* expand server bar on hover */ {
|
||||
width: 72px;
|
||||
overflow: visible !important;
|
||||
animation: server-bar-overflow 0s linear 0ms forwards;
|
||||
}
|
||||
.guilds__2b93a ~ .base__3e6af /* friends list, chat */ {
|
||||
position: absolute;
|
||||
left: var(--sb-collapsed-left, var(--sb-collapsed-width));
|
||||
top: var(--sb-collapsed-top, 0px);
|
||||
bottom: var(--sb-collapsed-bottom, 0px);
|
||||
right: var(--sb-collapsed-right, 0px);
|
||||
transition-property: var(--sb-transition-property, left);
|
||||
transition-duration: var(--sb-transition-duration);
|
||||
}
|
||||
.guilds__2b93a:hover ~ .base__3e6af /* friends list, chat */ {
|
||||
position: absolute;
|
||||
left: var(--sb-left, 60px);
|
||||
top: var(--sb-top, 0px);
|
||||
bottom: var(--sb-bottom, 0px);
|
||||
right: var(--sb-right, 0px);
|
||||
}
|
||||
@keyframes server-bar-overflow {
|
||||
from {
|
||||
overflow: hidden;
|
||||
}
|
||||
to {
|
||||
overflow: visible;
|
||||
}
|
||||
}
|
||||
33
modules/home-manager/vesktop.nix
Normal file
33
modules/home-manager/vesktop.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.programs.vesktop;
|
||||
package = pkgs.vesktop;
|
||||
in {
|
||||
|
||||
options = {
|
||||
programs.vesktop = {
|
||||
enable = mkEnableOption
|
||||
"vesktop, a custom client for discord";
|
||||
|
||||
theme = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = "Custom css theme for vesktop";
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
type = types.attrs;
|
||||
default = {};
|
||||
description = "Vesktop settings.";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.pakages = [ package ];
|
||||
xdg.configFile."vesktop/theme/custom.css".text = cfg.theme;
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue