Add supersonic
This commit is contained in:
parent
cd783dfe71
commit
729d9f7cac
3 changed files with 73 additions and 1 deletions
72
modules/programs/supersonic.nix
Normal file
72
modules/programs/supersonic.nix
Normal 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}";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue