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 | let | ||||||
|   cfg = config.programs.desktop.communication.discord; |   cfg = config.programs.desktop.communication.discord; | ||||||
|  |   inherit (config.colorscheme) colors; | ||||||
| in | in | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   config = lib.mkIf cfg.enable { |   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