93 lines
1.9 KiB
Nix
93 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]
|
||
|
# }}}
|
||
|
'';
|
||
|
};
|
||
|
}
|