shared/nixosModules/style: split everything into its file
This commit is contained in:
parent
851a4d0d32
commit
f8afc9f461
18 changed files with 792 additions and 626 deletions
|
@ -2,26 +2,24 @@
|
||||||
inputs,
|
inputs,
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
lib',
|
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
inherit (lib.strings) removePrefix;
|
|
||||||
|
|
||||||
inherit (lib') generateGtkColors;
|
|
||||||
|
|
||||||
cfg = config.local.style;
|
cfg = config.local.style;
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports =
|
||||||
./gtk.nix
|
[
|
||||||
./options.nix
|
|
||||||
inputs.niri.nixosModules.niri
|
inputs.niri.nixosModules.niri
|
||||||
inputs.hyprland.nixosModules.default
|
inputs.hyprland.nixosModules.default
|
||||||
];
|
|
||||||
config = let
|
./options.nix
|
||||||
scheme = inputs.basix.schemeData.base16.${cfg.schemeName};
|
]
|
||||||
in
|
++ lib.filesystem.listFilesRecursive ./modules;
|
||||||
mkIf cfg.enable
|
|
||||||
|
config =
|
||||||
|
mkIf
|
||||||
|
cfg.enable
|
||||||
{
|
{
|
||||||
home-manager.users.${config.local.systemVars.username} = {
|
home-manager.users.${config.local.systemVars.username} = {
|
||||||
home.pointerCursor = {
|
home.pointerCursor = {
|
||||||
|
@ -29,602 +27,6 @@ in {
|
||||||
x11.enable = true;
|
x11.enable = true;
|
||||||
gtk.enable = true;
|
gtk.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.swaync.style =
|
|
||||||
generateGtkColors lib scheme.palette;
|
|
||||||
|
|
||||||
wayland.windowManager.hyprland.settings = {
|
|
||||||
env = [
|
|
||||||
"HYPRCURSOR_THEME,phinger-cursors-light"
|
|
||||||
"HYPRCURSOR_SIZE,32"
|
|
||||||
"XCURSOR_SIZE,32"
|
|
||||||
];
|
|
||||||
general = {
|
|
||||||
border_size = 4;
|
|
||||||
"col.active_border" = "rgb(${removePrefix "#" scheme.palette.base0E})";
|
|
||||||
};
|
|
||||||
decoration = {
|
|
||||||
rounding = 10;
|
|
||||||
blur.enabled = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
hyprlock = {
|
|
||||||
settings = {
|
|
||||||
background = [
|
|
||||||
{
|
|
||||||
path = "screenshot";
|
|
||||||
blur_passes = 3;
|
|
||||||
blur_size = 8;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
general = {
|
|
||||||
disable_loading_bar = true;
|
|
||||||
hide_cursor = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
label = [
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
text = "Layout: $LAYOUT";
|
|
||||||
font_size = 25;
|
|
||||||
color = scheme.palette.base05;
|
|
||||||
|
|
||||||
position = "30, -30";
|
|
||||||
halign = "left";
|
|
||||||
valign = "top";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
text = "$TIME";
|
|
||||||
font_size = 90;
|
|
||||||
color = scheme.palette.base05;
|
|
||||||
|
|
||||||
position = "-30, 0";
|
|
||||||
halign = "right";
|
|
||||||
valign = "top";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
text = "cmd[update:43200000] date +\"%A, %d %B %Y\"";
|
|
||||||
font_size = 25;
|
|
||||||
color = scheme.palette.base05;
|
|
||||||
|
|
||||||
position = "-30, -150";
|
|
||||||
halign = "right";
|
|
||||||
valign = "top";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
image = {
|
|
||||||
monitor = "";
|
|
||||||
path = "${cfg.avatar}"; # Replace with your avatar path
|
|
||||||
size = 100;
|
|
||||||
border_color = scheme.palette.base0D;
|
|
||||||
|
|
||||||
position = "0, 75";
|
|
||||||
halign = "center";
|
|
||||||
valign = "center";
|
|
||||||
};
|
|
||||||
|
|
||||||
input-field = [
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
|
|
||||||
size = "300, 60";
|
|
||||||
outline_thickness = 4;
|
|
||||||
dots_size = 0.2;
|
|
||||||
dots_spacing = 0.2;
|
|
||||||
dots_center = true;
|
|
||||||
|
|
||||||
outer_color = scheme.palette.base0D;
|
|
||||||
inner_color = scheme.palette.base02;
|
|
||||||
font_color = scheme.palette.base05;
|
|
||||||
|
|
||||||
fade_on_empty = false;
|
|
||||||
placeholder_text = "<span foreground=\"#${scheme.palette.base03}\"><i> Logged in as </i><span foreground=\"#${scheme.palette.base0D}\">$USER</span></span>";
|
|
||||||
|
|
||||||
hide_input = false;
|
|
||||||
check_color = scheme.palette.base0D;
|
|
||||||
fail_color = scheme.palette.base08;
|
|
||||||
|
|
||||||
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>";
|
|
||||||
capslock_color = scheme.palette.base0E;
|
|
||||||
|
|
||||||
position = "0, -47";
|
|
||||||
halign = "center";
|
|
||||||
valign = "center";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
niri = {
|
|
||||||
settings = {
|
|
||||||
layout.focus-ring.active.color = scheme.palette.base0D;
|
|
||||||
cursor = {
|
|
||||||
inherit (cfg.cursorTheme) size;
|
|
||||||
theme = cfg.cursorTheme.name;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
foot.settings.colors = let
|
|
||||||
# because someone thought this was a great idea: https://github.com/tinted-theming/schemes/commit/61058a8d2e2bd4482b53d57a68feb56cdb991f0b
|
|
||||||
palette = builtins.mapAttrs (_: color: removePrefix "#" color) scheme.palette;
|
|
||||||
in {
|
|
||||||
background = palette.base00;
|
|
||||||
foreground = palette.base05;
|
|
||||||
|
|
||||||
regular0 = palette.base00;
|
|
||||||
regular1 = palette.base08;
|
|
||||||
regular2 = palette.base0B;
|
|
||||||
regular3 = palette.base0A;
|
|
||||||
regular4 = palette.base0D;
|
|
||||||
regular5 = palette.base0E;
|
|
||||||
regular6 = palette.base0C;
|
|
||||||
regular7 = palette.base05;
|
|
||||||
|
|
||||||
bright0 = palette.base02;
|
|
||||||
bright1 = palette.base08;
|
|
||||||
bright2 = palette.base0B;
|
|
||||||
bright3 = palette.base0A;
|
|
||||||
bright4 = palette.base0D;
|
|
||||||
bright5 = palette.base0E;
|
|
||||||
bright6 = palette.base0C;
|
|
||||||
bright7 = palette.base07;
|
|
||||||
|
|
||||||
"16" = palette.base09;
|
|
||||||
"17" = palette.base0F;
|
|
||||||
"18" = palette.base01;
|
|
||||||
"19" = palette.base02;
|
|
||||||
"20" = palette.base04;
|
|
||||||
"21" = palette.base06;
|
|
||||||
};
|
|
||||||
|
|
||||||
waybar.style =
|
|
||||||
generateGtkColors lib scheme.palette;
|
|
||||||
|
|
||||||
fuzzel.settings = {
|
|
||||||
main = {
|
|
||||||
font = "sans-serif:size=16";
|
|
||||||
};
|
|
||||||
colors = {
|
|
||||||
background = "${scheme.palette.base01}f2";
|
|
||||||
text = "${scheme.palette.base05}ff";
|
|
||||||
match = "${scheme.palette.base0E}ff";
|
|
||||||
selection = "${scheme.palette.base03}ff";
|
|
||||||
selection-text = "${scheme.palette.base06}ff";
|
|
||||||
selection-match = "${scheme.palette.base0E}ff";
|
|
||||||
border = "${scheme.palette.base0E}ff";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
swaylock.settings = {
|
|
||||||
inside-color = scheme.palette.base01;
|
|
||||||
line-color = scheme.palette.base01;
|
|
||||||
ring-color = scheme.palette.base05;
|
|
||||||
text-color = scheme.palette.base05;
|
|
||||||
|
|
||||||
inside-clear-color = scheme.palette.base0A;
|
|
||||||
line-clear-color = scheme.palette.base0A;
|
|
||||||
ring-clear-color = scheme.palette.base00;
|
|
||||||
text-clear-color = scheme.palette.base00;
|
|
||||||
|
|
||||||
inside-caps-lock-color = scheme.palette.base03;
|
|
||||||
line-caps-lock-color = scheme.palette.base03;
|
|
||||||
ring-caps-lock-color = scheme.palette.base00;
|
|
||||||
text-caps-lock-color = scheme.palette.base00;
|
|
||||||
|
|
||||||
inside-ver-color = scheme.palette.base0D;
|
|
||||||
line-ver-color = scheme.palette.base0D;
|
|
||||||
ring-ver-color = scheme.palette.base00;
|
|
||||||
text-ver-color = scheme.palette.base00;
|
|
||||||
|
|
||||||
inside-wrong-color = scheme.palette.base08;
|
|
||||||
line-wrong-color = scheme.palette.base08;
|
|
||||||
ring-wrong-color = scheme.palette.base00;
|
|
||||||
text-wrong-color = scheme.palette.base00;
|
|
||||||
|
|
||||||
caps-lock-bs-hl-color = scheme.palette.base08;
|
|
||||||
caps-lock-key-hl-color = scheme.palette.base0D;
|
|
||||||
bs-hl-color = scheme.palette.base08;
|
|
||||||
key-hl-color = scheme.palette.base0D;
|
|
||||||
|
|
||||||
separator-color = "#00000000"; # transparent
|
|
||||||
layout-bg-color = "#00000050"; # semi-transparent black
|
|
||||||
};
|
|
||||||
|
|
||||||
zathura.options = {
|
|
||||||
default-fg = scheme.palette.base01;
|
|
||||||
default-bg = scheme.palette.base00;
|
|
||||||
|
|
||||||
completion-bg = scheme.palette.base01;
|
|
||||||
completion-fg = scheme.palette.base0D;
|
|
||||||
completion-highlight-bg = scheme.palette.base0D;
|
|
||||||
completion-highlight-fg = scheme.palette.base07;
|
|
||||||
|
|
||||||
statusbar-fg = scheme.palette.base04;
|
|
||||||
statusbar-bg = scheme.palette.base02;
|
|
||||||
|
|
||||||
notification-bg = scheme.palette.base00;
|
|
||||||
notification-fg = scheme.palette.base07;
|
|
||||||
notification-error-bg = scheme.palette.base00;
|
|
||||||
notification-error-fg = scheme.palette.base08;
|
|
||||||
notification-warning-bg = scheme.palette.base00;
|
|
||||||
notification-warning-fg = scheme.palette.base0A;
|
|
||||||
|
|
||||||
inputbar-fg = scheme.palette.base07;
|
|
||||||
inputbar-bg = scheme.palette.base00;
|
|
||||||
|
|
||||||
recolor = false;
|
|
||||||
recolor-keephue = false;
|
|
||||||
recolor-lightcolor = scheme.palette.base00;
|
|
||||||
recolor-darkcolor = scheme.palette.base06;
|
|
||||||
|
|
||||||
highlight-color = scheme.palette.base0A;
|
|
||||||
highlight-active-color = scheme.palette.base0D;
|
|
||||||
};
|
|
||||||
|
|
||||||
gnome-terminal.profile = {
|
|
||||||
"4621184a-b921-42cf-80a0-7784516606f2".colors = {
|
|
||||||
backgroundColor = "#${scheme.palette.base00}";
|
|
||||||
foregroundColor = "#${scheme.palette.base05}" "#${scheme.palette.base05}";
|
|
||||||
palette = builtins.attrValues (builtins.mapAttrs (_: color: "#${color}") scheme.palette);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
fish.interactiveShellInit = ''
|
|
||||||
set fish_cursor_default block blink
|
|
||||||
set fish_cursor_insert line blink
|
|
||||||
set fish_cursor_replace_one underscore blink
|
|
||||||
set fish_cursor_visual block
|
|
||||||
|
|
||||||
set -x fish_color_autosuggestion brblack
|
|
||||||
set -x fish_color_cancel -r
|
|
||||||
set -x fish_color_command brgreen
|
|
||||||
set -x fish_color_comment brmagenta
|
|
||||||
set -x fish_color_cwd green
|
|
||||||
set -x fish_color_cwd_root red
|
|
||||||
set -x fish_color_end brmagenta
|
|
||||||
set -x fish_color_error brred
|
|
||||||
set -x fish_color_escape brcyan
|
|
||||||
set -x fish_color_history_current --bold
|
|
||||||
set -x fish_color_host normal
|
|
||||||
set -x fish_color_host_remote yellow
|
|
||||||
set -x fish_color_match --background=brblue
|
|
||||||
set -x fish_color_normal normal
|
|
||||||
set -x fish_color_operator cyan
|
|
||||||
set -x fish_color_param brblue
|
|
||||||
set -x fish_color_quote yellow
|
|
||||||
set -x fish_color_redirection bryellow
|
|
||||||
set -x fish_color_search_match 'bryellow' '--background=brblack'
|
|
||||||
set -x fish_color_selection 'white' '--bold' '--background=brblack'
|
|
||||||
set -x fish_color_status red
|
|
||||||
set -x fish_color_user brgreen
|
|
||||||
set -x fish_color_valid_path --underline
|
|
||||||
set -x fish_pager_color_completion normal
|
|
||||||
set -x fish_pager_color_description yellow
|
|
||||||
set -x fish_pager_color_prefix 'white' '--bold' '--underline'
|
|
||||||
set -x fish_pager_color_progress 'brwhite' '--background=cyan'
|
|
||||||
'';
|
|
||||||
|
|
||||||
starship.settings = {
|
|
||||||
directory = {
|
|
||||||
style = "bold yellow";
|
|
||||||
};
|
|
||||||
character = {
|
|
||||||
format = "$symbol ";
|
|
||||||
success_symbol = "[➜](bold green)";
|
|
||||||
error_symbol = "[✗](bold red)";
|
|
||||||
vicmd_symbol = "[](bold green)";
|
|
||||||
};
|
|
||||||
cmd_duration = {
|
|
||||||
style = "yellow";
|
|
||||||
format = "[ $duration]($style)";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nvf.settings.vim.theme = {
|
|
||||||
enable = true;
|
|
||||||
name = "base16";
|
|
||||||
base16-colors = scheme.palette;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
xdg.configFile."equibop/themes/midnight-base16.css".text = with scheme.palette; ''
|
|
||||||
/**
|
|
||||||
* @name Midnight-base16
|
|
||||||
* @description A dark, rounded discord theme. Updated to use base16 colors.
|
|
||||||
* @author refact0r
|
|
||||||
* @version 1.6.2
|
|
||||||
* @invite nz87hXyvcy
|
|
||||||
* @website https://github.com/refact0r/midnight-discord
|
|
||||||
* @source https://github.com/refact0r/midnight-discord/blob/master/midnight.theme.css
|
|
||||||
* @authorId 508863359777505290
|
|
||||||
* @authorLink https://www.refact0r.dev
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* IMPORTANT: make sure to enable dark mode in discord settings for the theme to apply properly!!! */
|
|
||||||
|
|
||||||
@import url('https://refact0r.github.io/midnight-discord/midnight.css');
|
|
||||||
|
|
||||||
/* customize things here */
|
|
||||||
:root {
|
|
||||||
/* font, change to 'gg sans' for default discord font*/
|
|
||||||
--font: 'gg sans';
|
|
||||||
|
|
||||||
/* top left corner text */
|
|
||||||
--corner-text: '${scheme.name}';
|
|
||||||
|
|
||||||
/* color of status indicators and window controls */
|
|
||||||
--online-indicator: ${base0B}; /* change to #23a55a for default green */
|
|
||||||
--dnd-indicator: ${base08}; /* change to #f13f43 for default red */
|
|
||||||
--idle-indicator: ${base0A}; /* change to #f0b232 for default yellow */
|
|
||||||
--streaming-indicator: ${base0E}; /* change to #593695 for default purple */
|
|
||||||
|
|
||||||
/* accent colors */
|
|
||||||
--accent-1: ${base0D}; /* links */
|
|
||||||
--accent-2: ${base0E}; /* general unread/mention elements, some icons when active */
|
|
||||||
--accent-3: ${base0E}; /* accent buttons */
|
|
||||||
--accent-4: ${base03}; /* accent buttons when hovered */
|
|
||||||
--accent-5: ${base07}; /* accent buttons when clicked */
|
|
||||||
--mention: ${base00}1a; /* mentions & mention messages */
|
|
||||||
--mention-hover: ${base00}0d; /* mentions & mention messages when hovered */
|
|
||||||
|
|
||||||
/* text colors */
|
|
||||||
--text-0: var(--bg-4); /* text on colored elements */
|
|
||||||
--text-1: ${base06}; /* other normally white text */
|
|
||||||
--text-2: ${base06}; /* headings and important text */
|
|
||||||
--text-3: ${base05}; /* normal text */
|
|
||||||
--text-4: ${base05}; /* icon buttons and channels */
|
|
||||||
--text-5: ${base04}; /* muted channels/chats and timestamps */
|
|
||||||
|
|
||||||
/* background and dark colors */
|
|
||||||
--bg-1: ${base0E}; /* dark buttons when clicked */
|
|
||||||
--bg-2: ${base02}; /* dark buttons */
|
|
||||||
--bg-3: ${base01}; /* spacing, secondary elements */
|
|
||||||
--bg-4: ${base00}; /* main background color */
|
|
||||||
--hover: ${base03}1a; /* channels and buttons when hovered */
|
|
||||||
--active: ${base03}33; /* channels and buttons when clicked or selected */
|
|
||||||
--message-hover: #0000001a; /* messages when hovered */
|
|
||||||
|
|
||||||
/* amount of spacing and padding */
|
|
||||||
--spacing: 12px;
|
|
||||||
|
|
||||||
/* animations */
|
|
||||||
/* ALL ANIMATIONS CAN BE DISABLED WITH REDUCED MOTION IN DISCORD SETTINGS */
|
|
||||||
--list-item-transition: 0.2s ease; /* channels/members/settings hover transition */
|
|
||||||
--unread-bar-transition: 0.2s ease; /* unread bar moving into view transition */
|
|
||||||
--moon-spin-transition: 0.4s ease; /* moon icon spin */
|
|
||||||
--icon-spin-transition: 1s ease; /* round icon button spin (settings, emoji, etc.) */
|
|
||||||
|
|
||||||
/* corner roundness (border-radius) */
|
|
||||||
--roundness-xl: 22px; /* roundness of big panel outer corners */
|
|
||||||
--roundness-l: 20px; /* popout panels */
|
|
||||||
--roundness-m: 16px; /* smaller panels, images, embeds */
|
|
||||||
--roundness-s: 12px; /* members, settings inputs */
|
|
||||||
--roundness-xs: 10px; /* channels, buttons */
|
|
||||||
--roundness-xxs: 8px; /* searchbar, small elements */
|
|
||||||
|
|
||||||
/* direct messages moon icon */
|
|
||||||
/* change to block to show, none to hide */
|
|
||||||
--discord-icon: none; /* discord icon */
|
|
||||||
--moon-icon: block; /* moon icon */
|
|
||||||
--moon-icon-url: url('https://upload.wikimedia.org/wikipedia/commons/c/c4/Font_Awesome_5_solid_moon.svg'); /* custom icon url */
|
|
||||||
--moon-icon-size: auto;
|
|
||||||
|
|
||||||
/* filter uncolorable elements to fit theme */
|
|
||||||
/* (just set to none, they're too much work to configure) */
|
|
||||||
--login-bg-filter: saturate(0.3) hue-rotate(-15deg) brightness(0.4); /* login background artwork */
|
|
||||||
--green-to-accent-3-filter: hue-rotate(56deg) saturate(1.43); /* add friend page explore icon */
|
|
||||||
--blurple-to-accent-3-filter: hue-rotate(304deg) saturate(0.84) brightness(1.2); /* add friend page school icon */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Selected chat/friend text */
|
|
||||||
.selected_f5eb4b,
|
|
||||||
.selected_f6f816 .link_d8bfb3 {
|
|
||||||
color: var(--text-0) !important;
|
|
||||||
background: var(--accent-3) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selected_f6f816 .link_d8bfb3 * {
|
|
||||||
color: var(--text-0) !important;
|
|
||||||
fill: var(--text-0) !important;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
|
|
||||||
# based on https://github.com/rose-pine/tidal. adapted to work with base16 colors.
|
|
||||||
xdg.configFile."tidal-hifi/themes/base16.css".text = with scheme.palette; ''
|
|
||||||
:root {
|
|
||||||
--glass-white-1: ${base05};
|
|
||||||
--glass-white-1-hover: ${base06};
|
|
||||||
--glass-white-2: ${base07};
|
|
||||||
--glass-white-2-hover: ${base08};
|
|
||||||
--glass-white-3: ${base07};
|
|
||||||
--glass-white-4: ${base04};
|
|
||||||
--glass-white-5: ${base04};
|
|
||||||
--glass-white-6: ${base05};
|
|
||||||
--snow-white: ${base07};
|
|
||||||
--snow-white-hover: ${base08};
|
|
||||||
--gray-4: ${base00};
|
|
||||||
--gray-5: ${base02};
|
|
||||||
--gray-6: ${base03};
|
|
||||||
--gray-7: ${base04};
|
|
||||||
--cyan-blue: ${base0D};
|
|
||||||
--cyan-blue-hover: ${base0C};
|
|
||||||
--glass-cyan-1: ${base04};
|
|
||||||
--glass-cyan-2: ${base05};
|
|
||||||
--glass-cyan-3: ${base06};
|
|
||||||
--master-gold: ${base0E};
|
|
||||||
--master-gold-hover: ${base08};
|
|
||||||
--glass-master-gold: ${base05};
|
|
||||||
--glass-master-gold-2: ${base06};
|
|
||||||
--raspberry-pink: ${base08};
|
|
||||||
--raspberry-pink-lighter: ${base09};
|
|
||||||
--black: ${base00};
|
|
||||||
--midnight-black: ${base00};
|
|
||||||
--controls-overlay: ${base03};
|
|
||||||
--duration-overlay: ${base02};
|
|
||||||
--background-dark: ${base00};
|
|
||||||
--hoverLighten: brightness(130%);
|
|
||||||
--hoverDarken: brightness(70%);
|
|
||||||
--hoverTransition: filter 0.15s ease;
|
|
||||||
--scrollbar-track: ${base03};
|
|
||||||
--scrollbar-thumb: ${base00};
|
|
||||||
--lighten-25: ${base01};
|
|
||||||
--red-alert: ${base08};
|
|
||||||
--user-profile-linear-gradient: linear-gradient(160deg,${base0D} 1.22%,${base0C} 40.51%,${base00} 79.07%);
|
|
||||||
--wave-border-radius--none: 0px;
|
|
||||||
--wave-border-radius--extra-small: 4px;
|
|
||||||
--wave-border-radius--small: 8px;
|
|
||||||
--wave-border-radius--regular: 12px;
|
|
||||||
--wave-border-radius--full: 1000px;
|
|
||||||
--wave-color-material-dark: ${base00}80;
|
|
||||||
--wave-color-material-light: ${base04}33;
|
|
||||||
--wave-color-opacity-accent-dark-ultra-thick: ${base0C}cc;
|
|
||||||
--wave-color-opacity-accent-darkest-ultra-thick: ${base01};
|
|
||||||
--wave-color-opacity-accent-fill-regular: ${base0C}66;
|
|
||||||
--wave-color-opacity-accent-fill-thin: ${base0C}33;
|
|
||||||
--wave-color-opacity-accent-fill-ultra-thick: ${base0C}cc;
|
|
||||||
--wave-color-opacity-accent-fill-ultra-thin: ${base0C}1a;
|
|
||||||
--wave-color-opacity-base-bright-thick: ${base00}99;
|
|
||||||
--wave-color-opacity-base-bright-thin: ${base00}33;
|
|
||||||
--wave-color-opacity-base-bright-transparent: ${base00};
|
|
||||||
--wave-color-opacity-base-bright-ultra-thick: ${base00}cc;
|
|
||||||
--wave-color-opacity-base-brighter-ultra-thick: ${base01}cc;
|
|
||||||
--wave-color-opacity-base-brightest-regular: ${base02}66;
|
|
||||||
--wave-color-opacity-base-brightest-thin: ${base02}33;
|
|
||||||
--wave-color-opacity-base-brightest-ultra-thin: ${base02}1a;
|
|
||||||
--wave-color-opacity-base-fill-regular: ${base00}66;
|
|
||||||
--wave-color-opacity-base-fill-thick: ${base00}99;
|
|
||||||
--wave-color-opacity-base-fill-thin: ${base00}33;
|
|
||||||
--wave-color-opacity-base-fill-transparent: #000;
|
|
||||||
--wave-color-opacity-base-fill-ultra-thick: ${base00}cc;
|
|
||||||
--wave-color-opacity-base-fill-ultra-thin: ${base00}1a;
|
|
||||||
--wave-color-opacity-contrast-fill-regular: ${base07}66;
|
|
||||||
--wave-color-opacity-contrast-fill-thick: ${base07}99;
|
|
||||||
--wave-color-opacity-contrast-fill-thin: ${base07}33;
|
|
||||||
--wave-color-opacity-contrast-fill-transparent: #fff;
|
|
||||||
--wave-color-opacity-contrast-fill-ultra-thick: ${base07}cc;
|
|
||||||
--wave-color-opacity-contrast-fill-ultra-thin: ${base07}1a;
|
|
||||||
--wave-color-opacity-rainbow-blue-thin: ${base0D}33;
|
|
||||||
--wave-color-opacity-rainbow-yellow-fill-regular: ${base0E}66;
|
|
||||||
--wave-color-opacity-rainbow-yellow-fill-thin: ${base0E}33;
|
|
||||||
--wave-color-opacity-rainbow-yellow-fill-ultra-thick: ${base0E}cc;
|
|
||||||
--wave-color-opacity-rainbow-yellow-fill-ultra-thin: ${base0E}1a;
|
|
||||||
--wave-color-opacity-special-fill-regular: ${base0E}66;
|
|
||||||
--wave-color-opacity-special-fill-thin: ${base0E}33;
|
|
||||||
--wave-color-opacity-special-fill-ultra-thick: ${base0E}cc;
|
|
||||||
--wave-color-opacity-special-fill-ultra-thin: ${base0E}1a;
|
|
||||||
--wave-color-services-facebook: ${base0D};
|
|
||||||
--wave-color-services-instagram-red: ${base08};
|
|
||||||
--wave-color-services-mtn: ${base0E};
|
|
||||||
--wave-color-services-musix-orange: ${base09};
|
|
||||||
--wave-color-services-musix-pink: ${base0E};
|
|
||||||
--wave-color-services-play: ${base0C};
|
|
||||||
--wave-color-services-plus: ${base0B};
|
|
||||||
--wave-color-services-snapchat: ${base0A};
|
|
||||||
--wave-color-services-sprint: ${base0A};
|
|
||||||
--wave-color-services-t-mobile: ${base08};
|
|
||||||
--wave-color-services-tik-tok-blue: ${base0D};
|
|
||||||
--wave-color-services-tik-tok-red: ${base08};
|
|
||||||
--wave-color-services-twitter: ${base0D};
|
|
||||||
--wave-color-services-viacom-1: ${base0D};
|
|
||||||
--wave-color-services-viacom-2: ${base0E};
|
|
||||||
--wave-color-services-viacom-3: ${base08};
|
|
||||||
--wave-color-services-viacom-4: ${base09};
|
|
||||||
--wave-color-services-viacom-5: ${base0E};
|
|
||||||
--wave-color-services-vivo: ${base0E};
|
|
||||||
--wave-color-services-vodafone: ${base08};
|
|
||||||
--wave-color-services-waze: ${base0D};
|
|
||||||
--wave-color-solid-accent-bright: ${base0D};
|
|
||||||
--wave-color-solid-accent-brighter: ${base0D};
|
|
||||||
--wave-color-solid-accent-dark: ${base0C};
|
|
||||||
--wave-color-solid-accent-darker: ${base01};
|
|
||||||
--wave-color-solid-accent-darkest: ${base00};
|
|
||||||
--wave-color-solid-accent-fill: ${base0D};
|
|
||||||
--wave-color-solid-base-bright: ${base00};
|
|
||||||
--wave-color-solid-base-brighter: ${base01};
|
|
||||||
--wave-color-solid-base-brightest: ${base02};
|
|
||||||
--wave-color-solid-base-fill: ${base00};
|
|
||||||
--wave-color-solid-contrast-dark: ${base07};
|
|
||||||
--wave-color-solid-contrast-darker: ${base06};
|
|
||||||
--wave-color-solid-contrast-darkest: ${base05};
|
|
||||||
--wave-color-solid-contrast-fill: ${base07};
|
|
||||||
--wave-color-solid-rainbow-blue-fill: ${base0D};
|
|
||||||
--wave-color-solid-rainbow-green-brighter: ${base0D};
|
|
||||||
--wave-color-solid-rainbow-green-dark: ${base0C};
|
|
||||||
--wave-color-solid-rainbow-green-darker: ${base0C};
|
|
||||||
--wave-color-solid-rainbow-green-darkest: ${base01};
|
|
||||||
--wave-color-solid-rainbow-green-fill: ${base0D};
|
|
||||||
--wave-color-solid-rainbow-orange-fill: ${base09};
|
|
||||||
--wave-color-solid-rainbow-purple-fill: ${base0E};
|
|
||||||
--wave-color-solid-rainbow-red-bright: ${base08};
|
|
||||||
--wave-color-solid-rainbow-red-brighter: ${base08};
|
|
||||||
--wave-color-solid-rainbow-red-dark: ${base09};
|
|
||||||
--wave-color-solid-rainbow-red-darker: ${base01};
|
|
||||||
--wave-color-solid-rainbow-red-darkest: ${base00};
|
|
||||||
--wave-color-solid-rainbow-red-fill: ${base08};
|
|
||||||
--wave-color-solid-rainbow-yellow-bright: ${base0A};
|
|
||||||
--wave-color-solid-rainbow-yellow-brighter: ${base06};
|
|
||||||
--wave-color-solid-rainbow-yellow-dark: ${base09};
|
|
||||||
--wave-color-solid-rainbow-yellow-darker: ${base01};
|
|
||||||
--wave-color-solid-rainbow-yellow-darkest: ${base00};
|
|
||||||
--wave-color-solid-rainbow-yellow-fill: ${base0A};
|
|
||||||
--wave-color-solid-special-bright: ${base09};
|
|
||||||
--wave-color-solid-special-brighter: ${base06};
|
|
||||||
--wave-color-solid-special-dark: ${base09};
|
|
||||||
--wave-color-solid-special-darker: ${base09};
|
|
||||||
--wave-color-solid-special-darkest: ${base00};
|
|
||||||
--wave-color-solid-special-fill: ${base0E};
|
|
||||||
--wave-color-solid-warning-bright: ${base08};
|
|
||||||
--wave-color-solid-warning-brighter: ${base09};
|
|
||||||
--wave-color-solid-warning-dark: ${base09};
|
|
||||||
--wave-color-solid-warning-darker: ${base01};
|
|
||||||
--wave-color-solid-warning-darkest: ${base00};
|
|
||||||
--wave-color-solid-warning-fill: ${base08};
|
|
||||||
--wave-color-text-disabled: ${base02};
|
|
||||||
--wave-color-text-link: ${base0D};
|
|
||||||
--wave-color-text-main: ${base07};
|
|
||||||
--wave-color-text-placeholder: ${base02};
|
|
||||||
--wave-color-text-secondary: ${base06};
|
|
||||||
--wave-color-text-tertiary: ${base05};
|
|
||||||
--wave-font-weight--bold: 700;
|
|
||||||
--wave-font-weight--demi: 600;
|
|
||||||
--wave-font-weight--medium: 500;
|
|
||||||
--wave-opacity--ultra-thin: .05;
|
|
||||||
--wave-opacity--thin: .1;
|
|
||||||
--wave-opacity--regular: .4;
|
|
||||||
--wave-opacity--thick: .6;
|
|
||||||
--wave-opacity--ultra-thick: .8;
|
|
||||||
--wave-spacing--extra-extra-large: 64px;
|
|
||||||
--wave-spacing--extra-large: 40px;
|
|
||||||
--wave-spacing--large: 24px;
|
|
||||||
--wave-spacing--medium: 20px;
|
|
||||||
--wave-spacing--regular: 16px;
|
|
||||||
--wave-spacing--small: 12px;
|
|
||||||
--wave-spacing--extra-small: 8px;
|
|
||||||
--wave-spacing--extra-extra-small: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.wave-text-caption-demi, .tidal-ui__v-stack {
|
|
||||||
color: var(--wave-color-solid-accent-bright) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tidal-ui__icon {
|
|
||||||
fill: var(--wave-color-solid-rainbow-purple-fill) !important;
|
|
||||||
stroke: var(--wave-color-solid-rainbow-purple-fill) !important;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
|
|
||||||
gtk = rec {
|
|
||||||
gtk3.extraConfig = {
|
|
||||||
gtk-application-prefer-dark-theme = scheme.variant == "dark";
|
|
||||||
};
|
|
||||||
gtk4.extraConfig = gtk3.extraConfig;
|
|
||||||
};
|
|
||||||
dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-${scheme.variant}";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
{config, ...}: let
|
|
||||||
cfg = config.local.style.gtk;
|
|
||||||
in {
|
|
||||||
home-manager.users.${config.local.systemVars.username} = {
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
iconTheme = {
|
|
||||||
inherit (cfg.iconTheme) name package;
|
|
||||||
};
|
|
||||||
theme = {
|
|
||||||
inherit (cfg.theme) name package;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
114
shared/nixosModules/style/modules/discord.nix
Normal file
114
shared/nixosModules/style/modules/discord.nix
Normal file
|
@ -0,0 +1,114 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.local.style;
|
||||||
|
inherit (cfg) scheme;
|
||||||
|
in {
|
||||||
|
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||||
|
{
|
||||||
|
xdg.configFile."equibop/themes/midnight-base16.css".text = with scheme.palette; ''
|
||||||
|
/**
|
||||||
|
* @name Midnight-base16
|
||||||
|
* @description A dark, rounded discord theme. Updated to use base16 colors.
|
||||||
|
* @author refact0r
|
||||||
|
* @version 1.6.2
|
||||||
|
* @invite nz87hXyvcy
|
||||||
|
* @website https://github.com/refact0r/midnight-discord
|
||||||
|
* @source https://github.com/refact0r/midnight-discord/blob/master/midnight.theme.css
|
||||||
|
* @authorId 508863359777505290
|
||||||
|
* @authorLink https://www.refact0r.dev
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* IMPORTANT: make sure to enable dark mode in discord settings for the theme to apply properly!!! */
|
||||||
|
|
||||||
|
@import url('https://refact0r.github.io/midnight-discord/midnight.css');
|
||||||
|
|
||||||
|
/* customize things here */
|
||||||
|
:root {
|
||||||
|
/* font, change to 'gg sans' for default discord font*/
|
||||||
|
--font: 'gg sans';
|
||||||
|
|
||||||
|
/* top left corner text */
|
||||||
|
--corner-text: '${scheme.name}';
|
||||||
|
|
||||||
|
/* color of status indicators and window controls */
|
||||||
|
--online-indicator: ${base0B}; /* change to #23a55a for default green */
|
||||||
|
--dnd-indicator: ${base08}; /* change to #f13f43 for default red */
|
||||||
|
--idle-indicator: ${base0A}; /* change to #f0b232 for default yellow */
|
||||||
|
--streaming-indicator: ${base0E}; /* change to #593695 for default purple */
|
||||||
|
|
||||||
|
/* accent colors */
|
||||||
|
--accent-1: ${base0D}; /* links */
|
||||||
|
--accent-2: ${base0E}; /* general unread/mention elements, some icons when active */
|
||||||
|
--accent-3: ${base0E}; /* accent buttons */
|
||||||
|
--accent-4: ${base03}; /* accent buttons when hovered */
|
||||||
|
--accent-5: ${base07}; /* accent buttons when clicked */
|
||||||
|
--mention: ${base00}1a; /* mentions & mention messages */
|
||||||
|
--mention-hover: ${base00}0d; /* mentions & mention messages when hovered */
|
||||||
|
|
||||||
|
/* text colors */
|
||||||
|
--text-0: var(--bg-4); /* text on colored elements */
|
||||||
|
--text-1: ${base06}; /* other normally white text */
|
||||||
|
--text-2: ${base06}; /* headings and important text */
|
||||||
|
--text-3: ${base05}; /* normal text */
|
||||||
|
--text-4: ${base05}; /* icon buttons and channels */
|
||||||
|
--text-5: ${base04}; /* muted channels/chats and timestamps */
|
||||||
|
|
||||||
|
/* background and dark colors */
|
||||||
|
--bg-1: ${base0E}; /* dark buttons when clicked */
|
||||||
|
--bg-2: ${base02}; /* dark buttons */
|
||||||
|
--bg-3: ${base01}; /* spacing, secondary elements */
|
||||||
|
--bg-4: ${base00}; /* main background color */
|
||||||
|
--hover: ${base03}1a; /* channels and buttons when hovered */
|
||||||
|
--active: ${base03}33; /* channels and buttons when clicked or selected */
|
||||||
|
--message-hover: #0000001a; /* messages when hovered */
|
||||||
|
|
||||||
|
/* amount of spacing and padding */
|
||||||
|
--spacing: 12px;
|
||||||
|
|
||||||
|
/* animations */
|
||||||
|
/* ALL ANIMATIONS CAN BE DISABLED WITH REDUCED MOTION IN DISCORD SETTINGS */
|
||||||
|
--list-item-transition: 0.2s ease; /* channels/members/settings hover transition */
|
||||||
|
--unread-bar-transition: 0.2s ease; /* unread bar moving into view transition */
|
||||||
|
--moon-spin-transition: 0.4s ease; /* moon icon spin */
|
||||||
|
--icon-spin-transition: 1s ease; /* round icon button spin (settings, emoji, etc.) */
|
||||||
|
|
||||||
|
/* corner roundness (border-radius) */
|
||||||
|
--roundness-xl: 22px; /* roundness of big panel outer corners */
|
||||||
|
--roundness-l: 20px; /* popout panels */
|
||||||
|
--roundness-m: 16px; /* smaller panels, images, embeds */
|
||||||
|
--roundness-s: 12px; /* members, settings inputs */
|
||||||
|
--roundness-xs: 10px; /* channels, buttons */
|
||||||
|
--roundness-xxs: 8px; /* searchbar, small elements */
|
||||||
|
|
||||||
|
/* direct messages moon icon */
|
||||||
|
/* change to block to show, none to hide */
|
||||||
|
--discord-icon: none; /* discord icon */
|
||||||
|
--moon-icon: block; /* moon icon */
|
||||||
|
--moon-icon-url: url('https://upload.wikimedia.org/wikipedia/commons/c/c4/Font_Awesome_5_solid_moon.svg'); /* custom icon url */
|
||||||
|
--moon-icon-size: auto;
|
||||||
|
|
||||||
|
/* filter uncolorable elements to fit theme */
|
||||||
|
/* (just set to none, they're too much work to configure) */
|
||||||
|
--login-bg-filter: saturate(0.3) hue-rotate(-15deg) brightness(0.4); /* login background artwork */
|
||||||
|
--green-to-accent-3-filter: hue-rotate(56deg) saturate(1.43); /* add friend page explore icon */
|
||||||
|
--blurple-to-accent-3-filter: hue-rotate(304deg) saturate(0.84) brightness(1.2); /* add friend page school icon */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Selected chat/friend text */
|
||||||
|
.selected_f5eb4b,
|
||||||
|
.selected_f6f816 .link_d8bfb3 {
|
||||||
|
color: var(--text-0) !important;
|
||||||
|
background: var(--accent-3) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.selected_f6f816 .link_d8bfb3 * {
|
||||||
|
color: var(--text-0) !important;
|
||||||
|
fill: var(--text-0) !important;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
46
shared/nixosModules/style/modules/fish.nix
Normal file
46
shared/nixosModules/style/modules/fish.nix
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.local.style;
|
||||||
|
in {
|
||||||
|
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||||
|
{
|
||||||
|
programs.fish.interactiveShellInit = ''
|
||||||
|
set fish_cursor_default block blink
|
||||||
|
set fish_cursor_insert line blink
|
||||||
|
set fish_cursor_replace_one underscore blink
|
||||||
|
set fish_cursor_visual block
|
||||||
|
|
||||||
|
set -x fish_color_autosuggestion brblack
|
||||||
|
set -x fish_color_cancel -r
|
||||||
|
set -x fish_color_command brgreen
|
||||||
|
set -x fish_color_comment brmagenta
|
||||||
|
set -x fish_color_cwd green
|
||||||
|
set -x fish_color_cwd_root red
|
||||||
|
set -x fish_color_end brmagenta
|
||||||
|
set -x fish_color_error brred
|
||||||
|
set -x fish_color_escape brcyan
|
||||||
|
set -x fish_color_history_current --bold
|
||||||
|
set -x fish_color_host normal
|
||||||
|
set -x fish_color_host_remote yellow
|
||||||
|
set -x fish_color_match --background=brblue
|
||||||
|
set -x fish_color_normal normal
|
||||||
|
set -x fish_color_operator cyan
|
||||||
|
set -x fish_color_param brblue
|
||||||
|
set -x fish_color_quote yellow
|
||||||
|
set -x fish_color_redirection bryellow
|
||||||
|
set -x fish_color_search_match 'bryellow' '--background=brblack'
|
||||||
|
set -x fish_color_selection 'white' '--bold' '--background=brblack'
|
||||||
|
set -x fish_color_status red
|
||||||
|
set -x fish_color_user brgreen
|
||||||
|
set -x fish_color_valid_path --underline
|
||||||
|
set -x fish_pager_color_completion normal
|
||||||
|
set -x fish_pager_color_description yellow
|
||||||
|
set -x fish_pager_color_prefix 'white' '--bold' '--underline'
|
||||||
|
set -x fish_pager_color_progress 'brwhite' '--background=cyan'
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
44
shared/nixosModules/style/modules/foot.nix
Normal file
44
shared/nixosModules/style/modules/foot.nix
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.local.style;
|
||||||
|
in {
|
||||||
|
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||||
|
{
|
||||||
|
programs.foot.settings.colors = let
|
||||||
|
# because someone thought this was a great idea: https://github.com/tinted-theming/schemes/commit/61058a8d2e2bd4482b53d57a68feb56cdb991f0b
|
||||||
|
palette = builtins.mapAttrs (_: color: lib.removePrefix "#" color) cfg.scheme.palette;
|
||||||
|
in {
|
||||||
|
background = palette.base00;
|
||||||
|
foreground = palette.base05;
|
||||||
|
|
||||||
|
regular0 = palette.base00;
|
||||||
|
regular1 = palette.base08;
|
||||||
|
regular2 = palette.base0B;
|
||||||
|
regular3 = palette.base0A;
|
||||||
|
regular4 = palette.base0D;
|
||||||
|
regular5 = palette.base0E;
|
||||||
|
regular6 = palette.base0C;
|
||||||
|
regular7 = palette.base05;
|
||||||
|
|
||||||
|
bright0 = palette.base02;
|
||||||
|
bright1 = palette.base08;
|
||||||
|
bright2 = palette.base0B;
|
||||||
|
bright3 = palette.base0A;
|
||||||
|
bright4 = palette.base0D;
|
||||||
|
bright5 = palette.base0E;
|
||||||
|
bright6 = palette.base0C;
|
||||||
|
bright7 = palette.base07;
|
||||||
|
|
||||||
|
"16" = palette.base09;
|
||||||
|
"17" = palette.base0F;
|
||||||
|
"18" = palette.base01;
|
||||||
|
"19" = palette.base02;
|
||||||
|
"20" = palette.base04;
|
||||||
|
"21" = palette.base06;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
27
shared/nixosModules/style/modules/fuzzel.nix
Normal file
27
shared/nixosModules/style/modules/fuzzel.nix
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.local.style;
|
||||||
|
inherit (cfg) scheme;
|
||||||
|
in {
|
||||||
|
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||||
|
{
|
||||||
|
programs.fuzzel.settings = {
|
||||||
|
main = {
|
||||||
|
font = "sans-serif:size=16";
|
||||||
|
};
|
||||||
|
colors = {
|
||||||
|
background = "${scheme.palette.base01}f2";
|
||||||
|
text = "${scheme.palette.base05}ff";
|
||||||
|
match = "${scheme.palette.base0E}ff";
|
||||||
|
selection = "${scheme.palette.base03}ff";
|
||||||
|
selection-text = "${scheme.palette.base06}ff";
|
||||||
|
selection-match = "${scheme.palette.base0E}ff";
|
||||||
|
border = "${scheme.palette.base0E}ff";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
30
shared/nixosModules/style/modules/gtk.nix
Normal file
30
shared/nixosModules/style/modules/gtk.nix
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
scheme,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.local.style;
|
||||||
|
inherit (cfg) scheme;
|
||||||
|
in {
|
||||||
|
home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||||
|
{
|
||||||
|
gtk = rec {
|
||||||
|
enable = true;
|
||||||
|
iconTheme = {
|
||||||
|
inherit (cfg.gtk.iconTheme) name package;
|
||||||
|
};
|
||||||
|
theme = {
|
||||||
|
inherit (cfg.gtk.theme) name package;
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk3.extraConfig = {
|
||||||
|
gtk-application-prefer-dark-theme = scheme.variant == "dark";
|
||||||
|
};
|
||||||
|
gtk4.extraConfig = gtk3.extraConfig;
|
||||||
|
};
|
||||||
|
|
||||||
|
dconf.settings."org/gnome/desktop/interface".color-scheme = "prefer-${scheme.variant}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
27
shared/nixosModules/style/modules/hyprland.nix
Normal file
27
shared/nixosModules/style/modules/hyprland.nix
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.local.style;
|
||||||
|
in {
|
||||||
|
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||||
|
{
|
||||||
|
wayland.windowManager.hyprland.settings = {
|
||||||
|
env = [
|
||||||
|
"HYPRCURSOR_THEME,phinger-cursors-light"
|
||||||
|
"HYPRCURSOR_SIZE,32"
|
||||||
|
"XCURSOR_SIZE,32"
|
||||||
|
];
|
||||||
|
general = {
|
||||||
|
border_size = 4;
|
||||||
|
"col.active_border" = "rgb(${lib.removePrefix "#" cfg.scheme.palette.base0E})";
|
||||||
|
};
|
||||||
|
decoration = {
|
||||||
|
rounding = 10;
|
||||||
|
blur.enabled = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
103
shared/nixosModules/style/modules/hyprlock.nix
Normal file
103
shared/nixosModules/style/modules/hyprlock.nix
Normal file
|
@ -0,0 +1,103 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.local.style;
|
||||||
|
inherit (cfg) scheme;
|
||||||
|
in {
|
||||||
|
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||||
|
{
|
||||||
|
programs.hyprlock = {
|
||||||
|
settings = {
|
||||||
|
background = [
|
||||||
|
{
|
||||||
|
path = "screenshot";
|
||||||
|
blur_passes = 3;
|
||||||
|
blur_size = 8;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
general = {
|
||||||
|
disable_loading_bar = true;
|
||||||
|
hide_cursor = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
label = [
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
text = "Layout: $LAYOUT";
|
||||||
|
font_size = 25;
|
||||||
|
color = scheme.palette.base05;
|
||||||
|
|
||||||
|
position = "30, -30";
|
||||||
|
halign = "left";
|
||||||
|
valign = "top";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
text = "$TIME";
|
||||||
|
font_size = 90;
|
||||||
|
color = scheme.palette.base05;
|
||||||
|
|
||||||
|
position = "-30, 0";
|
||||||
|
halign = "right";
|
||||||
|
valign = "top";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
text = "cmd[update:43200000] date +\"%A, %d %B %Y\"";
|
||||||
|
font_size = 25;
|
||||||
|
color = scheme.palette.base05;
|
||||||
|
|
||||||
|
position = "-30, -150";
|
||||||
|
halign = "right";
|
||||||
|
valign = "top";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
image = {
|
||||||
|
monitor = "";
|
||||||
|
path = "${cfg.avatar}"; # Replace with your avatar path
|
||||||
|
size = 100;
|
||||||
|
border_color = scheme.palette.base0D;
|
||||||
|
|
||||||
|
position = "0, 75";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
};
|
||||||
|
|
||||||
|
input-field = [
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
|
||||||
|
size = "300, 60";
|
||||||
|
outline_thickness = 4;
|
||||||
|
dots_size = 0.2;
|
||||||
|
dots_spacing = 0.2;
|
||||||
|
dots_center = true;
|
||||||
|
|
||||||
|
outer_color = scheme.palette.base0D;
|
||||||
|
inner_color = scheme.palette.base02;
|
||||||
|
font_color = scheme.palette.base05;
|
||||||
|
|
||||||
|
fade_on_empty = false;
|
||||||
|
placeholder_text = "<span foreground=\"#${scheme.palette.base03}\"><i> Logged in as </i><span foreground=\"#${scheme.palette.base0D}\">$USER</span></span>";
|
||||||
|
|
||||||
|
hide_input = false;
|
||||||
|
check_color = scheme.palette.base0D;
|
||||||
|
fail_color = scheme.palette.base08;
|
||||||
|
|
||||||
|
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>";
|
||||||
|
capslock_color = scheme.palette.base0E;
|
||||||
|
|
||||||
|
position = "0, -47";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
21
shared/nixosModules/style/modules/niri.nix
Normal file
21
shared/nixosModules/style/modules/niri.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.local.style;
|
||||||
|
in {
|
||||||
|
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||||
|
{
|
||||||
|
programs.niri = {
|
||||||
|
settings = {
|
||||||
|
layout.focus-ring.active.color = cfg.scheme.palette.base0D;
|
||||||
|
cursor = {
|
||||||
|
inherit (cfg.cursorTheme) size;
|
||||||
|
theme = cfg.cursorTheme.name;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
17
shared/nixosModules/style/modules/nvf.nix
Normal file
17
shared/nixosModules/style/modules/nvf.nix
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.local.style;
|
||||||
|
in {
|
||||||
|
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||||
|
{
|
||||||
|
programs.nvf.settings.vim.theme = {
|
||||||
|
enable = true;
|
||||||
|
name = "base16";
|
||||||
|
base16-colors = cfg.scheme.palette;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
27
shared/nixosModules/style/modules/starship.nix
Normal file
27
shared/nixosModules/style/modules/starship.nix
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.local.style;
|
||||||
|
in {
|
||||||
|
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||||
|
{
|
||||||
|
programs.starship.settings = {
|
||||||
|
directory = {
|
||||||
|
style = "bold yellow";
|
||||||
|
};
|
||||||
|
character = {
|
||||||
|
format = "$symbol ";
|
||||||
|
success_symbol = "[➜](bold green)";
|
||||||
|
error_symbol = "[✗](bold red)";
|
||||||
|
vicmd_symbol = "[](bold green)";
|
||||||
|
};
|
||||||
|
cmd_duration = {
|
||||||
|
style = "yellow";
|
||||||
|
format = "[ $duration]($style)";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
47
shared/nixosModules/style/modules/swaylock.nix
Normal file
47
shared/nixosModules/style/modules/swaylock.nix
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.local.style;
|
||||||
|
inherit (cfg) scheme;
|
||||||
|
in {
|
||||||
|
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||||
|
{
|
||||||
|
programs.swaylock.settings = {
|
||||||
|
inside-color = scheme.palette.base01;
|
||||||
|
line-color = scheme.palette.base01;
|
||||||
|
ring-color = scheme.palette.base05;
|
||||||
|
text-color = scheme.palette.base05;
|
||||||
|
|
||||||
|
inside-clear-color = scheme.palette.base0A;
|
||||||
|
line-clear-color = scheme.palette.base0A;
|
||||||
|
ring-clear-color = scheme.palette.base00;
|
||||||
|
text-clear-color = scheme.palette.base00;
|
||||||
|
|
||||||
|
inside-caps-lock-color = scheme.palette.base03;
|
||||||
|
line-caps-lock-color = scheme.palette.base03;
|
||||||
|
ring-caps-lock-color = scheme.palette.base00;
|
||||||
|
text-caps-lock-color = scheme.palette.base00;
|
||||||
|
|
||||||
|
inside-ver-color = scheme.palette.base0D;
|
||||||
|
line-ver-color = scheme.palette.base0D;
|
||||||
|
ring-ver-color = scheme.palette.base00;
|
||||||
|
text-ver-color = scheme.palette.base00;
|
||||||
|
|
||||||
|
inside-wrong-color = scheme.palette.base08;
|
||||||
|
line-wrong-color = scheme.palette.base08;
|
||||||
|
ring-wrong-color = scheme.palette.base00;
|
||||||
|
text-wrong-color = scheme.palette.base00;
|
||||||
|
|
||||||
|
caps-lock-bs-hl-color = scheme.palette.base08;
|
||||||
|
caps-lock-key-hl-color = scheme.palette.base0D;
|
||||||
|
bs-hl-color = scheme.palette.base08;
|
||||||
|
key-hl-color = scheme.palette.base0D;
|
||||||
|
|
||||||
|
separator-color = "#00000000"; # transparent
|
||||||
|
layout-bg-color = "#00000050"; # semi-transparent black
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
14
shared/nixosModules/style/modules/swaync.nix
Normal file
14
shared/nixosModules/style/modules/swaync.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
lib',
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.local.style;
|
||||||
|
in {
|
||||||
|
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||||
|
{
|
||||||
|
services.swaync.style = lib'.generateGtkColors lib cfg.scheme.palette;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
195
shared/nixosModules/style/modules/tidal-hifi.nix
Normal file
195
shared/nixosModules/style/modules/tidal-hifi.nix
Normal file
|
@ -0,0 +1,195 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.local.style;
|
||||||
|
in {
|
||||||
|
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||||
|
{
|
||||||
|
# based on https://github.com/rose-pine/tidal. adapted to work with base16 colors.
|
||||||
|
xdg.configFile."tidal-hifi/themes/base16.css".text = with cfg.scheme.palette; ''
|
||||||
|
:root {
|
||||||
|
--glass-white-1: ${base05};
|
||||||
|
--glass-white-1-hover: ${base06};
|
||||||
|
--glass-white-2: ${base07};
|
||||||
|
--glass-white-2-hover: ${base08};
|
||||||
|
--glass-white-3: ${base07};
|
||||||
|
--glass-white-4: ${base04};
|
||||||
|
--glass-white-5: ${base04};
|
||||||
|
--glass-white-6: ${base05};
|
||||||
|
--snow-white: ${base07};
|
||||||
|
--snow-white-hover: ${base08};
|
||||||
|
--gray-4: ${base00};
|
||||||
|
--gray-5: ${base02};
|
||||||
|
--gray-6: ${base03};
|
||||||
|
--gray-7: ${base04};
|
||||||
|
--cyan-blue: ${base0D};
|
||||||
|
--cyan-blue-hover: ${base0C};
|
||||||
|
--glass-cyan-1: ${base04};
|
||||||
|
--glass-cyan-2: ${base05};
|
||||||
|
--glass-cyan-3: ${base06};
|
||||||
|
--master-gold: ${base0E};
|
||||||
|
--master-gold-hover: ${base08};
|
||||||
|
--glass-master-gold: ${base05};
|
||||||
|
--glass-master-gold-2: ${base06};
|
||||||
|
--raspberry-pink: ${base08};
|
||||||
|
--raspberry-pink-lighter: ${base09};
|
||||||
|
--black: ${base00};
|
||||||
|
--midnight-black: ${base00};
|
||||||
|
--controls-overlay: ${base03};
|
||||||
|
--duration-overlay: ${base02};
|
||||||
|
--background-dark: ${base00};
|
||||||
|
--hoverLighten: brightness(130%);
|
||||||
|
--hoverDarken: brightness(70%);
|
||||||
|
--hoverTransition: filter 0.15s ease;
|
||||||
|
--scrollbar-track: ${base03};
|
||||||
|
--scrollbar-thumb: ${base00};
|
||||||
|
--lighten-25: ${base01};
|
||||||
|
--red-alert: ${base08};
|
||||||
|
--user-profile-linear-gradient: linear-gradient(160deg,${base0D} 1.22%,${base0C} 40.51%,${base00} 79.07%);
|
||||||
|
--wave-border-radius--none: 0px;
|
||||||
|
--wave-border-radius--extra-small: 4px;
|
||||||
|
--wave-border-radius--small: 8px;
|
||||||
|
--wave-border-radius--regular: 12px;
|
||||||
|
--wave-border-radius--full: 1000px;
|
||||||
|
--wave-color-material-dark: ${base00}80;
|
||||||
|
--wave-color-material-light: ${base04}33;
|
||||||
|
--wave-color-opacity-accent-dark-ultra-thick: ${base0C}cc;
|
||||||
|
--wave-color-opacity-accent-darkest-ultra-thick: ${base01};
|
||||||
|
--wave-color-opacity-accent-fill-regular: ${base0C}66;
|
||||||
|
--wave-color-opacity-accent-fill-thin: ${base0C}33;
|
||||||
|
--wave-color-opacity-accent-fill-ultra-thick: ${base0C}cc;
|
||||||
|
--wave-color-opacity-accent-fill-ultra-thin: ${base0C}1a;
|
||||||
|
--wave-color-opacity-base-bright-thick: ${base00}99;
|
||||||
|
--wave-color-opacity-base-bright-thin: ${base00}33;
|
||||||
|
--wave-color-opacity-base-bright-transparent: ${base00};
|
||||||
|
--wave-color-opacity-base-bright-ultra-thick: ${base00}cc;
|
||||||
|
--wave-color-opacity-base-brighter-ultra-thick: ${base01}cc;
|
||||||
|
--wave-color-opacity-base-brightest-regular: ${base02}66;
|
||||||
|
--wave-color-opacity-base-brightest-thin: ${base02}33;
|
||||||
|
--wave-color-opacity-base-brightest-ultra-thin: ${base02}1a;
|
||||||
|
--wave-color-opacity-base-fill-regular: ${base00}66;
|
||||||
|
--wave-color-opacity-base-fill-thick: ${base00}99;
|
||||||
|
--wave-color-opacity-base-fill-thin: ${base00}33;
|
||||||
|
--wave-color-opacity-base-fill-transparent: #000;
|
||||||
|
--wave-color-opacity-base-fill-ultra-thick: ${base00}cc;
|
||||||
|
--wave-color-opacity-base-fill-ultra-thin: ${base00}1a;
|
||||||
|
--wave-color-opacity-contrast-fill-regular: ${base07}66;
|
||||||
|
--wave-color-opacity-contrast-fill-thick: ${base07}99;
|
||||||
|
--wave-color-opacity-contrast-fill-thin: ${base07}33;
|
||||||
|
--wave-color-opacity-contrast-fill-transparent: #fff;
|
||||||
|
--wave-color-opacity-contrast-fill-ultra-thick: ${base07}cc;
|
||||||
|
--wave-color-opacity-contrast-fill-ultra-thin: ${base07}1a;
|
||||||
|
--wave-color-opacity-rainbow-blue-thin: ${base0D}33;
|
||||||
|
--wave-color-opacity-rainbow-yellow-fill-regular: ${base0E}66;
|
||||||
|
--wave-color-opacity-rainbow-yellow-fill-thin: ${base0E}33;
|
||||||
|
--wave-color-opacity-rainbow-yellow-fill-ultra-thick: ${base0E}cc;
|
||||||
|
--wave-color-opacity-rainbow-yellow-fill-ultra-thin: ${base0E}1a;
|
||||||
|
--wave-color-opacity-special-fill-regular: ${base0E}66;
|
||||||
|
--wave-color-opacity-special-fill-thin: ${base0E}33;
|
||||||
|
--wave-color-opacity-special-fill-ultra-thick: ${base0E}cc;
|
||||||
|
--wave-color-opacity-special-fill-ultra-thin: ${base0E}1a;
|
||||||
|
--wave-color-services-facebook: ${base0D};
|
||||||
|
--wave-color-services-instagram-red: ${base08};
|
||||||
|
--wave-color-services-mtn: ${base0E};
|
||||||
|
--wave-color-services-musix-orange: ${base09};
|
||||||
|
--wave-color-services-musix-pink: ${base0E};
|
||||||
|
--wave-color-services-play: ${base0C};
|
||||||
|
--wave-color-services-plus: ${base0B};
|
||||||
|
--wave-color-services-snapchat: ${base0A};
|
||||||
|
--wave-color-services-sprint: ${base0A};
|
||||||
|
--wave-color-services-t-mobile: ${base08};
|
||||||
|
--wave-color-services-tik-tok-blue: ${base0D};
|
||||||
|
--wave-color-services-tik-tok-red: ${base08};
|
||||||
|
--wave-color-services-twitter: ${base0D};
|
||||||
|
--wave-color-services-viacom-1: ${base0D};
|
||||||
|
--wave-color-services-viacom-2: ${base0E};
|
||||||
|
--wave-color-services-viacom-3: ${base08};
|
||||||
|
--wave-color-services-viacom-4: ${base09};
|
||||||
|
--wave-color-services-viacom-5: ${base0E};
|
||||||
|
--wave-color-services-vivo: ${base0E};
|
||||||
|
--wave-color-services-vodafone: ${base08};
|
||||||
|
--wave-color-services-waze: ${base0D};
|
||||||
|
--wave-color-solid-accent-bright: ${base0D};
|
||||||
|
--wave-color-solid-accent-brighter: ${base0D};
|
||||||
|
--wave-color-solid-accent-dark: ${base0C};
|
||||||
|
--wave-color-solid-accent-darker: ${base01};
|
||||||
|
--wave-color-solid-accent-darkest: ${base00};
|
||||||
|
--wave-color-solid-accent-fill: ${base0D};
|
||||||
|
--wave-color-solid-base-bright: ${base00};
|
||||||
|
--wave-color-solid-base-brighter: ${base01};
|
||||||
|
--wave-color-solid-base-brightest: ${base02};
|
||||||
|
--wave-color-solid-base-fill: ${base00};
|
||||||
|
--wave-color-solid-contrast-dark: ${base07};
|
||||||
|
--wave-color-solid-contrast-darker: ${base06};
|
||||||
|
--wave-color-solid-contrast-darkest: ${base05};
|
||||||
|
--wave-color-solid-contrast-fill: ${base07};
|
||||||
|
--wave-color-solid-rainbow-blue-fill: ${base0D};
|
||||||
|
--wave-color-solid-rainbow-green-brighter: ${base0D};
|
||||||
|
--wave-color-solid-rainbow-green-dark: ${base0C};
|
||||||
|
--wave-color-solid-rainbow-green-darker: ${base0C};
|
||||||
|
--wave-color-solid-rainbow-green-darkest: ${base01};
|
||||||
|
--wave-color-solid-rainbow-green-fill: ${base0D};
|
||||||
|
--wave-color-solid-rainbow-orange-fill: ${base09};
|
||||||
|
--wave-color-solid-rainbow-purple-fill: ${base0E};
|
||||||
|
--wave-color-solid-rainbow-red-bright: ${base08};
|
||||||
|
--wave-color-solid-rainbow-red-brighter: ${base08};
|
||||||
|
--wave-color-solid-rainbow-red-dark: ${base09};
|
||||||
|
--wave-color-solid-rainbow-red-darker: ${base01};
|
||||||
|
--wave-color-solid-rainbow-red-darkest: ${base00};
|
||||||
|
--wave-color-solid-rainbow-red-fill: ${base08};
|
||||||
|
--wave-color-solid-rainbow-yellow-bright: ${base0A};
|
||||||
|
--wave-color-solid-rainbow-yellow-brighter: ${base06};
|
||||||
|
--wave-color-solid-rainbow-yellow-dark: ${base09};
|
||||||
|
--wave-color-solid-rainbow-yellow-darker: ${base01};
|
||||||
|
--wave-color-solid-rainbow-yellow-darkest: ${base00};
|
||||||
|
--wave-color-solid-rainbow-yellow-fill: ${base0A};
|
||||||
|
--wave-color-solid-special-bright: ${base09};
|
||||||
|
--wave-color-solid-special-brighter: ${base06};
|
||||||
|
--wave-color-solid-special-dark: ${base09};
|
||||||
|
--wave-color-solid-special-darker: ${base09};
|
||||||
|
--wave-color-solid-special-darkest: ${base00};
|
||||||
|
--wave-color-solid-special-fill: ${base0E};
|
||||||
|
--wave-color-solid-warning-bright: ${base08};
|
||||||
|
--wave-color-solid-warning-brighter: ${base09};
|
||||||
|
--wave-color-solid-warning-dark: ${base09};
|
||||||
|
--wave-color-solid-warning-darker: ${base01};
|
||||||
|
--wave-color-solid-warning-darkest: ${base00};
|
||||||
|
--wave-color-solid-warning-fill: ${base08};
|
||||||
|
--wave-color-text-disabled: ${base02};
|
||||||
|
--wave-color-text-link: ${base0D};
|
||||||
|
--wave-color-text-main: ${base07};
|
||||||
|
--wave-color-text-placeholder: ${base02};
|
||||||
|
--wave-color-text-secondary: ${base06};
|
||||||
|
--wave-color-text-tertiary: ${base05};
|
||||||
|
--wave-font-weight--bold: 700;
|
||||||
|
--wave-font-weight--demi: 600;
|
||||||
|
--wave-font-weight--medium: 500;
|
||||||
|
--wave-opacity--ultra-thin: .05;
|
||||||
|
--wave-opacity--thin: .1;
|
||||||
|
--wave-opacity--regular: .4;
|
||||||
|
--wave-opacity--thick: .6;
|
||||||
|
--wave-opacity--ultra-thick: .8;
|
||||||
|
--wave-spacing--extra-extra-large: 64px;
|
||||||
|
--wave-spacing--extra-large: 40px;
|
||||||
|
--wave-spacing--large: 24px;
|
||||||
|
--wave-spacing--medium: 20px;
|
||||||
|
--wave-spacing--regular: 16px;
|
||||||
|
--wave-spacing--small: 12px;
|
||||||
|
--wave-spacing--extra-small: 8px;
|
||||||
|
--wave-spacing--extra-extra-small: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wave-text-caption-demi, .tidal-ui__v-stack {
|
||||||
|
color: var(--wave-color-solid-accent-bright) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tidal-ui__icon {
|
||||||
|
fill: var(--wave-color-solid-rainbow-purple-fill) !important;
|
||||||
|
stroke: var(--wave-color-solid-rainbow-purple-fill) !important;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
15
shared/nixosModules/style/modules/waybar.nix
Normal file
15
shared/nixosModules/style/modules/waybar.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
lib',
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.local.style;
|
||||||
|
in {
|
||||||
|
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||||
|
{
|
||||||
|
programs.waybar.style =
|
||||||
|
lib'.generateGtkColors lib cfg.scheme.palette;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
43
shared/nixosModules/style/modules/zathura.nix
Normal file
43
shared/nixosModules/style/modules/zathura.nix
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.local.style;
|
||||||
|
inherit (cfg) scheme;
|
||||||
|
in {
|
||||||
|
config.home-manager.sharedModules = lib.mkIf cfg.enable [
|
||||||
|
{
|
||||||
|
programs.zathura.options = {
|
||||||
|
default-fg = scheme.palette.base01;
|
||||||
|
default-bg = scheme.palette.base00;
|
||||||
|
|
||||||
|
completion-bg = scheme.palette.base01;
|
||||||
|
completion-fg = scheme.palette.base0D;
|
||||||
|
completion-highlight-bg = scheme.palette.base0D;
|
||||||
|
completion-highlight-fg = scheme.palette.base07;
|
||||||
|
|
||||||
|
statusbar-fg = scheme.palette.base04;
|
||||||
|
statusbar-bg = scheme.palette.base02;
|
||||||
|
|
||||||
|
notification-bg = scheme.palette.base00;
|
||||||
|
notification-fg = scheme.palette.base07;
|
||||||
|
notification-error-bg = scheme.palette.base00;
|
||||||
|
notification-error-fg = scheme.palette.base08;
|
||||||
|
notification-warning-bg = scheme.palette.base00;
|
||||||
|
notification-warning-fg = scheme.palette.base0A;
|
||||||
|
|
||||||
|
inputbar-fg = scheme.palette.base07;
|
||||||
|
inputbar-bg = scheme.palette.base00;
|
||||||
|
|
||||||
|
recolor = false;
|
||||||
|
recolor-keephue = false;
|
||||||
|
recolor-lightcolor = scheme.palette.base00;
|
||||||
|
recolor-darkcolor = scheme.palette.base06;
|
||||||
|
|
||||||
|
highlight-color = scheme.palette.base0A;
|
||||||
|
highlight-active-color = scheme.palette.base0D;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
|
@ -7,7 +7,7 @@
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib) attrNames mkEnableOption mkOption pathExists;
|
inherit (lib) attrNames mkEnableOption mkOption pathExists;
|
||||||
inherit (lib.types) bool enum package path str;
|
inherit (lib.types) attrs bool enum package path str;
|
||||||
|
|
||||||
cfg = config.local.style;
|
cfg = config.local.style;
|
||||||
in {
|
in {
|
||||||
|
@ -22,6 +22,13 @@ in {
|
||||||
default = "catppuccin-mocha";
|
default = "catppuccin-mocha";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
scheme = mkOption {
|
||||||
|
description = ''
|
||||||
|
Computed scheme from `config.local.style.schemeName`.
|
||||||
|
'';
|
||||||
|
type = attrs;
|
||||||
|
readOnly = true;
|
||||||
|
};
|
||||||
wallpaper = mkOption {
|
wallpaper = mkOption {
|
||||||
description = ''
|
description = ''
|
||||||
Location of the wallpaper that will be used throughout the system.
|
Location of the wallpaper that will be used throughout the system.
|
||||||
|
@ -125,5 +132,7 @@ in {
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
local.style.scheme = inputs.basix.schemeData.base16.${cfg.schemeName};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue