stylix (#3)
Co-authored-by: mjallen18 <matt.l.jallen@gmail.com> Reviewed-on: #3
This commit is contained in:
@@ -7,12 +7,11 @@
|
||||
with lib;
|
||||
let
|
||||
cfg = config.mjallen.programs.hyprland;
|
||||
drawer = "nwg-drawer -fm nautilus -term kitty -mb 10 -mt 10 -ml 10 -mr 10 -pbuseicontheme -i ${config.gtk.iconTheme.name}";
|
||||
drawer = "nwg-drawer -fm nautilus -term kitty -mb 10 -mt 10 -ml 10 -mr 10 -pbuseicontheme -i ${config.stylix.icons.dark}";
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./options.nix
|
||||
./theme.nix
|
||||
];
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
@@ -83,8 +82,8 @@ in
|
||||
GTK_CSD = "0";
|
||||
GTK_THEME = config.gtk.theme.name;
|
||||
GTK_USE_PORTAL = "1";
|
||||
HYPRCURSOR_THEME = config.home.pointerCursor.name;
|
||||
HYPRCURSOR_SIZE = config.home.pointerCursor.size;
|
||||
HYPRCURSOR_THEME = config.stylix.cursor.name;
|
||||
HYPRCURSOR_SIZE = config.stylix.cursor.size;
|
||||
MOZ_ENABLE_WAYLAND = "1";
|
||||
NIXOS_OZONE_WL = "1";
|
||||
NIXOS_XDG_OPEN_USE_PORTAL = "1";
|
||||
@@ -95,8 +94,8 @@ in
|
||||
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||
SDL_VIDEODRIVER = "wayland";
|
||||
TERMINAL = "${cfg.defaultApps.terminal.pname}";
|
||||
XCURSOR_THEME = config.home.pointerCursor.name;
|
||||
XCURSOR_SIZE = config.home.pointerCursor.size;
|
||||
XCURSOR_THEME = config.stylix.cursor.name;
|
||||
XCURSOR_SIZE = config.stylix.cursor.size;
|
||||
XDG_CACHE_HOME = "\${HOME}/.cache";
|
||||
XDG_CONFIG_HOME = "\${HOME}/.config";
|
||||
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||
@@ -176,14 +175,14 @@ in
|
||||
{
|
||||
monitor = "";
|
||||
path = "/run/wallpaper.jpg"; # supports png, jpg, webp (no animations, though)
|
||||
color = "rgba(25, 20, 20, 1.0)";
|
||||
color = mkForce "rgba(25, 20, 20, 1.0)";
|
||||
|
||||
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
|
||||
blur_passes = "3"; # 0 disables blurring
|
||||
blur_size = "7";
|
||||
blur_passes = mkForce "3"; # 0 disables blurring
|
||||
blur_size = mkForce "7";
|
||||
noise = "0.0117";
|
||||
contrast = "0.8916";
|
||||
brightness = "0.8172";
|
||||
brightness = mkForce "0.8172";
|
||||
vibrancy = "0.1696";
|
||||
vibrancy_darkness = "0.0";
|
||||
}
|
||||
@@ -193,9 +192,9 @@ in
|
||||
{
|
||||
monitor = cfg.primaryDisplay;
|
||||
text = "cmd[update:1000] echo -e \"$(LC_TIME=en_US.UTF-8 date +\"%A, %B %d\")\"";
|
||||
color = "#eceff4";
|
||||
color = config.lib.stylix.colors.base06;
|
||||
font_size = "25";
|
||||
font_family = "JetBrainsMono NFM";
|
||||
font_family = lib.mkDefault config.stylix.fonts.monospace.name;
|
||||
position = "0, 350";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
@@ -204,9 +203,9 @@ in
|
||||
{
|
||||
monitor = cfg.primaryDisplay;
|
||||
text = "cmd[update:1000] echo \"<span>$(date +\"%I:%M\")</span>\"";
|
||||
color = "#eceff4";
|
||||
color = config.lib.stylix.colors.base06;
|
||||
font_size = "120";
|
||||
font_family = "JetBrainsMono NFM Bold";
|
||||
font_family = lib.mkDefault "${config.stylix.fonts.monospace.name} Bold";
|
||||
position = "0, 230";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
@@ -214,13 +213,13 @@ in
|
||||
{
|
||||
monitor = cfg.primaryDisplay;
|
||||
text = "$USER";
|
||||
color = "#eceff4";
|
||||
color = config.lib.stylix.colors.base06;
|
||||
outline_thickness = 2;
|
||||
dots_size = 0.2;
|
||||
dots_spacing = 0.2;
|
||||
dots_center = true;
|
||||
font_size = 18;
|
||||
font_family = "JetBrainsMono NFM Bold";
|
||||
font_family = lib.mkDefault "${config.stylix.fonts.monospace.name} Bold";
|
||||
position = "0, 0";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
@@ -229,9 +228,9 @@ in
|
||||
{
|
||||
monitor = cfg.primaryDisplay;
|
||||
text = "cmd[update:30000] waybar-weather --hyprlock";
|
||||
color = "#eceff4";
|
||||
color = config.lib.stylix.colors.base06;
|
||||
font_size = "25";
|
||||
font_family = "JetBrainsMono NFM";
|
||||
font_family = lib.mkDefault config.stylix.fonts.monospace.name;
|
||||
position = "-100, 100";
|
||||
halign = "right";
|
||||
valign = "bottom";
|
||||
@@ -240,9 +239,9 @@ in
|
||||
{
|
||||
monitor = cfg.primaryDisplay;
|
||||
text = "cmd[update:1000] waybar-media";
|
||||
color = "#eceff4";
|
||||
color = config.lib.stylix.colors.base06;
|
||||
font_size = "15";
|
||||
font_family = "JetBrainsMono NFM";
|
||||
font_family = lib.mkDefault config.stylix.fonts.monospace.name;
|
||||
position = "100, 100";
|
||||
halign = "left";
|
||||
valign = "bottom";
|
||||
@@ -265,16 +264,16 @@ in
|
||||
{
|
||||
size = "200, 50";
|
||||
position = "0, -80";
|
||||
font_family = "JetBrainsMono NFM";
|
||||
font_family = lib.mkDefault config.stylix.fonts.monospace.name;
|
||||
monitor = cfg.primaryDisplay;
|
||||
dots_center = true;
|
||||
fade_on_empty = true;
|
||||
font_color = "#eceff4";
|
||||
inner_color = "#4c566a";
|
||||
outer_color = "#2e3440";
|
||||
font_color = config.lib.stylix.colors.base06;
|
||||
inner_color = config.lib.stylix.colors.base03;
|
||||
outer_color = config.lib.stylix.colors.base00;
|
||||
bothlock_color = -1;
|
||||
outline_thickness = 5;
|
||||
placeholder_text = ''<span foreground="##2e3440">Password...</span>'';
|
||||
placeholder_text = ''<span foreground="#${config.lib.stylix.colors.base00}">Password...</span>'';
|
||||
shadow_passes = 2;
|
||||
}
|
||||
];
|
||||
@@ -486,8 +485,8 @@ in
|
||||
gaps_in = 5;
|
||||
gaps_out = 10;
|
||||
border_size = 1;
|
||||
"col.active_border" = "rgb(8aadf4) rgb(24273A) rgb(24273A) rgb(8aadf4) 45deg";
|
||||
"col.inactive_border" = "rgb(24273A) rgb(24273A) rgb(24273A) rgb(24273A) 45deg";
|
||||
# "col.active_border" = "rgb(8aadf4) rgb(24273A) rgb(24273A) rgb(8aadf4) 45deg";
|
||||
# "col.inactive_border" = "rgb(24273A) rgb(24273A) rgb(24273A) rgb(24273A) 45deg";
|
||||
layout = "dwindle";
|
||||
allow_tearing = cfg.allowTearing;
|
||||
};
|
||||
|
||||
@@ -152,18 +152,6 @@ with lib;
|
||||
description = "Any extra configuration options";
|
||||
};
|
||||
|
||||
iconThemeName = mkOption {
|
||||
type = types.str;
|
||||
default = "Colloid-Dark";
|
||||
description = "Icon theme name";
|
||||
};
|
||||
|
||||
gtkThemeName = mkOption {
|
||||
type = types.str;
|
||||
default = "Colloid-Dark";
|
||||
description = "GTK theme name";
|
||||
};
|
||||
|
||||
defaultApps = mkOption {
|
||||
type = types.submodule {
|
||||
options = {
|
||||
|
||||
@@ -1,100 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
mjallenThemeComputed,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
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" | ...
|
||||
|
||||
# Cursor
|
||||
cursorTheme = "macOS";
|
||||
cursorThemePkg = pkgs.apple-cursor;
|
||||
cursorSize = 24;
|
||||
|
||||
# GTK
|
||||
gtkTheme = mjallenThemeComputed.gtkTheme;
|
||||
gtkThemePkg = pkgs.colloid-gtk-theme.override {
|
||||
sizeVariants = [ themeSize ];
|
||||
colorVariants = [ themeColor ];
|
||||
themeVariants = [ themeAccent ];
|
||||
tweaks = [ themeTweak ];
|
||||
};
|
||||
|
||||
# Icons
|
||||
iconTheme = mjallenThemeComputed.iconTheme;
|
||||
iconThemePkg = pkgs.colloid-icon-theme.override {
|
||||
schemeVariants = [ iconScheme ];
|
||||
colorVariants = [ iconThemeVariant ];
|
||||
};
|
||||
|
||||
# Fonts
|
||||
fontName = "JetBrainsMono NFM";
|
||||
fontPackage = pkgs.nerd-fonts.jetbrains-mono;
|
||||
fontSize = 12;
|
||||
in
|
||||
{
|
||||
config = mkIf cfg.enable {
|
||||
home = {
|
||||
pointerCursor = {
|
||||
gtk.enable = true;
|
||||
package = cursorThemePkg;
|
||||
name = cursorTheme;
|
||||
size = cursorSize;
|
||||
};
|
||||
};
|
||||
|
||||
dconf = {
|
||||
enable = true;
|
||||
settings = {
|
||||
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
|
||||
"org/gnome/desktop/interface".cursor-theme = cursorTheme;
|
||||
"org/gnome/desktop/interface".gtk-theme = gtkTheme;
|
||||
"org/gnome/desktop/interface".icon-theme = iconTheme;
|
||||
};
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
|
||||
cursorTheme = {
|
||||
name = cursorTheme;
|
||||
package = cursorThemePkg;
|
||||
};
|
||||
|
||||
theme = {
|
||||
name = gtkTheme;
|
||||
package = gtkThemePkg;
|
||||
};
|
||||
|
||||
iconTheme = {
|
||||
name = iconTheme;
|
||||
package = iconThemePkg;
|
||||
};
|
||||
|
||||
gtk3.extraConfig = {
|
||||
gtk-application-prefer-dark-theme = true;
|
||||
};
|
||||
|
||||
gtk4.extraConfig = {
|
||||
gtk-application-prefer-dark-theme = true;
|
||||
};
|
||||
|
||||
font = {
|
||||
name = fontName;
|
||||
package = fontPackage;
|
||||
size = fontSize;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user