stylix: new theme

Signed-off-by: unexplrd <unexplrd@linerds.us>
This commit is contained in:
2025-06-29 17:38:46 +03:00
parent 8fe81eb9cd
commit 547e41d3f9
3 changed files with 48 additions and 16 deletions

View File

@ -45,7 +45,7 @@
}; };
stylix = { stylix = {
enable = true; enable = true;
theme = "gruvbox-dark-pale"; theme = "sandcastle";
}; };
locale = "uk_UA.UTF-8"; locale = "uk_UA.UTF-8";
misc.qmk-vial.enable = true; misc.qmk-vial.enable = true;

View File

@ -51,13 +51,17 @@ in {
else if config.stylix.polarity == "dark" else if config.stylix.polarity == "dark"
then "Papirus-Dark" then "Papirus-Dark"
else "Papirus-Light"; else "Papirus-Light";
package = package = let
if (lib.strings.hasPrefix "gruvbox" osConfig.module.stylix.theme) inherit (osConfig.module.stylix) theme;
in
if (lib.strings.hasPrefix "gruvbox" theme)
then pkgs.gruvbox-plus-icons then pkgs.gruvbox-plus-icons
else if (lib.strings.hasPrefix "rose-pine" osConfig.module.stylix.theme) else if (lib.strings.hasPrefix "rose-pine" theme)
then pkgs.papirus-icon-theme.override {color = "indigo";} then pkgs.papirus-icon-theme.override {color = "indigo";}
else if (lib.strings.hasPrefix "nord" osConfig.module.stylix.theme) else if (lib.strings.hasPrefix "nord" theme)
then pkgs.papirus-icon-theme.override {color = "nordic";} then pkgs.papirus-icon-theme.override {color = "nordic";}
else if (lib.strings.hasPrefix "s" theme)
then pkgs.papirus-icon-theme.override {color = "teal";}
else pkgs.papirus-icon-theme; else pkgs.papirus-icon-theme;
in {inherit name package;}; in {inherit name package;};
}; };
@ -71,7 +75,7 @@ in {
waybar = import ./programs/waybar {inherit config colors getExe ifLaptop launcher pkgs;}; waybar = import ./programs/waybar {inherit config colors getExe ifLaptop launcher pkgs;};
}; };
services = import ./services {inherit pkgs lockscreen getExe perSystem;}; services = import ./services {inherit pkgs lockscreen getExe perSystem osConfig;};
home.packages = with pkgs; home.packages = with pkgs;
[ [

View File

@ -12,6 +12,8 @@
cfg = config.module.stylix; cfg = config.module.stylix;
fromBase16Schemes = f: "${pkgs.base16-schemes}/share/themes/${f}.yaml";
interPackage = pkgs.inter-nerdfont; interPackage = pkgs.inter-nerdfont;
iosevkaPackage = pkgs.nerd-fonts.iosevka; iosevkaPackage = pkgs.nerd-fonts.iosevka;
iosevkaTermPackage = pkgs.nerd-fonts.iosevka-term; iosevkaTermPackage = pkgs.nerd-fonts.iosevka-term;
@ -27,6 +29,11 @@
name = "wallhaven-p91dym.jpg"; name = "wallhaven-p91dym.jpg";
sha256 = "wnsAhh0Soxm+lxahh+Xc/+CAw/abWgPIkeoOlzNGaDo="; sha256 = "wnsAhh0Soxm+lxahh+Xc/+CAw/abWgPIkeoOlzNGaDo=";
}; };
waves = fetchurl {
url = "https://w.wallhaven.cc/full/5y/wallhaven-5ydl93.png";
name = "wallhaven-5ydl93.png";
sha256 = "fTE2cyn2mkx05+Zn6qcs4+Rb7AYD0uyi6CNznuZYOjw=";
};
}; };
fern-outline = fetchurl { fern-outline = fetchurl {
url = "https://w.wallhaven.cc/full/p9/wallhaven-p9m7ve.png"; url = "https://w.wallhaven.cc/full/p9/wallhaven-p9m7ve.png";
@ -72,7 +79,7 @@
themes = { themes = {
rose-pine-dawn = { rose-pine-dawn = {
polarity = "light"; polarity = "light";
scheme = "${pkgs.base16-schemes}/share/themes/rose-pine-dawn.yaml"; scheme = fromBase16Schemes "rose-pine-dawn";
wallpaper = wallpapers.cyber-dawn; wallpaper = wallpapers.cyber-dawn;
serif = { serif = {
@ -93,7 +100,7 @@
}; };
rose-pine-moon = { rose-pine-moon = {
polarity = "dark"; polarity = "dark";
scheme = "${pkgs.base16-schemes}/share/themes/rose-pine-moon.yaml"; scheme = fromBase16Schemes "rose-pine-moon";
wallpaper = wallpapers.cyber-dawn; wallpaper = wallpapers.cyber-dawn;
serif = { serif = {
@ -112,9 +119,30 @@
size = 24; size = 24;
}; };
}; };
sandcastle = {
polarity = "dark";
scheme = fromBase16Schemes "sandcastle";
wallpaper = wallpapers.abstract.waves;
serif = {
package = iosevkaPackage;
name = "Iosevka Nerd Font";
};
monospace = {
package = iosevkaTermPackage;
name = "IosevkaTerm Nerd Font Mono";
};
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic";
size = 24;
};
};
gruvbox-dark-pale = { gruvbox-dark-pale = {
polarity = "dark"; polarity = "dark";
scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-pale.yaml"; scheme = fromBase16Schemes "gruvbox-dark-pale";
wallpaper = wallpapers.mountains-sepia; wallpaper = wallpapers.mountains-sepia;
serif = { serif = {
@ -135,7 +163,7 @@
}; };
nord = { nord = {
polarity = "dark"; polarity = "dark";
scheme = "${pkgs.base16-schemes}/share/themes/nord.yaml"; scheme = fromBase16Schemes "nord";
wallpaper = fetchurl { wallpaper = fetchurl {
url = "https://w.wallhaven.cc/full/l8/wallhaven-l8l9gq.png"; url = "https://w.wallhaven.cc/full/l8/wallhaven-l8l9gq.png";
name = "wallhaven-l8l9gq.png"; name = "wallhaven-l8l9gq.png";
@ -161,7 +189,7 @@
nord-light = { nord-light = {
polarity = "light"; polarity = "light";
scheme = "${pkgs.base16-schemes}/share/themes/nord-light.yaml"; scheme = fromBase16Schemes "nord-light";
wallpaper = fetchurl { wallpaper = fetchurl {
url = "https://w.wallhaven.cc/full/l8/wallhaven-l8l9gq.png"; url = "https://w.wallhaven.cc/full/l8/wallhaven-l8l9gq.png";
name = "wallhaven-l8l9gq.png"; name = "wallhaven-l8l9gq.png";
@ -187,7 +215,7 @@
helios = { helios = {
polarity = "dark"; polarity = "dark";
scheme = "${pkgs.base16-schemes}/share/themes/helios.yaml"; scheme = fromBase16Schemes "helios";
wallpaper = fetchurl { wallpaper = fetchurl {
url = "https://w.wallhaven.cc/full/lq/wallhaven-lqorw2.png"; url = "https://w.wallhaven.cc/full/lq/wallhaven-lqorw2.png";
name = "wallhaven-lqorw2.png"; name = "wallhaven-lqorw2.png";
@ -213,7 +241,7 @@
sulphurpool = { sulphurpool = {
polarity = "dark"; polarity = "dark";
scheme = "${pkgs.base16-schemes}/share/themes/atelier-sulphurpool.yaml"; scheme = fromBase16Schemes "atelier-sulphurpool";
wallpaper = fetchurl { wallpaper = fetchurl {
url = "https://w.wallhaven.cc/full/rd/wallhaven-rd5q3m.jpg"; url = "https://w.wallhaven.cc/full/rd/wallhaven-rd5q3m.jpg";
name = "wallhaven-rd5q3m.jpg"; name = "wallhaven-rd5q3m.jpg";
@ -239,7 +267,7 @@
himalaya = { himalaya = {
# lightly pink like himalayan salt # lightly pink like himalayan salt
polarity = "light"; polarity = "light";
scheme = "${pkgs.base16-schemes}/share/themes/atelier-plateau-light.yaml"; scheme = fromBase16Schemes "atelier-plateau-light";
wallpaper = wallpapers.mountains-pink; wallpaper = wallpapers.mountains-pink;
serif = { serif = {
@ -260,7 +288,7 @@
}; };
vesper = { vesper = {
polarity = "dark"; polarity = "dark";
scheme = "${pkgs.base16-schemes}/share/themes/vesper.yaml"; scheme = fromBase16Schemes "vesper";
wallpaper = wallpapers.abstract.squares; wallpaper = wallpapers.abstract.squares;
serif = { serif = {
@ -281,7 +309,7 @@
}; };
github = { github = {
polarity = "light"; polarity = "light";
scheme = "${pkgs.base16-schemes}/share/themes/github.yaml"; scheme = fromBase16Schemes "github";
wallpaper = wallpapers.abstract.squares; wallpaper = wallpapers.abstract.squares;
serif = { serif = {