aboutsummaryrefslogtreecommitdiff
path: root/home-manager/homeModules/stylix.nix
diff options
context:
space:
mode:
authorspl3g <spleefer6@yandex.ru>2024-04-20 20:24:36 +0300
committerspl3g <spleefer6@yandex.ru>2025-05-01 14:58:53 +0300
commitf5970d988c68ae1d2ac56f0a35324cd442a26be7 (patch)
tree3c7fa7d524c7337c3b999fd577081a1230690072 /home-manager/homeModules/stylix.nix
parentec0e9896dcc0c88ef49d2b2bf8126498d3c2acec (diff)
add modules
Diffstat (limited to 'home-manager/homeModules/stylix.nix')
-rw-r--r--home-manager/homeModules/stylix.nix76
1 files changed, 76 insertions, 0 deletions
diff --git a/home-manager/homeModules/stylix.nix b/home-manager/homeModules/stylix.nix
new file mode 100644
index 0000000..ae08607
--- /dev/null
+++ b/home-manager/homeModules/stylix.nix
@@ -0,0 +1,76 @@
+{ pkgs, config, lib, inputs, ... }:
+with config.lib.stylix.colors.withHashtag;
+
+{
+ imports = [
+ inputs.stylix.homeManagerModules.stylix
+ ];
+
+ options = {
+ stylixConfig = {
+ enable = lib.mkEnableOption "enable stylix";
+ theme = lib.mkOption { type = lib.types.str; };
+ };
+ wallpaper = lib.mkOption { type = with lib.types; oneOf [str path package]; };
+ };
+ config = lib.mkIf config.stylixConfig.enable {
+ wallpaper = pkgs.runCommand "cat.png" {} ''
+ pastel=${pkgs.pastel}/bin/pastel
+ SHADOWS=$($pastel darken 0.1 '${base05}' | $pastel format hex)
+ TAIL=$($pastel lighten 0.1 '${base02}' | $pastel format hex)
+ HIGHLIGHTS=$($pastel lighten 0.1 '${base05}' | $pastel format hex)
+
+ ${pkgs.imagemagick}/bin/convert ${./attachments/basecat.png} \
+ -fill '${base00}' -opaque black \
+ -fill '${base05}' -opaque white \
+ -fill '${base08}' -opaque blue \
+ -fill $SHADOWS -opaque gray \
+ -fill '${base02}' -opaque orange \
+ -fill $TAIL -opaque green \
+ -fill $HIGHLIGHTS -opaque brown \
+ $out'';
+ stylix = {
+ targets = {
+ rofi.enable = false;
+ waybar.enable = false;
+ };
+
+ polarity = "dark";
+
+ opacity = {
+ terminal = 0.7;
+ # applications = 0.7;
+ };
+
+ base16Scheme = "${pkgs.base16-schemes}/share/themes/${config.stylixConfig.theme}.yaml";
+ image = config.wallpaper;
+ cursor = {
+ package = pkgs.bibata-cursors;
+ name = "Bibata-Modern-Ice";
+ size = 24;
+ };
+
+ fonts = {
+ serif = {
+ package = pkgs.noto-fonts;
+ name = "Noto Serif";
+ };
+
+ sansSerif = {
+ package = pkgs.rubik;
+ name = "Rubik";
+ };
+
+ monospace = {
+ package = pkgs.nerdfonts.override { fonts = ["SourceCodePro"]; };
+ name = "Sauce Code Pro Nerd Font";
+ };
+
+ emoji = {
+ package = pkgs.noto-fonts-emoji;
+ name = "Noto Color Emoji";
+ };
+ };
+ };
+ };
+}