mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-31 04:58:01 +00:00
users/foo-dogsquared/programs/custom-homepage: add themes option
This commit is contained in:
parent
95ee01bbae
commit
db8161ea6c
@ -5,6 +5,7 @@ let
|
||||
cfg = userCfg.programs.custom-homepage;
|
||||
|
||||
settingsFormat = pkgs.formats.toml { };
|
||||
themesSettingsFormat = pkgs.formats.yaml { };
|
||||
in
|
||||
{
|
||||
options.users.foo-dogsquared.programs.custom-homepage = {
|
||||
@ -33,6 +34,51 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
themes = lib.mkOption {
|
||||
type = with lib.types; attrsOf path;
|
||||
description = ''
|
||||
Set of [Tinted Theming Base16
|
||||
palettes](https://github.com/tinted-theming) to be exported to the
|
||||
homepage.
|
||||
|
||||
::: {.note}
|
||||
As such, they are assumed to be all YAML files.
|
||||
:::
|
||||
'';
|
||||
default = { };
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
_dark = ./files/base16/bark-on-a-tree.yml;
|
||||
_light = ./files/base16/albino-bark-on-a-tree.yml;
|
||||
|
||||
catpuccin-mocha = (pkgs.formats.yaml { }).generate "catpuccin-mocha-base16" {
|
||||
system = "base16";
|
||||
name = "Catppuccin Mocha";
|
||||
author = "https://github.com/catppuccin/catppuccin";
|
||||
variant = "dark";
|
||||
palette = {
|
||||
base00 = "1e1e2e";
|
||||
base01 = "181825";
|
||||
base02 = "313244";
|
||||
base03 = "45475a";
|
||||
base04 = "585b70";
|
||||
base05 = "cdd6f4";
|
||||
base06 = "f5e0dc";
|
||||
base07 = "b4befe";
|
||||
base08 = "f38ba8";
|
||||
base09 = "fab387";
|
||||
base0A = "f9e2af";
|
||||
base0B = "a6e3a1";
|
||||
base0C = "94e2d5";
|
||||
base0D = "89b4fa";
|
||||
base0E = "cba6f7";
|
||||
base0F = "f2cdcd";
|
||||
};
|
||||
};
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
package = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
description = ''
|
||||
@ -60,10 +106,16 @@ in
|
||||
${acc}
|
||||
install -Dm0644 ${v} './data/foodogsquared-homepage/links/${n}.toml'
|
||||
'') "" data;
|
||||
|
||||
installThemes = lib.foldlAttrs (acc: n: v: ''
|
||||
${acc}
|
||||
install -Dm0644 ${v} './data/foodogsquared-homepage/themes/${n}}.yaml
|
||||
'') "" cfg.themes;
|
||||
in
|
||||
cfg.package.overrideAttrs (prevAttrs: {
|
||||
preBuild = (prevAttrs.preBuild or "") + ''
|
||||
${installDataDir}
|
||||
${installThemes}
|
||||
'';
|
||||
});
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user