marleyos/modules/home/programs/amfora/default.nix
2024-11-16 23:57:21 -08:00

90 lines
1.8 KiB
Nix

{
lib,
config,
pkgs,
inputs,
...
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.programs.amfora;
inherit (config.marleyos.theme) colors;
themeFiles = {
rose-pine = "${inputs.rose-pine-amfora}/themes/rose-pine.toml";
};
themeFile = themeFiles."${colors.base}";
in
{
options.marleyos.programs.amfora.enable = mkEnableOption "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 = "${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]
# }}}
'';
};
}