148 lines
4.0 KiB
Nix
148 lines
4.0 KiB
Nix
{pkgs, config, lib, ...}:
|
|
let
|
|
cfg = config.nix-config.style;
|
|
in
|
|
{
|
|
options.nix-config.style = {
|
|
cursor = {
|
|
size = lib.mkOption {
|
|
type = lib.types.int;
|
|
default = 35;
|
|
description = "Size of the cursor in pixels.";
|
|
};
|
|
};
|
|
fontSizes = {
|
|
applications = lib.mkOption {
|
|
type = lib.types.int;
|
|
default = 12;
|
|
description = "Font size for applications.";
|
|
};
|
|
desktop = lib.mkOption {
|
|
type = lib.types.int;
|
|
default = 12;
|
|
description = "Font size for desktop icons.";
|
|
};
|
|
popups = lib.mkOption {
|
|
type = lib.types.int;
|
|
default = 12;
|
|
description = "Font size for popups.";
|
|
};
|
|
terminal = lib.mkOption {
|
|
type = lib.types.int;
|
|
default = 12;
|
|
description = "Font size for terminal.";
|
|
};
|
|
};
|
|
|
|
terminalOpacity = lib.mkOption {
|
|
type = lib.types.float;
|
|
default = 0.8;
|
|
description = "Terminal default opacity";
|
|
};
|
|
|
|
monospaceFont = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "FiraCode Nerd Font Mono";
|
|
description = "Monospace font. Needs to be installed.";
|
|
};
|
|
};
|
|
|
|
|
|
config = {
|
|
|
|
stylix = {
|
|
# Stylix is already enabled since the system is configured to use it
|
|
# enable = true;
|
|
# don't theme applications by default
|
|
autoEnable = false;
|
|
|
|
cursor = {
|
|
package = pkgs.apple-cursor;
|
|
name = "macOS";
|
|
size = cfg.cursor.size;
|
|
};
|
|
|
|
iconTheme = {
|
|
enable = true;
|
|
package = pkgs.tela-icon-theme;
|
|
};
|
|
|
|
|
|
image = ./../../wallpapers/magicpattern-87PP9Zd7MNo-unsplash.jpg;
|
|
|
|
|
|
fonts = {
|
|
|
|
serif = {
|
|
package = pkgs.dejavu_fonts;
|
|
name = "DejaVu Serif";
|
|
};
|
|
|
|
sansSerif = {
|
|
package = pkgs.dejavu_fonts;
|
|
name = "DejaVu Sans";
|
|
};
|
|
|
|
monospace = {
|
|
package = pkgs.nerdfonts.override { fonts = [ "FiraCode" ]; };
|
|
name = cfg.monospaceFont;
|
|
};
|
|
|
|
emoji = {
|
|
package = pkgs.noto-fonts-emoji;
|
|
name = "Noto Color Emoji";
|
|
};
|
|
|
|
sizes = {
|
|
applications = cfg.fontSizes.applications;
|
|
desktop = cfg.fontSizes.desktop;
|
|
popups = cfg.fontSizes.popups;
|
|
terminal = cfg.fontSizes.terminal;
|
|
};
|
|
};
|
|
|
|
opacity = {
|
|
applications = 1.0;
|
|
desktop = 1.0;
|
|
popups = 0.9;
|
|
terminal = cfg.terminalOpacity;
|
|
};
|
|
};
|
|
|
|
stylix.base16Scheme = {
|
|
scheme = "onelight";
|
|
author = "https://github.com/one-dark";
|
|
base00 = "#fafafa";
|
|
base01 = "#f4f4f4";
|
|
base02 = "#e5e5e6";
|
|
base03 = "#dfdfe0";
|
|
base04 = "#d7d7d8";
|
|
base05 = "#383a42";
|
|
base06 = "#202227";
|
|
base07 = "#090a0b";
|
|
base08 = "#d84a3d";
|
|
base09 = "#a626a4";
|
|
base0A = "#c18401";
|
|
base0B = "#50a14f";
|
|
base0C = "#0070a8";
|
|
base0D = "#4078f2";
|
|
base0E = "#a626a4";
|
|
base0F = "#986801";
|
|
|
|
};
|
|
|
|
stylix.targets = {
|
|
hyprpaper.enable = true;
|
|
hyprlock.enable = true;
|
|
gnome.enable = true;
|
|
|
|
# disabled because they overwrite too many settings
|
|
# wofi.enable = true;
|
|
# vscode.enable = true;
|
|
# waybar.enable = true;
|
|
# kitty.enable = true;
|
|
|
|
};
|
|
};
|
|
}
|