diff --git a/.config/amfora/config.toml b/.config/amfora/config.toml
new file mode 100644
index 0000000..07db3d5
--- /dev/null
+++ b/.config/amfora/config.toml
@@ -0,0 +1,415 @@
+# This is the default config file.
+# It also shows all the default values, if you don't create the file.
+
+# 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 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.15
+
+# 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"
+
+
+[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.
+# 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: "*"
+
+
+[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]
+# This section is for changing the COLORS used in Amfora.
+# These colors only apply if 'color' is enabled above.
+# Colors can be set using a W3C color name, or a hex value such as "#ffffff".
+
+# Note that not all colors will work on terminals that do not have truecolor support.
+# If you want to stick to the standard 16 or 256 colors, you can get
+# a list of those here: https://jonasjacek.github.io/colors/
+# DO NOT use the names from that site, just the hex codes.
+
+# Definitions:
+# bg = background
+# fg = foreground
+# dl = download
+# btn = button
+# hdg = heading
+# bkmk = bookmark
+# modal = a popup window/box in the middle of the screen
+
+# EXAMPLES:
+# hdg_1 = "green"
+# hdg_2 = "#5f0000"
+
+# Available keys to set:
+
+# bg: background for pages, tab row, app in general
+# tab_num: The number/highlight of the tabs at the top
+# tab_divider: The color of the divider character between tab numbers: |
+# bottombar_label: The color of the prompt that appears when you press space
+# bottombar_text: The color of the text you type
+# bottombar_bg
+# scrollbar: The scrollbar that appears on the right for long pages
+
+# hdg_1
+# hdg_2
+# hdg_3
+# amfora_link: A link that Amfora supports viewing. For now this is only gemini://
+# foreign_link: HTTP(S), Gopher, etc
+# link_number: The silver number that appears to the left of a link
+# regular_text: Normal gemini text, and plaintext documents
+# quote_text
+# preformatted_text
+# list_text
+
+# btn_bg: The bg color for all modal buttons
+# btn_text: The text color for all modal buttons
+
+# dl_choice_modal_bg
+# dl_choice_modal_text
+# dl_modal_bg
+# dl_modal_text
+# info_modal_bg
+# info_modal_text
+# error_modal_bg
+# error_modal_text
+# yesno_modal_bg
+# yesno_modal_text
+# tofu_modal_bg
+# tofu_modal_text
+# subscription_modal_bg
+# subscription_modal_text
+
+# input_modal_bg
+# input_modal_text
+# input_modal_field_bg: The bg of the input field, where you type the text
+# input_modal_field_text: The color of the text you type
+
+# bkmk_modal_bg
+# bkmk_modal_text
+# bkmk_modal_label
+# bkmk_modal_field_bg
+# bkmk_modal_field_text
+
+# Base16 oomox-onedark - amfora color config
+# oomox-onedark
+
+[theme]
+bg = "#282c34"
+fg = "#abb2bf"
+
+bottombar_label = "#c678dd"
+bottombar_text = "#abb2bf"
+bottombar_bg = "#353b45"
+
+tab_num = "#3e4451"
+tab_divider = "#141820"
+
+amfora_link = "#98c379"
+foreign_link = "#696f79"
+link_number = "#696f79"
+
+btn_bg = "#353b45"
+btn_text = "#abb2bf"
+
+input_modal_bg = "#353b45"
+input_modal_text = "#abb2bf"
+input_modal_field_bg = "#282c34"
+input_modal_field_text = "#abb2bf"
+info_modal_bg = "#353b45"
+info_modal_text = "#abb2bf"
+error_modal_bg = "#353b45"
+error_modal_text = "#c46f59"
+yesno_modal_bg = "#353b45"
+yesno_modal_text = "#abb2bf"
+tofu_modal_bg = "#353b45"
+tofu_modal_text = "#abb2bf"
+subscription_modal_bg = "#353b45"
+subscription_modal_text = "#abb2bf"
+
+hdg_1 = "#d19a66"
+hdg_2 = "#e5c07b"
+hdg_3 = "#61afef"
+regular_text = "#abb2bf"
+preformatted_text = "#56b6c2"
+list_text = "#abb2bf"
diff --git a/.config/bugwarrior/bugwarriorrc b/.config/bugwarrior/bugwarriorrc
new file mode 100644
index 0000000..8ae73b3
--- /dev/null
+++ b/.config/bugwarrior/bugwarriorrc
@@ -0,0 +1,120 @@
+# Example bugwarriorrc
+
+# General stuff.
+[general]
+# Here you define a comma separated list of targets. Each of them must have a
+# section below determining their properties, how to query them, etc. The name
+# is just a symbol, and doesn't have any functional importance.
+targets = mog_github, movia_gitlab
+
+# If unspecified, the default taskwarrior config will be used.
+#taskrc = /path/to/.taskrc
+
+# Setting this to true will shorten links with http://da.gd/
+#shorten = False
+
+# Setting this to True will include a link to the ticket in the description
+inline_links = False
+
+# Setting this to True will include a link to the ticket as an annotation
+annotation_links = True
+
+# Setting this to True will include issue comments and author name in task
+# annotations
+annotation_comments = True
+
+# Defines whether or not issues should be matched based upon their description.
+# In legacy mode, we will attempt to match issues to bugs based upon the
+# presence of the '(bw)' marker in the task description.
+# If this is false, we will only select issues having the appropriate UDA
+# fields defined (which is smarter, better, newer, etc..)
+legacy_matching = False
+
+# log.level specifies the verbosity. The default is DEBUG.
+# log.level can be one of DEBUG, INFO, WARNING, ERROR, CRITICAL, DISABLED
+#log.level = DEBUG
+
+# If log.file is specified, output will be redirected there. If it remains
+# unspecified, output is sent to sys.stderr
+#log.file = /var/log/bugwarrior.log
+
+# Configure the default description or annotation length.
+#annotation_length = 45
+
+# Use hooks to run commands prior to importing from bugwarrior-pull.
+# bugwarrior-pull will run the commands in the order that they are specified
+# below.
+#
+# pre_import: The pre_import hook is invoked after all issues have been pulled
+# from remote sources, but before they are synced to the TW db. If your
+# pre_import script has a non-zero exit code, the `bugwarrior-pull` command will
+# exit early.
+#[hooks]
+#pre_import = /home/someuser/backup.sh, /home/someuser/sometask.sh
+
+# This section is for configuring notifications when bugwarrior-pull runs,
+# and when issues are created, updated, or deleted by bugwarrior-pull.
+# Three backends are currently supported:
+#
+# - growlnotify (v2) Mac OS X "gntp" must be installed
+# - gobject Linux python gobject must be installed
+#
+# To configure, adjust the settings below. Note that neither of the #
+# "sticky" options have any effect on Linux. They only work for
+# growlnotify.
+#[notifications]
+# notifications = True
+# backend = growlnotify
+# finished_querying_sticky = False
+# task_crud_sticky = True
+# only_on_new_tasks = True
+
+
+# This is a github example. It says, "scrape every issue from every repository
+# on http://github.com/ralphbean. It doesn't matter if ralphbean owns the issue
+# or not."
+[mog_github]
+service = github
+github.default_priority = H
+github.add_tags = open_source
+
+# This specifies that we should pull issues from repositories belonging
+# to the 'ralphbean' github account. See the note below about
+# 'github.username' and 'github.login'. They are different, and you need
+# both.
+github.username = mogad0n
+
+# I want taskwarrior to include issues from all my repos, except these
+# two because they're spammy or something.
+#github.exclude_repos = project_bar,project_baz
+
+# Working with a large number of projects, instead of excluding most of them I
+# can also simply include just a limited set.
+#github.include_repos = project_foo,project_foz
+
+# Note that login and username can be different: I can login as me, but
+# scrape issues from an organization's repos.
+#
+# - 'github.login' is the username you ask bugwarrior to
+# login as. Set it to your account.
+# - 'github.username' is the github entity you want to pull
+# issues for. It could be you, or some other user entirely.
+github.login = mogad0n
+#github.username = mogad0n
+github.password =
+
+[movia_gitlab]
+service = gitlab
+gitlab.login = pratyushd
+gitlab.token =
+gitlab.host = git.movia.media
+
+
+
+# Jira
+#[jira_personal]
+#service = jira
+#jira.base_uri =
+#jira.username = ralph
+#jira.password = OMG_LULZ
+
diff --git a/.config/ckb-next/ckb-next.conf b/.config/ckb-next/ckb-next.conf
new file mode 100644
index 0000000..67d97e5
--- /dev/null
+++ b/.config/ckb-next/ckb-next.conf
@@ -0,0 +1,9 @@
+[Popups]
+BGWarning=true
+
+[Program]
+CkbMigrationChecked=true
+CkbNextIniMigrationChecked=true
+HiDPI=false
+NewDidLoginItem=true
+SettingsVersion=1
diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc
new file mode 100644
index 0000000..5339b85
--- /dev/null
+++ b/.config/dunst/dunstrc
@@ -0,0 +1,466 @@
+[global]
+ ### Display ###
+
+ # Which monitor should the notifications be displayed on.
+ monitor = 0
+
+ # Display notification on focused monitor. Possible modes are:
+ # mouse: follow mouse pointer
+ # keyboard: follow window with keyboard focus
+ # none: don't follow anything
+ #
+ # "keyboard" needs a window manager that exports the
+ # _NET_ACTIVE_WINDOW property.
+ # This should be the case for almost all modern window managers.
+ #
+ # If this option is set to mouse or keyboard, the monitor option
+ # will be ignored.
+ follow = mouse
+
+ # The geometry of the window:
+ # [{width}]x{height}[+/-{x}+/-{y}]
+ # The geometry of the message window.
+ # The height is measured in number of notifications everything else
+ # in pixels. If the width is omitted but the height is given
+ # ("-geometry x2"), the message window expands over the whole screen
+ # (dmenu-like). If width is 0, the window expands to the longest
+ # message displayed. A positive x is measured from the left, a
+ # negative from the right side of the screen. Y is measured from
+ # the top and down respectively.
+ # The width can be negative. In this case the actual width is the
+ # screen width minus the width defined in within the geometry option.
+ geometry = "300x5-30+20"
+
+ # Turn on the progess bar
+ progress_bar = true
+
+ # Set the progress bar height. This includes the frame, so make sure
+ # it's at least twice as big as the frame width.
+ progress_bar_height = 10
+
+ # Set the frame width of the progress bar
+ progress_bar_frame_width = 1
+
+ # Set the minimum width for the progress bar
+ progress_bar_min_width = 150
+
+ # Set the maximum width for the progress bar
+ progress_bar_max_width = 300
+
+
+ # Show how many messages are currently hidden (because of geometry).
+ indicate_hidden = yes
+
+ # Shrink window if it's smaller than the width. Will be ignored if
+ # width is 0.
+ shrink = no
+
+ # The transparency of the window. Range: [0; 100].
+ # This option will only work if a compositing window manager is
+ # present (e.g. xcompmgr, compiz, etc.).
+ transparency = 0
+
+ # The height of the entire notification. If the height is smaller
+ # than the font height and padding combined, it will be raised
+ # to the font height and padding.
+ notification_height = 0
+
+ # Draw a line of "separator_height" pixel height between two
+ # notifications.
+ # Set to 0 to disable.
+ separator_height = 2
+
+ # Padding between text and separator.
+ padding = 8
+
+ # Horizontal padding.
+ horizontal_padding = 8
+
+ # Padding between text and icon.
+ text_icon_padding = 0
+
+ # Defines width in pixels of frame around the notification window.
+ # Set to 0 to disable.
+ frame_width = 3
+
+ # Defines color of the frame around the notification window.
+ frame_color = "#aaaaaa"
+
+ # Define a color for the separator.
+ # possible values are:
+ # * auto: dunst tries to find a color fitting to the background;
+ # * foreground: use the same color as the foreground;
+ # * frame: use the same color as the frame;
+ # * anything else will be interpreted as a X color.
+ separator_color = frame
+
+ # Sort messages by urgency.
+ sort = yes
+
+ # Don't remove messages, if the user is idle (no mouse or keyboard input)
+ # for longer than idle_threshold seconds.
+ # Set to 0 to disable.
+ # A client can set the 'transient' hint to bypass this. See the rules
+ # section for how to disable this if necessary
+ idle_threshold = 120
+
+ ### Text ###
+
+ font = Monospace 8
+
+ # The spacing between lines. If the height is smaller than the
+ # font height, it will get raised to the font height.
+ line_height = 0
+
+ # Possible values are:
+ # full: Allow a small subset of html markup in notifications:
+ # bold
+ # italic
+ # strikethrough
+ # underline
+ #
+ # For a complete reference see
+ # .
+ #
+ # strip: This setting is provided for compatibility with some broken
+ # clients that send markup even though it's not enabled on the
+ # server. Dunst will try to strip the markup but the parsing is
+ # simplistic so using this option outside of matching rules for
+ # specific applications *IS GREATLY DISCOURAGED*.
+ #
+ # no: Disable markup parsing, incoming notifications will be treated as
+ # plain text. Dunst will not advertise that it has the body-markup
+ # capability if this is set as a global setting.
+ #
+ # It's important to note that markup inside the format option will be parsed
+ # regardless of what this is set to.
+ markup = full
+
+ # The format of the message. Possible variables are:
+ # %a appname
+ # %s summary
+ # %b body
+ # %i iconname (including its path)
+ # %I iconname (without its path)
+ # %p progress value if set ([ 0%] to [100%]) or nothing
+ # %n progress value if set without any extra characters
+ # %% Literal %
+ # Markup is allowed
+ format = "%s\n%b"
+
+ # Alignment of message text.
+ # Possible values are "left", "center" and "right".
+ alignment = left
+
+ # Vertical alignment of message text and icon.
+ # Possible values are "top", "center" and "bottom".
+ vertical_alignment = center
+
+ # Show age of message if message is older than show_age_threshold
+ # seconds.
+ # Set to -1 to disable.
+ show_age_threshold = 60
+
+ # Split notifications into multiple lines if they don't fit into
+ # geometry.
+ word_wrap = yes
+
+ # When word_wrap is set to no, specify where to make an ellipsis in long lines.
+ # Possible values are "start", "middle" and "end".
+ ellipsize = middle
+
+ # Ignore newlines '\n' in notifications.
+ ignore_newline = no
+
+ # Stack together notifications with the same content
+ stack_duplicates = true
+
+ # Hide the count of stacked notifications with the same content
+ hide_duplicate_count = false
+
+ # Display indicators for URLs (U) and actions (A).
+ show_indicators = yes
+
+ ### Icons ###
+
+ # Align icons left/right/off
+ icon_position = left
+
+ # Scale small icons up to this size, set to 0 to disable. Helpful
+ # for e.g. small files or high-dpi screens. In case of conflict,
+ # max_icon_size takes precedence over this.
+ min_icon_size = 0
+
+ # Scale larger icons down to this size, set to 0 to disable
+ max_icon_size = 32
+
+ # Paths to default icons.
+ icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
+
+ ### History ###
+
+ # Should a notification popped up from history be sticky or timeout
+ # as if it would normally do.
+ sticky_history = yes
+
+ # Maximum amount of notifications kept in history
+ history_length = 20
+
+ ### Misc/Advanced ###
+
+ # dmenu path.
+ dmenu = /usr/bin/dmenu -p dunst:
+
+ # Browser for opening urls in context menu.
+ browser = /usr/bin/firefox -new-tab
+
+ # Always run rule-defined scripts, even if the notification is suppressed
+ always_run_script = true
+
+ # Define the title of the windows spawned by dunst
+ title = Dunst
+
+ # Define the class of the windows spawned by dunst
+ class = Dunst
+
+ # Print a notification on startup.
+ # This is mainly for error detection, since dbus (re-)starts dunst
+ # automatically after a crash.
+ startup_notification = false
+
+ # Manage dunst's desire for talking
+ # Can be one of the following values:
+ # crit: Critical features. Dunst aborts
+ # warn: Only non-fatal warnings
+ # mesg: Important Messages
+ # info: all unimportant stuff
+ # debug: all less than unimportant stuff
+ verbosity = mesg
+
+ # Define the corner radius of the notification window
+ # in pixel size. If the radius is 0, you have no rounded
+ # corners.
+ # The radius will be automatically lowered if it exceeds half of the
+ # notification height to avoid clipping text and/or icons.
+ corner_radius = 0
+
+ # Ignore the dbus closeNotification message.
+ # Useful to enforce the timeout set by dunst configuration. Without this
+ # parameter, an application may close the notification sent before the
+ # user defined timeout.
+ ignore_dbusclose = false
+
+ ### Wayland ###
+ # These settings are Wayland-specific. They have no effect when using X11
+
+ # Uncomment this if you want to let notications appear under fullscreen
+ # applications (default: overlay)
+ # layer = top
+
+ # Set this to true to use X11 output on Wayland.
+ force_xwayland = false
+
+ ### Legacy
+
+ # Use the Xinerama extension instead of RandR for multi-monitor support.
+ # This setting is provided for compatibility with older nVidia drivers that
+ # do not support RandR and using it on systems that support RandR is highly
+ # discouraged.
+ #
+ # By enabling this setting dunst will not be able to detect when a monitor
+ # is connected or disconnected which might break follow mode if the screen
+ # layout changes.
+ force_xinerama = false
+
+ ### mouse
+
+ # Defines list of actions for each mouse event
+ # Possible values are:
+ # * none: Don't do anything.
+ # * do_action: If the notification has exactly one action, or one is marked as default,
+ # invoke it. If there are multiple and no default, open the context menu.
+ # * close_current: Close current notification.
+ # * close_all: Close all notifications.
+ # These values can be strung together for each mouse event, and
+ # will be executed in sequence.
+ mouse_left_click = close_current
+ mouse_middle_click = do_action, close_current
+ mouse_right_click = close_all
+
+# Experimental features that may or may not work correctly. Do not expect them
+# to have a consistent behaviour across releases.
+[experimental]
+ # Calculate the dpi to use on a per-monitor basis.
+ # If this setting is enabled the Xft.dpi value will be ignored and instead
+ # dunst will attempt to calculate an appropriate dpi value for each monitor
+ # using the resolution and physical size. This might be useful in setups
+ # where there are multiple screens with very different dpi values.
+ per_monitor_dpi = false
+
+# The internal keyboard shortcut support in dunst is now considered deprecated
+# and should be replaced by dunstctl calls. You can use the configuration of your
+# WM or DE to bind these to shortcuts of your choice.
+# Check the dunstctl manual page for more info.
+[shortcuts]
+
+ # Shortcuts are specified as [modifier+][modifier+]...key
+ # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
+ # "mod3" and "mod4" (windows-key).
+ # Xev might be helpful to find names for keys.
+
+ # Close notification. Equivalent dunstctl command:
+ # dunstctl close
+ # close = ctrl+space
+
+ # Close all notifications. Equivalent dunstctl command:
+ # dunstctl close-all
+ # close_all = ctrl+shift+space
+
+ # Redisplay last message(s). Equivalent dunstctl command:
+ # dunstctl history-pop
+ # history = ctrl+grave
+
+ # Context menu. Equivalent dunstctl command:
+ # dunstctl context
+ # context = ctrl+shift+period
+
+[urgency_low]
+ # IMPORTANT: colors have to be defined in quotation marks.
+ # Otherwise the "#" and following would be interpreted as a comment.
+ background = "#222222"
+ foreground = "#888888"
+ timeout = 10
+ # Icon for notifications with low urgency, uncomment to enable
+ #icon = /path/to/icon
+
+[urgency_normal]
+ background = "#285577"
+ foreground = "#ffffff"
+ timeout = 10
+ # Icon for notifications with normal urgency, uncomment to enable
+ #icon = /path/to/icon
+
+[urgency_critical]
+ background = "#900000"
+ foreground = "#ffffff"
+ frame_color = "#ff0000"
+ timeout = 0
+ # Icon for notifications with critical urgency, uncomment to enable
+ #icon = /path/to/icon
+
+# Every section that isn't one of the above is interpreted as a rules to
+# override settings for certain messages.
+#
+# Messages can be matched by
+# appname (discouraged, see desktop_entry)
+# body
+# category
+# desktop_entry
+# icon
+# match_transient
+# msg_urgency
+# stack_tag
+# summary
+#
+# and you can override the
+# background
+# foreground
+# format
+# frame_color
+# fullscreen
+# new_icon
+# set_stack_tag
+# set_transient
+# timeout
+# urgency
+#
+# Shell-like globbing will get expanded.
+#
+# Instead of the appname filter, it's recommended to use the desktop_entry filter.
+# GLib based applications export their desktop-entry name. In comparison to the appname,
+# the desktop-entry won't get localized.
+#
+# SCRIPTING
+# You can specify a script that gets run when the rule matches by
+# setting the "script" option.
+# The script will be called as follows:
+# script appname summary body icon urgency
+# where urgency can be "LOW", "NORMAL" or "CRITICAL".
+#
+# NOTE: if you don't want a notification to be displayed, set the format
+# to "".
+# NOTE: It might be helpful to run dunst -print in a terminal in order
+# to find fitting options for rules.
+
+# Disable the transient hint so that idle_threshold cannot be bypassed from the
+# client
+#[transient_disable]
+# match_transient = yes
+# set_transient = no
+#
+# Make the handling of transient notifications more strict by making them not
+# be placed in history.
+#[transient_history_ignore]
+# match_transient = yes
+# history_ignore = yes
+
+# fullscreen values
+# show: show the notifications, regardless if there is a fullscreen window opened
+# delay: displays the new notification, if there is no fullscreen window active
+# If the notification is already drawn, it won't get undrawn.
+# pushback: same as delay, but when switching into fullscreen, the notification will get
+# withdrawn from screen again and will get delayed like a new notification
+#[fullscreen_delay_everything]
+# fullscreen = delay
+#[fullscreen_show_critical]
+# msg_urgency = critical
+# fullscreen = show
+
+#[espeak]
+# summary = "*"
+# script = dunst_espeak.sh
+
+#[script-test]
+# summary = "*script*"
+# script = dunst_test.sh
+
+#[ignore]
+# # This notification will not be displayed
+# summary = "foobar"
+# format = ""
+
+#[history-ignore]
+# # This notification will not be saved in history
+# summary = "foobar"
+# history_ignore = yes
+
+#[skip-display]
+# # This notification will not be displayed, but will be included in the history
+# summary = "foobar"
+# skip_display = yes
+
+#[signed_on]
+# appname = Pidgin
+# summary = "*signed on*"
+# urgency = low
+#
+#[signed_off]
+# appname = Pidgin
+# summary = *signed off*
+# urgency = low
+#
+#[says]
+# appname = Pidgin
+# summary = *says*
+# urgency = critical
+#
+#[twitter]
+# appname = Pidgin
+# summary = *twitter.com*
+# urgency = normal
+#
+#[stack-volumes]
+# appname = "some_volume_notifiers"
+# set_stack_tag = "volume"
+#
+# vim: ft=cfg
diff --git a/.config/newsboat/config b/.config/newsboat/config
new file mode 100644
index 0000000..e69de29
diff --git a/.config/newsboat/urls b/.config/newsboat/urls
index e69de29..14d47e7 100644
--- a/.config/newsboat/urls
+++ b/.config/newsboat/urls
@@ -0,0 +1,7 @@
+
+
+## InfoSec
+
+archsec-advisory https://security.archlinux.org/advisory/feed.atom
+nvd-acve https://nvd.nist.gov/feeds/xml/cve/misc/nvd-rss-analyzed.xml
+nvd-cve https://nvd.nist.gov/feeds/xml/cve/misc/nvd-rss.xml
diff --git a/.config/pgcli/config b/.config/pgcli/config
new file mode 100644
index 0000000..bbdaec8
--- /dev/null
+++ b/.config/pgcli/config
@@ -0,0 +1,189 @@
+# vi: ft=dosini
+[main]
+
+# Enables context sensitive auto-completion. If this is disabled the all
+# possible completions will be listed.
+smart_completion = True
+
+# Display the completions in several columns. (More completions will be
+# visible.)
+wider_completion_menu = False
+
+# Multi-line mode allows breaking up the sql statements into multiple lines. If
+# this is set to True, then the end of the statements must have a semi-colon.
+# If this is set to False then sql statements can't be split into multiple
+# lines. End of line (return) is considered as the end of the statement.
+multi_line = False
+
+# If multi_line_mode is set to "psql", in multi-line mode, [Enter] will execute
+# the current input if the input ends in a semicolon.
+# If multi_line_mode is set to "safe", in multi-line mode, [Enter] will always
+# insert a newline, and [Esc] [Enter] or [Alt]-[Enter] must be used to execute
+# a command.
+multi_line_mode = psql
+
+# Destructive warning mode will alert you before executing a sql statement
+# that may cause harm to the database such as "drop table", "drop database"
+# or "shutdown".
+destructive_warning = True
+
+# Enables expand mode, which is similar to `\x` in psql.
+expand = False
+
+# Enables auto expand mode, which is similar to `\x auto` in psql.
+auto_expand = False
+
+# If set to True, table suggestions will include a table alias
+generate_aliases = False
+
+# log_file location.
+# In Unix/Linux: ~/.config/pgcli/log
+# In Windows: %USERPROFILE%\AppData\Local\dbcli\pgcli\log
+# %USERPROFILE% is typically C:\Users\{username}
+log_file = default
+
+# keyword casing preference. Possible values "lower", "upper", "auto"
+keyword_casing = auto
+
+# casing_file location.
+# In Unix/Linux: ~/.config/pgcli/casing
+# In Windows: %USERPROFILE%\AppData\Local\dbcli\pgcli\casing
+# %USERPROFILE% is typically C:\Users\{username}
+casing_file = default
+
+# If generate_casing_file is set to True and there is no file in the above
+# location, one will be generated based on usage in SQL/PLPGSQL functions.
+generate_casing_file = False
+
+# Casing of column headers based on the casing_file described above
+case_column_headers = True
+
+# history_file location.
+# In Unix/Linux: ~/.config/pgcli/history
+# In Windows: %USERPROFILE%\AppData\Local\dbcli\pgcli\history
+# %USERPROFILE% is typically C:\Users\{username}
+history_file = default
+
+# Default log level. Possible values: "CRITICAL", "ERROR", "WARNING", "INFO"
+# and "DEBUG". "NONE" disables logging.
+log_level = INFO
+
+# Order of columns when expanding * to column list
+# Possible values: "table_order" and "alphabetic"
+asterisk_column_order = table_order
+
+# Whether to qualify with table alias/name when suggesting columns
+# Possible values: "always", never" and "if_more_than_one_table"
+qualify_columns = if_more_than_one_table
+
+# When no schema is entered, only suggest objects in search_path
+search_path_filter = False
+
+# Default pager.
+# By default 'PAGER' environment variable is used
+# pager = less -SRXF
+pager = /usr/bin/pspg --csv --rr=2 --quit-if-one-screen --ignore-case --csv-header on --pgcli-fix
+
+# Timing of sql statments and table rendering.
+timing = True
+
+# Table format. Possible values: psql, plain, simple, grid, fancy_grid, pipe,
+# ascii, double, github, orgtbl, rst, mediawiki, html, latex, latex_booktabs,
+# textile, moinmoin, jira, vertical, tsv, csv.
+# Recommended: psql, fancy_grid and grid.
+table_format = csv
+
+# Syntax Style. Possible values: manni, igor, xcode, vim, autumn, vs, rrt,
+# native, perldoc, borland, tango, emacs, friendly, monokai, paraiso-dark,
+# colorful, murphy, bw, pastie, paraiso-light, trac, default, fruity
+syntax_style = default
+
+# Keybindings:
+# When Vi mode is enabled you can use modal editing features offered by Vi in the REPL.
+# When Vi mode is disabled emacs keybindings such as Ctrl-A for home and Ctrl-E
+# for end are available in the REPL.
+vi = False
+
+# Error handling
+# When one of multiple SQL statements causes an error, choose to either
+# continue executing the remaining statements, or stopping
+# Possible values "STOP" or "RESUME"
+on_error = STOP
+
+# Set threshold for row limit. Use 0 to disable limiting.
+row_limit = 1000
+
+# Skip intro on startup and goodbye on exit
+less_chatty = False
+
+# Postgres prompt
+# \t - Current date and time
+# \u - Username
+# \h - Short hostname of the server (up to first '.')
+# \H - Hostname of the server
+# \d - Database name
+# \p - Database port
+# \i - Postgres PID
+# \# - "@" sign if logged in as superuser, '>' in other case
+# \n - Newline
+# \dsn_alias - name of dsn alias if -D option is used (empty otherwise)
+# \x1b[...m - insert ANSI escape sequence
+# eg: prompt = '\x1b[35m\u@\x1b[32m\h:\x1b[36m\d>'
+prompt = '\u@\h:\d> '
+
+# Number of lines to reserve for the suggestion menu
+min_num_menu_lines = 4
+
+# Character used to left pad multi-line queries to match the prompt size.
+multiline_continuation_char = ''
+
+# The string used in place of a null value.
+null_string = ''
+
+# manage pager on startup
+enable_pager = True
+
+# Use keyring to automatically save and load password in a secure manner
+keyring = False
+
+# Custom colors for the completion menu, toolbar, etc.
+[colors]
+completion-menu.completion.current = 'bg:#ffffff #000000'
+completion-menu.completion = 'bg:#008888 #ffffff'
+completion-menu.meta.completion.current = 'bg:#44aaaa #000000'
+completion-menu.meta.completion = 'bg:#448888 #ffffff'
+completion-menu.multi-column-meta = 'bg:#aaffff #000000'
+scrollbar.arrow = 'bg:#003333'
+scrollbar = 'bg:#00aaaa'
+selected = '#ffffff bg:#6666aa'
+search = '#ffffff bg:#4444aa'
+search.current = '#ffffff bg:#44aa44'
+bottom-toolbar = 'bg:#222222 #aaaaaa'
+bottom-toolbar.off = 'bg:#222222 #888888'
+bottom-toolbar.on = 'bg:#222222 #ffffff'
+search-toolbar = 'noinherit bold'
+search-toolbar.text = 'nobold'
+system-toolbar = 'noinherit bold'
+arg-toolbar = 'noinherit bold'
+arg-toolbar.text = 'nobold'
+bottom-toolbar.transaction.valid = 'bg:#222222 #00ff5f bold'
+bottom-toolbar.transaction.failed = 'bg:#222222 #ff005f bold'
+
+# style classes for colored table output
+output.header = "#00ff5f bold"
+output.odd-row = ""
+output.even-row = ""
+
+# Named queries are queries you can execute by name.
+[named queries]
+
+# DSN to call by -D option
+[alias_dsn]
+# example_dsn = postgresql://[user[:password]@][netloc][:port][/dbname]
+
+# Format for number representation
+# for decimal "d" - 12345678, ",d" - 12,345,678
+# for float "g" - 123456.78, ",g" - 123,456.78
+[data_formats]
+decimal = ""
+float = ""