Add supersonic

This commit is contained in:
DashieTM 2025-01-01 23:04:05 +01:00
parent cd783dfe71
commit 729d9f7cac
3 changed files with 73 additions and 1 deletions

View file

@ -0,0 +1,72 @@
{
lib,
config,
options,
pkgs,
inputs,
...
}:
let
base16 = pkgs.callPackage inputs.base16.lib { };
scheme = base16.mkSchemeAttrs config.stylix.base16Scheme;
in
{
options.mods.supersonic = {
enable = lib.mkOption {
default = false;
example = true;
type = lib.types.bool;
description = "Enables and configures supersonic";
};
variant = lib.mkOption {
default = "wayland";
example = "x11";
type = lib.types.enum [
"wayland"
"x11"
];
description = "The variant of supersonic";
};
};
config = lib.mkIf config.mods.supersonic.enable (
lib.optionalAttrs (options ? home.packages) {
home.packages = with pkgs; [
(if config.mods.supersonic.variant == "wayland" then supersonic-wayland else supersonic)
];
xdg.configFile."supersonic/themes/custom.toml".source =
(pkgs.formats.toml { }).generate "customTheme"
{
SupersonicTheme = {
Name = "Custom";
Version = "0.2";
SupportsDark = true;
SupportsLight = true;
};
DarkColors = {
PageBackground = "#${scheme.base00}";
ListHeader = "#${scheme.base02}";
PageHeader = "#${scheme.base02}";
Background = "#${scheme.base01}";
ScrollBar = "#${scheme.base02}";
Button = "#${scheme.base02}";
Foreground = "#${scheme.base04}";
InputBackground = "#${scheme.base02}";
};
# just define the same as base 16 doesn't define if it is light or not
LightColors = {
PageBackground = "#${scheme.base00}";
ListHeader = "#${scheme.base02}";
PageHeader = "#${scheme.base02}";
Background = "#${scheme.base01}";
ScrollBar = "#${scheme.base02}";
Button = "#${scheme.base02}";
Foreground = "#${scheme.base04}";
InputBackground = "#${scheme.base02}";
};
};
}
);
}