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

137
flake.nix
View File

@@ -9,8 +9,9 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprland ={ hyprland = {
url = "github:hyprwm/Hyprland"; url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
# url = "github:hyprwm/Hyprland";
# inputs.nixpkgs.follows = "nixpkgs"; # inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprland-plugins = { hyprland-plugins = {
@@ -82,28 +83,31 @@
rounding = 0; rounding = 0;
gap-size = 0; gap-size = 0;
border-width = 2; border-width = 2;
color = rec { color =
background = "#000000"; let
foreground = white; dark = (-0.3);
border = red; bright = (0.3);
accent = magenta; 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; };
black = "#111111"; # "#000000" "#000000" ccolor = builtins.mapAttrs alter {
bright-black = "#444444"; # "#231a40" "#231a40" black = "#000000";
blue = "#4411ff"; # "#9d00ff" "#432d59" grey = "#666666";
bright-blue = "#9977ff"; # "#c76eff" "#593380" white = "#dddddd";
cyan = "#00ffff"; # "#00ddff" "#00ff00" blue = "#4411ff";
bright-cyan = "#88ffff"; # "#33f9ff" "#b08ae6" cyan = "#00ffff";
green = "#00ff00"; # "#0048ff" "#9045e6" green = "#00ff00";
bright-green = "#88ff88"; # "#1166ff" "#a366ff" magenta = "#ff00ff";
magenta = "#ff00ff"; # "#B21889" "#a82ee6" red = "#ff0044";
bright-magenta = "#ff88ff"; # "#ff75f6" "#bb66cc" yellow = "#ff4400";
red = "#ff0044"; # "#ff0044" "#f29df2" };
bright-red = "#ff4499"; # "#ff4576" "#4595e6" xcolor = with ccolor; {
white = "#dddddd"; # "#939599" "#40dfff" background = black.base;
bright-white = "#ffffff"; # "#ffffff" "#4136d9" foreground = white.base;
yellow = "#ff4400"; # "#ff4000" "#7e5ce6" border = red.base;
bright-yellow = "#ff8844"; # "#ff8454" "#a886bf" border2 = blue.base;
}; accent = magenta.base;
tertiary = blue.base;
};
in ccolor // xcolor;
font = { font = {
code = { code = {
name = "JetBrainsMono-NF"; name = "JetBrainsMono-NF";
@@ -121,29 +125,30 @@
in in
{ {
nixosConfigurations = { nixosConfigurations = {
NxXPS = let NxXPS =
host = "NxXPS"; let
in host = "NxXPS";
nixpkgs.lib.nixosSystem { in
inherit system; nixpkgs.lib.nixosSystem {
modules = [ ./configuration.nix ]; inherit system;
specialArgs = { inherit inputs user host pkgs-unstable allowed secrets rice nvidia; }; modules = [ ./configuration.nix ];
}; specialArgs = { inherit inputs user host pkgs-unstable allowed secrets rice nvidia; };
};
NxNORTH = let host = "NxNORTH"; in nixpkgs.lib.nixosSystem { NxNORTH = let host = "NxNORTH"; in nixpkgs.lib.nixosSystem {
inherit system; inherit system;
modules = [ ./configuration.nix ]; modules = [ ./configuration.nix ];
specialArgs = { inherit inputs user host pkgs-unstable allowed secrets rice nvidia; }; specialArgs = { inherit inputs user host pkgs-unstable allowed secrets rice nvidia; };
}; };
NxACE = NxACE =
let let
host = "NxACE"; host = "NxACE";
nvidia.enable = false; nvidia.enable = false;
in in
nixpkgs.lib.nixosSystem { nixpkgs.lib.nixosSystem {
inherit system; inherit system;
modules = [ ./configuration.nix ]; modules = [ ./configuration.nix ];
specialArgs = { inherit inputs user host pkgs-unstable allowed secrets rice nvidia; }; specialArgs = { inherit inputs user host pkgs-unstable allowed secrets rice nvidia; };
}; };
}; };
homeConfigurations = { homeConfigurations = {
@@ -151,42 +156,42 @@
inherit pkgs; inherit pkgs;
modules = [ modules = [
./home.nix ./home.nix
]; ];
extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; }; extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; };
}; };
"${user}@NxNORTH" = let host = "NxNORTH"; in home-manager.lib.homeManagerConfiguration { "${user}@NxNORTH" = let host = "NxNORTH"; in home-manager.lib.homeManagerConfiguration {
inherit pkgs; inherit pkgs;
modules = [ modules = [
./home.nix ./home.nix
]; ];
extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; }; extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; };
}; };
"${user}@NxACE" = "${user}@NxACE" =
let let
host = "NxACE"; host = "NxACE";
nvidia.enable = false; nvidia.enable = false;
in in
home-manager.lib.homeManagerConfiguration { home-manager.lib.homeManagerConfiguration {
inherit pkgs; inherit pkgs;
modules = [ modules = [
./home.nix ./home.nix
]; ];
extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; }; extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; };
}; };
"tv@NxACE" = "tv@NxACE" =
let let
host = "NxACE"; host = "NxACE";
user = "tv"; user = "tv";
nvidia.enable = pkgs.kib.mkForce false; nvidia.enable = pkgs.kib.mkForce false;
in in
home-manager.lib.homeManagerConfiguration { home-manager.lib.homeManagerConfiguration {
inherit pkgs; inherit pkgs;
modules = [ modules = [
./home.nix ./home.nix
]; ];
extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; }; extraSpecialArgs = { inherit inputs system user host allowed secrets pkgs-unstable rice nvidia; };
}; };
}; };
}; };
} }

View File

@@ -16,6 +16,7 @@
programs.helix = { programs.helix = {
enable = true; enable = true;
settings = { settings = {
# theme = "base16_terminal";
theme = "base16"; theme = "base16";
editor = { editor = {
cursor-shape = { cursor-shape = {
@@ -31,7 +32,7 @@
cursorline = true; cursorline = true;
indent-guides.render = true; indent-guides.render = true;
lsp.display-inlay-hints = true; lsp.display-inlay-hints = true;
statusline.center = ["position-percentage"]; statusline.center = [ "position-percentage" ];
true-color = true; true-color = true;
whitespace.characters = { whitespace.characters = {
newline = ""; newline = "";
@@ -44,46 +45,171 @@
}]; }];
themes = { themes = {
base16 = with rice.color; { base16 = with rice.color; {
"ui.menu" = "none"; "attributes" = blue.base;
"ui.menu.selected" = { modifiers = [ "reversed" ]; }; "comment" = {
"ui.linenr" = { fg = white; bg = black; }; "fg" = white.dark;
"ui.popup" = { modifiers = [ "reversed" ]; }; "modifiers" = [ "italic" ];
"ui.linenr.selected" = { fg = white; bg = bright-black; modifiers = [ "bold" ]; }; };
"ui.selection" = { fg = black; bg = blue; }; "constant" = cyan.base;
"ui.selection.primary" = { modifiers = [ "reversed" ]; }; "constant.character.escape" = yellow.bright;
"comment" = { fg = green; }; "constant.numeric" = blue.base;
"ui.statusline" = { fg = white; bg = red; }; "constructor" = magenta.base;
"ui.statusline.inactive" = { fg = black; bg = white; }; "debug" = yellow.dark;
"ui.help" = { fg = blue; bg = white; }; "diagnostic.modifiers" = [ "underlined" ];
"ui.cursor" = { modifiers = [ "reversed" ]; }; "diff.delta" = blue.base;
"ui.virtual.indent-guide" = black; "diff.minus" = red.base;
"variable" = red; "diff.plus" = green.base;
"variable.builtin" = magenta; "error" = red.base;
"constant.numeric" = magenta; "function" = cyan.base;
"constant" = magenta; "hint" = yellow.dark;
"attributes" = yellow; "info" = cyan.base;
"type" = yellow; "keyword" = cyan.bright;
"ui.cursor.match" = { fg = yellow; modifiers = [ "underlined" ]; }; "label" = cyan.bright;
"string" = green; "namespace" = cyan.bright;
"variable.other.member" = red; "operator" = magenta.dark;
"constant.character.escape" = cyan; "special" = cyan.base;
"function" = blue; "string" = green.base;
"constructor" = blue; "type" = green.base;
"special" = blue; "variable" = red.base;
"keyword" = magenta; "variableother.member" = green.base;
"label" = magenta; "warning" = blue.base;
"namespace" = blue;
"diff.plus" = green; "markup.bold" = {
"diff.delta" = yellow; "fg" = green.base;
"diff.minus" = red; "modifiers" = [ "bold" ];
"diagnostic" = { modifiers = [ "underlined" ]; }; };
"ui.gutter" = { bg = black; }; "markup.heading" = cyan.base;
"info" = blue; "italic" = {
"hint" = blue; "fg" = cyan.bright;
"debug" = blue; "modifiers" = [ "italic" ];
"warning" = yellow; };
"error" = red; "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") lib.mkIf (user != "tv")
{ {
home.packages = [ home.packages = [
pkgs.hyprland-autoname-workspaces pkgs-unstable.hyprland-autoname-workspaces
]; ];
home.file.".config/hyprland-autoname-workspaces/config.toml".text = '' home.file.".config/hyprland-autoname-workspaces/config.toml".text = ''

View File

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

View File

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

View File

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

View File

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

View File

@@ -195,10 +195,12 @@ lib.mkIf (user != "tv")
lookup() lookup()
def reauthenicate(): def reauthenicate():
os.remove(PICKLE_PATH) try:
os.remove(TOKEN_PATH) os.remove(PICKLE_PATH)
os.system('notify-send --app-name="nx_gcal_event" "Deleted Token"') os.remove(TOKEN_PATH)
lookup() os.system('notify-send --app-name="nx_gcal_event" "Deleted Token"')
exept:
lookup()
def print_help(): def print_help():
print("Usage: nx_gcal_event [lookup|force-lookup|reauthenicate|help]") print("Usage: nx_gcal_event [lookup|force-lookup|reauthenicate|help]")

View File

@@ -29,7 +29,7 @@ lib.mkIf (user != "tv")
background-color: ${rice.color.background}${trdr}; background-color: ${rice.color.background}${trdr};
border: ${builtins.toString rice.border-width}px; border: ${builtins.toString rice.border-width}px;
border-radius: ${builtins.toString rice.rounding}; border-radius: ${builtins.toString rice.rounding};
border-color: ${rice.color.blue}; border-color: ${rice.color.blue.base};
} }
#mainbox { #mainbox {
border: 0; 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.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.selected.normal { background-color: ${rice.color.blue.base}${trdr}; text-color: ${rice.color.background}; }
#element.alternate.normal { background-color: ${rice.color.black}${trdr}; text-color: ${rice.color.foreground}; } #element.alternate.normal { background-color: ${rice.color.black.base}${trdr}; text-color: ${rice.color.foreground}; }
#scrollbar { #scrollbar {
@@ -76,7 +76,7 @@ lib.mkIf (user != "tv")
#inputbar { #inputbar {
spacing: 0; spacing: 0;
text-color: ${rice.color.background}; text-color: ${rice.color.background};
background-color: ${rice.color.red}${trdr}; background-color: ${rice.color.red.base}${trdr};
padding: 0; padding: 0;
children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; 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 let
sep = " "; sep = " ";
in in
lib.mkIf (user != "tv") lib.mkIf (user != "tv")
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
waybar
(pkgs.writeShellScriptBin "waybar_mode" '' (pkgs.writeShellScriptBin "waybar_mode" ''
#!/usr/bin/env bash #!/usr/bin/env bash
print_help() { print_help() {
@@ -50,10 +48,11 @@ lib.mkIf (user != "tv")
fi fi
'') '')
]; ] ++ [ pkgs-unstable.waybar ];
programs.waybar = { programs.waybar = {
enable = true; enable = true;
package = pkgs-unstable.waybar;
settings = { settings = {
bar = { bar = {
height = 20; height = 20;
@@ -176,7 +175,7 @@ lib.mkIf (user != "tv")
transition-duration: 2s; transition-duration: 2s;
padding: 7px 10px; padding: 7px 10px;
padding-top: 0.1em; 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; */ /* margin: ${builtins.toString rice.gap-size}px; */
border-radius: ${builtins.toString rice.rounding}px; border-radius: ${builtins.toString rice.rounding}px;
@@ -199,51 +198,51 @@ lib.mkIf (user != "tv")
padding: 0px 3px; padding: 0px 3px;
margin-top: 0.3em; margin-top: 0.3em;
border-radius: ${builtins.toString rice.rounding}px; 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 { #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-left: 10px;
margin-right: 10px; margin-right: 10px;
border-radius: ${builtins.toString rice.rounding}px; border-radius: ${builtins.toString rice.rounding}px;
} }
#workspaces button.active { #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 { #workspaces button:hover {
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.background}); 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 { #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 { #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 { #window, #custom-ctimeremaining {
font-family: ${rice.font.base.name}, ${rice.font.code.name2}; 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 { #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) { #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 { #battery.critical {
color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.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.bright-red}); 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) { #battery.critical:not(.charging) {

View File

@@ -25,11 +25,11 @@ lib.mkIf (user != "tv")
} }
button:hover { button:hover {
color: ${rice.color.blue} ; color: ${rice.color.blue.base} ;
} }
button:focus { 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 = [ imports = [
./home-modules/vscode.nix ./home-modules/vscode.nix
@@ -23,7 +23,7 @@
./home-modules/kitty.nix ./home-modules/kitty.nix
./home-modules/fish.nix ./home-modules/fish.nix
./home-modules/starship.nix ./home-modules/starship.nix
./home-modules/nvim.nix # ./home-modules/nvim.nix
./home-modules/helix.nix ./home-modules/helix.nix
./home-modules/yazi.nix ./home-modules/yazi.nix
@@ -59,7 +59,7 @@
spicetify-cli spicetify-cli
obs-studio obs-studio
waybar swww playerctl swww playerctl
imv mpv mediainfo exiftool ffmpeg imv mpv mediainfo exiftool ffmpeg
pavucontrol fontpreview gtk2fontsel pavucontrol fontpreview gtk2fontsel

View File

@@ -1,14 +1,15 @@
{ lib, ... }: { lib, ... }:
rec let
{ # takes in "ff0044" (no hash!) and returns { r = "ff", g = "00", b = "44" }
nohash = s: builtins.substring 1 7 s; slice-hex = hex: with builtins; { r = substring 0 2 hex; g = substring 2 2 hex; b = substring 4 2 hex; };
slice-hex = hex: { r = builtins.substring 0 2 hex; g = builtins.substring 2 2 hex; b = builtins.substring 4 5 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))}";
# https://github.com/bertof/nix-rice # takes in "D" and returns 13
rune-to-num = c: rune-to-num = rune: # inspiration from https://github.com/bertof/nix-rice
let let
k = lib.strings.toUpper c;
dict = { dict = {
"0" = 0; "0" = 0;
"1" = 1; "1" = 1;
@@ -28,16 +29,13 @@ rec
"F" = 15; "F" = 15;
}; };
in in
assert(builtins.hasAttr k dict); assert(builtins.hasAttr (lib.strings.toUpper rune) dict);
builtins.getAttr k 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)); # takes in 15 and returns "F"
num-to-rune = num:
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:
let let
ns = builtins.toString n; num-string = builtins.toString num;
dict = { dict = {
"0" = "0"; "0" = "0";
"1" = "1"; "1" = "1";
@@ -57,8 +55,42 @@ rec
"15" = "F"; "15" = "F";
}; };
in in
assert(builtins.hasAttr ns dict); assert(builtins.hasAttr num-string dict);
builtins.getAttr ns 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}";
} }