DashNix/modules/programs/oxi/oxidash.nix

79 lines
1.8 KiB
Nix

{
lib,
config,
options,
pkgs,
inputs,
...
}: let
# at time of using this here, stylix might not be evaluated yet
# hence ensure it is by using base16 mkSchemeAttrs
base16 = pkgs.callPackage inputs.base16.lib {};
scheme = base16.mkSchemeAttrs config.stylix.base16Scheme;
in {
options.mods.oxi.oxidash = {
enable = lib.mkOption {
default = true;
example = false;
type = lib.types.bool;
description = "Enables and configures oxidash";
};
};
config = lib.mkIf (config.mods.oxi.oxidash.enable && config.mods.oxi.enable) (
lib.optionalAttrs (options ? xdg.configFile) {
programs.oxidash.enable = true;
xdg.configFile."oxidash/style.css" = {
text = ''
@define-color bg #${scheme.base00};
@define-color primary #${scheme.base0D};
#MainWindow {
border-radius: 10px;
background-color: transparent;
}
#MainBox {
border-radius: 10px;
border: 1px solid @primary;
background-color: @bg;
}
#MainButtonBox {
padding: 10px;
margin: 5px 0px 5px 0px;
border-radius: 5px;
border: solid 1px @primary;
}
#DoNotDisturbButton {}
#ExitButton {}
#ClearNotificationsButton {}
#NotificationsWindow {}
.debugimage {
border: solid 3px @primary;
}
.Notification {
padding: 10px;
margin: 5px 0px 5px 0px;
border: solid 1px @primary;
border-radius: 5px;
}
.CloseNotificationButton {
margin: 0px 5px 0px 10px;
}
.PictureButtonBox {}
.BaseBox {}
}
'';
};
}
);
}