theme stuff
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib.${namespace}) enabled disabled;
|
||||
shellAliases = {
|
||||
update-switch = "darwin-rebuild switch --flake ~/nix-config";
|
||||
update-flake = "nix flake update ~/nix-config";
|
||||
@@ -135,9 +137,9 @@ in
|
||||
};
|
||||
dock = {
|
||||
animateOpeningApplications = true;
|
||||
automaticallyHideAndShowTheDock.enabled = false;
|
||||
automaticallyHideAndShowTheDock = enabled;
|
||||
doubleClickAWindowsTitleBarTo = "Minimize";
|
||||
magnification.enabled = false;
|
||||
magnification = disabled;
|
||||
minimizeWindowsIntoApplicationIcon = true;
|
||||
minimizeWindowsUsing = "Genie Effect";
|
||||
positionOnScreen = "Bottom";
|
||||
@@ -254,11 +256,11 @@ in
|
||||
};
|
||||
|
||||
# Manage bug in compilations - who uses manpages in 2024 anyways? :P
|
||||
manual.manpages.enable = false;
|
||||
manual.manpages = enabled;
|
||||
|
||||
# Override defaults that arent supported
|
||||
programs = {
|
||||
mangohud.enable = lib.mkForce false;
|
||||
mangohud = lib.mkForce disabled;
|
||||
|
||||
nh = {
|
||||
flake = lib.mkForce "/Users/mattjallen/nix-config";
|
||||
@@ -266,8 +268,8 @@ in
|
||||
};
|
||||
|
||||
services = {
|
||||
pass-secret-service.enable = lib.mkForce false;
|
||||
nextcloud-client.enable = lib.mkForce false;
|
||||
pass-secret-service = lib.mkForce disabled;
|
||||
nextcloud-client = lib.mkForce disabled;
|
||||
kdeconnect = {
|
||||
enable = false;
|
||||
indicator = false;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
theme = config.mjallen.theme.palette;
|
||||
inherit (lib.${namespace}) enabled disabled;
|
||||
shellAliases = {
|
||||
update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.3";
|
||||
update-switch = "sudo nixos-rebuild switch --max-jobs 10 --build-host admin@10.0.1.3";
|
||||
@@ -75,15 +75,15 @@ in
|
||||
};
|
||||
};
|
||||
programs = {
|
||||
btop.enable = true;
|
||||
btop = enabled;
|
||||
kitty = {
|
||||
enable = true;
|
||||
};
|
||||
mako = {
|
||||
enable = true;
|
||||
};
|
||||
nwg-dock.enable = true;
|
||||
nwg-drawer.enable = true;
|
||||
nwg-dock = enabled;
|
||||
nwg-drawer = enabled;
|
||||
nwg-panel = {
|
||||
enable = true;
|
||||
defaultApps = {
|
||||
@@ -96,8 +96,8 @@ in
|
||||
layer = "bottom";
|
||||
|
||||
temperature = {
|
||||
cpu.enable = true;
|
||||
gpu.enable = true;
|
||||
cpu = enabled;
|
||||
gpu = enabled;
|
||||
};
|
||||
|
||||
extraModules = {
|
||||
@@ -113,21 +113,20 @@ in
|
||||
|
||||
extraModulesStyle = ''
|
||||
#custom-lights {
|
||||
color: ${theme.frost.nord8};
|
||||
background-color: ${theme.polarNight.nord0};
|
||||
${theme.defaultOpacity}
|
||||
${theme.borderLeft}
|
||||
color: @base0C;
|
||||
opacity: 0.85;
|
||||
background-color: @base00;
|
||||
}
|
||||
|
||||
#custom-lights:hover {
|
||||
background: ${theme.polarNight.nord3};
|
||||
background: @base03;
|
||||
}
|
||||
'';
|
||||
|
||||
windowOffset = 75;
|
||||
};
|
||||
wlogout.enable = true;
|
||||
wofi.enable = true;
|
||||
wlogout = enabled;
|
||||
wofi = enabled;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -142,7 +141,7 @@ in
|
||||
];
|
||||
|
||||
programs = {
|
||||
password-store.enable = true;
|
||||
password-store = enabled;
|
||||
|
||||
zsh.shellAliases = shellAliases;
|
||||
};
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{ lib, namespace, ... }:
|
||||
let
|
||||
inherit (lib.${namespace}) enabled disabled;
|
||||
in
|
||||
{
|
||||
home.username = "matt";
|
||||
|
||||
@@ -53,11 +56,11 @@
|
||||
};
|
||||
|
||||
programs = {
|
||||
mangohud.enable = lib.mkForce true;
|
||||
mangohud = lib.mkForce enabled;
|
||||
};
|
||||
|
||||
services = {
|
||||
nextcloud-client.enable = lib.mkForce false;
|
||||
nextcloud-client = lib.mkForce disabled;
|
||||
kdeconnect = {
|
||||
enable = false;
|
||||
indicator = false;
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib.${namespace}) enabled disabled;
|
||||
shellAliases = {
|
||||
update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.3";
|
||||
update-switch = "sudo nixos-rebuild switch --max-jobs 10 --build-host admin@10.0.1.3";
|
||||
@@ -59,7 +62,7 @@ in
|
||||
};
|
||||
|
||||
services = {
|
||||
nextcloud-client.enable = false;
|
||||
nextcloud-client = lib.mkForce disabled;
|
||||
kdeconnect = {
|
||||
enable = false;
|
||||
indicator = false;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{ pkgs, namespace, ... }:
|
||||
{ lib, pkgs, namespace, ... }:
|
||||
let
|
||||
inherit (lib.${namespace}) enabled disabled;
|
||||
shellAliases = {
|
||||
update-boot = "sudo nixos-rebuild boot --max-jobs 10 --build-host admin@10.0.1.3";
|
||||
update-switch = "sudo nixos-rebuild switch --max-jobs 10";
|
||||
@@ -10,7 +11,7 @@ in
|
||||
{
|
||||
home.username = "deck";
|
||||
|
||||
${namespace}.desktop.gnome.enable = true;
|
||||
${namespace}.desktop.gnome = enabled;
|
||||
|
||||
sops = {
|
||||
age.keyFile = "/home/deck/.config/sops/age/keys.txt";
|
||||
@@ -40,7 +41,7 @@ in
|
||||
};
|
||||
|
||||
emulators = {
|
||||
ryujinx.enable = true;
|
||||
ryujinx = enabled;
|
||||
|
||||
dolphin-gamecube = {
|
||||
enable = true;
|
||||
@@ -58,8 +59,8 @@ in
|
||||
extraArgs = "-b -e \"\${filePath}\"";
|
||||
};
|
||||
|
||||
pcsx2.enable = true;
|
||||
mgba.enable = true;
|
||||
pcsx2 = enabled;
|
||||
mgba = enabled;
|
||||
|
||||
"Non-SRM Shortcuts" = {
|
||||
enable = true;
|
||||
|
||||
@@ -104,12 +104,8 @@ in
|
||||
};
|
||||
};
|
||||
btop = enabled;
|
||||
kitty = {
|
||||
enable = true;
|
||||
};
|
||||
mako = {
|
||||
enable = true;
|
||||
};
|
||||
kitty = enabled;
|
||||
mako = enabled;
|
||||
nwg-dock = enabled;
|
||||
nwg-drawer = enabled;
|
||||
nwg-panel = {
|
||||
@@ -125,8 +121,8 @@ in
|
||||
|
||||
network.interface = "wlp9s0";
|
||||
temperature = {
|
||||
cpu.enable = true;
|
||||
gpu.enable = true;
|
||||
cpu = enabled;
|
||||
gpu = enabled;
|
||||
};
|
||||
|
||||
extraModules = {
|
||||
@@ -142,14 +138,14 @@ in
|
||||
|
||||
extraModulesStyle = ''
|
||||
#custom-lights {
|
||||
color: ${theme.frost.nord8};
|
||||
background-color: ${theme.polarNight.nord0};
|
||||
${theme.defaultOpacity}
|
||||
border-left: 5px solid ${theme.frost.nord8};
|
||||
color: @base0C;
|
||||
background-color: @base00;
|
||||
opacity: 0.85;
|
||||
border-left: 5px solid @base0C;
|
||||
}
|
||||
|
||||
#custom-lights:hover {
|
||||
background: ${theme.polarNight.nord3};
|
||||
background: @base03;
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -1,191 +0,0 @@
|
||||
{ config, lib, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.mjallen.theme;
|
||||
|
||||
mkPalettePath = name: lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/${name}.nix";
|
||||
|
||||
cap =
|
||||
s:
|
||||
let
|
||||
len = builtins.stringLength s;
|
||||
in
|
||||
(lib.toUpper (builtins.substring 0 1 s)) + (builtins.substring 1 (len - 1) s);
|
||||
in
|
||||
{
|
||||
options.mjallen.theme = {
|
||||
name = mkOption {
|
||||
type = types.enum [
|
||||
"nord"
|
||||
"dracula"
|
||||
"everforest"
|
||||
];
|
||||
default = "nord";
|
||||
description = "Global theme palette name.";
|
||||
};
|
||||
|
||||
# This is the palette file other modules should import.
|
||||
# It exports a normalized schema with colors, tokens, and compat maps.
|
||||
paletteFile = mkOption {
|
||||
type = types.path;
|
||||
default = mkPalettePath "nord";
|
||||
description = "Path to a palette nix file exporting a normalized schema (and compat maps).";
|
||||
};
|
||||
|
||||
# Exposed tokens (derived from paletteFile)
|
||||
tokens = mkOption {
|
||||
type = types.attrs;
|
||||
default = { };
|
||||
description = "Derived tokens from the selected palette (set automatically).";
|
||||
};
|
||||
|
||||
# Expose the imported palette (actual colors + compat groups)
|
||||
palette = mkOption {
|
||||
type = types.attrs;
|
||||
default = { };
|
||||
description = "Imported palette attrset from the selected paletteFile (set automatically).";
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Manage GTK theme using global theme settings.";
|
||||
};
|
||||
|
||||
# e.g. Colloid-Dark-Compact-*
|
||||
color = mkOption {
|
||||
type = types.enum [
|
||||
"dark"
|
||||
"light"
|
||||
];
|
||||
default = "dark";
|
||||
description = "GTK color variant.";
|
||||
};
|
||||
|
||||
size = mkOption {
|
||||
type = types.enum [
|
||||
"standard"
|
||||
"compact"
|
||||
];
|
||||
default = "compact";
|
||||
description = "GTK size variant.";
|
||||
};
|
||||
|
||||
accent = mkOption {
|
||||
type = types.enum [
|
||||
"default"
|
||||
"purple"
|
||||
"pink"
|
||||
"red"
|
||||
"orange"
|
||||
"yellow"
|
||||
"green"
|
||||
"teal"
|
||||
"grey"
|
||||
"all"
|
||||
];
|
||||
default = "all";
|
||||
description = "GTK accent (Colloid themeVariants).";
|
||||
};
|
||||
|
||||
tweak = mkOption {
|
||||
type = types.enum [
|
||||
"normal"
|
||||
"rimless"
|
||||
"float"
|
||||
"black"
|
||||
];
|
||||
default = "normal";
|
||||
description = "GTK tweak (Colloid tweaks).";
|
||||
};
|
||||
|
||||
themeName = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "Explicit GTK theme name override. If null, computed from color/size/accent.";
|
||||
};
|
||||
};
|
||||
|
||||
icons = {
|
||||
# Colloid icon scheme usually supports several named schemes. Default follows palette name.
|
||||
scheme = mkOption {
|
||||
type = types.enum [
|
||||
"default"
|
||||
"nord"
|
||||
"dracula"
|
||||
"gruvbox"
|
||||
"everforest"
|
||||
"catppuccin"
|
||||
];
|
||||
default = cfg.name;
|
||||
description = "Icon scheme to use (Colloid schemeVariants).";
|
||||
};
|
||||
|
||||
variant = mkOption {
|
||||
type = types.enum [
|
||||
"default"
|
||||
"purple"
|
||||
"pink"
|
||||
"red"
|
||||
"orange"
|
||||
"yellow"
|
||||
"green"
|
||||
"teal"
|
||||
"grey"
|
||||
"all"
|
||||
];
|
||||
default = "all";
|
||||
description = "Icon variant (Colloid colorVariants).";
|
||||
};
|
||||
|
||||
themeName = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = "Explicit icon theme name override. If null, computed from scheme/variant.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Wire derived defaults that depend on other options.
|
||||
config = {
|
||||
# Keep paletteFile following the chosen name unless user overrides it explicitly.
|
||||
mjallen.theme.paletteFile = mkDefault (mkPalettePath cfg.name);
|
||||
|
||||
# Pull tokens directly from the palette file for convenience
|
||||
mjallen.theme.tokens = mkDefault (
|
||||
let
|
||||
pal = import cfg.paletteFile;
|
||||
in
|
||||
pal.tokens or { }
|
||||
);
|
||||
|
||||
# Expose the imported palette for convenience
|
||||
mjallen.theme.palette = mkDefault (import cfg.paletteFile);
|
||||
|
||||
# Default per-program palette path (can still be overridden per program)
|
||||
mjallen.programs.waybar.theme.file = mkDefault cfg.paletteFile;
|
||||
mjallen.programs.kitty.theme.file = mkDefault cfg.paletteFile;
|
||||
mjallen.programs.mako.theme.file = mkDefault cfg.paletteFile;
|
||||
mjallen.programs.wofi.theme.file = mkDefault cfg.paletteFile;
|
||||
mjallen.programs.btop.theme.file = mkDefault cfg.paletteFile;
|
||||
mjallen.programs.nwg-dock.theme.file = mkDefault cfg.paletteFile;
|
||||
mjallen.programs.nwg-drawer.theme.file = mkDefault cfg.paletteFile;
|
||||
mjallen.programs.wlogout.theme.file = mkDefault cfg.paletteFile;
|
||||
|
||||
# Computed GTK/Icon theme names if not overridden
|
||||
_module.args.mjallenThemeComputed = {
|
||||
gtkTheme =
|
||||
if cfg.gtk.themeName != null then
|
||||
cfg.gtk.themeName
|
||||
else
|
||||
"Colloid-${cap cfg.gtk.color}-${cap cfg.gtk.size}";
|
||||
|
||||
iconTheme =
|
||||
if cfg.icons.themeName != null then
|
||||
cfg.icons.themeName
|
||||
else
|
||||
"Colloid-${cap cfg.icons.scheme}-${cap cfg.gtk.color}";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
{
|
||||
# Nord colors
|
||||
# Opacity Hex alpha
|
||||
# 100% FF
|
||||
# 75% BF
|
||||
# 50% 80
|
||||
# 25% 40
|
||||
# 10% 1A
|
||||
# 0% 00
|
||||
polarNight = {
|
||||
nord0 = "#2e3440";
|
||||
nord1 = "#3b4252";
|
||||
nord2 = "#434c5e";
|
||||
nord3 = "#4c566a";
|
||||
};
|
||||
snowStorm = {
|
||||
nord4 = "#d8dee9";
|
||||
nord5 = "#e5e9f0";
|
||||
nord6 = "#eceff4";
|
||||
};
|
||||
frost = {
|
||||
nord7 = "#8fbcbb";
|
||||
nord8 = "#88c0d0";
|
||||
nord9 = "#81a1c1";
|
||||
nord10 = "#5e81ac";
|
||||
};
|
||||
aurora = {
|
||||
nord11 = "#bf616a";
|
||||
nord12 = "#d08770";
|
||||
nord13 = "#ebcb8b";
|
||||
nord14 = "#a3be8c";
|
||||
nord15 = "#b48ead";
|
||||
};
|
||||
|
||||
defaultOpacity = "opacity: 0.85;";
|
||||
defaultBorderRadius = "border-radius: 1rem;";
|
||||
defaultCenterOptions = ''
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
'';
|
||||
borderRight = ''
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
border-radius: 0rem 1rem 1rem 0rem;
|
||||
margin-right: 0.5rem;
|
||||
'';
|
||||
borderLeft = ''
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
border-radius: 1rem 0rem 0rem 1rem;
|
||||
margin-left: 0.5rem;
|
||||
'';
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
rec {
|
||||
# Normalized semantic colors (theme-agnostic) - Dracula
|
||||
colors = {
|
||||
bg = "#282a36";
|
||||
bgAlt = "#343746";
|
||||
surface = "#343746";
|
||||
surfaceAlt = "#44475a";
|
||||
border = "#44475a";
|
||||
|
||||
text = "#f8f8f2";
|
||||
textMuted = "#e2e2dc";
|
||||
|
||||
primary = "#6272a4"; # dark blue
|
||||
info = "#8be9fd"; # cyan
|
||||
accent = "#bd93f9"; # purple
|
||||
success = "#50fa7b"; # green
|
||||
warning = "#f1fa8c"; # yellow
|
||||
danger = "#ff5555"; # red
|
||||
};
|
||||
|
||||
# Shared styling tokens for CSS consumers
|
||||
tokens = {
|
||||
opacity = "opacity: 0.90;";
|
||||
borderRadius = "border-radius: 0.8rem;";
|
||||
|
||||
centerOptions = ''
|
||||
padding-top: 0.25rem;
|
||||
padding-bottom: 0.25rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
'';
|
||||
|
||||
borderRight = ''
|
||||
padding-top: 0.25rem;
|
||||
padding-bottom: 0.25rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
border-radius: 0rem 0.8rem 0.8rem 0rem;
|
||||
margin-right: 0.5rem;
|
||||
'';
|
||||
|
||||
borderLeft = ''
|
||||
padding-top: 0.25rem;
|
||||
padding-bottom: 0.25rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
border-radius: 0.8rem 0rem 0rem 0.8rem;
|
||||
margin-left: 0.5rem;
|
||||
'';
|
||||
};
|
||||
|
||||
# Legacy token aliases for back-compat
|
||||
defaultOpacity = tokens.opacity;
|
||||
defaultBorderRadius = tokens.borderRadius;
|
||||
defaultCenterOptions = tokens.centerOptions;
|
||||
borderRight = tokens.borderRight;
|
||||
borderLeft = tokens.borderLeft;
|
||||
|
||||
# Back-compat: Nord-shaped groups for existing modules (approximate mappings)
|
||||
polarNight = {
|
||||
nord0 = "#282a36";
|
||||
nord1 = "#343746";
|
||||
nord2 = "#3b3e4a";
|
||||
nord3 = "#44475a";
|
||||
};
|
||||
|
||||
snowStorm = {
|
||||
nord4 = "#e2e2dc";
|
||||
nord5 = "#f1f1ea";
|
||||
nord6 = "#f8f8f2";
|
||||
};
|
||||
|
||||
frost = {
|
||||
nord7 = "#50fa7b"; # using green as one of the frost group
|
||||
nord8 = "#8be9fd"; # cyan
|
||||
nord9 = "#6272a4"; # blue
|
||||
nord10 = "#bd93f9"; # purple (as highlight)
|
||||
};
|
||||
|
||||
aurora = {
|
||||
nord11 = "#ff5555"; # red
|
||||
nord12 = "#ffb86c"; # orange
|
||||
nord13 = "#f1fa8c"; # yellow
|
||||
nord14 = "#50fa7b"; # green
|
||||
nord15 = "#bd93f9"; # magenta/purple
|
||||
};
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
rec {
|
||||
# Normalized semantic colors (Everforest - Dark)
|
||||
colors = {
|
||||
bg = "#2b3339";
|
||||
bgAlt = "#323c41";
|
||||
surface = "#323c41";
|
||||
surfaceAlt = "#3a444a";
|
||||
border = "#414b51";
|
||||
|
||||
text = "#d3c6aa";
|
||||
textMuted = "#9da9a0";
|
||||
|
||||
primary = "#7fbbb3"; # blue/aqua
|
||||
info = "#83c092"; # teal
|
||||
accent = "#d699b6"; # magenta
|
||||
success = "#a7c080"; # green
|
||||
warning = "#dbbc7f"; # yellow
|
||||
danger = "#e67e80"; # red
|
||||
};
|
||||
|
||||
# Shared styling tokens for CSS consumers
|
||||
tokens = {
|
||||
opacity = "opacity: 0.85;";
|
||||
borderRadius = "border-radius: 1rem;";
|
||||
|
||||
centerOptions = ''
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
'';
|
||||
|
||||
borderRight = ''
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
border-radius: 0rem 1rem 1rem 0rem;
|
||||
margin-right: 0.5rem;
|
||||
'';
|
||||
|
||||
borderLeft = ''
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
border-radius: 1rem 0rem 0rem 1rem;
|
||||
margin-left: 0.5rem;
|
||||
'';
|
||||
};
|
||||
|
||||
# Legacy token aliases for back-compat
|
||||
defaultOpacity = tokens.opacity;
|
||||
defaultBorderRadius = tokens.borderRadius;
|
||||
defaultCenterOptions = tokens.centerOptions;
|
||||
borderRight = tokens.borderRight;
|
||||
borderLeft = tokens.borderLeft;
|
||||
|
||||
# Back-compat: Nord-shaped groups for existing modules (approximate mappings)
|
||||
polarNight = {
|
||||
nord0 = "#2b3339";
|
||||
nord1 = "#323c41";
|
||||
nord2 = "#3a444a";
|
||||
nord3 = "#414b51";
|
||||
};
|
||||
|
||||
snowStorm = {
|
||||
nord4 = "#c6d0b5";
|
||||
nord5 = "#e0dcc7";
|
||||
nord6 = "#d3c6aa";
|
||||
};
|
||||
|
||||
frost = {
|
||||
nord7 = "#a7c080"; # green
|
||||
nord8 = "#83c092"; # teal
|
||||
nord9 = "#7fbbb3"; # aqua/blue
|
||||
nord10 = "#7fbbb3"; # reuse
|
||||
};
|
||||
|
||||
aurora = {
|
||||
nord11 = "#e67e80"; # red
|
||||
nord12 = "#e69875"; # orange
|
||||
nord13 = "#dbbc7f"; # yellow
|
||||
nord14 = "#a7c080"; # green
|
||||
nord15 = "#d699b6"; # magenta
|
||||
};
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
rec {
|
||||
# Normalized semantic colors (theme-agnostic)
|
||||
colors = {
|
||||
bg = "#2e3440";
|
||||
bgAlt = "#3b4252";
|
||||
surface = "#3b4252";
|
||||
surfaceAlt = "#434c5e";
|
||||
border = "#4c566a";
|
||||
|
||||
text = "#eceff4";
|
||||
textMuted = "#e5e9f0";
|
||||
|
||||
primary = "#5e81ac"; # blue
|
||||
info = "#88c0d0"; # cyan/teal
|
||||
accent = "#b48ead"; # purple
|
||||
success = "#a3be8c"; # green
|
||||
warning = "#ebcb8b"; # yellow
|
||||
danger = "#bf616a"; # red
|
||||
};
|
||||
|
||||
# Shared styling tokens for CSS consumers
|
||||
tokens = {
|
||||
opacity = "opacity: 0.85;";
|
||||
borderRadius = "border-radius: 1rem;";
|
||||
|
||||
centerOptions = ''
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
'';
|
||||
|
||||
borderRight = ''
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
border-radius: 0rem 1rem 1rem 0rem;
|
||||
margin-right: 0.5rem;
|
||||
'';
|
||||
|
||||
borderLeft = ''
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
border-radius: 1rem 0rem 0rem 1rem;
|
||||
margin-left: 0.5rem;
|
||||
'';
|
||||
};
|
||||
|
||||
# Legacy token aliases for back-compat
|
||||
defaultOpacity = tokens.opacity;
|
||||
defaultBorderRadius = tokens.borderRadius;
|
||||
defaultCenterOptions = tokens.centerOptions;
|
||||
borderRight = tokens.borderRight;
|
||||
borderLeft = tokens.borderLeft;
|
||||
|
||||
# Back-compat: Nord-shaped groups for existing modules
|
||||
polarNight = {
|
||||
nord0 = "#2e3440";
|
||||
nord1 = "#3b4252";
|
||||
nord2 = "#434c5e";
|
||||
nord3 = "#4c566a";
|
||||
};
|
||||
|
||||
snowStorm = {
|
||||
nord4 = "#d8dee9";
|
||||
nord5 = "#e5e9f0";
|
||||
nord6 = "#eceff4";
|
||||
};
|
||||
|
||||
frost = {
|
||||
nord7 = "#8fbcbb";
|
||||
nord8 = "#88c0d0";
|
||||
nord9 = "#81a1c1";
|
||||
nord10 = "#5e81ac";
|
||||
};
|
||||
|
||||
aurora = {
|
||||
nord11 = "#bf616a";
|
||||
nord12 = "#d08770";
|
||||
nord13 = "#ebcb8b";
|
||||
nord14 = "#a3be8c";
|
||||
nord15 = "#b48ead";
|
||||
};
|
||||
}
|
||||
@@ -2,9 +2,13 @@
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
hasDestopEnvironment ? true,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib.${namespace}) enabled disabled;
|
||||
in
|
||||
{
|
||||
home = {
|
||||
enableNixpkgsReleaseCheck = lib.mkDefault false;
|
||||
@@ -51,15 +55,15 @@
|
||||
};
|
||||
|
||||
programs = {
|
||||
nix-index-database.comma.enable = true;
|
||||
btop.enable = lib.mkDefault true;
|
||||
fastfetch.enable = lib.mkDefault true;
|
||||
home-manager.enable = lib.mkDefault true;
|
||||
nix-index-database.comma = enabled;
|
||||
btop = lib.mkDefault enabled;
|
||||
fastfetch = lib.mkDefault enabled;
|
||||
home-manager = lib.mkDefault enabled;
|
||||
java = {
|
||||
enable = lib.mkDefault true;
|
||||
};
|
||||
mangohud.enable = lib.mkDefault hasDestopEnvironment;
|
||||
password-store.enable = true;
|
||||
password-store = enabled;
|
||||
nh = {
|
||||
enable = true;
|
||||
flake = "/etc/nixos";
|
||||
@@ -122,7 +126,7 @@
|
||||
|
||||
services = {
|
||||
nextcloud-client.enable = lib.mkDefault hasDestopEnvironment;
|
||||
pass-secret-service.enable = lib.mkDefault true;
|
||||
pass-secret-service = lib.mkDefault enabled;
|
||||
kdeconnect = {
|
||||
enable = lib.mkDefault hasDestopEnvironment;
|
||||
indicator = lib.mkDefault true;
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
with lib;
|
||||
let
|
||||
cfg = config.mjallen.programs.btop;
|
||||
palette = import cfg.theme.file;
|
||||
in
|
||||
{
|
||||
imports = [ ./options.nix ];
|
||||
@@ -75,52 +74,6 @@ in
|
||||
selected_battery = "Auto";
|
||||
log_level = "WARNING";
|
||||
};
|
||||
themes = {
|
||||
global = ''
|
||||
theme[main_bg]="${palette.colors.bg}"
|
||||
theme[main_fg]="${palette.colors.text}"
|
||||
theme[title]="${palette.colors.text}"
|
||||
theme[hi_fg]="${palette.colors.info}"
|
||||
theme[selected_bg]="${palette.colors.bgAlt}"
|
||||
theme[selected_fg]="${palette.colors.info}"
|
||||
theme[inactive_fg]="${palette.colors.surfaceAlt}"
|
||||
theme[graph_text]="${palette.colors.text}"
|
||||
theme[meter_bg]="${palette.colors.bgAlt}"
|
||||
theme[proc_misc]="${palette.colors.text}"
|
||||
theme[cpu_box]="${palette.colors.accent}"
|
||||
theme[mem_box]="${palette.colors.success}"
|
||||
theme[net_box]="${palette.colors.warning}"
|
||||
theme[proc_box]="${palette.colors.danger}"
|
||||
theme[div_line]="${palette.colors.bgAlt}"
|
||||
theme[temp_start]="${palette.colors.success}"
|
||||
theme[temp_mid]="${palette.colors.warning}"
|
||||
theme[temp_end]="${palette.colors.danger}"
|
||||
theme[cpu_start]="${palette.colors.accent}"
|
||||
theme[cpu_mid]="${palette.colors.warning}"
|
||||
theme[cpu_end]="${palette.colors.danger}"
|
||||
theme[free_start]="${palette.colors.success}"
|
||||
theme[free_mid]="${palette.colors.warning}"
|
||||
theme[free_end]="${palette.colors.warning}"
|
||||
theme[cached_start]="${palette.colors.success}"
|
||||
theme[cached_mid]="${palette.colors.warning}"
|
||||
theme[cached_end]="${palette.colors.warning}"
|
||||
theme[available_start]="${palette.colors.text}"
|
||||
theme[available_mid]="${palette.colors.danger}"
|
||||
theme[available_end]="${palette.colors.danger}"
|
||||
theme[used_start]="${palette.colors.success}"
|
||||
theme[used_mid]="${palette.colors.warning}"
|
||||
theme[used_end]="${palette.colors.danger}"
|
||||
theme[download_start]="${palette.colors.info}"
|
||||
theme[download_mid]="${palette.colors.info}"
|
||||
theme[download_end]="${palette.colors.warning}"
|
||||
theme[upload_start]="${palette.colors.info}"
|
||||
theme[upload_mid]="${palette.colors.info}"
|
||||
theme[upload_end]="${palette.colors.warning}"
|
||||
theme[process_start]="${palette.colors.accent}"
|
||||
theme[process_mid]="${palette.colors.warning}"
|
||||
theme[process_end]="${palette.colors.danger}"
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,19 +3,5 @@ with lib;
|
||||
{
|
||||
options.mjallen.programs.btop = {
|
||||
enable = mkEnableOption "enable btop";
|
||||
|
||||
theme = mkOption {
|
||||
type = types.submodule {
|
||||
options = {
|
||||
file = mkOption {
|
||||
type = types.path;
|
||||
default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix";
|
||||
description = "Nix file exporting a palette attrset.";
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
description = "btop theme palette configuration.";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
mjallenThemeComputed,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
@@ -10,12 +9,12 @@ let
|
||||
cfg = config.mjallen.programs.hyprland;
|
||||
|
||||
# Pull from global theme options
|
||||
themeSize = config.mjallen.theme.gtk.size; # "standard" | "compact"
|
||||
themeAccent = config.mjallen.theme.gtk.accent; # "default" | ... | "all"
|
||||
themeTweak = config.mjallen.theme.gtk.tweak; # "normal" | "rimless" | "float" | "black"
|
||||
themeColor = config.mjallen.theme.gtk.color; # "light" | "dark"
|
||||
iconThemeVariant = config.mjallen.theme.icons.variant; # "default" | ... | "all"
|
||||
iconScheme = config.mjallen.theme.icons.scheme; # "default" | "nord" | "dracula" | ...
|
||||
themeSize = "standard"; # "standard" | "compact"
|
||||
themeAccent = "default"; # "default" | ... | "all"
|
||||
themeTweak = "normal"; # "normal" | "rimless" | "float" | "black"
|
||||
themeColor = "dark"; # "light" | "dark"
|
||||
iconThemeVariant = "default"; # "default" | ... | "all"
|
||||
iconScheme = "nord"; # "default" | "nord" | "dracula" | ...
|
||||
|
||||
# Cursor
|
||||
cursorTheme = "macOS";
|
||||
@@ -23,7 +22,7 @@ let
|
||||
cursorSize = 24;
|
||||
|
||||
# GTK
|
||||
gtkTheme = mjallenThemeComputed.gtkTheme;
|
||||
gtkTheme = "Colloid-dark-standard";
|
||||
gtkThemePkg = pkgs.colloid-gtk-theme.override {
|
||||
sizeVariants = [ themeSize ];
|
||||
colorVariants = [ themeColor ];
|
||||
@@ -32,7 +31,7 @@ let
|
||||
};
|
||||
|
||||
# Icons
|
||||
iconTheme = mjallenThemeComputed.iconTheme;
|
||||
iconTheme = "Colloid-nord-dark";
|
||||
iconThemePkg = pkgs.colloid-icon-theme.override {
|
||||
schemeVariants = [ iconScheme ];
|
||||
colorVariants = [ iconThemeVariant ];
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
with lib;
|
||||
let
|
||||
cfg = config.mjallen.programs.kitty;
|
||||
palette = import cfg.theme.file;
|
||||
in
|
||||
{
|
||||
imports = [ ./options.nix ];
|
||||
@@ -28,78 +27,78 @@ in
|
||||
confirm_os_window_close = "0";
|
||||
background_opacity = mkForce "0.85";
|
||||
|
||||
# The basic colors
|
||||
foreground = palette.colors.text;
|
||||
background = palette.colors.bg;
|
||||
selection_foreground = palette.colors.bg;
|
||||
selection_background = palette.colors.accent;
|
||||
# # The basic colors
|
||||
# foreground = config.lib.stylix.colors.base06;
|
||||
# background = config.lib.stylix.colors.base00;
|
||||
# selection_foreground = config.lib.stylix.colors.base00;
|
||||
# selection_background = config.lib.stylix.colors.base0E;
|
||||
|
||||
# Cursor colors
|
||||
cursor = palette.colors.accent;
|
||||
cursor_text_color = palette.colors.bg;
|
||||
# # Cursor colors
|
||||
# cursor = config.lib.stylix.colors.base0E;
|
||||
# cursor_text_color = config.lib.stylix.colors.base00;
|
||||
|
||||
# URL underline color when hovering with mouse
|
||||
url_color = palette.colors.accent;
|
||||
# # URL underline color when hovering with mouse
|
||||
# url_color = config.lib.stylix.colors.base0E;
|
||||
|
||||
# Kitty window border colors
|
||||
active_border_color = palette.colors.primary;
|
||||
inactive_border_color = palette.colors.bgAlt;
|
||||
bell_border_color = palette.colors.warning;
|
||||
# # Kitty window border colors
|
||||
# active_border_color = config.lib.stylix.colors.base0F;
|
||||
# inactive_border_color = config.lib.stylix.colors.base01;
|
||||
# bell_border_color = config.lib.stylix.colors.base0A;
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color = palette.colors.bg;
|
||||
macos_titlebar_color = palette.colors.bg;
|
||||
# # OS Window titlebar colors
|
||||
# wayland_titlebar_color = config.lib.stylix.colors.base00;
|
||||
# macos_titlebar_color = config.lib.stylix.colors.base00;
|
||||
|
||||
# Tab bar colors
|
||||
active_tab_foreground = palette.colors.border;
|
||||
active_tab_background = palette.colors.accent;
|
||||
inactive_tab_foreground = palette.colors.text;
|
||||
inactive_tab_background = palette.colors.bgAlt;
|
||||
tab_bar_background = palette.colors.border;
|
||||
# # Tab bar colors
|
||||
# active_tab_foreground = config.lib.stylix.colors.base03;
|
||||
# active_tab_background = config.lib.stylix.colors.base0E;
|
||||
# inactive_tab_foreground = config.lib.stylix.colors.base06;
|
||||
# inactive_tab_background = config.lib.stylix.colors.base01;
|
||||
# tab_bar_background = config.lib.stylix.colors.base03;
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground = palette.colors.bg;
|
||||
mark1_background = palette.colors.primary;
|
||||
mark2_foreground = palette.colors.bg;
|
||||
mark2_background = palette.colors.accent;
|
||||
mark3_foreground = palette.colors.bg;
|
||||
mark3_background = palette.colors.info;
|
||||
# # Colors for marks (marked text in the terminal)
|
||||
# mark1_foreground = config.lib.stylix.colors.base00;
|
||||
# mark1_background = config.lib.stylix.colors.base0F;
|
||||
# mark2_foreground = config.lib.stylix.colors.base00;
|
||||
# mark2_background = config.lib.stylix.colors.base0E;
|
||||
# mark3_foreground = config.lib.stylix.colors.base00;
|
||||
# mark3_background = config.lib.stylix.colors.base0C;
|
||||
|
||||
# The 16 terminal colors
|
||||
# # The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 = palette.colors.bg;
|
||||
# # black
|
||||
# color0 = config.lib.stylix.colors.base00;
|
||||
|
||||
# Autosuggestion
|
||||
color8 = palette.colors.primary;
|
||||
# # Autosuggestion
|
||||
# color8 = config.lib.stylix.colors.base0F;
|
||||
|
||||
# red
|
||||
color1 = palette.colors.danger;
|
||||
color9 = palette.colors.danger;
|
||||
# # red
|
||||
# color1 = config.lib.stylix.colors.base08;
|
||||
# color9 = config.lib.stylix.colors.base08;
|
||||
|
||||
# green
|
||||
color2 = palette.colors.success;
|
||||
color10 = palette.colors.success;
|
||||
# # green
|
||||
# color2 = config.lib.stylix.colors.base0B;
|
||||
# color10 = config.lib.stylix.colors.base0B;
|
||||
|
||||
# yellow
|
||||
color3 = palette.colors.warning;
|
||||
color11 = palette.colors.warning;
|
||||
# # yellow
|
||||
# color3 = config.lib.stylix.colors.base0A;
|
||||
# color11 = config.lib.stylix.colors.base0A;
|
||||
|
||||
# blue
|
||||
color4 = palette.colors.primary;
|
||||
color12 = palette.colors.primary;
|
||||
# # blue
|
||||
# color4 = config.lib.stylix.colors.base0F;
|
||||
# color12 = config.lib.stylix.colors.base0F;
|
||||
|
||||
# magenta
|
||||
color5 = palette.colors.accent;
|
||||
color13 = palette.colors.accent;
|
||||
# # magenta
|
||||
# color5 = config.lib.stylix.colors.base0E;
|
||||
# color13 = config.lib.stylix.colors.base0E;
|
||||
|
||||
# cyan
|
||||
color6 = palette.colors.info;
|
||||
color14 = palette.colors.info;
|
||||
# # cyan
|
||||
# color6 = config.lib.stylix.colors.base0C;
|
||||
# color14 = config.lib.stylix.colors.base0C;
|
||||
|
||||
# white
|
||||
color7 = palette.colors.textMuted;
|
||||
color15 = palette.colors.text;
|
||||
# # white
|
||||
# color7 = config.lib.stylix.colors.base05;
|
||||
# color15 = config.lib.stylix.colors.base06;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -20,20 +20,5 @@ in
|
||||
default = 12;
|
||||
};
|
||||
};
|
||||
|
||||
theme = mkOption {
|
||||
type = types.submodule {
|
||||
options = {
|
||||
file = mkOption {
|
||||
type = types.path;
|
||||
# Fallback default; global theme module sets this via mkDefault
|
||||
default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix";
|
||||
description = "Nix file exporting a palette attrset.";
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
description = "Kitty theme palette configuration.";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
with lib;
|
||||
let
|
||||
cfg = config.mjallen.programs.mako;
|
||||
palette = import cfg.theme.file;
|
||||
in
|
||||
{
|
||||
imports = [ ./options.nix ];
|
||||
@@ -22,10 +21,10 @@ in
|
||||
max-icon-size = 64;
|
||||
default-timeout = 5000;
|
||||
|
||||
background-color = mkDefault palette.colors.bg;
|
||||
text-color = mkDefault palette.colors.text;
|
||||
border-color = mkDefault palette.colors.primary;
|
||||
progress-color = mkDefault "over ${palette.colors.info}";
|
||||
# background-color = mkDefault config.lib.stylix.colors.base00;
|
||||
# text-color = mkDefault config.lib.stylix.colors.base06;
|
||||
# border-color = mkDefault config.lib.stylix.colors.base0F;
|
||||
# progress-color = mkDefault "over ${config.lib.stylix.colors.base0C}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -8,19 +8,5 @@ with lib;
|
||||
type = types.str;
|
||||
default = "DejaVu Sans";
|
||||
};
|
||||
|
||||
theme = mkOption {
|
||||
type = types.submodule {
|
||||
options = {
|
||||
file = mkOption {
|
||||
type = types.path;
|
||||
default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix";
|
||||
description = "Nix file exporting a palette attrset.";
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
description = "Mako theme palette configuration.";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -18,11 +18,11 @@ in
|
||||
home.file = {
|
||||
".config/nwg-dock-hyprland/drawer.css".text = ''
|
||||
window {
|
||||
background: ${palette.colors.bg};
|
||||
background: ${config.lib.stylix.colors.base00};
|
||||
border-radius: 10px;
|
||||
border-style: none;
|
||||
border-width: 1px;
|
||||
border-color: ${palette.colors.accent}b0
|
||||
border-color: ${config.lib.stylix.colors.base0E}b0
|
||||
}
|
||||
|
||||
#box {
|
||||
@@ -33,14 +33,14 @@ in
|
||||
active {
|
||||
/* This is to underline the button representing the currently active window */
|
||||
border-bottom: solid 1px;
|
||||
border-color: ${palette.colors.success}1a
|
||||
border-color: ${config.lib.stylix.colors.base0B}1a
|
||||
}
|
||||
|
||||
button, image {
|
||||
background: none;
|
||||
border-style: none;
|
||||
box-shadow: none;
|
||||
color: ${palette.colors.primary}
|
||||
color: ${config.lib.stylix.colors.base0F}
|
||||
}
|
||||
|
||||
button {
|
||||
@@ -52,7 +52,7 @@ in
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: ${palette.colors.bg}1a;
|
||||
background-color: ${config.lib.stylix.colors.base00}1a;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,19 +3,5 @@ with lib;
|
||||
{
|
||||
options.mjallen.programs.nwg-dock = {
|
||||
enable = mkEnableOption "enable nwg-dock";
|
||||
|
||||
theme = mkOption {
|
||||
type = types.submodule {
|
||||
options = {
|
||||
file = mkOption {
|
||||
type = types.path;
|
||||
default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix";
|
||||
description = "Nix file exporting a palette attrset.";
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
description = "nwg-dock theme palette configuration.";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -18,13 +18,13 @@ in
|
||||
home.file = {
|
||||
".config/nwg-drawer/drawer.css".text = ''
|
||||
window {
|
||||
background-color: ${palette.colors.bg}bf;
|
||||
color: ${palette.colors.textMuted}00
|
||||
background-color: ${config.lib.stylix.colors.base00}bf;
|
||||
color: ${config.lib.stylix.colors.base05}00
|
||||
}
|
||||
|
||||
/* search entry */
|
||||
entry {
|
||||
background-color: ${palette.colors.bgAlt}0f
|
||||
background-color: ${config.lib.stylix.colors.base01}0f
|
||||
}
|
||||
|
||||
button, image {
|
||||
@@ -33,7 +33,7 @@ in
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: ${palette.colors.primary}1a
|
||||
background-color: ${config.lib.stylix.colors.base0F}1a
|
||||
}
|
||||
|
||||
/* in case you wanted to give category buttons a different look */
|
||||
@@ -43,12 +43,12 @@ in
|
||||
|
||||
#pinned-box {
|
||||
padding-bottom: 5px;
|
||||
border-bottom: 1px dotted ${palette.colors.border}
|
||||
border-bottom: 1px dotted ${config.lib.stylix.colors.base03}
|
||||
}
|
||||
|
||||
#files-box {
|
||||
padding: 5px;
|
||||
border: 1px dotted ${palette.colors.border};
|
||||
border: 1px dotted ${config.lib.stylix.colors.base03};
|
||||
border-radius: 15px
|
||||
}
|
||||
'';
|
||||
|
||||
@@ -3,19 +3,5 @@ with lib;
|
||||
{
|
||||
options.mjallen.programs.nwg-drawer = {
|
||||
enable = mkEnableOption "enable nwg-drawer";
|
||||
|
||||
theme = mkOption {
|
||||
type = types.submodule {
|
||||
options = {
|
||||
file = mkOption {
|
||||
type = types.path;
|
||||
default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix";
|
||||
description = "Nix file exporting a palette attrset.";
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
description = "nwg-drawer theme palette configuration.";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,324 +2,233 @@
|
||||
with lib;
|
||||
let
|
||||
cfg = config.mjallen.programs.waybar;
|
||||
palette = import cfg.theme.file;
|
||||
|
||||
defaultOpacity = palette.tokens.opacity or "opacity: 0.85;";
|
||||
defaultBorderRadius = palette.tokens.borderRadius or "border-radius: 1rem;";
|
||||
defaultCenterOptions =
|
||||
palette.tokens.centerOptions or ''
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
'';
|
||||
borderRight =
|
||||
palette.tokens.borderRight or ''
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
border-radius: 0rem 1rem 1rem 0rem;
|
||||
margin-right: 0.5rem;
|
||||
'';
|
||||
borderLeft = ''
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-left: 0.5rem;
|
||||
padding-right: 0.5rem;
|
||||
margin: 3px 0;
|
||||
border-radius: 1rem 0rem 0rem 1rem;
|
||||
margin-left: 0.5rem;
|
||||
'';
|
||||
|
||||
baseStyle =
|
||||
if cfg.style.file != null then
|
||||
builtins.readFile cfg.style.file
|
||||
else
|
||||
''
|
||||
.blink_me {
|
||||
animation: blinker 1s linear infinite;
|
||||
}
|
||||
|
||||
/* =============================================================================
|
||||
ANIMATIONS & GLOBAL OVERRIDES
|
||||
============================================================================= */
|
||||
@keyframes blinker {
|
||||
50% {
|
||||
color: @base08;
|
||||
}
|
||||
50% { color: @base08; }
|
||||
}
|
||||
|
||||
/* Override Stylix font settings */
|
||||
* {
|
||||
font-family:
|
||||
Jetbrains Mono Nerd Font,
|
||||
monospace;
|
||||
font-family: "Jetbrains Mono Nerd Font", monospace;
|
||||
font-size: 14px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
/* =============================================================================
|
||||
MAIN BAR & TOOLTIPS
|
||||
============================================================================= */
|
||||
window#waybar {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#waybar {
|
||||
background: transparent;
|
||||
color: ${palette.colors.text};
|
||||
color: @base06;
|
||||
margin: 5px 5px;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultBorderRadius}
|
||||
${defaultOpacity}
|
||||
${defaultCenterOptions}
|
||||
margin-left: 0.6rem;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
color: ${palette.colors.primary};
|
||||
${defaultBorderRadius}
|
||||
padding: 0.4rem;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: ${palette.colors.info};
|
||||
${defaultBorderRadius}
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
color: ${palette.colors.info};
|
||||
${defaultBorderRadius}
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
color: ${palette.colors.text};
|
||||
background: ${palette.colors.warning};
|
||||
${defaultBorderRadius}
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
color: ${palette.colors.bg};
|
||||
background: ${palette.colors.text};
|
||||
${defaultBorderRadius}
|
||||
}
|
||||
|
||||
#tooltip {
|
||||
background: ${palette.colors.bg};
|
||||
border-color: ${palette.colors.bg};
|
||||
${defaultBorderRadius}
|
||||
border-width: 1rem;
|
||||
background: @base00;
|
||||
border-color: @base00;
|
||||
border-radius: 1rem;
|
||||
border-width: 2px; /* Reduced from 1rem which is usually too thick */
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
#window {
|
||||
color: ${palette.colors.accent};
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultOpacity}
|
||||
${defaultBorderRadius}
|
||||
${defaultCenterOptions}
|
||||
margin-left: 4rem;
|
||||
margin-right: ${toString cfg.windowOffset}rem;
|
||||
}
|
||||
|
||||
/* make window module transparent when no windows present */
|
||||
#window.empty {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
#custom-power {
|
||||
color: ${palette.colors.primary};
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultOpacity}
|
||||
${defaultCenterOptions}
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/* Right-click menu styling */
|
||||
menu {
|
||||
border-radius: 15px;
|
||||
background: ${palette.colors.bg};
|
||||
color: ${palette.colors.text};
|
||||
background: @base00;
|
||||
color: @base06;
|
||||
}
|
||||
menuitem {
|
||||
border-radius: 15px;
|
||||
}
|
||||
|
||||
#custom-weather {
|
||||
color: ${palette.colors.primary};
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultOpacity}
|
||||
${defaultCenterOptions}
|
||||
border-radius: 0;
|
||||
/* =============================================================================
|
||||
WORKSPACES
|
||||
============================================================================= */
|
||||
#workspaces {
|
||||
background-color: @base00;
|
||||
border-radius: 1rem;
|
||||
opacity: 0.85;
|
||||
padding: 0.2rem 0.5rem;
|
||||
margin: 3px 0 3px 0.6rem;
|
||||
}
|
||||
|
||||
#custom-notifications {
|
||||
color: ${palette.colors.primary};
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultOpacity}
|
||||
${defaultCenterOptions}
|
||||
border-radius: 0;
|
||||
#workspaces button {
|
||||
color: @base0F;
|
||||
border-radius: 1rem;
|
||||
padding: 0.4rem;
|
||||
/* Border handled by stylix, but we add specific colors below */
|
||||
}
|
||||
|
||||
#custom-notifications.notify {
|
||||
color: ${palette.colors.danger};
|
||||
#workspaces button.active,
|
||||
#workspaces button:hover {
|
||||
color: @base0C;
|
||||
border-radius: 1rem;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
color: @base06;
|
||||
background: @base0A;
|
||||
border-radius: 1rem;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
color: @base00;
|
||||
background: @base06;
|
||||
border-radius: 1rem;
|
||||
}
|
||||
|
||||
/* =============================================================================
|
||||
WINDOW TITLE
|
||||
============================================================================= */
|
||||
#window {
|
||||
color: @base0E;
|
||||
background-color: @base00;
|
||||
opacity: 0.85;
|
||||
border-radius: 1rem;
|
||||
padding: 0.2rem 0.5rem;
|
||||
margin: 3px 0;
|
||||
|
||||
margin-left: 4rem;
|
||||
margin-right: 75rem; /* This is very large, likely a centering hack */
|
||||
}
|
||||
|
||||
#window.empty {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/* =============================================================================
|
||||
SHARED MODULE STYLES
|
||||
============================================================================= */
|
||||
/* This block applies the standard "Nord Background" style to all modules
|
||||
to avoid repeating code for every single ID. */
|
||||
#custom-power,
|
||||
#custom-weather,
|
||||
#custom-notifications,
|
||||
#battery,
|
||||
#clock,
|
||||
#idle_inhibitor,
|
||||
#network,
|
||||
#bluetooth,
|
||||
#wireplumber,
|
||||
#keyboard-state,
|
||||
#temperature,
|
||||
#custom-left-end,
|
||||
#custom-right-end,
|
||||
#custom-lights,
|
||||
#tray {
|
||||
background-color: @base00;
|
||||
opacity: 0.85;
|
||||
padding: 0.2rem 0.5rem;
|
||||
margin: 3px 0;
|
||||
border-radius: 0; /* Default to square, rounded manually below */
|
||||
}
|
||||
|
||||
/* Common Hover Effect */
|
||||
#idle_inhibitor:hover,
|
||||
#network:hover,
|
||||
#bluetooth:hover,
|
||||
#wireplumber:hover,
|
||||
#temperature:hover,
|
||||
#custom-lights:hover {
|
||||
background: @base02;
|
||||
}
|
||||
|
||||
/* =============================================================================
|
||||
MODULE SPECIFIC COLORS
|
||||
============================================================================= */
|
||||
|
||||
#custom-power,
|
||||
#custom-weather,
|
||||
#custom-notifications {
|
||||
color: @base0F;
|
||||
}
|
||||
|
||||
#custom-notifications.notify { color: @base08; }
|
||||
#custom-notifications.alert {
|
||||
animation-name: blinker;
|
||||
animation-duration: 3s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation: blinker 3s linear infinite;
|
||||
}
|
||||
|
||||
#battery {
|
||||
color: ${palette.colors.accent};
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultOpacity}
|
||||
${defaultCenterOptions}
|
||||
border-radius: 0;
|
||||
color: @base0E;
|
||||
min-width: 3rem;
|
||||
}
|
||||
|
||||
#clock {
|
||||
color: ${palette.colors.primary};
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultOpacity}
|
||||
${defaultCenterOptions}
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
/* ------------- */
|
||||
#clock { color: @base0F; }
|
||||
|
||||
#idle_inhibitor {
|
||||
color: ${palette.colors.primary};
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultOpacity}
|
||||
${defaultCenterOptions}
|
||||
border-radius: 0;
|
||||
color: @base0F;
|
||||
padding-right: 1rem;
|
||||
}
|
||||
|
||||
#idle_inhibitor:hover {
|
||||
background: ${palette.colors.surfaceAlt};
|
||||
}
|
||||
|
||||
#network {
|
||||
color: ${palette.colors.accent};
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultOpacity}
|
||||
${defaultCenterOptions}
|
||||
border-radius: 0;
|
||||
color: @base0E;
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
#network:hover {
|
||||
background: ${palette.colors.surfaceAlt};
|
||||
}
|
||||
#bluetooth { color: @base0F; }
|
||||
|
||||
#bluetooth {
|
||||
color: ${palette.colors.primary};
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultOpacity}
|
||||
${defaultCenterOptions}
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
#bluetooth:hover {
|
||||
background: ${palette.colors.surfaceAlt};
|
||||
}
|
||||
|
||||
#wireplumber.source {
|
||||
color: ${palette.colors.info};
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultOpacity}
|
||||
${defaultCenterOptions}
|
||||
border-radius: 0;
|
||||
/* --- Audio source/sink --- */
|
||||
#wireplumber.source,
|
||||
#wireplumber.sink {
|
||||
color: @base0C;
|
||||
}
|
||||
|
||||
#wireplumber.source.muted {
|
||||
animation-name: blinker;
|
||||
animation-duration: 2s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation: blinker 2s linear infinite;
|
||||
padding-right: 1rem;
|
||||
}
|
||||
|
||||
#wireplumber.source:hover {
|
||||
background: ${palette.colors.surfaceAlt};
|
||||
}
|
||||
|
||||
#wireplumber.sink {
|
||||
color: ${palette.colors.info};
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultOpacity}
|
||||
${defaultCenterOptions}
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
#wireplumber.sink.muted {
|
||||
animation-name: blinker;
|
||||
animation-duration: 5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation: blinker 5s linear infinite;
|
||||
}
|
||||
|
||||
#wireplumber.sink:hover {
|
||||
background: ${palette.colors.surfaceAlt};
|
||||
}
|
||||
|
||||
#keyboard-state.numlock {
|
||||
color: ${palette.colors.info};
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultOpacity}
|
||||
${defaultCenterOptions}
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
#keyboard-state.capslock {
|
||||
color: ${palette.colors.primary};
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultOpacity}
|
||||
${defaultCenterOptions}
|
||||
border-radius: 0;
|
||||
}
|
||||
/* --- Keyboard --- */
|
||||
#keyboard-state.numlock { color: @base0C; }
|
||||
#keyboard-state.capslock { color: @base0F; }
|
||||
|
||||
/* --- Temperature --- */
|
||||
#temperature,
|
||||
#temperature.gpu {
|
||||
color: ${palette.colors.primary};
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultOpacity}
|
||||
${defaultCenterOptions}
|
||||
border-radius: 0;
|
||||
color: @base0F;
|
||||
}
|
||||
|
||||
#temperature.gpu:hover {
|
||||
background: ${palette.colors.surfaceAlt};
|
||||
}
|
||||
|
||||
#temperature {
|
||||
color: ${palette.colors.primary};
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultOpacity}
|
||||
${defaultCenterOptions}
|
||||
border-radius: 0
|
||||
}
|
||||
|
||||
/* ------------- */
|
||||
|
||||
/* --- Tray --- */
|
||||
#tray {
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultOpacity}
|
||||
${defaultCenterOptions}
|
||||
${defaultBorderRadius}
|
||||
border-radius: 1rem;
|
||||
margin-right: 0.6rem;
|
||||
}
|
||||
|
||||
/* ------------- */
|
||||
|
||||
/* =============================================================================
|
||||
DECORATIVE END CAPS & EXTRAS
|
||||
============================================================================= */
|
||||
#custom-left-end {
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultOpacity}
|
||||
${borderLeft}
|
||||
border-radius: 1rem 0 0 1rem;
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
|
||||
#custom-right-end {
|
||||
background-color: ${palette.colors.bg};
|
||||
${defaultOpacity}
|
||||
${borderRight}
|
||||
border-radius: 0 1rem 1rem 0;
|
||||
margin-right: 0.5rem;
|
||||
}
|
||||
|
||||
#custom-lights {
|
||||
color: @base0C;
|
||||
/* Re-declaring background here to ensure specific override logic if needed */
|
||||
background-color: @base00;
|
||||
border-radius: 1rem 0 0 1rem;
|
||||
margin-left: 0.5rem;
|
||||
}
|
||||
'';
|
||||
in
|
||||
@@ -596,10 +505,10 @@ in
|
||||
calendar = {
|
||||
mode = "month";
|
||||
format = {
|
||||
months = "<span color='${palette.colors.primary}'><b>{}</b></span>";
|
||||
days = "<span color='${palette.colors.primary}'><b>{}</b></span>";
|
||||
weekdays = "<span color='${palette.colors.info}'><b>{}</b></span>";
|
||||
today = "<span color='${palette.colors.success}'><b><u>{}</u></b></span>";
|
||||
months = "<span color='@base0F'><b>{}</b></span>";
|
||||
days = "<span color='@base0F'><b>{}</b></span>";
|
||||
weekdays = "<span color='@base0C'><b>{}</b></span>";
|
||||
today = "<span color='${config.lib.stylix.colors.base0B}'><b><u>{}</u></b></span>";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -41,21 +41,6 @@ in
|
||||
description = "Right margin offset for the hyprland/window module (in rem).";
|
||||
};
|
||||
|
||||
# Theme
|
||||
theme = mkOption {
|
||||
type = submodule {
|
||||
options = {
|
||||
file = mkOption {
|
||||
type = path;
|
||||
default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix";
|
||||
description = "Nix file exporting a palette attrset (e.g., Nord).";
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
description = "Theme configuration.";
|
||||
};
|
||||
|
||||
# Layout
|
||||
layout = mkOption {
|
||||
type = submodule {
|
||||
|
||||
@@ -53,13 +53,13 @@ in
|
||||
}
|
||||
|
||||
window {
|
||||
background-color: ${palette.colors.bg}f0
|
||||
background-color: ${config.lib.stylix.colors.base00}f0
|
||||
}
|
||||
|
||||
button {
|
||||
margin: 8px;
|
||||
color: ${palette.colors.info};
|
||||
background-color: ${palette.colors.bgAlt};
|
||||
color: ${config.lib.stylix.colors.base0C};
|
||||
background-color: ${config.lib.stylix.colors.base01};
|
||||
border-style: solid;
|
||||
border-width: 2px;
|
||||
background-repeat: no-repeat;
|
||||
@@ -70,8 +70,8 @@ in
|
||||
button:active,
|
||||
button:focus,
|
||||
button:hover {
|
||||
color: ${palette.colors.info};
|
||||
background-color: ${palette.colors.surfaceAlt};
|
||||
color: ${config.lib.stylix.colors.base0C};
|
||||
background-color: ${config.lib.stylix.colors.base02Alt};
|
||||
outline-style: none;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,24 +3,5 @@ with lib;
|
||||
{
|
||||
options.mjallen.programs.wlogout = {
|
||||
enable = mkEnableOption "enable wlogout";
|
||||
|
||||
fontName = mkOption {
|
||||
type = types.str;
|
||||
default = "Deja Vu Sans";
|
||||
};
|
||||
|
||||
theme = mkOption {
|
||||
type = types.submodule {
|
||||
options = {
|
||||
file = mkOption {
|
||||
type = types.path;
|
||||
default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix";
|
||||
description = "Nix file exporting a palette attrset.";
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
description = "wlogout theme palette configuration.";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -20,9 +20,9 @@ in
|
||||
window {
|
||||
margin: 0px;
|
||||
padding: 10px;
|
||||
border: 0.16em solid ${palette.colors.accent};
|
||||
border: 0.16em solid ${config.lib.stylix.colors.base0E};
|
||||
border-radius: 0.1em;
|
||||
background-color: ${palette.colors.bg};
|
||||
background-color: ${config.lib.stylix.colors.base00};
|
||||
}
|
||||
|
||||
/* Inner Box */
|
||||
@@ -30,7 +30,7 @@ in
|
||||
margin: 5px;
|
||||
padding: 10px;
|
||||
border: none;
|
||||
background-color: ${palette.colors.bg};
|
||||
background-color: ${config.lib.stylix.colors.base00};
|
||||
}
|
||||
|
||||
/* Outer Box */
|
||||
@@ -38,7 +38,7 @@ in
|
||||
margin: 5px;
|
||||
padding: 10px;
|
||||
border: none;
|
||||
background-color: ${palette.colors.bg};
|
||||
background-color: ${config.lib.stylix.colors.base00};
|
||||
}
|
||||
|
||||
/* Scroll */
|
||||
@@ -46,7 +46,7 @@ in
|
||||
margin: 0px;
|
||||
padding: 10px;
|
||||
border: none;
|
||||
background-color: ${palette.colors.bg};
|
||||
background-color: ${config.lib.stylix.colors.base00};
|
||||
}
|
||||
|
||||
/* Input */
|
||||
@@ -55,46 +55,46 @@ in
|
||||
padding: 10px;
|
||||
border: none;
|
||||
border-radius: 0.1em;
|
||||
color: ${palette.colors.text};
|
||||
background-color: ${palette.colors.bg};
|
||||
color: ${config.lib.stylix.colors.base06};
|
||||
background-color: ${config.lib.stylix.colors.base00};
|
||||
}
|
||||
|
||||
#input image {
|
||||
border: none;
|
||||
color: ${palette.colors.danger};
|
||||
color: ${config.lib.stylix.colors.base08};
|
||||
}
|
||||
|
||||
#input * {
|
||||
outline: 4px solid ${palette.colors.danger}!important;
|
||||
outline: 4px solid ${config.lib.stylix.colors.base08}!important;
|
||||
}
|
||||
|
||||
/* Text */
|
||||
#text {
|
||||
margin: 5px;
|
||||
border: none;
|
||||
color: ${palette.colors.text};
|
||||
color: ${config.lib.stylix.colors.base06};
|
||||
}
|
||||
|
||||
#entry {
|
||||
background-color: ${palette.colors.bg};
|
||||
background-color: ${config.lib.stylix.colors.base00};
|
||||
}
|
||||
|
||||
#entry arrow {
|
||||
border: none;
|
||||
color: ${palette.colors.accent};
|
||||
color: ${config.lib.stylix.colors.base0E};
|
||||
}
|
||||
|
||||
/* Selected Entry */
|
||||
#entry:selected {
|
||||
border: 0.11em solid ${palette.colors.accent};
|
||||
border: 0.11em solid ${config.lib.stylix.colors.base0E};
|
||||
}
|
||||
|
||||
#entry:selected #text {
|
||||
color: ${palette.colors.info};
|
||||
color: ${config.lib.stylix.colors.base0C};
|
||||
}
|
||||
|
||||
#entry:drop(active) {
|
||||
background-color: ${palette.colors.accent}!important;
|
||||
background-color: ${config.lib.stylix.colors.base0E}!important;
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -8,19 +8,5 @@ with lib;
|
||||
type = types.str;
|
||||
default = "Deja Vu Sans";
|
||||
};
|
||||
|
||||
theme = mkOption {
|
||||
type = types.submodule {
|
||||
options = {
|
||||
file = mkOption {
|
||||
type = types.path;
|
||||
default = lib.snowfall.fs.get-file "modules/home/desktop/theme/palettes/nord.nix";
|
||||
description = "Nix file exporting a palette attrset.";
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
description = "Wofi theme palette configuration.";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
{
|
||||
stylix = {
|
||||
enable = true;
|
||||
stylix.enableReleaseChecks = false;
|
||||
enableReleaseChecks = false;
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/nord.yaml";
|
||||
|
||||
fonts = lib.mkForce {
|
||||
|
||||
Reference in New Issue
Block a user