color rework, flake bump

This commit is contained in:
Lennart J. Kurzweg (Nx2)
2024-05-12 21:55:03 +02:00
parent 2db49fe4c6
commit d97010da0c
14 changed files with 424 additions and 278 deletions

94
flake.lock generated
View File

@@ -117,11 +117,11 @@
]
},
"locked": {
"lastModified": 1714043624,
"narHash": "sha256-Xn2r0Jv95TswvPlvamCC46wwNo8ALjRCMBJbGykdhcM=",
"lastModified": 1715381426,
"narHash": "sha256-wPuqrAQGdv3ISs74nJfGb+Yprm23U/rFpcHFFNWgM94=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "86853e31dc1b62c6eeed11c667e8cdd0285d4411",
"rev": "ab5542e9dbd13d0100f8baae2bc2d68af901f4b4",
"type": "github"
},
"original": {
@@ -163,26 +163,26 @@
"hyprland": {
"inputs": {
"hyprcursor": "hyprcursor",
"hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs",
"systems": "systems",
"wlroots": "wlroots",
"xdph": "xdph"
},
"locked": {
"lastModified": 1714248933,
"narHash": "sha256-hACvj8q0ucxslZmHf7j6bYlxVeDkJleAW+sCHGv4+2k=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "2e763764bfdaee2039961c6c220b5d6af31712d4",
"type": "github"
"lastModified": 1715526061,
"narHash": "sha256-cVhbpdH8ln4ybFAG3yJFDTbKYTATok8cEkOM94IM0cU=",
"ref": "refs/heads/main",
"rev": "fd35b35000fa11ce540d944966ff17c71c31fd27",
"revCount": 4678,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
}
},
"hyprland-plugins": {
@@ -197,11 +197,11 @@
]
},
"locked": {
"lastModified": 1714219583,
"narHash": "sha256-s6yf/bsAum3sAXSxB5gDCHQoLMn5Skl9EWL8nvsXzog=",
"lastModified": 1715172513,
"narHash": "sha256-TjQ74AGpEgNx/+sM0VKnPAOlYEG22FUJ9+RwDDP/hoA=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "97e9d252ffec654cdc69a2cea8b63a172795706b",
"rev": "dcbdc9a08d1df753d6799bab823486f1fff5b8e6",
"type": "github"
},
"original": {
@@ -214,10 +214,12 @@
"inputs": {
"nixpkgs": [
"hyprland",
"xdph",
"nixpkgs"
],
"systems": [
"hyprland",
"xdph",
"systems"
]
},
@@ -272,11 +274,11 @@
]
},
"locked": {
"lastModified": 1714171579,
"narHash": "sha256-eaWDIvt8ufUKKz3Lc2a3PyemLJG1m9RYlF+HP3hWbaw=",
"lastModified": 1715287423,
"narHash": "sha256-B7AJIjOyWgVMKhu7DlOnWa0VprdhywUVHuB/j+EwSxM=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "126dad854f22fe30e6b82cd21808e76903d90ac5",
"rev": "e2fc1c0eb8b392110588f478cce644348ead7271",
"type": "github"
},
"original": {
@@ -312,11 +314,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1714076141,
"narHash": "sha256-Drmja/f5MRHZCskS6mvzFqxEaZMeciScCTFxWVLqWEY=",
"lastModified": 1715087517,
"narHash": "sha256-CLU5Tsg24Ke4+7sH8azHWXKd0CFd4mhLWfhYgUiDBpQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "7bb2ccd8cdc44c91edba16c48d2c8f331fb3d856",
"rev": "b211b392b8486ee79df6cdfb1157ad2133427a29",
"type": "github"
},
"original": {
@@ -344,11 +346,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1714076141,
"narHash": "sha256-Drmja/f5MRHZCskS6mvzFqxEaZMeciScCTFxWVLqWEY=",
"lastModified": 1715447595,
"narHash": "sha256-VsVAUQOj/cS1LCOmMjAGeRksXIAdPnFIjCQ0XLkCsT0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "7bb2ccd8cdc44c91edba16c48d2c8f331fb3d856",
"rev": "062ca2a9370a27a35c524dc82d540e6e9824b652",
"type": "github"
},
"original": {
@@ -359,11 +361,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1714556388,
"narHash": "sha256-Mxp8hX2gH30HoIQ+INvWY5P0sKBli8BmiGzZcKVD6co=",
"lastModified": 1682741954,
"narHash": "sha256-RPZxzRu8XU0YD2WeYUFYzJy5yAvWUsxkuK+zWw+6WVk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c10b1bb002e7414ecf7c9d9e5f7ebaeaeae32c92",
"rev": "373e9eb4c42b2fc0611d794de5ea715a35d72393",
"type": "github"
},
"original": {
@@ -375,11 +377,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1713995372,
"narHash": "sha256-fFE3M0vCoiSwCX02z8VF58jXFRj9enYUSTqjyHAjrds=",
"lastModified": 1715395895,
"narHash": "sha256-DreMqi6+qa21ffLQqhMQL2XRUkAGt3N7iVB5FhJKie4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "dd37924974b9202f8226ed5d74a252a9785aedf8",
"rev": "71bae31b7dbc335528ca7e96f479ec93462323ff",
"type": "github"
},
"original": {
@@ -484,29 +486,9 @@
"type": "github"
}
},
"wlroots": {
"flake": false,
"locked": {
"lastModified": 1713731601,
"narHash": "sha256-bdcKdtLkusvv85DNuJsajZLFeq7bXp+x5AGP1Sd4wD8=",
"owner": "hyprwm",
"repo": "wlroots-hyprland",
"rev": "5c1d51c5a2793480f5b6c4341ad0797052aec2ea",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "wlroots-hyprland",
"rev": "5c1d51c5a2793480f5b6c4341ad0797052aec2ea",
"type": "github"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": [
"hyprland",
"hyprland-protocols"
],
"hyprland-protocols": "hyprland-protocols",
"hyprlang": [
"hyprland",
"hyprlang"
@@ -521,11 +503,11 @@
]
},
"locked": {
"lastModified": 1713724432,
"narHash": "sha256-dtU1y4oj/0Y42oauzm93ucFg1AoqETnQ21bmXTIUng0=",
"lastModified": 1714662532,
"narHash": "sha256-Pj2xGSYhapYbXL7sk7TTlOtCZcTfPQoL3fPbZeg7L4Y=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "9ace6f969ce495185df34cc6254fb9d297765478",
"rev": "1f228ba2f1f254195c0b571302b37482861abee3",
"type": "github"
},
"original": {

View File

@@ -10,7 +10,8 @@
};
hyprland = {
url = "github:hyprwm/Hyprland";
url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
# url = "github:hyprwm/Hyprland";
# inputs.nixpkgs.follows = "nixpkgs";
};
hyprland-plugins = {
@@ -82,28 +83,31 @@
rounding = 0;
gap-size = 0;
border-width = 2;
color = rec {
background = "#000000";
foreground = white;
border = red;
accent = magenta;
black = "#111111"; # "#000000" "#000000"
bright-black = "#444444"; # "#231a40" "#231a40"
blue = "#4411ff"; # "#9d00ff" "#432d59"
bright-blue = "#9977ff"; # "#c76eff" "#593380"
cyan = "#00ffff"; # "#00ddff" "#00ff00"
bright-cyan = "#88ffff"; # "#33f9ff" "#b08ae6"
green = "#00ff00"; # "#0048ff" "#9045e6"
bright-green = "#88ff88"; # "#1166ff" "#a366ff"
magenta = "#ff00ff"; # "#B21889" "#a82ee6"
bright-magenta = "#ff88ff"; # "#ff75f6" "#bb66cc"
red = "#ff0044"; # "#ff0044" "#f29df2"
bright-red = "#ff4499"; # "#ff4576" "#4595e6"
white = "#dddddd"; # "#939599" "#40dfff"
bright-white = "#ffffff"; # "#ffffff" "#4136d9"
yellow = "#ff4400"; # "#ff4000" "#7e5ce6"
bright-yellow = "#ff8844"; # "#ff8454" "#a886bf"
color =
let
dark = (-0.3);
bright = (0.3);
alter = let f = rice.lib.alter-luminace-hex; in color-name: color-value: { base = color-value; dark = f color-value dark; bright = f color-value bright; };
ccolor = builtins.mapAttrs alter {
black = "#000000";
grey = "#666666";
white = "#dddddd";
blue = "#4411ff";
cyan = "#00ffff";
green = "#00ff00";
magenta = "#ff00ff";
red = "#ff0044";
yellow = "#ff4400";
};
xcolor = with ccolor; {
background = black.base;
foreground = white.base;
border = red.base;
border2 = blue.base;
accent = magenta.base;
tertiary = blue.base;
};
in ccolor // xcolor;
font = {
code = {
name = "JetBrainsMono-NF";
@@ -121,7 +125,8 @@
in
{
nixosConfigurations = {
NxXPS = let
NxXPS =
let
host = "NxXPS";
in
nixpkgs.lib.nixosSystem {

View File

@@ -16,6 +16,7 @@
programs.helix = {
enable = true;
settings = {
# theme = "base16_terminal";
theme = "base16";
editor = {
cursor-shape = {
@@ -44,45 +45,170 @@
}];
themes = {
base16 = with rice.color; {
"ui.menu" = "none";
"ui.menu.selected" = { modifiers = [ "reversed" ]; };
"ui.linenr" = { fg = white; bg = black; };
"ui.popup" = { modifiers = [ "reversed" ]; };
"ui.linenr.selected" = { fg = white; bg = bright-black; modifiers = [ "bold" ]; };
"ui.selection" = { fg = black; bg = blue; };
"ui.selection.primary" = { modifiers = [ "reversed" ]; };
"comment" = { fg = green; };
"ui.statusline" = { fg = white; bg = red; };
"ui.statusline.inactive" = { fg = black; bg = white; };
"ui.help" = { fg = blue; bg = white; };
"ui.cursor" = { modifiers = [ "reversed" ]; };
"ui.virtual.indent-guide" = black;
"variable" = red;
"variable.builtin" = magenta;
"constant.numeric" = magenta;
"constant" = magenta;
"attributes" = yellow;
"type" = yellow;
"ui.cursor.match" = { fg = yellow; modifiers = [ "underlined" ]; };
"string" = green;
"variable.other.member" = red;
"constant.character.escape" = cyan;
"function" = blue;
"constructor" = blue;
"special" = blue;
"keyword" = magenta;
"label" = magenta;
"namespace" = blue;
"diff.plus" = green;
"diff.delta" = yellow;
"diff.minus" = red;
"diagnostic" = { modifiers = [ "underlined" ]; };
"ui.gutter" = { bg = black; };
"info" = blue;
"hint" = blue;
"debug" = blue;
"warning" = yellow;
"error" = red;
"attributes" = blue.base;
"comment" = {
"fg" = white.dark;
"modifiers" = [ "italic" ];
};
"constant" = cyan.base;
"constant.character.escape" = yellow.bright;
"constant.numeric" = blue.base;
"constructor" = magenta.base;
"debug" = yellow.dark;
"diagnostic.modifiers" = [ "underlined" ];
"diff.delta" = blue.base;
"diff.minus" = red.base;
"diff.plus" = green.base;
"error" = red.base;
"function" = cyan.base;
"hint" = yellow.dark;
"info" = cyan.base;
"keyword" = cyan.bright;
"label" = cyan.bright;
"namespace" = cyan.bright;
"operator" = magenta.dark;
"special" = cyan.base;
"string" = green.base;
"type" = green.base;
"variable" = red.base;
"variableother.member" = green.base;
"warning" = blue.base;
"markup.bold" = {
"fg" = green.base;
"modifiers" = [ "bold" ];
};
"markup.heading" = cyan.base;
"italic" = {
"fg" = cyan.bright;
"modifiers" = [ "italic" ];
};
"markup.linktext" = red.base;
"markup.linkurl" = {
"fg" = blue.base;
"modifiers" = [ "underlined" ];
};
"markup.list" = red.base;
"markup.quote" = magenta.base;
"markup.raw" = green.base;
"markup.strikethrough" = {
"modifiers" = [ "crossed_out" ];
};
"diagnostic.hint" = {
"underline" = { style = "curl"; };
};
"diagnostic.info" = {
"underline" = { style = "curl"; };
};
"diagnostic.warning" = {
"underline" = { style = "curl"; };
};
"diagnostic.error" = {
"underline" = { style = "curl"; };
};
"ui.background" = {
"bg" = background;
};
"ui.bufferline" = {
"fg" = magenta.base;
"bg" = background;
};
"ui.bufferline.active" = {
"fg" = background;
"bg" = magenta.dark;
"modifiers" = [ "bold" ];
};
"ui.cursor" = {
"fg" = white.base;
"modifiers" = [ "reversed" ];
};
"ui.cursor.insert" = {
"fg" = green.base;
"modifiers" = [ "reversed" ];
};
"ui.cursorline.primary" = {
"bg" = black.bright;
};
"ui.cursor.match" = {
"fg" = green.base;
"modifiers" = [ "reversed" ];
};
"ui.cursor.select" = {
"fg" = green.base;
"modifiers" = [ "reversed" ];
};
"ui.gutter" = {
"bg" = black.bright;
};
"ui.help" = {
"fg" = cyan.base;
"bg" = background;
};
"ui.linenr" = {
"fg" = yellow.dark;
"bg" = black.bright;
};
"ui.linenr.selected" = {
"fg" = blue.dark;
"bg" = background;
"modifiers" = [ "bold" ];
};
"ui.menu" = {
"fg" = magenta.dark;
"bg" = background;
};
"ui.menu.scroll" = {
"fg" = yellow.dark;
"bg" = background;
};
"ui.menu.selected" = {
"fg" = red.dark;
"bg" = blue.dark;
};
"ui.popup" = {
"bg" = grey.dark;
};
"ui.selection" = {
"bg" = grey.base;
};
"ui.selection.primary" = {
"bg" = grey.base;
};
"ui.statusline" = {
"fg" = blue.bright;
};
"ui.statusline.inactive" = {
"fg" = yellow.bright;
"bg" = red.dark;
};
"ui.statusline.insert" = {
"fg" = green.bright;
"bg" = green.dark;
};
"ui.statusline.normal" = {
"fg" = yellow.bright;
"bg" = yellow.dark;
};
"ui.statusline.select" = {
"fg" = cyan.bright;
"bg" = cyan.dark;
};
"ui.text" = magenta.dark;
"ui.text.focus" = magenta.dark;
"ui.virtual.indent-guide" = {
"fg" = grey.dark;
};
"ui.virtual.inlay-hint" = {
"fg" = grey.dark;
};
"ui.virtual.ruler" = {
"bg" = background;
};
"ui.window" = {
"bg" = background;
};
};
};
};

View File

@@ -1,8 +1,8 @@
{ config, pkgs, lib, system, user, allowed, secrets, ... }:
{ config, pkgs, pkgs-unstable, lib, system, user, allowed, secrets, ... }:
lib.mkIf (user != "tv")
{
home.packages = [
pkgs.hyprland-autoname-workspaces
pkgs-unstable.hyprland-autoname-workspaces
];
home.file.".config/hyprland-autoname-workspaces/config.toml".text = ''

View File

@@ -11,7 +11,7 @@ let
scale = "1.0";
};
second = {
name = "DP-1";
name = "DP-3";
resolution = "1920x1080";
position = "1920x0";
scale = "1.0";
@@ -59,7 +59,7 @@ lib.mkIf (user != "tv")
xwayland.enable = true;
systemd.enable = true;
plugins = [
inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo
# inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo
# inputs.hyprfocus.packages.${pkgs.system}.hyprfocus
# inputs.hycov.packages.${pkgs.system}.hycov
# inputs.Hyprspace.packages.${pkgs.system}.Hyprspace
@@ -144,10 +144,10 @@ lib.mkIf (user != "tv")
gaps_in = builtins.div rice.gap-size 2;
gaps_out = rice.gap-size;
border_size = rice.border-width;
"col.active_border" = "rgba(${rice.lib.nohash rice.color.red}ff) rgba(${rice.lib.nohash rice.color.blue}ff) 90deg";
"col.inactive_border" = "rgba(${rice.lib.nohash rice.color.black}ff) rgba(${rice.lib.nohash rice.color.blue}ff) 90deg";
"col.active_border" = "rgba(${rice.lib.nohash rice.color.red.base}ff) rgba(${rice.lib.nohash rice.color.blue.base}ff) 90deg";
"col.inactive_border" = "rgba(${rice.lib.nohash rice.color.black.base}ff) rgba(${rice.lib.nohash rice.color.blue.base}ff) 90deg";
cursor_inactive_timeout = 10;
# cursor_inactive_timeout = 10;
layout = "dwindle";
# layout = "master";
@@ -160,8 +160,8 @@ lib.mkIf (user != "tv")
shadow_range = "20";
shadow_offset = "0 0";
shadow_render_power = "4";
"col.shadow" = "rgba(${rice.lib.nohash rice.color.red}ff)";
"col.shadow_inactive" = "rgba(${rice.lib.nohash rice.color.black}ff)";
"col.shadow" = "rgba(${rice.lib.nohash rice.color.red.base}ff)";
"col.shadow_inactive" = "rgba(${rice.lib.nohash rice.color.black.base}ff)";
active_opacity = "1.0";
inactive_opacity = "1.0";
@@ -241,7 +241,7 @@ lib.mkIf (user != "tv")
windowrulev2 = [
"opacity ${transparency},class:^(com.chatterino.*)$"
"opacity ${transparency},class:^(chatterino)$"
"bordercolor rgba(${rice.lib.nohash rice.color.bright-magenta}ff), pinned:1"
"bordercolor rgba(${rice.lib.nohash rice.color.magenta.bright}ff), pinned:1"
];
windowrule = [
@@ -354,7 +354,7 @@ lib.mkIf (user != "tv")
#bind = SUPER, TAB, hycov:toggleoverview
# "SUPER, TAB, overview:toggle"
"SUPER, TAB, hyprexpo:expo, toggle"
# "SUPER, TAB, hyprexpo:expo, toggle"
"ALT, TAB, focuscurrentorlast"
"SUPER, Q, killactive"
"SUPER, W, exec, waybar_mode set '󰈹 '"
@@ -767,7 +767,7 @@ lib.mkIf (user != "tv")
hyprexpo {
columns = 5
gap_size = ${builtins.toString rice.gap-size}
bg_col = rgb(${rice.lib.nohash rice.color.background})
bg_col = rgb(${builtins.substring 1 6 rice.color.background})
workspace_method = first 10 # [center/first] [workspace] e.g. first 1 or center m+1
enable_gesture = false # laptop touchpad, 4 fingers

View File

@@ -15,22 +15,22 @@ lib.mkIf (user != "tv")
background = rice.color.background;
foreground = rice.color.foreground;
cursor = rice.color.foreground;
color0 = rice.color.black;
color8 = rice.color.bright-black;
color1 = rice.color.red;
color9 = rice.color.bright-red;
color2 = rice.color.green;
color10 = rice.color.bright-green;
color3 = rice.color.yellow;
color11 = rice.color.bright-yellow;
color4 = rice.color.blue;
color12 = rice.color.bright-blue;
color5 = rice.color.magenta;
color13 = rice.color.bright-magenta;
color6 = rice.color.cyan;
color14 = rice.color.bright-cyan;
color7 = rice.color.white;
color15 = rice.color.bright-white;
color0 = rice.color.black.base;
color8 = rice.color.black.bright;
color1 = rice.color.red.base;
color9 = rice.color.red.bright;
color2 = rice.color.green.base;
color10 = rice.color.green.bright;
color3 = rice.color.yellow.base;
color11 = rice.color.yellow.bright;
color4 = rice.color.blue.base;
color12 = rice.color.blue.bright;
color5 = rice.color.magenta.base;
color13 = rice.color.magenta.bright;
color6 = rice.color.cyan.base;
color14 = rice.color.cyan.bright;
color7 = rice.color.white.base;
color15 = rice.color.white.bright;
background_opacity = builtins.toString rice.transparency;
transparency = true;
scroll_multiplier = 9;

View File

@@ -56,21 +56,21 @@
# customColorScheme = {
# base00 = rice.color.background;
# base01 = rice.color.bright-black;
# base02 = rice.color.blue;
# base03 = rice.color.bright-blue;
# base04 = rice.color.cyan;
# base05 = rice.color.bright-cyan;
# base06 = rice.color.green;
# base07 = rice.color.bright-green;
# base08 = rice.color.magenta;
# base09 = rice.color.bright-magenta;
# base0A = rice.color.red;
# base0B = rice.color.bright-red;
# base0C = rice.color.white;
# base0D = rice.color.bright-white;
# base0E = rice.color.yellow;
# base0F = rice.color.bright-yellow;
# base01 = rice.color.black.bright;
# base02 = rice.color.blue.base;
# base03 = rice.color.blue.bright;
# base04 = rice.color.cyan.base;
# base05 = rice.color.cyan.bright;
# base06 = rice.color.green.base;
# base07 = rice.color.green.bright;
# base08 = rice.color.magenta.base;
# base09 = rice.color.magenta.bright;
# base0A = rice.color.red.base;
# base0B = rice.color.red.bright;
# base0C = rice.color.white.base;
# base0D = rice.color.white.bright;
# base0E = rice.color.yellow.base;
# base0F = rice.color.yellow.bright;
# };
# };
opts = {

View File

@@ -78,21 +78,21 @@ lib.mkIf (user != "tv")
-- Colorscheme
require('base16-colorscheme').setup({
base00 = '${rice.color.background}',
base01 = '${rice.color.bright-black}',
base02 = '${rice.color.blue}',
base03 = '${rice.color.bright-blue}',
base04 = '${rice.color.cyan}',
base05 = '${rice.color.bright-cyan}',
base06 = '${rice.color.green}',
base07 = '${rice.color.bright-green}',
base08 = '${rice.color.magenta}',
base09 = '${rice.color.bright-magenta}',
base0A = '${rice.color.red}',
base0B = '${rice.color.bright-red}',
base01 = '${rice.color.black.bright}',
base02 = '${rice.color.blue.base}',
base03 = '${rice.color.blue.bright}',
base04 = '${rice.color.cyan.base}',
base05 = '${rice.color.cyan.bright}',
base06 = '${rice.color.green.base}',
base07 = '${rice.color.green.bright}',
base08 = '${rice.color.magenta.base}',
base09 = '${rice.color.magenta.bright}',
base0A = '${rice.color.red.base}',
base0B = '${rice.color.red.bright}',
base0C = '${rice.color.foreground}',
base0D = '${rice.color.bright-white}',
base0E = '${rice.color.yellow}',
base0F = '${rice.color.bright-yellow}',
base0D = '${rice.color.white.bright}',
base0E = '${rice.color.yellow.base}',
base0F = '${rice.color.yellow.bright}',
})
require('base16-colorscheme').with_config({
telescope = true,

View File

@@ -195,9 +195,11 @@ lib.mkIf (user != "tv")
lookup()
def reauthenicate():
try:
os.remove(PICKLE_PATH)
os.remove(TOKEN_PATH)
os.system('notify-send --app-name="nx_gcal_event" "Deleted Token"')
exept:
lookup()
def print_help():

View File

@@ -29,7 +29,7 @@ lib.mkIf (user != "tv")
background-color: ${rice.color.background}${trdr};
border: ${builtins.toString rice.border-width}px;
border-radius: ${builtins.toString rice.rounding};
border-color: ${rice.color.blue};
border-color: ${rice.color.blue.base};
}
#mainbox {
border: 0;
@@ -57,8 +57,8 @@ lib.mkIf (user != "tv")
}
#element.normal.normal { background-color: ${rice.color.background}${trdr}; text-color: ${rice.color.foreground}; }
#element.selected.normal { background-color: ${rice.color.blue}${trdr}; text-color: ${rice.color.background}; }
#element.alternate.normal { background-color: ${rice.color.black}${trdr}; text-color: ${rice.color.foreground}; }
#element.selected.normal { background-color: ${rice.color.blue.base}${trdr}; text-color: ${rice.color.background}; }
#element.alternate.normal { background-color: ${rice.color.black.base}${trdr}; text-color: ${rice.color.foreground}; }
#scrollbar {
@@ -76,7 +76,7 @@ lib.mkIf (user != "tv")
#inputbar {
spacing: 0;
text-color: ${rice.color.background};
background-color: ${rice.color.red}${trdr};
background-color: ${rice.color.red.base}${trdr};
padding: 0;
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}

View File

@@ -1,12 +1,10 @@
{ config, lib, pkgs, user, rice, ... }:
{ config, lib, pkgs, pkgs-unstable, user, rice, ... }:
let
sep = " ";
in
lib.mkIf (user != "tv")
{
home.packages = with pkgs; [
waybar
(pkgs.writeShellScriptBin "waybar_mode" ''
#!/usr/bin/env bash
print_help() {
@@ -50,10 +48,11 @@ lib.mkIf (user != "tv")
fi
'')
];
] ++ [ pkgs-unstable.waybar ];
programs.waybar = {
enable = true;
package = pkgs-unstable.waybar;
settings = {
bar = {
height = 20;
@@ -176,7 +175,7 @@ lib.mkIf (user != "tv")
transition-duration: 2s;
padding: 7px 10px;
padding-top: 0.1em;
/* border: ${builtins.toString rice.border-width}px solid rgb(${rice.lib.hex-to-rgb-comma-string rice.color.blue}); */
/* border: ${builtins.toString rice.border-width}px solid rgb(${rice.lib.hex-to-rgb-comma-string rice.color.blue.base}); */
/* margin: ${builtins.toString rice.gap-size}px; */
border-radius: ${builtins.toString rice.rounding}px;
@@ -199,51 +198,51 @@ lib.mkIf (user != "tv")
padding: 0px 3px;
margin-top: 0.3em;
border-radius: ${builtins.toString rice.rounding}px;
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.bright-cyan});
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.cyan.bright});
}
#workspaces button {
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.bright-black});
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.grey.base});
margin-left: 10px;
margin-right: 10px;
border-radius: ${builtins.toString rice.rounding}px;
}
#workspaces button.active {
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.bright-cyan});
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.cyan.bright});
}
#workspaces button:hover {
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.background});
background-color: rgba(${rice.lib.hex-to-rgb-comma-string rice.color.bright-cyan},${builtins.toString rice.transparency});
background-color: rgba(${rice.lib.hex-to-rgb-comma-string rice.color.cyan.bright},${builtins.toString rice.transparency});
}
#workspaces button.urgent {
background-color: rgba(${rice.lib.hex-to-rgb-comma-string rice.color.magenta},${builtins.toString rice.transparency});
background-color: rgba(${rice.lib.hex-to-rgb-comma-string rice.color.magenta.base},${builtins.toString rice.transparency});
}
#custom-mode {
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.red});
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.red.base});
}
#window, #custom-ctimeremaining {
font-family: ${rice.font.base.name}, ${rice.font.code.name2};
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.blue});
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.blue.base});
}
#wireplumber.muted {
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.blue});
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.blue.base});
}
#battery.warning:not(.charging) {
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.green});;
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.green.base});;
}
#battery.critical {
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.red});;
background: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.bright-red});
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.red.dark});;
background: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.red.bright});
}
#battery.charging { color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.green}); }
#battery.charging { color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.green.base}); }
'';
#battery.critical:not(.charging) {

View File

@@ -25,11 +25,11 @@ lib.mkIf (user != "tv")
}
button:hover {
color: ${rice.color.blue} ;
color: ${rice.color.blue.base} ;
}
button:focus {
color: ${rice.color.blue} ;
color: ${rice.color.blue.base} ;
}
'';

View File

@@ -1,4 +1,4 @@
{ config, pkgs, pkgs-unstable, lib, system, inputs, host, user, allowed, secrets, ... }:
{ config, pkgs, pkgs-unstable, lib, system, inputs, host, user, rice, allowed, secrets, ... }:
{
imports = [
./home-modules/vscode.nix
@@ -23,7 +23,7 @@
./home-modules/kitty.nix
./home-modules/fish.nix
./home-modules/starship.nix
./home-modules/nvim.nix
# ./home-modules/nvim.nix
./home-modules/helix.nix
./home-modules/yazi.nix
@@ -59,7 +59,7 @@
spicetify-cli
obs-studio
waybar swww playerctl
swww playerctl
imv mpv mediainfo exiftool ffmpeg
pavucontrol fontpreview gtk2fontsel

View File

@@ -1,14 +1,15 @@
{ lib, ... }:
rec
{
nohash = s: builtins.substring 1 7 s;
slice-hex = hex: { r = builtins.substring 0 2 hex; g = builtins.substring 2 2 hex; b = builtins.substring 4 5 hex; };
# https://github.com/bertof/nix-rice
rune-to-num = c:
let
k = lib.strings.toUpper c;
# takes in "ff0044" (no hash!) and returns { r = "ff", g = "00", b = "44" }
slice-hex = hex: with builtins; { r = substring 0 2 hex; g = substring 2 2 hex; b = substring 4 2 hex; };
# takes in "44" and returns 64
drune-to-255 = drune: with builtins; (rune-to-num (substring 0 1 drune)) * 16 + (rune-to-num (substring 1 1 drune));
num-to-drune = num: "${num-to-rune (num / 16)}${num-to-rune (num - ((num / 16) * 16))}";
# takes in "D" and returns 13
rune-to-num = rune: # inspiration from https://github.com/bertof/nix-rice
let
dict = {
"0" = 0;
"1" = 1;
@@ -28,16 +29,13 @@ rec
"F" = 15;
};
in
assert(builtins.hasAttr k dict);
builtins.getAttr k dict;
assert(builtins.hasAttr (lib.strings.toUpper rune) dict);
builtins.getAttr (lib.strings.toUpper rune) dict;
drune-to-255 = hex: (rune-to-num (builtins.substring 0 1 hex)) * 15 + (rune-to-num (builtins.substring 1 2 hex));
hex-to-rgb-comma-string = hex: let color = (slice-hex (nohash hex)); in "${builtins.toString (drune-to-255 color.r)},${builtins.toString (drune-to-255 color.g)},${builtins.toString (drune-to-255 color.b)}";
num-to-rune = n:
# takes in 15 and returns "F"
num-to-rune = num:
let
ns = builtins.toString n;
num-string = builtins.toString num;
dict = {
"0" = "0";
"1" = "1";
@@ -57,8 +55,42 @@ rec
"15" = "F";
};
in
assert(builtins.hasAttr ns dict);
builtins.getAttr ns dict;
assert(builtins.hasAttr num-string dict);
builtins.getAttr num-string dict;
float-to-drune = f: "${num-to-rune (builtins.floor((255*f) / 16))}${num-to-rune (builtins.floor(255*f) - (builtins.floor((255 * f) / 16) * 16))}";
# Keeps num between 0 and 255
# Make sure to pass in an int not a float
cap-255 = num: (if (num>255) then 255 else if (num<0) then 0 else num);
nohash = hex: with builtins; assert((stringLength hex) == 7); substring 1 6 hex;
in
{
## USEFUL FUNCTIONS
# --------------------------------------------------------------------------------
# takes in a string like "#ff0044" and returns "ff0044" symbol
inherit nohash;
# --------------------------------------------------------------------------------
# This takes in something like "#ff0044" and returns "255,0,64"
hex-to-rgb-comma-string = hex:
with (slice-hex (nohash hex));
with builtins;
assert(isString hex);
"${toString (drune-to-255 r)},${toString (drune-to-255 g)},${toString (drune-to-255 b)}";
# --------------------------------------------------------------------------------
# This is useful if you have a float (like a transparency value) and want a drune representation of it
# So 0.0 -> "00" and 1.0 -> "FF"
float-to-drune = f: with builtins; assert(isFloat f); "${num-to-rune (floor((255*f) / 16))}${num-to-rune (floor(255*f) - (floor((255*f) / 16) * 16))}";
# --------------------------------------------------------------------------------
# Takes in hex and a float. 0.5 is +50% brightness and (-0.5) is -50% brightness.
# So "#ff0044": 0.3 -> "#ff0055"
alter-luminace-hex = hex: amount:
let
color-num = with (slice-hex (nohash hex)); { r = drune-to-255 r; g = drune-to-255 g; b = drune-to-255 b; };
alter = num: (num-to-drune (cap-255 (builtins.floor (num * (1 + amount)))));
in
with color-num; "#${alter r}${alter g}${alter b}";
}