color rework, flake bump
This commit is contained in:
94
flake.lock
generated
94
flake.lock
generated
@@ -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": {
|
||||
|
||||
51
flake.nix
51
flake.nix
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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():
|
||||
|
||||
@@ -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 ];
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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} ;
|
||||
}
|
||||
'';
|
||||
|
||||
|
||||
6
home.nix
6
home.nix
@@ -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
|
||||
|
||||
@@ -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}";
|
||||
}
|
||||
Reference in New Issue
Block a user