diff options
Diffstat (limited to 'home-manager/homeModules/stylix.nix')
| -rw-r--r-- | home-manager/homeModules/stylix.nix | 76 |
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"; + }; + }; + }; + }; +} |
