manager/files/amfora/config.toml
Dan Anglin 2402833b1a
feat: a new home manager
This commit updates the scope of this project to manage the files and
directories within my home directory. The Makefile and helper bash
scripts are now replaced with mage targets so that the home directory is
now managed with Mage. The state of the home directory is managed using
a JSON configuration for each machine host. The manager is a set of mage
targets to manage various aspects of the home directory. At the moment
the manager can:

- ensure specified directories are present within the home directory.
- ensure application configuration files are up-to-date and have the
  correct symlinks within the user's home configuration directory.
- manages the user's bash profile (a.k.a bashrc) file.

Other notable changes:

- The X11 xinitrc is removed because it is not currently used and won't
  be used for the forseeable future as we slowly move to Wayland.
- All bashrc configurations are now defined in one file and is now fully
  managed by the manager.
- The dunst configuration is currently removed but will make a comeback.
- The ansible configuration is removed as it is no longer used.
- The logrotate configuration is updated and now generated from a
  template.
- Added configuration for the foot terminal.
- Added configuration for the River window manager.
2024-09-12 16:35:06 +01:00

321 lines
9.4 KiB
TOML

[a-general]
# Press Ctrl-Space to access it
home = "gemini://gemini.circumlunar.space"
# Follow up to 5 Gemini redirects without prompting.
# A prompt is always shown after the 5th redirect and for redirects to protocols other than Gemini.
# If set to false, a prompt will be shown before following redirects.
auto_redirect = true
# What command to run to open a HTTP(S) URL.
# Set to "default" to try to guess the browser, or set to "off" to not open HTTP(S) URLs.
# If a command is set, than the URL will be added (in quotes) to the end of the command.
# A space will be prepended to the URL.
#
# The best to define a command is using a string array.
# Examples:
# http = ['firefox']
# http = ['custom-browser', '--flag', '--option=2']
# http = ['/path/with spaces/in it/firefox']
#
# Note the use of single quotes, so that backslashes will not be escaped.
# Using just a string will also work, but it is deprecated, and will degrade if
# you use paths with spaces.
http = ['firefox']
# Any URL that will accept a query string can be put here
search = "gemini://geminispace.info/search"
# Whether colors will be used in the terminal
color = true
# Whether ANSI color codes from the page content should be rendered
ansi = true
# Whether to replace list asterisks with unicode bullets
bullets = true
# Whether to show link after link text
show_link = false
# A number from 0 to 1, indicating what percentage of the terminal width the left margin should take up.
left_margin = 0.10
# The max number of columns to wrap a page's text to. Preformatted blocks are not wrapped.
max_width = 140
# 'downloads' is the path to a downloads folder.
# An empty value means the code will find the default downloads folder for your system.
# If the path does not exist it will be created.
# Note the use of single quotes, so that backslashes will not be escaped.
downloads = ''
# Max size for displayable content in bytes - after that size a download window pops up
page_max_size = 2097152 # 2 MiB
# Max time it takes to load a page in seconds - after that a download window pops up
page_max_time = 10
# Whether to replace tab numbers with emoji favicons, which are cached.
emoji_favicons = true
# When a scrollbar appears. "never", "auto", and "always" are the only valid values.
# "auto" means the scrollbar only appears when the page is longer than the window.
scrollbar = "never"
[auth]
# Authentication settings
# Note the use of single quotes for values, so that backslashes will not be escaped.
[auth.certs]
# Client certificates
# Set domain name equal to path to client cert
# "example.com" = 'mycert.crt'
[auth.keys]
# Client certificate keys
# Set domain name equal to path to key for the client cert above
# "example.com" = 'mycert.key'
[keybindings]
# If you have a non-US keyboard, use bind_tab1 through bind_tab0 to
# setup the shift-number bindings: Eg, for US keyboards (the default):
bind_tab1 = '!'
bind_tab2 = '"'
bind_tab3 = '£'
bind_tab4 = '$'
bind_tab5 = '%'
bind_tab6 = '^'
bind_tab7 = '&'
bind_tab8 = '*'
bind_tab9 = '('
bind_tab0 = ')'
# The bind_link[1-90] options are for the commands to go to the first 10 links on a page,
# typically these are bound to the number keys:
bind_link1 = "1"
bind_link2 = "2"
bind_link3 = "3"
bind_link4 = "4"
bind_link5 = "5"
bind_link6 = "6"
bind_link7 = "7"
bind_link8 = "8"
bind_link9 = "9"
bind_link0 = "0"
bind_bottom = ":"
bind_quit = "Ctrl-Q"
bind_home = "Ctrl-Space"
bind_reload = "Ctrl-R"
bind_back = "H"
bind_forward = "L"
bind_new_tab = "Ctrl-T"
bind_close_tab = "Ctrl-C"
bind_next_tab = "J"
bind_prev_tab = "K"
bind_edit = "e"
bind_bookmarks = "b"
bind_add_bookmark = "B"
bind_save = "Ctrl-S"
bind_help = "F1"
bind_pgup = "PgUp"
bind_pgdn = "PgDn"
# bind_sub: for viewing the subscriptions page
# bind_add_sub
[url-handlers]
# Allows setting the commands to run for various URL schemes.
# E.g. to open FTP URLs with FileZilla set the following key:
# ftp = 'filezilla'
# You can set any scheme to "off" or "" to disable handling it, or
# just leave the key unset.
#
# DO NOT use this for setting the HTTP command.
# Use the http setting in the "a-general" section above.
#
# NOTE: These settings are overrided by the ones in the proxies section.
# Note the use of single quotes, so that backslashes will not be escaped.
# This is a special key that defines the handler for all URL schemes for which
# no handler is defined.
other = 'off'
# [[mediatype-handlers]] section
# ---------------------------------
#
# Specify what applications will open certain media types.
# By default your default application will be used to open the file when you select "Open".
# You only need to configure this section if you want to override your default application,
# or do special things like streaming.
#
# Note the use of single quotes for commands, so that backslashes will not be escaped.
#
#
# To open jpeg files with the feh command:
#
# [[mediatype-handlers]]
# cmd = ['feh']
# types = ["image/jpeg"]
#
# Each command that you specify must come under its own [[mediatype-handlers]]. You may
# specify as many [[mediatype-handlers]] as you want to setup multiple commands.
#
# If the subtype is omitted then the specified command will be used for the
# entire type:
#
# [[mediatype-handlers]]
# command = ['vlc', '--flag']
# types = ["audio", "video"]
#
# A catch-all handler can by specified with "*".
# Note that there are already catch-all handlers in place for all OSes,
# that open the file using your default application. This is only if you
# want to override that.
#
# [[mediatype-handlers]]
# cmd = ['some-command']
# types = [
# "application/pdf",
# "*",
# ]
#
# You can also choose to stream the data instead of downloading it all before
# opening it. This is especially useful for large video or audio files, as
# well as radio streams, which will never complete. You can do this like so:
#
# [[mediatype-handlers]]
# cmd = ['vlc', '-']
# types = ["audio", "video"]
# stream = true
#
# This uses vlc to stream all video and audio content.
# By default stream is set to off for all handlers
#
#
# If you want to always open a type in its viewer without the download or open
# prompt appearing, you can add no_prompt = true
#
# [[mediatype-handlers]]
# cmd = ['feh']
# types = ["image"]
# no_prompt = true
#
# Note: Multiple handlers cannot be defined for the same full media type, but
# still there needs to be an order for which handlers are used. The following
# order applies regardless of the order written in the config:
#
# 1. Full media type: "image/jpeg"
# 2. Just type: "image"
# 3. Catch-all: "*"
[[mediatype-handlers]]
cmd = ['st', '-e', 'mpv', '--no-video']
types = ["audio"]
[[mediatype-handlers]]
cmd = ['mpv']
types = ["video"]
[[mediatype-handlers]]
cmd = ['feh']
types = ["image"]
no_prompt = true
[cache]
# Options for page cache - which is only for text pages
# Increase the cache size to speed up browsing at the expense of memory
# Zero values mean there is no limit
max_size = 0 # Size in bytes
max_pages = 30 # The maximum number of pages the cache will store
# How long a page will stay in cache, in seconds.
timeout = 1800 # 30 mins
[proxies]
# Allows setting a Gemini proxy for different schemes.
# The settings are similar to the url-handlers section above.
# E.g. to open a gopher page by connecting to a Gemini proxy server:
# gopher = "example.com:123"
#
# Port 1965 is assumed if no port is specified.
#
# NOTE: These settings override any external handlers specified in
# the url-handlers section.
#
# Note that HTTP and HTTPS are treated as separate protocols here.
[subscriptions]
# For tracking feeds and pages
# Whether a pop-up appears when viewing a potential feed
popup = true
# How often to check for updates to subscriptions in the background, in seconds.
# Set it to 0 to disable this feature. You can still update individual feeds
# manually, or restart the browser.
#
# Note Amfora will check for updates on browser start no matter what this setting is.
update_interval = 1800 # 30 mins
# How many subscriptions can be checked at the same time when updating.
# If you have many subscriptions you may want to increase this for faster
# update times. Any value below 1 will be corrected to 1.
workers = 3
# The number of subscription updates displayed per page.
entries_per_page = 20
[theme]
# Tokyo Night
bg = "#1a1b26"
fg = "#a9b1d6"
tab_num = "#565f89"
tab_divider = "#3b4261"
bottombar_label = "#7aa2f7"
bottombar_text = "#7aa2f7"
bottombar_bg = "#1f2335"
scrollbar = "#565f89"
hdg_1 = "#f7768e"
hdg_2 = "#7dcfff"
hdg_3 = "#bb9af7"
amfora_link = "#73daca"
foreign_link = "#b4f9f8"
link_number = "#ff9e64"
regular_text = "#a9b1d6"
quote_text = "#e0af68"
preformatted_text = "#2ac3de"
list_text = "#a9b1d6"
btn_bg = "#414868"
btn_text = "#7aa2f7"
dl_choice_modal_bg = "#414868"
dl_choice_modal_text = "#c0caf5"
dl_modal_bg = "#414868"
dl_modal_text = "#c0caf5"
info_modal_bg = "#414868"
info_modal_text = "#c0caf5"
error_modal_bg = "#414868"
error_modal_text = "#f7768e"
yesno_modal_bg = "#414868"
yesno_modal_text = "#e0af68"
tofu_modal_bg = "#414868"
tofu_modal_text = "#2ac3de"
subscription_modal_bg = "#414868"
subscription_modal_text = "#bb9af7"
input_modal_bg = "#414868"
input_modal_text = "#c0caf5"
input_modal_field_bg = "#33467c"
input_modal_field_text = "#a9b1d6"
bkmk_modal_bg = "#414868"
bkmk_modal_text = "#c0caf5"
bkmk_modal_label = "#c0caf5"
bkmk_modal_field_bg = "#33467c"
bkmk_modal_field_text = "#a9b1d6"