diff --git a/.config/amfora/config.toml b/.config/amfora/config.toml new file mode 100644 index 0000000..9ed1427 --- /dev/null +++ b/.config/amfora/config.toml @@ -0,0 +1,370 @@ +# This is the default config file. +# It also shows all the default values, if you don't create the file. +# You can edit this file to set your own configuration for Amfora. + +# When Amfora updates, defaults may change, but this file on your drive will not. +# You can always get the latest defaults on GitHub. +# https://github.com/makeworld-the-better-one/amfora/blob/master/default-config.toml + +# Please also check out the Amfora Wiki for more help +# https://github.com/makeworld-the-better-one/amfora/wiki +# gemini://makeworld.space/amfora-wiki/ + + + +# All URL values may omit the scheme and/or port, as well as the beginning double slash +# Valid URL examples: +# gemini://example.com +# //example.com +# example.com +# example.com:123 + + +[a-general] +# Press Ctrl-H 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 = false + +# 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 way 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 = 'default' + +# 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.1 + +# The max number of columns to wrap a page's text to. Preformatted blocks are not wrapped. +max_width = 100 + +# '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 + +# 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 = "auto" + +# Underline non-gemini URLs +# This is done to help color blind users +underline = true + + +[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 = ")" + +# Whitespace is not allowed in any of the keybindings! Use 'Space' and 'Tab' to bind to those keys. +# Multiple keys can be bound to one command, just use a TOML array. +# To add the Alt modifier, the binding must start with Alt-, should be reasonably universal +# Ctrl- won't work on all keys, see this for a list: +# https://github.com/gdamore/tcell/blob/cb1e5d6fa606/key.go#L83 + +# An example of a TOML array for multiple keys being bound to one command is the default +# binding for reload: +# bind_reload = ["R","Ctrl-R"] +# One thing to note here is that "R" is capitalization sensitive, so it means shift-r. +# "Ctrl-R" means both ctrl-r and ctrl-shift-R (this is a quirk of what ctrl-r means on +# an ANSI terminal) + +# The default binding for opening the bottom bar for entering a URL or link number is: +# bind_bottom = "Space" +# This is how to get the Spacebar as a keybinding, if you try to use " ", it won't work. +# And, finally, an example of a simple, unmodified character is: +# bind_edit = "e" +# This binds the "e" key to the command to edit the current URL. + +# 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" + +# All keybindings: +# +# bind_bottom +# bind_edit +# bind_home +# bind_bookmarks +# bind_add_bookmark +# bind_save +# bind_reload +# bind_back +# bind_forward +# bind_moveup +# bind_movedown +# bind_moveleft +# bind_moveright +# bind_pgup +# bind_pgdn +# bind_new_tab +# bind_close_tab +# bind_next_tab +# bind_prev_tab +# bind_quit +# bind_help +# bind_sub: for viewing the subscriptions page +# bind_add_sub +# bind_copy_page_url +# bind_copy_target_url +# bind_beginning: moving to beginning of page (top left) +# bind_end: same but the for the end (bottom left) + +[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. +# +# The best way to define a command is using a string array. +# Examples: +# magnet = ['transmission'] +# foo = ['custom-browser', '--flag', '--option=2'] +# tel = ['/path/with spaces/in it/telephone'] +# +# 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. + +# This is a special key that defines the handler for all URL schemes for which +# no handler is defined. +# It uses the special value 'default', which will try and use the default +# application on your computer for opening this kind of URI. +other = 'default' + + +# [[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: "*" + + +[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 + + +# Start flavours +# Base16 Kanagawa - amfora color config +# Tommaso Laurenzi (https://github.com/rebelot) + +[theme] +bg = "#1F1F28" +fg = "#DCD7BA" + +bottombar_label = "#957FB8" +bottombar_text = "#DCD7BA" +bottombar_bg = "#16161D" + +tab_num = "#223249" +tab_divider = "#727169" + +amfora_link = "#76946A" +foreign_link = "#54546D" +link_number = "#54546D" + +btn_bg = "#16161D" +btn_text = "#DCD7BA" + +input_modal_bg = "#16161D" +input_modal_text = "#DCD7BA" +input_modal_field_bg = "#1F1F28" +input_modal_field_text = "#DCD7BA" +info_modal_bg = "#16161D" +info_modal_text = "#DCD7BA" +error_modal_bg = "#16161D" +error_modal_text = "#D27E99" +yesno_modal_bg = "#16161D" +yesno_modal_text = "#DCD7BA" +tofu_modal_bg = "#16161D" +tofu_modal_text = "#DCD7BA" +subscription_modal_bg = "#16161D" +subscription_modal_text = "#DCD7BA" + +hdg_1 = "#FFA066" +hdg_2 = "#C0A36E" +hdg_3 = "#7E9CD8" +regular_text = "#DCD7BA" +preformatted_text = "#6A9589" +list_text = "#DCD7BA" +# End flavours diff --git a/.config/flavours/config.toml b/.config/flavours/config.toml new file mode 100644 index 0000000..91aec30 --- /dev/null +++ b/.config/flavours/config.toml @@ -0,0 +1,41 @@ +[[items]] +file = "~/.config/amfora/config.toml" +template = "amfora" +rewrite = false + +[[items]] +file = "~/.config/kitty/colors.conf" +template = "kitty" +subtemplate = "default-256" +rewrite = true + +[[items]] +file = "~/.config/waybar/colors.css" +template = "waybar" +rewrite = true + +[[items]] +file = "~/.config/sway/config.d/colors.conf" +template = "sway" +subtemplate = "colors" + +[[items]] +file = "~/.config/mako/config" +template = "mako" + +[[items]] +file = "~/.config/rofi/config.rasi" +template = "rofi" +subtemplate = "default" +start = "/* Start flavours */" +end = "/* End flavours */" + +[[items]] +file = "~/.config/wofi/style.css" +template = "wofi" +rewrite = true + +[[items]] +file = "~/.config/nvim/lua/core/colors.lua" +template = "neovim" +rewrite = true diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf new file mode 100644 index 0000000..22d2d54 --- /dev/null +++ b/.config/kitty/kitty.conf @@ -0,0 +1,87 @@ +# vim:fileencoding=utf-8:foldmethod=marker + +#: Fonts {{{ +font_family JetBrainsMono Nerd Font +bold_font auto +italic_font auto +bold_italic_font auto + +font_size 12.0 +#: }}} + +#: Mouse {{{ + +# url_color #0087bd +# url_style curly +#: The color and style for highlighting URLs on mouse-over. url_style +#: can be one of: none, straight, double, curly, dotted, dashed + +strip_trailing_spaces smart + +# focus_follows_mouse no +#: Set the active window to the window under the mouse when moving the +#: mouse around +#: }}} + +#: Terminal bell {{{ +enable_audio_bell no +#: }}} + +#: Color scheme {{{ + +include ./colors.conf + +background_opacity 0.8 + +#: }}} + +#: Keyboard shortcuts {{{ + +# kitty_mod ctrl+shift + +# clear_all_shortcuts no +#: You can have kitty remove all shortcut definition seen up to this +#: point. Useful, for instance, to remove the default shortcuts. + +#: Clipboard {{{ + +#: Copy to clipboard +# map kitty_mod+c copy_to_clipboard +map ctrl+c copy_and_clear_or_interrupt +#: Paste from clipboard +# map kitty_mod+v paste_from_clipboard + +#: }}} + +#: Scrolling {{{ + +#: Scroll to previous shell prompt +map kitty_mod+k scroll_to_prompt -1 +#: Scroll to next shell prompt +map kitty_mod+j scroll_to_prompt 1 + +#: Browse output of the last shell command in pager +# map kitty_mod+g show_last_command_output + +#: }}} + +#: Font sizes {{{ + +#: Increase font size +# map kitty_mod+equal change_font_size all +2.0 +# map kitty_mod+plus change_font_size all +2.0 +#: Decrease font size +# map kitty_mod+minus change_font_size all -2.0 +#: Reset font size +# map kitty_mod+backspace change_font_size all 0 + +#: }}} + +#: Miscellaneous {{{ + +#: Reload kitty.conf +map kitty_mod+r load_config_file + +#: }}} + +#: }}} diff --git a/.config/sway/config b/.config/sway/config new file mode 100644 index 0000000..f3a65f9 --- /dev/null +++ b/.config/sway/config @@ -0,0 +1,171 @@ +### Variables +#include /etc/sway/config.d/* +include ~/.config/sway/config.d/* +# +# Logo key. Use Mod1 for Alt. +set $mod Mod4 +# Home row direction keys, like vim +set $left h +set $down j +set $up k +set $right l +set $term kitty +set $menu rofi -show drun | xargs swaymsg exec -- +set $browser firefox +set $wallpaper "~/pics/wp_vaporwave.jpg" +set $wp_locked "~/pics/wp_vaporwave_blurred.jpg" + +### Output configuration +# +output * bg $wallpaper fill + +### Idle configuration +# +exec_always swayidle -w \ + before-sleep 'swaylock -f -i $wp_locked --inside-color $base03' + # timeout 600 'swaylock -f -i $wp_locked --inside-color $base03' \ + # timeout 900 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \ +# +# lock screen after 600s (10min) of inactivity, then turn off displays after +# another 300s (5min), and turn your screens back on when resumed. +# It will also lock screen before your computer goes to sleep. + +### Input configuration +# +input "type:touchpad" { + dwt enabled + tap enabled + natural_scroll enabled + middle_emulation enabled +} +input "type:keyboard" { + xkb_layout "us" + #xkb_variant "altgr-intl" + xkb_options "compose:ralt" +} + +### Key bindings +# +# Basics: +# + bindsym $mod+Backspace exec makoctl dismiss --all + # Start applications + bindsym $mod+d exec $menu + #bindsym $mod+b exec $browser + bindsym $mod+Return exec $term + bindsym $mod+Shift+q kill + + floating_modifier $mod normal + + bindsym $mod+Shift+c reload + bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' + + # Volume + bindsym --locked XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle + bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% + bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% + bindsym --locked XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle + + # Control Brightness + bindsym --locked XF86MonBrightnessDown exec light -T 0.72 + bindsym --locked XF86MonBrightnessUp exec light -T 1.4 + # bindsym --locked XF86MonBrightnessDown exec light -U 5 + # bindsym --locked XF86MonBrightnessUp exec light -A 5 + + # Take a screenshot + bindsym $mod+p exec grim -g "$(slurp)" - | swappy -f - + bindsym Print exec grim -g "$(slurp)" +# +# Moving around: +# + # Move your focus around + bindsym $mod+$left focus left + bindsym $mod+$down focus down + bindsym $mod+$up focus up + bindsym $mod+$right focus right + + # Move the focused window with the same, but add Shift + bindsym $mod+Shift+$left move left + bindsym $mod+Shift+$down move down + bindsym $mod+Shift+$up move up + bindsym $mod+Shift+$right move right +# +# Workspaces: +# + # Switch to workspace + bindsym $mod+1 workspace number 1 + bindsym $mod+2 workspace number 2 + bindsym $mod+3 workspace number 3 + bindsym $mod+4 workspace number 4 + bindsym $mod+5 workspace number 5 + bindsym $mod+6 workspace number 6 + bindsym $mod+7 workspace number 7 + bindsym $mod+8 workspace number 8 + bindsym $mod+9 workspace number 9 + bindsym $mod+0 workspace number 10 + # Move focused container to workspace + bindsym $mod+Shift+1 move container to workspace number 1 + bindsym $mod+Shift+2 move container to workspace number 2 + bindsym $mod+Shift+3 move container to workspace number 3 + bindsym $mod+Shift+4 move container to workspace number 4 + bindsym $mod+Shift+5 move container to workspace number 5 + bindsym $mod+Shift+6 move container to workspace number 6 + bindsym $mod+Shift+7 move container to workspace number 7 + bindsym $mod+Shift+8 move container to workspace number 8 + bindsym $mod+Shift+9 move container to workspace number 9 + bindsym $mod+Shift+0 move container to workspace number 10 + # Note: workspaces can have any name you want, not just numbers. + # We just use 1-10 as the default. + bindsym $mod+m move workspace to output right +# +# Layout stuff: +# + for_window [class="PacketTracer"] floating enable + for_window [class="VirtualBox"] floating enable + + bindsym $mod+b splith + bindsym $mod+v splitv + + bindsym $mod+s layout stacking + bindsym $mod+w layout tabbed + bindsym $mod+e layout toggle split + + bindsym $mod+f fullscreen + + bindsym $mod+Shift+space floating toggle + bindsym $mod+space focus mode_toggle + + bindsym $mod+a focus parent +# +# Scratchpad: +# + # Sway has a "scratchpad", which is a bag of holding for windows. + # You can send windows there and get them back later. + # Move the currently focused window to the scratchpad + bindsym $mod+Shift+minus move scratchpad + # Show the next scratchpad window or hide the focused scratchpad window. + # If there are multiple scratchpad windows, this command cycles through them. + bindsym $mod+minus scratchpad show +# +# Resizing containers: +# +mode "resize" { + bindsym $left resize shrink width 10px + bindsym $right resize grow width 10px + bindsym $up resize shrink height 10px + bindsym $down resize grow height 10px + + # Return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+r mode "resize" + +# +# Status Bar: +# + +bar swaybar_command waybar + +default_border pixel +gaps inner 20