stylix: add accent color

I spent an hour just to add one f*ing option
This commit is contained in:
2026-06-08 03:24:54 +03:00
parent c8b5900985
commit 98434b79cf
9 changed files with 56 additions and 14 deletions
+1
View File
@@ -9,6 +9,7 @@
./user/neofetch.nix
./user/qt.nix
./user/quickshell.nix
./user/stylix.nix
./user/sops.nix
./user/ssh.nix
./user/walker.nix
+2 -6
View File
@@ -1,15 +1,11 @@
{ stdenv, lib, config, colors, username, ... }:
{ stdenv, colors, accent ? colors.base0B, ... }:
stdenv.mkDerivation {
name = "AGS theme";
src = ./ags;
dontUnpack = true;
patchPhase = let
accent = if username == "chest"
then colors.base0E
else colors.base0B;
in ''
patchPhase = ''
echo \$bg: \#${colors.base00}\; > colors.scss
echo \$surface0: \#${colors.base02}\; >> colors.scss
echo \$fg: \#${colors.base05}\; >> colors.scss
+40
View File
@@ -0,0 +1,40 @@
{ config, lib, ... }: let
inherit (lib) mkOption types;
base16Names = [
"base00"
"base01"
"base02"
"base03"
"base04"
"base05"
"base06"
"base07"
"base08"
"base09"
"base0A"
"base0B"
"base0C"
"base0D"
"base0E"
"base0F"
];
in {
options.stylix.accent = mkOption {
type = types.enum base16Names;
default = "base0B";
description = ''
Base16 colour used as the user accent.
Use it as:
config.lib.stylix.colors.${config.stylix.accent}
config.lib.stylix.colors.withHashtag.${config.stylix.accent}
This module deliberately does not extend config.lib.stylix.colors: Stylix
exports that value as a generated base16 attrset/functor, and replacing or
partially extending it can break Stylix targets which expect metadata such
as `scheme` to be present.
'';
};
}
+2 -1
View File
@@ -1,13 +1,14 @@
{ pkgs, lib, config, inputs, ... }: {
wayland.windowManager.hyprland = let
colors = config.lib.stylix.colors;
accent = colors.${config.stylix.accent};
in {
settings = {
general = {
gaps_in = 5;
gaps_out = 5;
border_size = 2;
"col.active_border" = "rgba(${colors.base0E}ee) rgba(${colors.base0C}ee) 45deg";
"col.active_border" = "rgba(${accent}ee) rgba(${colors.base0C}ee) 45deg";
"col.inactive_border" = "rgba(${colors.base05}aa)";
layout = "dwindle";
+1
View File
@@ -89,6 +89,7 @@ in {
};
base16Scheme = "${pkgs.base16-schemes}/share/themes/eris.yaml";
accent = "base0E";
polarity = "dark";
image = pkgs.fetchurl {
+1 -1
View File
@@ -175,7 +175,7 @@
style = let
colors = config.lib.stylix.colors.withHashtag;
accent = colors.base0E;
accent = colors.${config.stylix.accent};
scssFile = pkgs.writeText "waybar.scss" /*scss*/ ''
window#waybar {
background: transparent;
+2 -1
View File
@@ -1,6 +1,7 @@
{ pkgs, lib, config, osConfig, inputs, ... }: {
wayland.windowManager.hyprland = let
colors = config.lib.stylix.colors;
accent = colors.${config.stylix.accent};
wallpaper_changer = pkgs.writers.writePython3Bin "wallpaper_changer" {
libraries = [ pkgs.python3Packages.requests ];
@@ -57,7 +58,7 @@
gaps_in = 2;
gaps_out = 10;
border_size = 3;
"col.active_border" = lib.mkForce "rgba(${colors.base0C}aa) rgba(${colors.base0B}aa) 45deg";
"col.active_border" = lib.mkForce "rgba(${colors.base0C}aa) rgba(${accent}aa) 45deg";
layout = "dwindle";
};
+1
View File
@@ -105,6 +105,7 @@ in {
};
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
accent = "base0B";
polarity = "dark";
image = pkgs.fetchurl {
+6 -5
View File
@@ -155,6 +155,7 @@
style = let
colors = config.lib.stylix.colors.withHashtag;
accent = colors.${config.stylix.accent};
radius = "6px";
scssFile = pkgs.writeText "waybar.scss" /*scss*/ ''
window#waybar {
@@ -199,13 +200,13 @@
&:hover { background: ${colors.base01}; }
&.active {
background: ${colors.base0B};
background: ${accent};
color: ${colors.base00};
&:hover {
border-color: ${colors.base0B};
border-color: ${accent};
background: ${colors.base01};
color: ${colors.base0B};
color: ${accent};
}
}
}
@@ -259,7 +260,7 @@
#battery {
&.plugged { color: ${colors.base0D}; }
&.charging { color: ${colors.base0B}; }
&.charging { color: ${accent}; }
&:not(.charging) {
&.warning {
color: ${colors.base00};
@@ -277,7 +278,7 @@
}
&.full {
color: ${colors.base00};
background: ${colors.base0B};
background: ${accent};
}
}