marleyos/modules/home/programs/amfora/default.nix
2024-11-16 12:09:29 -08:00

92 lines
1.9 KiB
Nix

{
lib,
config,
namespace,
pkgs,
inputs,
...
}:
let
inherit (lib) mkIf;
inherit (lib.${namespace}) mkEnableModule;
cfg = config.${namespace}.programs.amfora;
inherit (config.${namespace}) theme;
themeFiles = {
rose-pine = "${inputs.rose-pine-amfora}/themes/rose-pine.toml";
};
themeFile = themeFiles.${theme.colors.base};
in
{
options = mkEnableModule "programs.amfora";
config = mkIf cfg.enable {
home.packages = with pkgs; [
amfora
];
xdg.configFile."amfora/theme.toml".source = "${themeFile}";
# https://github.com/makeworld-the-better-one/amfora/blob/master/default-config.toml
# Amfora requires a number of options to run - omitting everything I didn't
# care to customize resulted in go panic errors.
xdg.configFile."amfora/config.toml".text = # toml
''
include = "./theme.toml"
[a-general]
# Defaults {{{
home = "gemini://geminiprotocol.net"
auto_redirect = false
http = 'default'
search = "gemini://geminispace.info/search"
color = true
ansi = true
highlight_code = true
bullets = true
show_link = false
max_width = 80
downloads = '''
page_max_size = 2097152 # 2 MiB
page_max_time = 10
scrollbar = "auto"
underline = true
# }}}
highlight_style = "${theme.colors.base}"
# Defaults {{{
[auth]
[auth.certs]
[auth.keys]
[keybindings]
[url-handlers]
other = 'default'
[url-prompts]
[cache]
max_size = 0
max_pages = 30
timeout = 1800
[proxies]
[subscriptions]
popup = true
update_interval = 1800
workers = 3
entries_per_page = 20
header = true
[theme]
# }}}
'';
};
}