summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkrolyxon <krolyxon@tutanota.com>2022-06-01 22:55:52 +0530
committerkrolyxon <krolyxon@tutanota.com>2022-06-01 22:55:52 +0530
commit723220028038a3c6e155259e28d07e867e2d45c9 (patch)
treef07e13aaf23e820c6da71ec02466e5831502b0e2
first commit
-rw-r--r--.config/alacritty/alacritty.yml132
-rw-r--r--.config/cava/config168
l---------.config/dunst/dunstrc1
-rw-r--r--.config/gtk-2.0/gtkfilechooser.ini11
-rw-r--r--.config/gtk-2.0/gtkrc-2.018
-rw-r--r--.config/gtk-3.0/bookmarks7
-rw-r--r--.config/gtk-3.0/settings.ini15
-rw-r--r--.config/mimeapps.list14
-rw-r--r--.config/paru/paru.conf38
-rw-r--r--.config/pcmanfm/default/pcmanfm.conf26
-rw-r--r--.config/ranger/plugins/__init__.py0
-rw-r--r--.config/ranger/plugins/__pycache__/__init__.cpython-310.opt-1.pycbin0 -> 143 bytes
-rw-r--r--.config/ranger/plugins/ranger_devicons/__init__.py15
-rw-r--r--.config/ranger/plugins/ranger_devicons/__pycache__/__init__.cpython-310.opt-1.pycbin0 -> 777 bytes
-rw-r--r--.config/ranger/plugins/ranger_devicons/__pycache__/devicons.cpython-310.opt-1.pycbin0 -> 8378 bytes
-rw-r--r--.config/ranger/plugins/ranger_devicons/devicons.py381
-rw-r--r--.config/ranger/rc.conf25
-rw-r--r--.config/shell/aliasrc31
-rw-r--r--.config/shell/profile34
-rwxr-xr-x.config/sxhkd/sxhkdrc30
-rwxr-xr-x.config/sxiv/exec/key-handler11
-rw-r--r--.config/user-dirs.dirs15
-rw-r--r--.config/wal/templates/dunstrc60
-rw-r--r--.config/x11/xinitrc13
-rwxr-xr-x.config/zathura/zathurarc56
-rw-r--r--.config/zsh/.zshrc27
-rwxr-xr-x.local/bin/colorpickerbin0 -> 23168 bytes
-rwxr-xr-x.local/bin/connect_wifi5
-rwxr-xr-x.local/bin/dmenumount67
-rwxr-xr-x.local/bin/ext45
-rwxr-xr-x.local/bin/genwall18
-rwxr-xr-x.local/bin/linkhandler23
-rwxr-xr-x.local/bin/maimshot11
-rwxr-xr-x.local/bin/newword6
-rwxr-xr-x.local/bin/setwall5
-rwxr-xr-x.local/bin/spammer9
-rwxr-xr-x.local/bin/spot-adblock2
-rwxr-xr-x.local/bin/transadd9
-rwxr-xr-x.local/bin/ufetch83
-rwxr-xr-x.local/bin/unicode_emoji13
-rwxr-xr-x.local/bin/upfile12
-rwxr-xr-x.local/bin/vimv44
-rwxr-xr-x.local/bin/waldl158
-rwxr-xr-x.local/bin/wordmean6
-rw-r--r--.local/share/applications/file.desktop4
-rw-r--r--.local/share/applications/img.desktop4
-rw-r--r--.local/share/applications/pdf.desktop4
-rw-r--r--.local/share/applications/rss.desktop4
-rw-r--r--.local/share/applications/text.desktop4
-rw-r--r--.local/share/applications/torrent.desktop4
-rw-r--r--.local/share/applications/trilium-notes.desktop7
-rw-r--r--.local/share/emoji1630
-rw-r--r--.local/share/vocab/words.txt67
l---------.xinitrc1
l---------.zprofile1
55 files changed, 3374 insertions, 0 deletions
diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml
new file mode 100644
index 0000000..ff01e9b
--- /dev/null
+++ b/.config/alacritty/alacritty.yml
@@ -0,0 +1,132 @@
+# Window Customization
+window:
+ #opacity: 0.95
+ dimensions:
+ columns: 122
+ lines: 50
+ # padding:
+ # x: 10
+ # y: 10
+ dynamic_padding: true
+ decorations: none
+scrolling:
+ history: 10000
+ multiplier: 11
+window.dynamic_title: false
+
+env:
+ WINIT_X11_SCALE_FACTOR: "1.0"
+
+# Font configuration (changes require restart)
+font:
+ # The normal (roman) font face to use.
+ normal:
+ family: Hack Nerd Font
+ # Style can be specified to pick a specific face.
+ style: Regular
+
+ # The bold font face
+ bold:
+ family: Hack Nerd Font
+ # Style can be specified to pick a specific face.
+ style: Bold
+
+ # The italic font face
+ italic:
+ family: Hack Nerd Font
+ # Style can be specified to pick a specific face.
+ style: italic
+
+colors:
+ # Default colors
+ primary:
+ background: '0x1e2127'
+ foreground: '0xabb2bf'
+
+ # Bright and dim foreground colors
+ #
+ # The dimmed foreground color is calculated automatically if it is not present.
+ # If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
+ # is `false`, the normal foreground color will be used.
+ #dim_foreground: '0x9a9a9a'
+ bright_foreground: '0xe6efff'
+
+ # Cursor colors
+ #
+ # Colors which should be used to draw the terminal cursor. If these are unset,
+ # the cursor color will be the inverse of the cell color.
+ #cursor:
+ # text: '0x000000'
+ # cursor: '0xffffff'
+
+ # Normal colors
+ normal:
+ black: '0x1e2127'
+ red: '0xe06c75'
+ green: '0x98c379'
+ yellow: '0xd19a66'
+ blue: '0x61afef'
+ magenta: '0xc678dd'
+ cyan: '0x56b6c2'
+ white: '0x828791'
+
+ # Bright colors
+ bright:
+ black: '0x5c6370'
+ red: '0xe06c75'
+ green: '0x98c379'
+ yellow: '0xd19a66'
+ blue: '0x61afef'
+ magenta: '0xc678dd'
+ cyan: '0x56b6c2'
+ white: '0xe6efff'
+
+ # Dim colors
+ #
+ # If the dim colors are not set, they will be calculated automatically based
+ # on the `normal` colors.
+ dim:
+ black: '0x1e2127'
+ red: '0xe06c75'
+ green: '0x98c379'
+ yellow: '0xd19a66'
+ blue: '0x61afef'
+ magenta: '0xc678dd'
+ cyan: '0x56b6c2'
+ white: '0x828791'
+
+ # Indexed Colors
+ #
+ # The indexed colors include all colors from 16 to 256.
+ # When these are not set, they're filled with sensible defaults.
+ #indexed_colors:
+ # - { index: 16, color: '0x000000' }
+
+# Extras
+hide_cursor_when_typing: true
+
+cursor:
+ style: Block
+ #blinking: Always
+ #blink_interval: 750
+ unfocused_hollow: true
+
+
+key_bindings:
+ # (Windows, Linux, and BSD only)
+ - { key: V, mods: Control|Shift, action: Paste }
+ - { key: C, mods: Control|Shift, action: Copy }
+ - { key: Insert, mods: Shift, action: PasteSelection }
+ - { key: Key0, mods: Control, action: ResetFontSize }
+ - { key: Equals, mods: Control, action: IncreaseFontSize }
+ - { key: Plus, mods: Control, action: IncreaseFontSize }
+ - { key: Minus, mods: Control, action: DecreaseFontSize }
+ - { key: F11, mods: None, action: ToggleFullscreen }
+ - { key: Paste, mods: None, action: Paste }
+ - { key: Copy, mods: None, action: Copy }
+ - { key: L, mods: Control, action: ClearLogNotice }
+ - { key: L, mods: Control, chars: "\x0c" }
+ - { key: PageUp, mods: None, action: ScrollPageUp, mode: ~Alt }
+ - { key: PageDown, mods: None, action: ScrollPageDown, mode: ~Alt }
+ - { key: Home, mods: Shift, action: ScrollToTop, mode: ~Alt }
+ - { key: End, mods: Shift, action: ScrollToBottom, mode: ~Alt }
diff --git a/.config/cava/config b/.config/cava/config
new file mode 100644
index 0000000..77575bd
--- /dev/null
+++ b/.config/cava/config
@@ -0,0 +1,168 @@
+## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
+
+
+[general]
+
+# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
+mode = 0
+
+# Accepts only non-negative values.
+; framerate = 60
+
+# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
+# new as of 0.6.0 autosens of low values (dynamic range)
+# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
+; autosens = 1
+; overshoot = 20
+
+# Manual sensitivity in %. If autosens is enabled, this will only be the initial value.
+# 200 means double height. Accepts only non-negative values.
+; sensitivity = 100
+
+# The number of bars (0-200). 0 sets it to auto (fill up console).
+# Bars' width and space between bars in number of characters.
+; bars = 0
+; bar_width = 2
+; bar_spacing = 1
+
+
+# Lower and higher cutoff frequencies for lowest and highest bars
+# the bandwidth of the visualizer.
+# Note: there is a minimum total bandwidth of 43Mhz x number of bars.
+# Cava will automatically increase the higher cutoff if a too low band is specified.
+; lower_cutoff_freq = 50
+; higher_cutoff_freq = 10000
+
+
+# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
+# only check for input once per second. Cava will wake up once input is detected. 0 = disable.
+; sleep_timer = 0
+
+
+[input]
+
+# Audio capturing method. Possible methods are: 'pulse', 'alsa', 'fifo', 'sndio' or 'shmem'
+# Defaults to 'pulse', 'alsa' or 'fifo', in that order, dependent on what support cava was built with.
+#
+# All input methods uses the same config variable 'source'
+# to define where it should get the audio.
+#
+# For pulseaudio 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
+# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
+#
+# For alsa 'source' will be the capture device.
+# For fifo 'source' will be the path to fifo-file.
+# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
+; method = pulse
+; source = auto
+
+; method = alsa
+; source = hw:Loopback,1
+
+; method = fifo
+; source = /tmp/mpd.fifo
+; sample_rate = 44100
+; sample_bits = 16
+
+; method = shmem
+; source = /squeezelite-AA:BB:CC:DD:EE:FF
+
+; method = portaudio
+; source = auto
+
+
+[output]
+
+# Output method. Can be 'ncurses', 'noncurses' or 'raw'.
+# 'noncurses' uses a custom framebuffer technique and draws only changes
+# from frame to frame. 'ncurses' is default if supported
+#
+# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data
+# stream of the bar heights that can be used to send to other applications.
+# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
+; method = ncurses
+
+# Visual channels. Can be 'stereo' or 'mono'.
+# 'stereo' mirrors both channels with low frequencies in center.
+# 'mono' outputs left to right lowest to highest frequencies.
+# 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
+; channels = stereo
+; mono_option = average
+
+# Raw output target. A fifo will be created if target does not exist.
+; raw_target = /dev/stdout
+
+# Raw data format. Can be 'binary' or 'ascii'.
+; data_format = binary
+
+# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
+; bit_format = 16bit
+
+# Ascii max value. In 'ascii' mode range will run from 0 to value specified here
+; ascii_max_range = 1000
+
+# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
+# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
+; bar_delimiter = 59
+; frame_delimiter = 10
+
+
+
+[color]
+
+# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
+# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
+# ncurses output method and a terminal that can change color definitions such as Gnome-terminal or rxvt.
+# if supported, ncurses mode will be forced on if user defined colors are used.
+# default is to keep current terminal color
+; background = #ff6c6b
+; foreground = #ff6c6b
+
+# Gradient mode, only hex defined colors (and thereby ncurses mode) are supported,
+# background must also be defined in hex or remain commented out. 1 = on, 0 = off.
+# You can define as many as 8 different colors. They range from bottom to top of screen
+# gradient = 1
+# gradient_count = 2
+# gradient_color_1 = '#E1FFAF'
+# gradient_color_2 = '#E1FFAF'
+# gradient_color_3 = '#a6cc33'
+# gradient_color_4 = '#cccc33'
+# gradient_color_5 = '#cca633'
+# gradient_color_6 = '#cc8033'
+# gradient_color_7 = '#cc5933'
+# gradient_color_8 = '#c792ea'
+
+
+
+[smoothing]
+
+# Percentage value for integral smoothing. Takes values from 0 - 100.
+# Higher values means smoother, but less precise. 0 to disable.
+; integral = 77
+
+# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.
+; monstercat = 0
+; waves = 0
+
+# Set gravity percentage for "drop off". Higher values means bars will drop faster.
+# Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off".
+; gravity = 100
+
+
+# In bar height, bars that would have been lower that this will not be drawn.
+; ignore = 0
+
+
+[eq]
+
+# This one is tricky. You can have as much keys as you want.
+# Remember to uncomment more then one key! More keys = more precision.
+# Look at readme.md on github for further explanations and examples.
+ 1 = 1 # bass
+ 2 = 1
+ 3 = 1 # midtone
+ 4 = 1
+ 5 = 1 # treble
+
+
+
diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc
new file mode 120000
index 0000000..ff68f1c
--- /dev/null
+++ b/.config/dunst/dunstrc
@@ -0,0 +1 @@
+/home/krolyxon/.cache/wal/dunstrc \ No newline at end of file
diff --git a/.config/gtk-2.0/gtkfilechooser.ini b/.config/gtk-2.0/gtkfilechooser.ini
new file mode 100644
index 0000000..00ae93b
--- /dev/null
+++ b/.config/gtk-2.0/gtkfilechooser.ini
@@ -0,0 +1,11 @@
+[Filechooser Settings]
+LocationMode=path-bar
+ShowHidden=true
+ShowSizeColumn=true
+GeometryX=0
+GeometryY=0
+GeometryWidth=780
+GeometryHeight=585
+SortColumn=name
+SortOrder=ascending
+StartupMode=recent
diff --git a/.config/gtk-2.0/gtkrc-2.0 b/.config/gtk-2.0/gtkrc-2.0
new file mode 100644
index 0000000..9d288ab
--- /dev/null
+++ b/.config/gtk-2.0/gtkrc-2.0
@@ -0,0 +1,18 @@
+# DO NOT EDIT! This file will be overwritten by LXAppearance.
+# Any customization should be done in ~/.gtkrc-2.0.mine instead.
+
+include "/home/glizzster/.gtkrc-2.0.mine"
+gtk-theme-name="Arc-Dark"
+gtk-icon-theme-name="Papirus-Dark"
+gtk-font-name="Cantarell 11"
+gtk-cursor-theme-name="Adwaita"
+gtk-cursor-theme-size=0
+gtk-toolbar-style=GTK_TOOLBAR_BOTH
+gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
+gtk-button-images=1
+gtk-menu-images=1
+gtk-enable-event-sounds=1
+gtk-enable-input-feedback-sounds=1
+gtk-xft-antialias=1
+gtk-xft-hinting=1
+gtk-xft-hintstyle="hintfull"
diff --git a/.config/gtk-3.0/bookmarks b/.config/gtk-3.0/bookmarks
new file mode 100644
index 0000000..cd36ca4
--- /dev/null
+++ b/.config/gtk-3.0/bookmarks
@@ -0,0 +1,7 @@
+file:///home/krolyxon/media/dl dl
+file:///home/krolyxon/media/dox dox
+file:///home/krolyxon/media/pix pix
+file:///home/krolyxon/media/vids vids
+file:///home/krolyxon/media/music music
+file:///home/krolyxon/media media
+file:///home/krolyxon/code code
diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini
new file mode 100644
index 0000000..0318e32
--- /dev/null
+++ b/.config/gtk-3.0/settings.ini
@@ -0,0 +1,15 @@
+[Settings]
+gtk-theme-name=Arc-Dark
+gtk-icon-theme-name=Papirus-Dark
+gtk-font-name=Cantarell 11
+gtk-cursor-theme-name=Adwaita
+gtk-cursor-theme-size=0
+gtk-toolbar-style=GTK_TOOLBAR_BOTH
+gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
+gtk-button-images=1
+gtk-menu-images=1
+gtk-enable-event-sounds=1
+gtk-enable-input-feedback-sounds=1
+gtk-xft-antialias=1
+gtk-xft-hinting=1
+gtk-xft-hintstyle=hintfull
diff --git a/.config/mimeapps.list b/.config/mimeapps.list
new file mode 100644
index 0000000..c8410f4
--- /dev/null
+++ b/.config/mimeapps.list
@@ -0,0 +1,14 @@
+[Default Applications]
+text/x-shellscript=text.desktop;
+x-scheme-handler/magnet=torrent.desktop;
+application/x-bittorrent=torrent.desktop;
+text/plain=nvim.desktop
+application/postscript=pdf.desktop;
+application/pdf=pdf.desktop;
+image/png=img.desktop;
+image/jpeg=img.desktop;
+image/gif=img.desktop;
+application/rss+xml=rss.desktop
+video/x-matroska=video.desktop
+x-scheme-handler/lbry=lbry.desktop
+inode/directory=file.desktop
diff --git a/.config/paru/paru.conf b/.config/paru/paru.conf
new file mode 100644
index 0000000..fb8db4c
--- /dev/null
+++ b/.config/paru/paru.conf
@@ -0,0 +1,38 @@
+#
+# $PARU_CONF
+# /etc/paru.conf
+# ~/.config/paru/paru.conf
+#
+# See the paru.conf(5) manpage for options
+
+#
+# GENERAL OPTIONS
+#
+[options]
+PgpFetch
+Devel
+Provides
+DevelSuffixes = -git -cvs -svn -bzr -darcs -always -hg
+#AurOnly
+#BottomUp
+RemoveMake
+#SudoLoop
+#UseAsk
+#SaveChanges
+#CombinedUpgrade
+#CleanAfter
+#UpgradeMenu
+#NewsOnUpgrade
+
+#LocalRepo
+#Chroot
+#Sign
+#SignDb
+
+#
+# Binary OPTIONS
+#
+#[bin]
+#FileManager = vifm
+#MFlags = --skippgpcheck
+#Sudo = doas
diff --git a/.config/pcmanfm/default/pcmanfm.conf b/.config/pcmanfm/default/pcmanfm.conf
new file mode 100644
index 0000000..8f13c74
--- /dev/null
+++ b/.config/pcmanfm/default/pcmanfm.conf
@@ -0,0 +1,26 @@
+[config]
+bm_open_method=0
+
+[volume]
+mount_on_startup=1
+mount_removable=1
+autorun=1
+
+[ui]
+always_show_tabs=0
+max_tab_chars=32
+win_width=1049
+win_height=1053
+splitter_pos=147
+media_in_new_tab=0
+desktop_folder_new_win=0
+change_tab_on_drop=1
+close_on_unmount=1
+focus_previous=0
+side_pane_mode=places
+view_mode=icon
+show_hidden=1
+sort=name;ascending;
+toolbar=newtab;navigation;home;
+show_statusbar=1
+pathbar_mode_buttons=0
diff --git a/.config/ranger/plugins/__init__.py b/.config/ranger/plugins/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/.config/ranger/plugins/__init__.py
diff --git a/.config/ranger/plugins/__pycache__/__init__.cpython-310.opt-1.pyc b/.config/ranger/plugins/__pycache__/__init__.cpython-310.opt-1.pyc
new file mode 100644
index 0000000..ac1fed7
--- /dev/null
+++ b/.config/ranger/plugins/__pycache__/__init__.cpython-310.opt-1.pyc
Binary files differ
diff --git a/.config/ranger/plugins/ranger_devicons/__init__.py b/.config/ranger/plugins/ranger_devicons/__init__.py
new file mode 100644
index 0000000..664b276
--- /dev/null
+++ b/.config/ranger/plugins/ranger_devicons/__init__.py
@@ -0,0 +1,15 @@
+import os
+import ranger.api
+from ranger.core.linemode import LinemodeBase
+from .devicons import *
+
+SEPARATOR = os.getenv('RANGER_DEVICONS_SEPARATOR', ' ')
+
+@ranger.api.register_linemode
+class DevIconsLinemode(LinemodeBase):
+ name = "devicons"
+
+ uses_metadata = False
+
+ def filetitle(self, file, metadata):
+ return devicon(file) + SEPARATOR + file.relative_path
diff --git a/.config/ranger/plugins/ranger_devicons/__pycache__/__init__.cpython-310.opt-1.pyc b/.config/ranger/plugins/ranger_devicons/__pycache__/__init__.cpython-310.opt-1.pyc
new file mode 100644
index 0000000..7217fe6
--- /dev/null
+++ b/.config/ranger/plugins/ranger_devicons/__pycache__/__init__.cpython-310.opt-1.pyc
Binary files differ
diff --git a/.config/ranger/plugins/ranger_devicons/__pycache__/devicons.cpython-310.opt-1.pyc b/.config/ranger/plugins/ranger_devicons/__pycache__/devicons.cpython-310.opt-1.pyc
new file mode 100644
index 0000000..2e46d80
--- /dev/null
+++ b/.config/ranger/plugins/ranger_devicons/__pycache__/devicons.cpython-310.opt-1.pyc
Binary files differ
diff --git a/.config/ranger/plugins/ranger_devicons/devicons.py b/.config/ranger/plugins/ranger_devicons/devicons.py
new file mode 100644
index 0000000..ba67667
--- /dev/null
+++ b/.config/ranger/plugins/ranger_devicons/devicons.py
@@ -0,0 +1,381 @@
+#!/usr/bin/python
+# coding=UTF-8
+# These glyphs, and the mapping of file extensions to glyphs
+# has been copied from the vimscript code that is present in
+# https://github.com/ryanoasis/vim-devicons
+import re;
+import os;
+
+# Get the XDG_USER_DIRS directory names from enviromental variables
+
+xdgs_dirs = {path.split('/')[-2]: icon for key, icon in [
+ ('XDG_DOCUMENTS_DIR' , ''),
+ ('XDG_DOWNLOAD_DIR' , ''),
+ ('XDG_CONFIG_DIR' , ''),
+ ('XDG_MUSIC_DIR' , ''),
+ ('XDG_PICTURES_DIR' , ''),
+ ('XDG_PUBLICSHARE_DIR', ''),
+ ('XDG_TEMPLATES_DIR' , ''),
+ ('XDG_VIDEOS_DIR' , ''),
+] if (path := os.getenv(key))}
+
+
+# all those glyphs will show as weird squares if you don't have the correct patched font
+# My advice is to use NerdFonts which can be found here:
+# https://github.com/ryanoasis/nerd-fonts
+file_node_extensions = {
+ '7z' : '',
+ 'a' : '',
+ 'ai' : '',
+ 'apk' : '',
+ 'asm' : '',
+ 'asp' : '',
+ 'aup' : '',
+ 'avi' : '',
+ 'awk' : '',
+ 'bash' : '',
+ 'bat' : '',
+ 'bmp' : '',
+ 'bz2' : '',
+ 'c' : '',
+ 'c++' : '',
+ 'cab' : '',
+ 'cbr' : '',
+ 'cbz' : '',
+ 'cc' : '',
+ 'class' : '',
+ 'clj' : '',
+ 'cljc' : '',
+ 'cljs' : '',
+ 'cmake' : '',
+ 'coffee' : '',
+ 'conf' : '',
+ 'cp' : '',
+ 'cpio' : '',
+ 'cpp' : '',
+ 'cs' : '',
+ 'csh' : '',
+ 'css' : '',
+ 'cue' : '',
+ 'cvs' : '',
+ 'cxx' : '',
+ 'd' : '',
+ 'dart' : '',
+ 'db' : '',
+ 'deb' : '',
+ 'diff' : '',
+ 'dll' : '',
+ 'doc' : '',
+ 'docx' : '',
+ 'dump' : '',
+ 'edn' : '',
+ 'eex' : '',
+ 'efi' : '',
+ 'ejs' : '',
+ 'elf' : '',
+ 'elm' : '',
+ 'epub' : '',
+ 'erl' : '',
+ 'ex' : '',
+ 'exe' : '',
+ 'exs' : '',
+ 'f#' : '',
+ 'fifo' : 'ﳣ',
+ 'fish' : '',
+ 'flac' : '',
+ 'flv' : '',
+ 'fs' : '',
+ 'fsi' : '',
+ 'fsscript' : '',
+ 'fsx' : '',
+ 'gem' : '',
+ 'gemspec' : '',
+ 'gif' : '',
+ 'go' : '',
+ 'gz' : '',
+ 'gzip' : '',
+ 'h' : '',
+ 'haml' : '',
+ 'hbs' : '',
+ 'hh' : '',
+ 'hpp' : '',
+ 'hrl' : '',
+ 'hs' : '',
+ 'htaccess' : '',
+ 'htm' : '',
+ 'html' : '',
+ 'htpasswd' : '',
+ 'hxx' : '',
+ 'ico' : '',
+ 'img' : '',
+ 'ini' : '',
+ 'iso' : '',
+ 'jar' : '',
+ 'java' : '',
+ 'jl' : '',
+ 'jpeg' : '',
+ 'jpg' : '',
+ 'js' : '',
+ 'json' : '',
+ 'jsx' : '',
+ 'key' : '',
+ 'ksh' : '',
+ 'leex' : '',
+ 'less' : '',
+ 'lha' : '',
+ 'lhs' : '',
+ 'log' : '',
+ 'lua' : '',
+ 'lzh' : '',
+ 'lzma' : '',
+ 'm4a' : '',
+ 'm4v' : '',
+ 'markdown' : '',
+ 'md' : '',
+ 'mdx' : '',
+ 'mjs' : '',
+ 'mkv' : '',
+ 'ml' : 'λ',
+ 'mli' : 'λ',
+ 'mov' : '',
+ 'mp3' : '',
+ 'mp4' : '',
+ 'mpeg' : '',
+ 'mpg' : '',
+ 'msi' : '',
+ 'mustache' : '',
+ 'nix' : '',
+ 'o' : '',
+ 'ogg' : '',
+ 'part' : '',
+ 'pdf' : '',
+ 'php' : '',
+ 'pl' : '',
+ 'pm' : '',
+ 'png' : '',
+ 'pp' : '',
+ 'ppt' : '',
+ 'pptx' : '',
+ 'ps1' : '',
+ 'psb' : '',
+ 'psd' : '',
+ 'pub' : '',
+ 'py' : '',
+ 'pyc' : '',
+ 'pyd' : '',
+ 'pyo' : '',
+ 'r' : 'ﳒ',
+ 'rake' : '',
+ 'rar' : '',
+ 'rb' : '',
+ 'rc' : '',
+ 'rlib' : '',
+ 'rmd' : '',
+ 'rom' : '',
+ 'rpm' : '',
+ 'rproj' : '鉶',
+ 'rs' : '',
+ 'rss' : '',
+ 'rtf' : '',
+ 's' : '',
+ 'sass' : '',
+ 'scala' : '',
+ 'scss' : '',
+ 'sh' : '',
+ 'slim' : '',
+ 'sln' : '',
+ 'so' : '',
+ 'sql' : '',
+ 'styl' : '',
+ 'suo' : '',
+ 'swift' : '',
+ 't' : '',
+ 'tar' : '',
+ 'tex' : 'ﭨ',
+ 'tgz' : '',
+ 'toml' : '',
+ 'torrent' : '',
+ 'ts' : '',
+ 'tsx' : '',
+ 'twig' : '',
+ 'vim' : '',
+ 'vimrc' : '',
+ 'vue' : '﵂',
+ 'wav' : '',
+ 'webm' : '',
+ 'webmanifest' : '',
+ 'webp' : '',
+ 'xbps' : '',
+ 'xcplayground' : '',
+ 'xhtml' : '',
+ 'xls' : '',
+ 'xlsx' : '',
+ 'xml' : '',
+ 'xul' : '',
+ 'xz' : '',
+ 'yaml' : '',
+ 'yml' : '',
+ 'zip' : '',
+ 'zsh' : '',
+}
+
+dir_node_exact_matches = {
+# English
+ '.git' : '',
+ 'Desktop' : '',
+ 'Documents' : '',
+ 'Downloads' : '',
+ 'Dotfiles' : '',
+ 'Dropbox' : '',
+ 'Music' : '',
+ 'Pictures' : '',
+ 'Public' : '',
+ 'Templates' : '',
+ 'Videos' : '',
+# Spanish
+ 'Escritorio' : '',
+ 'Documentos' : '',
+ 'Descargas' : '',
+ 'Música' : '',
+ 'Imágenes' : '',
+ 'Público' : '',
+ 'Plantillas' : '',
+ 'Vídeos' : '',
+# French
+ 'Bureau' : '',
+ 'Documents' : '',
+ 'Images' : '',
+ 'Musique' : '',
+ 'Publique' : '',
+ 'Téléchargements' : '',
+ 'Vidéos' : '',
+# Portuguese
+ 'Documentos' : '',
+ 'Imagens' : '',
+ 'Modelos' : '',
+ 'Música' : '',
+ 'Público' : '',
+ 'Vídeos' : '',
+ 'Área de trabalho' : '',
+# Italian
+ 'Documenti' : '',
+ 'Immagini' : '',
+ 'Modelli' : '',
+ 'Musica' : '',
+ 'Pubblici' : '',
+ 'Scaricati' : '',
+ 'Scrivania' : '',
+ 'Video' : '',
+# German
+ 'Bilder' : '',
+ 'Dokumente' : '',
+ 'Musik' : '',
+ 'Schreibtisch' : '',
+ 'Vorlagen' : '',
+ 'Öffentlich' : '',
+# Hungarian
+ 'Dokumentumok' : '',
+ 'Képek' : '',
+ 'Modelli' : '',
+ 'Zene' : '',
+ 'Letöltések' : '',
+ 'Számítógép' : '',
+ 'Videók' : '',
+# XDG_USER_DIRS
+ **xdgs_dirs
+}
+
+file_node_exact_matches = {
+ '.bash_aliases' : '',
+ '.bash_history' : '',
+ '.bash_logout' : '',
+ '.bash_profile' : '',
+ '.bashprofile' : '',
+ '.bashrc' : '',
+ '.dmrc' : '',
+ '.DS_Store' : '',
+ '.fasd' : '',
+ '.fehbg' : '',
+ '.gitattributes' : '',
+ '.gitconfig' : '',
+ '.gitignore' : '',
+ '.gitlab-ci.yml' : '',
+ '.gvimrc' : '',
+ '.inputrc' : '',
+ '.jack-settings' : '',
+ '.mime.types' : '',
+ '.ncmpcpp' : '',
+ '.nvidia-settings-rc' : '',
+ '.pam_environment' : '',
+ '.profile' : '',
+ '.recently-used' : '',
+ '.selected_editor' : '',
+ '.vim' : '',
+ '.viminfo' : '',
+ '.vimrc' : '',
+ '.Xauthority' : '',
+ '.Xdefaults' : '',
+ '.xinitrc' : '',
+ '.xinputrc' : '',
+ '.Xresources' : '',
+ '.zshrc' : '',
+ '_gvimrc' : '',
+ '_vimrc' : '',
+ 'a.out' : '',
+ 'authorized_keys' : '',
+ 'bspwmrc' : '',
+ 'cmakelists.txt' : '',
+ 'config' : '',
+ 'config.ac' : '',
+ 'config.m4' : '',
+ 'config.mk' : '',
+ 'config.ru' : '',
+ 'configure' : '',
+ 'docker-compose.yml' : '',
+ 'dockerfile' : '',
+ 'Dockerfile' : '',
+ 'dropbox' : '',
+ 'exact-match-case-sensitive-1.txt' : 'X1',
+ 'exact-match-case-sensitive-2' : 'X2',
+ 'favicon.ico' : '',
+ 'gemfile' : '',
+ 'gruntfile.coffee' : '',
+ 'gruntfile.js' : '',
+ 'gruntfile.ls' : '',
+ 'gulpfile.coffee' : '',
+ 'gulpfile.js' : '',
+ 'gulpfile.ls' : '',
+ 'ini' : '',
+ 'known_hosts' : '',
+ 'ledger' : '',
+ 'license' : '',
+ 'LICENSE' : '',
+ 'LICENSE.md' : '',
+ 'LICENSE.txt' : '',
+ 'Makefile' : '',
+ 'makefile' : '',
+ 'Makefile.ac' : '',
+ 'Makefile.in' : '',
+ 'mimeapps.list' : '',
+ 'mix.lock' : '',
+ 'node_modules' : '',
+ 'package-lock.json' : '',
+ 'package.json' : '',
+ 'playlists' : '',
+ 'procfile' : '',
+ 'Rakefile' : '',
+ 'rakefile' : '',
+ 'react.jsx' : '',
+ 'README' : '',
+ 'README.markdown' : '',
+ 'README.md' : '',
+ 'README.rst' : '',
+ 'README.txt' : '',
+ 'sxhkdrc' : '',
+ 'user-dirs.dirs' : '',
+ 'webpack.config.js' : '',
+}
+
+def devicon(file):
+ if file.is_directory: return dir_node_exact_matches.get(file.relative_path, '')
+ return file_node_exact_matches.get(os.path.basename(file.relative_path), file_node_extensions.get(file.extension, ''))
diff --git a/.config/ranger/rc.conf b/.config/ranger/rc.conf
new file mode 100644
index 0000000..103fc56
--- /dev/null
+++ b/.config/ranger/rc.conf
@@ -0,0 +1,25 @@
+# How many columns are there, and what are their relative widths?
+set column_ratios 1,3,5
+
+# Ask for a confirmation when running the "delete" command?
+# Valid values are "always", "never", "multiple" (default)
+# With "multiple", ranger will ask only if you delete multiple files at once.
+#Always confirm delete.
+#set confirm_on_delete always
+
+# Which colorscheme to use? These colorschemes are available by default:
+# default, jungle, snow, solarized
+set colorscheme jungle
+
+#The files preview is a nice feature but it slowing down ranger, so can be preferable to turn it off. Look for:
+# Preview files on the rightmost column?
+# And collapse (shrink) the last column if there is nothing to preview?
+# set preview_files true
+# set preview_directories true
+# set collapse_preview true
+
+set show_hidden true
+set draw_borders both
+set preview_images true
+set preview_images_method ueberzug
+default_linemode devicons
diff --git a/.config/shell/aliasrc b/.config/shell/aliasrc
new file mode 100644
index 0000000..0458438
--- /dev/null
+++ b/.config/shell/aliasrc
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+# Use neovim for vim if present
+[ -x "$(command -v nvim)" ] && alias vim="nvim" vimdiff="nvim -d"
+
+alias \
+ zconf='nvim ~/.config/zsh/.zshrc' \
+ ls='exa -a --group-directories-first --icons' \
+ lsa='exa -la --group-directories-first --icons' \
+ ytdl='yt-dlp' \
+ ytdlv='yt-dlp -f "(mp4)"' \
+ ytdlm='yt-dlp -f "(mp3)"' \
+ cl='clear' \
+ dots='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME' \
+ fm='ranger' \
+
+# Verbosity and settings that you pretty much just always are going to want.
+alias \
+ cp="cp -iv" \
+ mv="mv -iv" \
+ rm="rm -vI" \
+
+# Colorize commands when possible.
+alias \
+ grep="grep --color=auto" \
+ diff="diff --color=auto" \
+ ip="ip -color=auto"
+
+ec() {find ~/.config -type f | fzf | xargs -r $EDITOR ;}
+es() {find ~/.local/bin -type f | fzf | xargs -r $EDITOR ;}
+ef() {fzf | xargs -r -I % $EDITOR % ;}
diff --git a/.config/shell/profile b/.config/shell/profile
new file mode 100644
index 0000000..bee277a
--- /dev/null
+++ b/.config/shell/profile
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+export EDITOR="nvim"
+export TERMINAL="st"
+export BROWSER="firefox"
+
+export XDG_CONFIG_HOME="$HOME/.config"
+export XDG_DATA_HOME="$HOME/.local/share"
+export XDG_CACHE_HOME="$HOME/.cache"
+
+export XAUTHORITY=/tmp/Xauthority # This causes other window managers to break, who cares anyways?
+export XINITRC="$XDG_CONFIG_HOME/x11/xinitrc"
+export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
+export INPUTRC="$XDG_CONFIG_HOME/shell/inputrc"
+# export GNUPGHOME="$XDG_DATA_HOME/gnupg"
+export KODI_DATA="$XDG_DATA_HOME/kodi"
+export CARGO_HOME="$XDG_DATA_HOME/cargo"
+export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
+export GTK2_RC_FILES="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-2.0/gtkrc-2.0"
+#export LESSHISTFILE="-"
+export WGETRC="${XDG_CONFIG_HOME:-$HOME/.config}/wget/wgetrc"
+# export QT_QPA_PLATFORMTHEME="gtk2" # Have QT use gtk2 theme.
+export __GL_SHADER_DISK_CACHE_PATH=~/.cache/
+
+# Other program settings
+export FZF_DEFAULT_OPTS="--layout=reverse --height 40%"
+
+export PATH=$PATH:$HOME/.local/bin
+
+# Starting X
+if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
+ exec startx
+fi
+
diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc
new file mode 100755
index 0000000..ca4dc11
--- /dev/null
+++ b/.config/sxhkd/sxhkdrc
@@ -0,0 +1,30 @@
+#
+# wm independent hotkeys
+#
+#emoji menu
+# super + period
+super + grave
+ unicode_emoji
+
+# swap cap if stops working
+super + c
+ setxkbmap -option caps:swapescape
+# Screenshot tool
+Print
+ maimshot
+
+# file explorer
+super + shift + f
+ pcmanfm
+
+# web browser
+super + shift + b
+ firefox
+
+# make sxhkd reload its configuration files:
+super + Escape
+ pkill -USR1 -x sxhkd
+
+# Volume
+XF86Audio{RaiseVolume,LowerVolume,Mute}
+ pamixer -{i,d,t} 2; kill -34 $(cat ~/.cache/pidofbar)
diff --git a/.config/sxiv/exec/key-handler b/.config/sxiv/exec/key-handler
new file mode 100755
index 0000000..303ea63
--- /dev/null
+++ b/.config/sxiv/exec/key-handler
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+while read file
+do
+ case "$1" in
+ "d")
+ [ "$(printf "No\\nYes" | dmenu -i -p "Really delete $file?")" = "Yes" ] && rm "$file" && notify-send "$file deleted." ;;
+ "w")
+ genwall $file
+ esac
+done
diff --git a/.config/user-dirs.dirs b/.config/user-dirs.dirs
new file mode 100644
index 0000000..b530e7e
--- /dev/null
+++ b/.config/user-dirs.dirs
@@ -0,0 +1,15 @@
+# This file is written by xdg-user-dirs-update
+# If you want to change or add directories, just edit the line you're
+# interested in. All local changes will be retained on the next run.
+# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
+# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
+# absolute path. No other format is supported.
+#
+XDG_DESKTOP_DIR="$HOME/"
+XDG_DOWNLOAD_DIR="$HOME/dl"
+XDG_TEMPLATES_DIR="$HOME/"
+XDG_PUBLICSHARE_DIR="$HOME/"
+XDG_DOCUMENTS_DIR="$HOME/dox"
+XDG_MUSIC_DIR="$HOME/"
+XDG_PICTURES_DIR="$HOME/pix"
+XDG_VIDEOS_DIR="$HOME/vids"
diff --git a/.config/wal/templates/dunstrc b/.config/wal/templates/dunstrc
new file mode 100644
index 0000000..2bcddd4
--- /dev/null
+++ b/.config/wal/templates/dunstrc
@@ -0,0 +1,60 @@
+# New Start: A modern Arch workflow built with an emphasis on functionality.
+# Copyright (C) 2018 Donovan Glover
+
+# NOTE: This file is automatically generated by pywal. Do not edit it by hand.
+
+[global]
+ # Make the width 3740 (3840 - 100), have 50 left margin and 95 above
+ # geometry = "3740x5-50+95"
+ offset = 3x20
+
+ # Show multiple notifications in the same box
+ separator_height = 0
+
+ # Add vertical padding to the inside of the notification
+ padding = 8
+
+ # Add horizontal padding for when the text gets long enough
+ horizontal_padding = 8
+
+ # The frame color and width of the notification
+ frame_color = "{color6}"
+ frame_width = 2
+
+ # How long a user needs to be idle for sticky notifications
+ idle_threshold = 120
+
+ # Font and typography settings
+ font = Hack Nerd Font 10
+ alignment = left
+ word_wrap = yes
+
+ # Format for how notifications will be displayed
+ # Usage: `notify-send 'Title' 'Summary'`
+ format = "<b>%s</b>\n%b"
+
+ # Allow some HTML tags like <i> and <u> in notifications
+ markup = full
+ max_icon_size = 120
+ transparency = 5
+
+# These are the keybindings used to control dunst notifications
+[shortcuts]
+ close = ctrl+space
+ close_all = ctrl+shift+space
+ history = ctrl+grave
+
+# Set the background and foreground (text) color for all notifications
+[urgency_low]
+ background = "{background}"
+ foreground = "{foreground}"
+
+[urgency_normal]
+ background = "{background}"
+ foreground = "{foreground}"
+
+[urgency_critical]
+ background = "{background}"
+ foreground = "{foreground}"
+
+# vim:ft=cfg
diff --git a/.config/x11/xinitrc b/.config/x11/xinitrc
new file mode 100644
index 0000000..4d3d62f
--- /dev/null
+++ b/.config/x11/xinitrc
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+slstatus &
+setwall &
+xcompmgr &
+dunst &
+sxhkd &
+# xmodmap ~/.config/xmodmap/Xmodmap &
+setxkbmap -option caps:swapescape
+# exec dwm > /dev/null 2>&1
+
+while type dwm > /dev/null ; do dwm && continue || break ; done
+exec dwm
diff --git a/.config/zathura/zathurarc b/.config/zathura/zathurarc
new file mode 100755
index 0000000..115489a
--- /dev/null
+++ b/.config/zathura/zathurarc
@@ -0,0 +1,56 @@
+set sandbox none
+set statusbar-h-padding 0
+set statusbar-v-padding 0
+set page-padding 1
+set selection-clipboard clipboard
+map u scroll half-up
+map d scroll half-down
+map D toggle_page_mode
+map r reload
+map R rotate
+map K zoom in
+map J zoom out
+map i recolor
+map p print
+map g goto top
+
+/* set notification-error-bg "#282828" # bg */
+/* set notification-error-fg "#fb4934" # bright:red */
+/* set notification-warning-bg "#282828" # bg */
+/* set notification-warning-fg "#fabd2f" # bright:yellow */
+/* set notification-bg "#282828" # bg */
+/* set notification-fg "#b8bb26" # bright:green */
+
+/* set completion-bg "#504945" # bg2 */
+/* set completion-fg "#ebdbb2" # fg */
+/* set completion-group-bg "#3c3836" # bg1 */
+/* set completion-group-fg "#928374" # gray */
+/* set completion-highlight-bg "#83a598" # bright:blue */
+/* set completion-highlight-fg "#504945" # bg2 */
+
+/* # Define the color in index mode */
+/* set index-bg "#504945" # bg2 */
+/* set index-fg "#ebdbb2" # fg */
+/* set index-active-bg "#83a598" # bright:blue */
+/* set index-active-fg "#504945" # bg2 */
+
+/* set inputbar-bg "#282828" # bg */
+/* set inputbar-fg "#ebdbb2" # fg */
+
+/* set statusbar-bg "#504945" # bg2 */
+/* set statusbar-fg "#ebdbb2" # fg */
+
+/* set highlight-color "#fabd2f" # bright:yellow */
+/* set highlight-active-color "#fe8019" # bright:orange */
+
+/* set default-bg "#282828" # bg */
+/* set default-fg "#D4BE98" # fg */
+/* set render-loading true */
+/* set render-loading-bg "#282828" # bg */
+/* set render-loading-fg "#ebdbb2" # fg */
+
+/* # Recolor book content's color */
+/* set recolor-lightcolor "#282828" # bg */
+/* set recolor-darkcolor "#ebdbb2" # fg */
+/* set recolor "true" */
+/* # set recolor-keephue true # keep original color */
diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc
new file mode 100644
index 0000000..016aae1
--- /dev/null
+++ b/.config/zsh/.zshrc
@@ -0,0 +1,27 @@
+autoload -U colors && colors # Load colors
+PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b "
+setopt autocd # Automatically cd into typed directory.
+stty stop undef # Disable ctrl-s to freeze terminal.
+
+# History in cache directory:
+HISTSIZE=1000
+SAVEHIST=1000
+HISTFILE=~/.cache/history
+
+source "$XDG_CONFIG_HOME/shell/aliasrc"
+
+# Basic auto/tab complete:
+autoload -U compinit
+zstyle ':completion:*' menu select
+zmodload zsh/complist
+compinit
+_comp_options+=(globdots) # Include hidden files.
+
+# Enable searching through history
+bindkey '^R' history-incremental-pattern-search-backward
+
+cowsay "$(shuf -n 1 ~/.local/share/vocab/words.txt)"
+
+#should be last.
+source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
+source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
diff --git a/.local/bin/colorpicker b/.local/bin/colorpicker
new file mode 100755
index 0000000..ab19d07
--- /dev/null
+++ b/.local/bin/colorpicker
Binary files differ
diff --git a/.local/bin/connect_wifi b/.local/bin/connect_wifi
new file mode 100755
index 0000000..3b4d5f8
--- /dev/null
+++ b/.local/bin/connect_wifi
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+bssid=$(nmcli device wifi list | sed -n '1!p' | cut -b 9- | dmenu -p "Select wifi:" -l 20 | cut -d' ' -f1)
+pass=$(echo "" | dmenu -P -p "Enter Password: ")
+nmcli device wifi connect $bssid password $pass
diff --git a/.local/bin/dmenumount b/.local/bin/dmenumount
new file mode 100755
index 0000000..b414dc8
--- /dev/null
+++ b/.local/bin/dmenumount
@@ -0,0 +1,67 @@
+#!/bin/sh
+
+# Gives a dmenu prompt to mount unmounted drives and Android phones. If
+# they're in /etc/fstab, they'll be mounted automatically. Otherwise, you'll
+# be prompted to give a mountpoint from already existsing directories. If you
+# input a novel directory, it will prompt you to create that directory.
+
+getmount() { \
+ [ -z "$chosen" ] && exit 1
+ # shellcheck disable=SC2086
+ mp="$(find $1 2>/dev/null | dmenu -i -p "Type in mount point.")" || exit 1
+ test -z "$mp" && exit 1
+ if [ ! -d "$mp" ]; then
+ mkdiryn=$(printf "No\\nYes" | dmenu -i -p "$mp does not exist. Create it?") || exit 1
+ [ "$mkdiryn" = "Yes" ] && (mkdir -p "$mp" || sudo -A mkdir -p "$mp")
+ fi
+ }
+
+mountusb() { \
+ chosen="$(echo "$usbdrives" | dmenu -i -p "Mount which drive?")" || exit 1
+ chosen="$(echo "$chosen" | awk '{print $1}')"
+ sudo -A mount "$chosen" 2>/dev/null && notify-send "💻 USB mounting" "$chosen mounted." && exit 0
+ alreadymounted=$(lsblk -nrpo "name,type,mountpoint" | awk '$3!~/\/boot|\/home$|SWAP/&&length($3)>1{printf "-not ( -path *%s -prune ) ",$3}')
+ getmount "/mnt /media /mount /home -maxdepth 5 -type d $alreadymounted"
+ partitiontype="$(lsblk -no "fstype" "$chosen")"
+ case "$partitiontype" in
+ "vfat") sudo -A mount -t vfat "$chosen" "$mp" -o rw,umask=0000;;
+ "exfat") sudo -A mount "$chosen" "$mp" -o uid="$(id -u)",gid="$(id -g)";;
+ *) sudo -A mount "$chosen" "$mp"; user="$(whoami)"; ug="$(groups | awk '{print $1}')"; sudo -A chown "$user":"$ug" "$mp";;
+ esac
+ notify-send "💻 USB mounting" "$chosen mounted to $mp."
+ }
+
+mountandroid() { \
+ chosen="$(echo "$anddrives" | dmenu -i -p "Which Android device?")" || exit 1
+ chosen="$(echo "$chosen" | cut -d : -f 1)"
+ getmount "$HOME -maxdepth 3 -type d"
+ simple-mtpfs --device "$chosen" "$mp"
+ echo "OK" | dmenu -i -p "Tap Allow on your phone if it asks for permission and then press enter" || exit 1
+ simple-mtpfs --device "$chosen" "$mp"
+ notify-send "🤖 Android Mounting" "Android device mounted to $mp."
+ }
+
+asktype() { \
+ choice="$(printf "USB\\nAndroid" | dmenu -i -p "Mount a USB drive or Android device?")" || exit 1
+ case $choice in
+ USB) mountusb ;;
+ Android) mountandroid ;;
+ esac
+ }
+
+anddrives=$(simple-mtpfs -l 2>/dev/null)
+usbdrives="$(lsblk -rpo "name,type,size,mountpoint" | grep 'part\|rom' | awk '$4==""{printf "%s (%s)\n",$1,$3}')"
+
+if [ -z "$usbdrives" ]; then
+ [ -z "$anddrives" ] && echo "No USB drive or Android device detected" && exit
+ echo "Android device(s) detected."
+ mountandroid
+else
+ if [ -z "$anddrives" ]; then
+ echo "USB drive(s) detected."
+ mountusb
+ else
+ echo "Mountable USB drive(s) and Android device(s) detected."
+ asktype
+ fi
+fi \ No newline at end of file
diff --git a/.local/bin/ext b/.local/bin/ext
new file mode 100755
index 0000000..9810c83
--- /dev/null
+++ b/.local/bin/ext
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+# A general, all-purpose extraction script. Not all extraction programs here
+# are installed by LARBS automatically.
+#
+# Default behavior: Extract archive into new directory
+# Behavior with `-c` option: Extract contents into current directory
+
+while getopts "hc" o; do case "${o}" in
+ c) extracthere="True" ;;
+ *) printf "Options:\\n -c: Extract archive into current directory rather than a new one.\\n" && exit 1 ;;
+esac done
+
+if [ -z "$extracthere" ]; then
+ archive="$(readlink -f "$*")" &&
+ directory="$(echo "$archive" | sed 's/\.[^\/.]*$//')" &&
+ mkdir -p "$directory" &&
+ cd "$directory" || exit 1
+else
+ archive="$(readlink -f "$(echo "$*" | cut -d' ' -f2)" 2>/dev/null)"
+fi
+
+[ -z "$archive" ] && printf "Give archive to extract as argument.\\n" && exit 1
+
+if [ -f "$archive" ] ; then
+ case "$archive" in
+ *.tar.bz2|*.tbz2) bsdtar -xf "$archive" ;;
+ *.tar.xz) bsdtar -xf "$archive" ;;
+ *.tar.gz|*.tgz) bsdtar -xf "$archive" ;;
+ *.tar.zst) bsdtar -xf "$archive" ;;
+ *.tar) bsdtar -xf "$archive" ;;
+ *.lzma) unlzma "$archive" ;;
+ *.bz2) bunzip2 "$archive" ;;
+ *.rar) unrar x -ad "$archive" ;;
+ *.gz) gunzip "$archive" ;;
+ *.zip) unzip "$archive" ;;
+ *.Z) uncompress "$archive" ;;
+ *.7z) 7z x "$archive" ;;
+ *.xz) unxz "$archive" ;;
+ *.exe) cabextract "$archive" ;;
+ *) printf "extract: '%s' - unknown archive method\\n" "$archive" ;;
+ esac
+else
+ printf "File \"%s\" not found.\\n" "$archive"
+fi \ No newline at end of file
diff --git a/.local/bin/genwall b/.local/bin/genwall
new file mode 100755
index 0000000..ccbe75e
--- /dev/null
+++ b/.local/bin/genwall
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Dependencies:
+# convert wal xdotool xwallpaper
+
+wall_dir=~/pix/wall
+
+if [ -z "$1" ]; then
+ wall="$(find "$wall_dir" -type f -name "*.jpg" -o -name "*.png" | shuf -n1)"
+else
+ wall="$1"
+fi
+
+convert "$wall" ~/.local/share/bg.jpg
+xwallpaper --zoom ~/.local/share/bg.jpg
+wal -c
+wal -i ~/.local/share/bg.jpg
+xdotool key super+F5
diff --git a/.local/bin/linkhandler b/.local/bin/linkhandler
new file mode 100755
index 0000000..fa74caf
--- /dev/null
+++ b/.local/bin/linkhandler
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# Feed script a url or file location.
+# If an image, it will view in sxiv,
+# if a video or gif, it will view in mpv
+# if a music file or pdf, it will download,
+# otherwise it opens link in browser.
+
+# If no url given. Opens browser. For using script as $BROWSER.
+[ -z "$1" ] && { "$BROWSER"; exit; }
+
+case "$1" in
+ *mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*|*hooktube.com*|*bitchute.com*|*videos.lukesmith.xyz*|*odysee.com*)
+ setsid -f mpv -quiet "$1" >/dev/null 2>&1 ;;
+ *png|*jpg|*jpe|*jpeg|*gif)
+ curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" && sxiv -a "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 & ;;
+ *pdf|*cbz|*cbr)
+ curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" && zathura "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 & ;;
+ *mp3|*flac|*opus|*mp3?source*)
+ qndl "$1" 'curl -LO' >/dev/null 2>&1 ;;
+ *)
+ [ -f "$1" ] && setsid -f "$TERMINAL" -e "$EDITOR" "$1" >/dev/null 2>&1 || setsid -f "$BROWSER" "$1" >/dev/null 2>&1
+esac
diff --git a/.local/bin/maimshot b/.local/bin/maimshot
new file mode 100755
index 0000000..10335f6
--- /dev/null
+++ b/.local/bin/maimshot
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+case "$(printf "a selected area (copy)\\ncurrent window (copy)\\nfull screen (copy)\\na selected area\\ncurrent window\\nfull screen" | dmenu -l 6 -i -p "Screenshot which area?")" in
+ "a selected area (copy)") maim -s | xclip -selection clipboard -t image/png ;;
+ "current window (copy)") maim -i "$(xdotool getactivewindow)" | xclip -selection clipboard -t image/png ;;
+ "full screen (copy)") sleep 0.2 ; maim | xclip -selection clipboard -t image/png ;;
+ "a selected area") maim -s ~/pix/ss/pic-selected-"$(date '+%y-%m-%d-%H-%M').png" ;;
+ "current window") maim -i "$(xdotool getactivewindow)" ~/pix/ss/pic-window-"$(date '+%y-%m-%d-%H-%M').png" ;;
+ "full screen") sleep 0.2 ; maim ~/pix/ss/pic-full-"$(date '+%y-%m-%d-%H-%M').png" ;;
+
+esac
diff --git a/.local/bin/newword b/.local/bin/newword
new file mode 100755
index 0000000..dc44076
--- /dev/null
+++ b/.local/bin/newword
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+word=$(dmenu -p "Enter Word: " <&-)
+mean=$(dmenu -p "Enter Meaning: " <&-)
+
+echo "$word -> $mean" >> ~/.local/share/vocab/words.txt \ No newline at end of file
diff --git a/.local/bin/setwall b/.local/bin/setwall
new file mode 100755
index 0000000..35b5f06
--- /dev/null
+++ b/.local/bin/setwall
@@ -0,0 +1,5 @@
+#!/bin/sh
+xwallpaper --zoom ~/.local/share/bg.jpg
+wal -c
+wal -i ~/.local/share/bg.jpg
+xdotool key super+F5
diff --git a/.local/bin/spammer b/.local/bin/spammer
new file mode 100755
index 0000000..c23a81c
--- /dev/null
+++ b/.local/bin/spammer
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+i=0
+
+while [ $i -le 100 ]
+do
+ xdotool type "$1" ;xdotool key KP_Enter; sleep 1 ;
+
+done
diff --git a/.local/bin/spot-adblock b/.local/bin/spot-adblock
new file mode 100755
index 0000000..c68a75c
--- /dev/null
+++ b/.local/bin/spot-adblock
@@ -0,0 +1,2 @@
+#!/bin/sh
+LD_PRELOAD=/usr/local/lib/spotify-adblock.so spotify
diff --git a/.local/bin/transadd b/.local/bin/transadd
new file mode 100755
index 0000000..ffa31fb
--- /dev/null
+++ b/.local/bin/transadd
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# Mimeapp script for adding torrent to transmission-daemon, but will also start the daemon first if not running.
+
+# transmission-daemon sometimes fails to take remote requests in its first moments, hence the sleep.
+
+pidof transmission-daemon >/dev/null || (transmission-daemon && notify-send "Starting transmission daemon...")
+sleep 3
+transmission-remote -a "$@" && notify-send "🔽 Torrent added."
diff --git a/.local/bin/ufetch b/.local/bin/ufetch
new file mode 100755
index 0000000..eb29af3
--- /dev/null
+++ b/.local/bin/ufetch
@@ -0,0 +1,83 @@
+#!/bin/sh
+#
+# ufetch-arch - tiny system info for arch
+
+## INFO
+
+# user is already defined
+host="$(cat /etc/hostname)"
+os='Arch Linux'
+kernel="$(uname -sr)"
+uptime="$(uptime -p | sed 's/up //')"
+packages="$(pacman -Q | wc -l)"
+shell="$(basename "${SHELL}")"
+
+## UI DETECTION
+
+parse_rcs() {
+ for f in "${@}"; do
+ wm="$(tail -n 1 "${f}" 2> /dev/null | cut -d ' ' -f 2)"
+ [ -n "${wm}" ] && echo "${wm}" && return
+ done
+}
+
+rcwm="$(parse_rcs "${HOME}/.xinitrc" "${HOME}/.xsession")"
+
+ui='unknown'
+uitype='UI'
+if [ -n "${DE}" ]; then
+ ui="${DE}"
+ uitype='DE'
+elif [ -n "${WM}" ]; then
+ ui="${WM}"
+ uitype='WM'
+elif [ -n "${XDG_CURRENT_DESKTOP}" ]; then
+ ui="${XDG_CURRENT_DESKTOP}"
+ uitype='DE'
+elif [ -n "${DESKTOP_SESSION}" ]; then
+ ui="${DESKTOP_SESSION}"
+ uitype='DE'
+elif [ -n "${rcwm}" ]; then
+ ui="${rcwm}"
+ uitype='WM'
+elif [ -n "${XDG_SESSION_TYPE}" ]; then
+ ui="${XDG_SESSION_TYPE}"
+fi
+
+ui="$(basename "${ui}")"
+
+## DEFINE COLORS
+
+# probably don't change these
+if [ -x "$(command -v tput)" ]; then
+ bold="$(tput bold)"
+ black="$(tput setaf 0)"
+ red="$(tput setaf 1)"
+ green="$(tput setaf 2)"
+ yellow="$(tput setaf 3)"
+ blue="$(tput setaf 4)"
+ magenta="$(tput setaf 5)"
+ cyan="$(tput setaf 6)"
+ white="$(tput setaf 7)"
+ reset="$(tput sgr0)"
+fi
+
+# you can change these
+lc="${reset}${bold}${blue}" # labels
+nc="${reset}${bold}${blue}" # user and hostname
+ic="${reset}" # info
+c0="${reset}${blue}" # first color
+
+## OUTPUT
+
+cat <<EOF
+
+${c0} /\\ ${nc}${USER}${ic}@${nc}${host}${reset}
+${c0} / \\ ${lc}OS: ${ic}${os}${reset}
+${c0} /\\ \\ ${lc}KERNEL: ${ic}${kernel}${reset}
+${c0} / __ \\ ${lc}UPTIME: ${ic}${uptime}${reset}
+${c0} / ( ) \\ ${lc}PACKAGES: ${ic}${packages}${reset}
+${c0} / __| |__\\\\ ${lc}SHELL: ${ic}${shell}${reset}
+${c0} /.\` \`.\\ ${lc}${uitype}: ${ic}${ui}${reset}
+
+EOF
diff --git a/.local/bin/unicode_emoji b/.local/bin/unicode_emoji
new file mode 100755
index 0000000..415a268
--- /dev/null
+++ b/.local/bin/unicode_emoji
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# The famous "get a menu of emojis to copy" script.
+
+# Get user selection via dmenu from emoji file.
+chosen=$(cut -d ';' -f1 ~/.local/share/emoji | dmenu -i -l 30 | sed "s/ .*//")
+
+# Exit if none chosen.
+[ -z "$chosen" ] && exit
+
+xdotool type "$chosen"
+printf "$chosen" | xclip -selection clipboard
+notify-send "'$chosen' copied to clipboard." & \ No newline at end of file
diff --git a/.local/bin/upfile b/.local/bin/upfile
new file mode 100755
index 0000000..4196dc5
--- /dev/null
+++ b/.local/bin/upfile
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+if [ -n "$1" ]; then
+ file=$1
+else
+ file=$(find . -maxdepth 2 -type f | fzf)
+fi
+
+[ -z "$file" ] && exit
+
+curl -F"file=@$file" 0x0.st | xclip -sel c
+notify-send "The url has been copied to your clipboard."
diff --git a/.local/bin/vimv b/.local/bin/vimv
new file mode 100755
index 0000000..74844fc
--- /dev/null
+++ b/.local/bin/vimv
@@ -0,0 +1,44 @@
+#!/usr/bin/env bash
+set -eu
+
+# Lists the current directory's files in Vim, so you can edit it and save to rename them
+# USAGE: vimv [file1 file2]
+# https://github.com/thameera/vimv
+
+declare -r FILENAMES_FILE=$(mktemp "${TMPDIR:-/tmp}/vimv.XXX")
+
+trap '{ rm -f "${FILENAMES_FILE}" ; }' EXIT
+
+if [ $# -ne 0 ]; then
+ src=( "$@" )
+else
+ IFS=$'\r\n' GLOBIGNORE='*' command eval 'src=($(ls))'
+fi
+
+for ((i=0;i<${#src[@]};++i)); do
+ echo "${src[i]}" >> "${FILENAMES_FILE}"
+done
+
+${EDITOR:-vi} "${FILENAMES_FILE}"
+
+IFS=$'\r\n' GLOBIGNORE='*' command eval 'dest=($(cat "${FILENAMES_FILE}"))'
+
+if (( ${#src[@]} != ${#dest[@]} )); then
+ echo "WARN: Number of files changed. Did you delete a line by accident? Aborting.." >&2
+ exit 1
+fi
+
+declare -i count=0
+for ((i=0;i<${#src[@]};++i)); do
+ if [ "${src[i]}" != "${dest[i]}" ]; then
+ mkdir -p "$(dirname "${dest[i]}")"
+ if git ls-files --error-unmatch "${src[i]}" > /dev/null 2>&1; then
+ git mv "${src[i]}" "${dest[i]}"
+ else
+ mv "${src[i]}" "${dest[i]}"
+ fi
+ ((++count))
+ fi
+done
+
+echo "$count" files renamed.
diff --git a/.local/bin/waldl b/.local/bin/waldl
new file mode 100755
index 0000000..1957354
--- /dev/null
+++ b/.local/bin/waldl
@@ -0,0 +1,158 @@
+#!/bin/sh
+
+# https://github.com/pystardust/waldl
+# script to find and download wallpapers from wallhaven
+version="0.0.1"
+
+# Usage:
+# waldl <query>
+# if query left empty then sh_menu will be used (dmenu by default)
+# after the thumbnails are cached, sxiv would open up with the thumbnails
+# Select the wallpapers using `m` on the image. ( marking the image in sxiv )
+# press `q` to quit sxiv, the marked images would start downloading
+
+####################
+## User variables ##
+####################
+
+# the dir where wallpapers are stored
+walldir="$HOME/pix/wallhaven"
+# the dir used to cache thumbnails
+cachedir="$HOME/.cache/wallhaven"
+# sxiv options
+sxiv_otps=" -tfpo -z 200" # o is needed for selection
+# number of pages to show in search results
+# each page contains 24 results
+max_pages=4
+# sorting : date_added, relevance, random, views, favorites, toplist
+sorting=relevance
+# quality : large original small
+quality=large
+# atleast : least res
+atleast=1920x1080
+
+# the menu command used when no query is provided
+sh_menu () {
+ : | dmenu -p "search wallhaven: "
+ # ROFI: comment the previous line and uncomment the next line for rofi
+ # rofi -dmenu -l 0 -p "search wallpapers"
+}
+
+##########################
+## getting search query ##
+##########################
+
+[ -n "$*" ] && query="$*" || query=$( sh_menu )
+[ -z "$query" ] && exit 1
+query=$(printf '%s' "$query" | tr ' ' '+' )
+
+######################
+## start up commands #
+######################
+
+rm -rf "$cachedir"
+mkdir -p "$walldir" "$cachedir"
+
+# progress display command
+sh_info () {
+ printf "%s\n" "$1" >&2
+ notify-send "wallhaven" "$1"
+ [ -n "$2" ] && exit "$2"
+}
+
+# dependency checking
+dep_ck () {
+ for pr; do
+ command -v $pr >/dev/null 2>&1 || sh_info "command $pr not found, install: $pr" 1
+ done
+}
+dep_ck "sxiv" "curl" "jq"
+
+
+# clean up command that would be called when the program exits
+clean_up () {
+ printf "%s\n" "cleaning up..." >&2
+ rm -rf "$datafile" "$cachedir"
+}
+
+# data file to store the api information
+datafile="/tmp/wald.$$"
+
+# clean up if killed
+trap "exit" INT TERM
+trap "clean_up" EXIT
+
+##################
+## getting data ##
+##################
+
+# request the search results for each page
+get_results () {
+ for page_no in $(seq $max_pages)
+ do
+ {
+ json=$(curl -s -G "https://wallhaven.cc/api/v1/search" \
+ -d "q=$1" \
+ -d "page=$page_no" \
+ -d "atleast=$atleast" \
+ -d "sorting=$sorting"
+ )
+ printf "%s\n" "$json" >> "$datafile"
+ } &
+ sleep 0.001
+ done
+ wait
+}
+
+# search wallpapers
+sh_info "getting data..."
+get_results "$query"
+
+# check if data file is empty, if so then exit
+[ -s "$datafile" ] || sh_info "no images found" 1
+
+############################
+## downloading thumbnails ##
+############################
+
+# get a list of thumnails from the data
+thumbnails=$( jq -r '.data[]?|.thumbs.'"$quality" < "$datafile")
+
+[ -z "$thumbnails" ] && sh_info "no-results found" 1
+
+# download the thumbnails
+sh_info "caching thumbnails..."
+for url in $thumbnails
+do
+ printf "url = %s\n" "$url"
+ printf "output = %s\n" "$cachedir/${url##*/}"
+done | curl -Z -K -
+#sh_info "downloaded thumbnails..."
+
+###########################
+## user selection (sxiv) ##
+###########################
+
+# extract the id's out of the thumbnail name
+image_ids="$(sxiv $sxiv_otps "$cachedir")"
+[ -z "$image_ids" ] && exit
+
+#########################
+## download wallpapers ##
+#########################
+
+# download the selected wall papers
+mkdir "$walldir/$query"
+cd "$walldir/$query"
+sh_info "downloading wallpapers..."
+for ids in $image_ids
+do
+ ids="${ids##*/}"
+ ids="${ids%.*}"
+ url=$( jq -r '.data[]?|select( .id == "'$ids'" )|.path' < "$datafile" )
+ printf "url = %s\n" "$url"
+ printf -- "-O\n"
+done | curl -K -
+
+sh_info "wallpapers downloaded in:- '$walldir/$query'"
+sxiv $(ls -c)
diff --git a/.local/bin/wordmean b/.local/bin/wordmean
new file mode 100755
index 0000000..e8f5f4e
--- /dev/null
+++ b/.local/bin/wordmean
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+word=$(dmenu -p "Enter Word: " <&-)
+#$BROWSER https://www.merriam-webster.com/dictionary/$word
+$BROWSER "https://www.google.com/search?hl=en&q=define+$word"
+
diff --git a/.local/share/applications/file.desktop b/.local/share/applications/file.desktop
new file mode 100644
index 0000000..a8e458b
--- /dev/null
+++ b/.local/share/applications/file.desktop
@@ -0,0 +1,4 @@
+[Desktop Entry]
+Type=Application
+Name=File Manager
+Exec=/usr/local/bin/st -e fm %u
diff --git a/.local/share/applications/img.desktop b/.local/share/applications/img.desktop
new file mode 100644
index 0000000..42aa81e
--- /dev/null
+++ b/.local/share/applications/img.desktop
@@ -0,0 +1,4 @@
+[Desktop Entry]
+Type=Application
+Name=Image viewer
+Exec=/usr/bin/sxiv -a %f
diff --git a/.local/share/applications/pdf.desktop b/.local/share/applications/pdf.desktop
new file mode 100644
index 0000000..8c38677
--- /dev/null
+++ b/.local/share/applications/pdf.desktop
@@ -0,0 +1,4 @@
+[Desktop Entry]
+Type=Application
+Name=PDF reader
+Exec=/usr/bin/zathura %u
diff --git a/.local/share/applications/rss.desktop b/.local/share/applications/rss.desktop
new file mode 100644
index 0000000..6fafc4f
--- /dev/null
+++ b/.local/share/applications/rss.desktop
@@ -0,0 +1,4 @@
+[Desktop Entry]
+Type=Application
+Name=RSS feed addition
+Exec=/usr/bin/env rssadd %U
diff --git a/.local/share/applications/text.desktop b/.local/share/applications/text.desktop
new file mode 100644
index 0000000..41ee05f
--- /dev/null
+++ b/.local/share/applications/text.desktop
@@ -0,0 +1,4 @@
+[Desktop Entry]
+Type=Application
+Name=Text editor
+Exec=/usr/local/bin/st -e nvim %u
diff --git a/.local/share/applications/torrent.desktop b/.local/share/applications/torrent.desktop
new file mode 100644
index 0000000..f6d28d9
--- /dev/null
+++ b/.local/share/applications/torrent.desktop
@@ -0,0 +1,4 @@
+[Desktop Entry]
+Type=Application
+Name=Torrent
+Exec=/usr/bin/env transadd %U
diff --git a/.local/share/applications/trilium-notes.desktop b/.local/share/applications/trilium-notes.desktop
new file mode 100644
index 0000000..0cca26d
--- /dev/null
+++ b/.local/share/applications/trilium-notes.desktop
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Type=Application
+Name=Trilium Notes
+Icon=/opt/trilium-bin/icon.png
+Exec=/opt/trilium-bin/trilium
+Categories=Office
+Terminal=false
diff --git a/.local/share/emoji b/.local/share/emoji
new file mode 100644
index 0000000..6803731
--- /dev/null
+++ b/.local/share/emoji
@@ -0,0 +1,1630 @@
+😀 grinning face
+😃 grinning face with big eyes
+😄 grinning face with smiling eyes
+😁 beaming face with smiling eyes
+😆 grinning squinting face
+😅 grinning face with sweat
+🤣 rolling on the floor laughing
+😂 face with tears of joy
+🙂 slightly smiling face
+🙃 upside-down face
+🫠 melting face
+😉 winking face
+😊 smiling face with smiling eyes
+😇 smiling face with halo
+🥰 smiling face with hearts
+😍 smiling face with heart-eyes
+🤩 star-struck
+😘 face blowing a kiss
+😗 kissing face
+☺️ smiling face
+😚 kissing face with closed eyes
+😙 kissing face with smiling eyes
+🥲 smiling face with tear
+😋 face savoring food
+😛 face with tongue
+😜 winking face with tongue
+🤪 zany face
+😝 squinting face with tongue
+🤑 money-mouth face
+🤗 smiling face with open hands
+🤭 face with hand over mouth
+🫢 face with open eyes and hand over mouth
+🫣 face with peeking eye
+🤫 shushing face
+🤔 thinking face
+🫡 saluting face
+🤐 zipper-mouth face
+🤨 face with raised eyebrow
+😐 neutral face
+😑 expressionless face
+😶 face without mouth
+🫥 dotted line face
+😏 smirking face
+😒 unamused face
+🙄 face with rolling eyes
+😬 grimacing face
+🤥 lying face
+😌 relieved face
+😔 pensive face
+😪 sleepy face
+🤤 drooling face
+😴 sleeping face
+😷 face with medical mask
+🤒 face with thermometer
+🤕 face with head-bandage
+🤢 nauseated face
+🤮 face vomiting
+🤧 sneezing face
+🥵 hot face
+🥶 cold face
+🥴 woozy face
+😵 face with crossed-out eyes
+🤯 exploding head
+🤠 cowboy hat face
+🥳 partying face
+🥸 disguised face
+😎 smiling face with sunglasses
+🤓 nerd face
+🧐 face with monocle
+😕 confused face
+🫤 face with diagonal mouth
+😟 worried face
+🙁 slightly frowning face
+☹️ frowning face
+😮 face with open mouth
+😯 hushed face
+😲 astonished face
+😳 flushed face
+🥺 pleading face
+🥹 face holding back tears
+😦 frowning face with open mouth
+😧 anguished face
+😨 fearful face
+😰 anxious face with sweat
+😥 sad but relieved face
+😢 crying face
+😭 loudly crying face
+😱 face screaming in fear
+😖 confounded face
+😣 persevering face
+😞 disappointed face
+😓 downcast face with sweat
+😩 weary face
+😫 tired face
+🥱 yawning face
+😤 face with steam from nose
+😡 pouting face
+😠 angry face
+🤬 face with symbols on mouth
+😈 smiling face with horns
+👿 angry face with horns
+💀 skull
+☠️ skull and crossbones
+💩 pile of poo
+🤡 clown face
+👹 ogre
+👺 goblin
+👻 ghost
+👽 alien
+👾 alien monster
+🤖 robot
+😺 grinning cat
+😸 grinning cat with smiling eyes
+😹 cat with tears of joy
+😻 smiling cat with heart-eyes
+😼 cat with wry smile
+😽 kissing cat
+🙀 weary cat
+😿 crying cat
+😾 pouting cat
+🙈 see-no-evil monkey
+🙉 hear-no-evil monkey
+🙊 speak-no-evil monkey
+💋 kiss mark
+💌 love letter
+💘 heart with arrow
+💝 heart with ribbon
+💖 sparkling heart
+💗 growing heart
+💓 beating heart
+💞 revolving hearts
+💕 two hearts
+💟 heart decoration
+❣️ heart exclamation
+💔 broken heart
+❤️ red heart
+🧡 orange heart
+💛 yellow heart
+💚 green heart
+💙 blue heart
+💜 purple heart
+🤎 brown heart
+🖤 black heart
+🤍 white heart
+💯 hundred points
+💢 anger symbol
+💥 collision
+💫 dizzy
+💦 sweat droplets
+💨 dashing away
+🕳️ hole
+💣 bomb
+💬 speech balloon
+🗨️ left speech bubble
+🗯️ right anger bubble
+💭 thought balloon
+💤 zzz
+👋 waving hand
+🤚 raised back of hand
+🖐️ hand with fingers splayed
+✋ raised hand
+🖖 vulcan salute
+🫱 rightwards hand
+🫲 leftwards hand
+🫳 palm down hand
+🫴 palm up hand
+👌 OK hand
+🤌 pinched fingers
+🤏 pinching hand
+✌️ victory hand
+🤞 crossed fingers
+🫰 hand with index finger and thumb crossed
+🤟 love-you gesture
+🤘 sign of the horns
+🤙 call me hand
+👈 backhand index pointing left
+👉 backhand index pointing right
+👆 backhand index pointing up
+🖕 middle finger
+👇 backhand index pointing down
+☝️ index pointing up
+🫵 index pointing at the viewer
+👍 thumbs up
+👎 thumbs down
+✊ raised fist
+👊 oncoming fist
+🤛 left-facing fist
+🤜 right-facing fist
+👏 clapping hands
+🙌 raising hands
+🫶 heart hands
+👐 open hands
+🤲 palms up together
+🤝 handshake
+🙏 folded hands
+✍️ writing hand
+💅 nail polish
+🤳 selfie
+💪 flexed biceps
+🦾 mechanical arm
+🦿 mechanical leg
+🦵 leg
+🦶 foot
+👂 ear
+🦻 ear with hearing aid
+👃 nose
+🧠 brain
+🫀 anatomical heart
+🫁 lungs
+🦷 tooth
+🦴 bone
+👀 eyes
+👁️ eye
+👅 tongue
+👄 mouth
+🫦 biting lip
+👶 baby
+🧒 child
+👦 boy
+👧 girl
+🧑 person
+👱 person: blond hair
+👨 man
+🧔 person: beard
+👩 woman
+🧓 older person
+👴 old man
+👵 old woman
+🙍 person frowning
+🙎 person pouting
+🙅 person gesturing NO
+🙆 person gesturing OK
+💁 person tipping hand
+🙋 person raising hand
+🧏 deaf person
+🙇 person bowing
+🤦 person facepalming
+🤷 person shrugging
+👮 police officer
+🕵️ detective
+💂 guard
+🥷 ninja
+👷 construction worker
+🫅 person with crown
+🤴 prince
+👸 princess
+👳 person wearing turban
+👲 person with skullcap
+🧕 woman with headscarf
+🤵 person in tuxedo
+👰 person with veil
+🤰 pregnant woman
+🫃 pregnant man
+🫄 pregnant person
+🤱 breast-feeding
+👼 baby angel
+🎅 Santa Claus
+🤶 Mrs. Claus
+🦸 superhero
+🦹 supervillain
+🧙 mage
+🧚 fairy
+🧛 vampire
+🧜 merperson
+🧝 elf
+🧞 genie
+🧟 zombie
+🧌 troll
+💆 person getting massage
+💇 person getting haircut
+🚶 person walking
+🧍 person standing
+🧎 person kneeling
+🏃 person running
+💃 woman dancing
+🕺 man dancing
+🕴️ person in suit levitating
+👯 people with bunny ears
+🧖 person in steamy room
+🧗 person climbing
+🤺 person fencing
+🏇 horse racing
+⛷️ skier
+🏂 snowboarder
+🏌️ person golfing
+🏄 person surfing
+🚣 person rowing boat
+🏊 person swimming
+⛹️ person bouncing ball
+🏋️ person lifting weights
+🚴 person biking
+🚵 person mountain biking
+🤸 person cartwheeling
+🤼 people wrestling
+🤽 person playing water polo
+🤾 person playing handball
+🤹 person juggling
+🧘 person in lotus position
+🛀 person taking bath
+🛌 person in bed
+👭 women holding hands
+👫 woman and man holding hands
+👬 men holding hands
+💏 kiss
+💑 couple with heart
+👪 family
+🗣️ speaking head
+👤 bust in silhouette
+👥 busts in silhouette
+🫂 people hugging
+👣 footprints
+🐵 monkey face
+🐒 monkey
+🦍 gorilla
+🦧 orangutan
+🐶 dog face
+🐕 dog
+🦮 guide dog
+🐩 poodle
+🐺 wolf
+🦊 fox
+🦝 raccoon
+🐱 cat face
+🐈 cat
+🦁 lion
+🐯 tiger face
+🐅 tiger
+🐆 leopard
+🐴 horse face
+🐎 horse
+🦄 unicorn
+🦓 zebra
+🦌 deer
+🦬 bison
+🐮 cow face
+🐂 ox
+🐃 water buffalo
+🐄 cow
+🐷 pig face
+🐖 pig
+🐗 boar
+🐽 pig nose
+🐏 ram
+🐑 ewe
+🐐 goat
+🐪 camel
+🐫 two-hump camel
+🦙 llama
+🦒 giraffe
+🐘 elephant
+🦣 mammoth
+🦏 rhinoceros
+🦛 hippopotamus
+🐭 mouse face
+🐁 mouse
+🐀 rat
+🐹 hamster
+🐰 rabbit face
+🐇 rabbit
+🐿️ chipmunk
+🦫 beaver
+🦔 hedgehog
+🦇 bat
+🐻 bear
+🐨 koala
+🐼 panda
+🦥 sloth
+🦦 otter
+🦨 skunk
+🦘 kangaroo
+🦡 badger
+🐾 paw prints
+🦃 turkey
+🐔 chicken
+🐓 rooster
+🐣 hatching chick
+🐤 baby chick
+🐥 front-facing baby chick
+🐦 bird
+🐧 penguin
+🕊️ dove
+🦅 eagle
+🦆 duck
+🦢 swan
+🦉 owl
+🦤 dodo
+🪶 feather
+🦩 flamingo
+🦚 peacock
+🦜 parrot
+🐸 frog
+🐊 crocodile
+🐢 turtle
+🦎 lizard
+🐍 snake
+🐲 dragon face
+🐉 dragon
+🦕 sauropod
+🦖 T-Rex
+🐳 spouting whale
+🐋 whale
+🐬 dolphin
+🦭 seal
+🐟 fish
+🐠 tropical fish
+🐡 blowfish
+🦈 shark
+🐙 octopus
+🐚 spiral shell
+🪸 coral
+🐌 snail
+🦋 butterfly
+🐛 bug
+🐜 ant
+🐝 honeybee
+🪲 beetle
+🐞 lady beetle
+🦗 cricket
+🪳 cockroach
+🕷️ spider
+🕸️ spider web
+🦂 scorpion
+🦟 mosquito
+🪰 fly
+🪱 worm
+🦠 microbe
+💐 bouquet
+🌸 cherry blossom
+💮 white flower
+🪷 lotus
+🏵️ rosette
+🌹 rose
+🥀 wilted flower
+🌺 hibiscus
+🌻 sunflower
+🌼 blossom
+🌷 tulip
+🌱 seedling
+🪴 potted plant
+🌲 evergreen tree
+🌳 deciduous tree
+🌴 palm tree
+🌵 cactus
+🌾 sheaf of rice
+🌿 herb
+☘️ shamrock
+🍀 four leaf clover
+🍁 maple leaf
+🍂 fallen leaf
+🍃 leaf fluttering in wind
+🪹 empty nest
+🪺 nest with eggs
+🍇 grapes
+🍈 melon
+🍉 watermelon
+🍊 tangerine
+🍋 lemon
+🍌 banana
+🍍 pineapple
+🥭 mango
+🍎 red apple
+🍏 green apple
+🍐 pear
+🍑 peach
+🍒 cherries
+🍓 strawberry
+🫐 blueberries
+🥝 kiwi fruit
+🍅 tomato
+🫒 olive
+🥥 coconut
+🥑 avocado
+🍆 eggplant
+🥔 potato
+🥕 carrot
+🌽 ear of corn
+🌶️ hot pepper
+🫑 bell pepper
+🥒 cucumber
+🥬 leafy green
+🥦 broccoli
+🧄 garlic
+🧅 onion
+🍄 mushroom
+🥜 peanuts
+🫘 beans
+🌰 chestnut
+🍞 bread
+🥐 croissant
+🥖 baguette bread
+🫓 flatbread
+🥨 pretzel
+🥯 bagel
+🥞 pancakes
+🧇 waffle
+🧀 cheese wedge
+🍖 meat on bone
+🍗 poultry leg
+🥩 cut of meat
+🥓 bacon
+🍔 hamburger
+🍟 french fries
+🍕 pizza
+🌭 hot dog
+🥪 sandwich
+🌮 taco
+🌯 burrito
+🫔 tamale
+🥙 stuffed flatbread
+🧆 falafel
+🥚 egg
+🍳 cooking
+🥘 shallow pan of food
+🍲 pot of food
+🫕 fondue
+🥣 bowl with spoon
+🥗 green salad
+🍿 popcorn
+🧈 butter
+🧂 salt
+🥫 canned food
+🍱 bento box
+🍘 rice cracker
+🍙 rice ball
+🍚 cooked rice
+🍛 curry rice
+🍜 steaming bowl
+🍝 spaghetti
+🍠 roasted sweet potato
+🍢 oden
+🍣 sushi
+🍤 fried shrimp
+🍥 fish cake with swirl
+🥮 moon cake
+🍡 dango
+🥟 dumpling
+🥠 fortune cookie
+🥡 takeout box
+🦀 crab
+🦞 lobster
+🦐 shrimp
+🦑 squid
+🦪 oyster
+🍦 soft ice cream
+🍧 shaved ice
+🍨 ice cream
+🍩 doughnut
+🍪 cookie
+🎂 birthday cake
+🍰 shortcake
+🧁 cupcake
+🥧 pie
+🍫 chocolate bar
+🍬 candy
+🍭 lollipop
+🍮 custard
+🍯 honey pot
+🍼 baby bottle
+🥛 glass of milk
+☕ hot beverage
+🫖 teapot
+🍵 teacup without handle
+🍶 sake
+🍾 bottle with popping cork
+🍷 wine glass
+🍸 cocktail glass
+🍹 tropical drink
+🍺 beer mug
+🍻 clinking beer mugs
+🥂 clinking glasses
+🥃 tumbler glass
+🫗 pouring liquid
+🥤 cup with straw
+🧋 bubble tea
+🧃 beverage box
+🧉 mate
+🧊 ice
+🥢 chopsticks
+🍽️ fork and knife with plate
+🍴 fork and knife
+🥄 spoon
+🔪 kitchen knife
+🫙 jar
+🏺 amphora
+🌍 globe showing Europe-Africa
+🌎 globe showing Americas
+🌏 globe showing Asia-Australia
+🌐 globe with meridians
+🗺️ world map
+🗾 map of Japan
+🧭 compass
+🏔️ snow-capped mountain
+⛰️ mountain
+🌋 volcano
+🗻 mount fuji
+🏕️ camping
+🏖️ beach with umbrella
+🏜️ desert
+🏝️ desert island
+🏞️ national park
+🏟️ stadium
+🏛️ classical building
+🏗️ building construction
+🧱 brick
+🪨 rock
+🪵 wood
+🛖 hut
+🏘️ houses
+🏚️ derelict house
+🏠 house
+🏡 house with garden
+🏢 office building
+🏣 Japanese post office
+🏤 post office
+🏥 hospital
+🏦 bank
+🏨 hotel
+🏩 love hotel
+🏪 convenience store
+🏫 school
+🏬 department store
+🏭 factory
+🏯 Japanese castle
+🏰 castle
+💒 wedding
+🗼 Tokyo tower
+🗽 Statue of Liberty
+⛪ church
+🕌 mosque
+🛕 hindu temple
+🕍 synagogue
+⛩️ shinto shrine
+🕋 kaaba
+⛲ fountain
+⛺ tent
+🌁 foggy
+🌃 night with stars
+🏙️ cityscape
+🌄 sunrise over mountains
+🌅 sunrise
+🌆 cityscape at dusk
+🌇 sunset
+🌉 bridge at night
+♨️ hot springs
+🎠 carousel horse
+🛝 playground slide
+🎡 ferris wheel
+🎢 roller coaster
+💈 barber pole
+🎪 circus tent
+🚂 locomotive
+🚃 railway car
+🚄 high-speed train
+🚅 bullet train
+🚆 train
+🚇 metro
+🚈 light rail
+🚉 station
+🚊 tram
+🚝 monorail
+🚞 mountain railway
+🚋 tram car
+🚌 bus
+🚍 oncoming bus
+🚎 trolleybus
+🚐 minibus
+🚑 ambulance
+🚒 fire engine
+🚓 police car
+🚔 oncoming police car
+🚕 taxi
+🚖 oncoming taxi
+🚗 automobile
+🚘 oncoming automobile
+🚙 sport utility vehicle
+🛻 pickup truck
+🚚 delivery truck
+🚛 articulated lorry
+🚜 tractor
+🏎️ racing car
+🏍️ motorcycle
+🛵 motor scooter
+🦽 manual wheelchair
+🦼 motorized wheelchair
+🛺 auto rickshaw
+🚲 bicycle
+🛴 kick scooter
+🛹 skateboard
+🛼 roller skate
+🚏 bus stop
+🛣️ motorway
+🛤️ railway track
+🛢️ oil drum
+⛽ fuel pump
+🛞 wheel
+🚨 police car light
+🚥 horizontal traffic light
+🚦 vertical traffic light
+🛑 stop sign
+🚧 construction
+⚓ anchor
+🛟 ring buoy
+⛵ sailboat
+🛶 canoe
+🚤 speedboat
+🛳️ passenger ship
+⛴️ ferry
+🛥️ motor boat
+🚢 ship
+✈️ airplane
+🛩️ small airplane
+🛫 airplane departure
+🛬 airplane arrival
+🪂 parachute
+💺 seat
+🚁 helicopter
+🚟 suspension railway
+🚠 mountain cableway
+🚡 aerial tramway
+🛰️ satellite
+🚀 rocket
+🛸 flying saucer
+🛎️ bellhop bell
+🧳 luggage
+⌛ hourglass done
+⏳ hourglass not done
+⌚ watch
+⏰ alarm clock
+⏱️ stopwatch
+⏲️ timer clock
+🕰️ mantelpiece clock
+🕛 twelve o’clock
+🕧 twelve-thirty
+🕐 one o’clock
+🕜 one-thirty
+🕑 two o’clock
+🕝 two-thirty
+🕒 three o’clock
+🕞 three-thirty
+🕓 four o’clock
+🕟 four-thirty
+🕔 five o’clock
+🕠 five-thirty
+🕕 six o’clock
+🕡 six-thirty
+🕖 seven o’clock
+🕢 seven-thirty
+🕗 eight o’clock
+🕣 eight-thirty
+🕘 nine o’clock
+🕤 nine-thirty
+🕙 ten o’clock
+🕥 ten-thirty
+🕚 eleven o’clock
+🕦 eleven-thirty
+🌑 new moon
+🌒 waxing crescent moon
+🌓 first quarter moon
+🌔 waxing gibbous moon
+🌕 full moon
+🌖 waning gibbous moon
+🌗 last quarter moon
+🌘 waning crescent moon
+🌙 crescent moon
+🌚 new moon face
+🌛 first quarter moon face
+🌜 last quarter moon face
+🌡️ thermometer
+☀️ sun
+🌝 full moon face
+🌞 sun with face
+🪐 ringed planet
+⭐ star
+🌟 glowing star
+🌠 shooting star
+🌌 milky way
+☁️ cloud
+⛅ sun behind cloud
+⛈️ cloud with lightning and rain
+🌤️ sun behind small cloud
+🌥️ sun behind large cloud
+🌦️ sun behind rain cloud
+🌧️ cloud with rain
+🌨️ cloud with snow
+🌩️ cloud with lightning
+🌪️ tornado
+🌫️ fog
+🌬️ wind face
+🌀 cyclone
+🌈 rainbow
+🌂 closed umbrella
+☂️ umbrella
+☔ umbrella with rain drops
+⛱️ umbrella on ground
+⚡ high voltage
+❄️ snowflake
+☃️ snowman
+⛄ snowman without snow
+☄️ comet
+🔥 fire
+💧 droplet
+🌊 water wave
+🎃 jack-o-lantern
+🎄 Christmas tree
+🎆 fireworks
+🎇 sparkler
+🧨 firecracker
+✨ sparkles
+🎈 balloon
+🎉 party popper
+🎊 confetti ball
+🎋 tanabata tree
+🎍 pine decoration
+🎎 Japanese dolls
+🎏 carp streamer
+🎐 wind chime
+🎑 moon viewing ceremony
+🧧 red envelope
+🎀 ribbon
+🎁 wrapped gift
+🎗️ reminder ribbon
+🎟️ admission tickets
+🎫 ticket
+🎖️ military medal
+🏆 trophy
+🏅 sports medal
+🥇 1st place medal
+🥈 2nd place medal
+🥉 3rd place medal
+⚽ soccer ball
+⚾ baseball
+🥎 softball
+🏀 basketball
+🏐 volleyball
+🏈 american football
+🏉 rugby football
+🎾 tennis
+🥏 flying disc
+🎳 bowling
+🏏 cricket game
+🏑 field hockey
+🏒 ice hockey
+🥍 lacrosse
+🏓 ping pong
+🏸 badminton
+🥊 boxing glove
+🥋 martial arts uniform
+🥅 goal net
+⛳ flag in hole
+⛸️ ice skate
+🎣 fishing pole
+🤿 diving mask
+🎽 running shirt
+🎿 skis
+🛷 sled
+🥌 curling stone
+🎯 bullseye
+🪀 yo-yo
+🪁 kite
+🎱 pool 8 ball
+🔮 crystal ball
+🪄 magic wand
+🧿 nazar amulet
+🪬 hamsa
+🎮 video game
+🕹️ joystick
+🎰 slot machine
+🎲 game die
+🧩 puzzle piece
+🧸 teddy bear
+🪅 piñata
+🪩 mirror ball
+🪆 nesting dolls
+♠️ spade suit
+♥️ heart suit
+♦️ diamond suit
+♣️ club suit
+♟️ chess pawn
+🃏 joker
+🀄 mahjong red dragon
+🎴 flower playing cards
+🎭 performing arts
+🖼️ framed picture
+🎨 artist palette
+🧵 thread
+🪡 sewing needle
+🧶 yarn
+🪢 knot
+👓 glasses
+🕶️ sunglasses
+🥽 goggles
+🥼 lab coat
+🦺 safety vest
+👔 necktie
+👕 t-shirt
+👖 jeans
+🧣 scarf
+🧤 gloves
+🧥 coat
+🧦 socks
+👗 dress
+👘 kimono
+🥻 sari
+🩱 one-piece swimsuit
+🩲 briefs
+🩳 shorts
+👙 bikini
+👚 woman’s clothes
+👛 purse
+👜 handbag
+👝 clutch bag
+🛍️ shopping bags
+🎒 backpack
+🩴 thong sandal
+👞 man’s shoe
+👟 running shoe
+🥾 hiking boot
+🥿 flat shoe
+👠 high-heeled shoe
+👡 woman’s sandal
+🩰 ballet shoes
+👢 woman’s boot
+👑 crown
+👒 woman’s hat
+🎩 top hat
+🎓 graduation cap
+🧢 billed cap
+🪖 military helmet
+⛑️ rescue worker’s helmet
+📿 prayer beads
+💄 lipstick
+💍 ring
+💎 gem stone
+🔇 muted speaker
+🔈 speaker low volume
+🔉 speaker medium volume
+🔊 speaker high volume
+📢 loudspeaker
+📣 megaphone
+📯 postal horn
+🔔 bell
+🔕 bell with slash
+🎼 musical score
+🎵 musical note
+🎶 musical notes
+🎙️ studio microphone
+🎚️ level slider
+🎛️ control knobs
+🎤 microphone
+🎧 headphone
+📻 radio
+🎷 saxophone
+🪗 accordion
+🎸 guitar
+🎹 musical keyboard
+🎺 trumpet
+🎻 violin
+🪕 banjo
+🥁 drum
+🪘 long drum
+📱 mobile phone
+📲 mobile phone with arrow
+☎️ telephone
+📞 telephone receiver
+📟 pager
+📠 fax machine
+🔋 battery
+🪫 low battery
+🔌 electric plug
+💻 laptop
+🖥️ desktop computer
+🖨️ printer
+⌨️ keyboard
+🖱️ computer mouse
+🖲️ trackball
+💽 computer disk
+💾 floppy disk
+💿 optical disk
+📀 dvd
+🧮 abacus
+🎥 movie camera
+🎞️ film frames
+📽️ film projector
+🎬 clapper board
+📺 television
+📷 camera
+📸 camera with flash
+📹 video camera
+📼 videocassette
+🔍 magnifying glass tilted left
+🔎 magnifying glass tilted right
+🕯️ candle
+💡 light bulb
+🔦 flashlight
+🏮 red paper lantern
+🪔 diya lamp
+📔 notebook with decorative cover
+📕 closed book
+📖 open book
+📗 green book
+📘 blue book
+📙 orange book
+📚 books
+📓 notebook
+📒 ledger
+📃 page with curl
+📜 scroll
+📄 page facing up
+📰 newspaper
+🗞️ rolled-up newspaper
+📑 bookmark tabs
+🔖 bookmark
+🏷️ label
+💰 money bag
+🪙 coin
+💴 yen banknote
+💵 dollar banknote
+💶 euro banknote
+💷 pound banknote
+💸 money with wings
+💳 credit card
+🧾 receipt
+💹 chart increasing with yen
+✉️ envelope
+📧 e-mail
+📨 incoming envelope
+📩 envelope with arrow
+📤 outbox tray
+📥 inbox tray
+📦 package
+📫 closed mailbox with raised flag
+📪 closed mailbox with lowered flag
+📬 open mailbox with raised flag
+📭 open mailbox with lowered flag
+📮 postbox
+🗳️ ballot box with ballot
+✏️ pencil
+✒️ black nib
+🖋️ fountain pen
+🖊️ pen
+🖌️ paintbrush
+🖍️ crayon
+📝 memo
+💼 briefcase
+📁 file folder
+📂 open file folder
+🗂️ card index dividers
+📅 calendar
+📆 tear-off calendar
+🗒️ spiral notepad
+🗓️ spiral calendar
+📇 card index
+📈 chart increasing
+📉 chart decreasing
+📊 bar chart
+📋 clipboard
+📌 pushpin
+📍 round pushpin
+📎 paperclip
+🖇️ linked paperclips
+📏 straight ruler
+📐 triangular ruler
+✂️ scissors
+🗃️ card file box
+🗄️ file cabinet
+🗑️ wastebasket
+🔒 locked
+🔓 unlocked
+🔏 locked with pen
+🔐 locked with key
+🔑 key
+🗝️ old key
+🔨 hammer
+🪓 axe
+⛏️ pick
+⚒️ hammer and pick
+🛠️ hammer and wrench
+🗡️ dagger
+⚔️ crossed swords
+🔫 water pistol
+🪃 boomerang
+🏹 bow and arrow
+🛡️ shield
+🪚 carpentry saw
+🔧 wrench
+🪛 screwdriver
+🔩 nut and bolt
+⚙️ gear
+🗜️ clamp
+⚖️ balance scale
+🦯 white cane
+🔗 link
+⛓️ chains
+🪝 hook
+🧰 toolbox
+🧲 magnet
+🪜 ladder
+⚗️ alembic
+🧪 test tube
+🧫 petri dish
+🧬 dna
+🔬 microscope
+🔭 telescope
+📡 satellite antenna
+💉 syringe
+🩸 drop of blood
+💊 pill
+🩹 adhesive bandage
+🩼 crutch
+🩺 stethoscope
+🩻 x-ray
+🚪 door
+🛗 elevator
+🪞 mirror
+🪟 window
+🛏️ bed
+🛋️ couch and lamp
+🪑 chair
+🚽 toilet
+🪠 plunger
+🚿 shower
+🛁 bathtub
+🪤 mouse trap
+🪒 razor
+🧴 lotion bottle
+🧷 safety pin
+🧹 broom
+🧺 basket
+🧻 roll of paper
+🪣 bucket
+🧼 soap
+🫧 bubbles
+🪥 toothbrush
+🧽 sponge
+🧯 fire extinguisher
+🛒 shopping cart
+🚬 cigarette
+⚰️ coffin
+🪦 headstone
+⚱️ funeral urn
+🗿 moai
+🪧 placard
+🪪 identification card
+🏧 ATM sign
+🚮 litter in bin sign
+🚰 potable water
+♿ wheelchair symbol
+🚹 men’s room
+🚺 women’s room
+🚻 restroom
+🚼 baby symbol
+🚾 water closet
+🛂 passport control
+🛃 customs
+🛄 baggage claim
+🛅 left luggage
+⚠️ warning
+🚸 children crossing
+⛔ no entry
+🚫 prohibited
+🚳 no bicycles
+🚭 no smoking
+🚯 no littering
+🚱 non-potable water
+🚷 no pedestrians
+📵 no mobile phones
+🔞 no one under eighteen
+☢️ radioactive
+☣️ biohazard
+⬆️ up arrow
+↗️ up-right arrow
+➡️ right arrow
+↘️ down-right arrow
+⬇️ down arrow
+↙️ down-left arrow
+⬅️ left arrow
+↖️ up-left arrow
+↕️ up-down arrow
+↔️ left-right arrow
+↩️ right arrow curving left
+↪️ left arrow curving right
+⤴️ right arrow curving up
+⤵️ right arrow curving down
+🔃 clockwise vertical arrows
+🔄 counterclockwise arrows button
+🔙 BACK arrow
+🔚 END arrow
+🔛 ON! arrow
+🔜 SOON arrow
+🔝 TOP arrow
+🛐 place of worship
+⚛️ atom symbol
+🕉️ om
+✡️ star of David
+☸️ wheel of dharma
+☯️ yin yang
+✝️ latin cross
+☦️ orthodox cross
+☪️ star and crescent
+☮️ peace symbol
+🕎 menorah
+🔯 dotted six-pointed star
+♈ Aries
+♉ Taurus
+♊ Gemini
+♋ Cancer
+♌ Leo
+♍ Virgo
+♎ Libra
+♏ Scorpio
+♐ Sagittarius
+♑ Capricorn
+♒ Aquarius
+♓ Pisces
+⛎ Ophiuchus
+🔀 shuffle tracks button
+🔁 repeat button
+🔂 repeat single button
+▶️ play button
+⏩ fast-forward button
+⏭️ next track button
+⏯️ play or pause button
+◀️ reverse button
+⏪ fast reverse button
+⏮️ last track button
+🔼 upwards button
+⏫ fast up button
+🔽 downwards button
+⏬ fast down button
+⏸️ pause button
+⏹️ stop button
+⏺️ record button
+⏏️ eject button
+🎦 cinema
+🔅 dim button
+🔆 bright button
+📶 antenna bars
+📳 vibration mode
+📴 mobile phone off
+♀️ female sign
+♂️ male sign
+⚧️ transgender symbol
+✖️ multiply
+➕ plus
+➖ minus
+➗ divide
+🟰 heavy equals sign
+♾️ infinity
+‼️ double exclamation mark
+⁉️ exclamation question mark
+❓ red question mark
+❔ white question mark
+❕ white exclamation mark
+❗ red exclamation mark
+〰️ wavy dash
+💱 currency exchange
+💲 heavy dollar sign
+⚕️ medical symbol
+♻️ recycling symbol
+⚜️ fleur-de-lis
+🔱 trident emblem
+📛 name badge
+🔰 Japanese symbol for beginner
+⭕ hollow red circle
+✅ check mark button
+☑️ check box with check
+✔️ check mark
+❌ cross mark
+❎ cross mark button
+➰ curly loop
+➿ double curly loop
+〽️ part alternation mark
+✳️ eight-spoked asterisk
+✴️ eight-pointed star
+❇️ sparkle
+©️ copyright
+®️ registered
+™️ trade mark
+#️⃣ keycap: #
+*️⃣ keycap: *
+0️⃣ keycap: 0
+1️⃣ keycap: 1
+2️⃣ keycap: 2
+3️⃣ keycap: 3
+4️⃣ keycap: 4
+5️⃣ keycap: 5
+6️⃣ keycap: 6
+7️⃣ keycap: 7
+8️⃣ keycap: 8
+9️⃣ keycap: 9
+🔟 keycap: 10
+🔠 input latin uppercase
+🔡 input latin lowercase
+🔢 input numbers
+🔣 input symbols
+🔤 input latin letters
+🅰️ A button (blood type)
+🆎 AB button (blood type)
+🅱️ B button (blood type)
+🆑 CL button
+🆒 COOL button
+🆓 FREE button
+ℹ️ information
+🆔 ID button
+Ⓜ️ circled M
+🆕 NEW button
+🆖 NG button
+🅾️ O button (blood type)
+🆗 OK button
+🅿️ P button
+🆘 SOS button
+🆙 UP! button
+🆚 VS button
+🈁 Japanese “here” button
+🈂️ Japanese “service charge” button
+🈷️ Japanese “monthly amount” button
+🈶 Japanese “not free of charge” button
+🈯 Japanese “reserved” button
+🉐 Japanese “bargain” button
+🈹 Japanese “discount” button
+🈚 Japanese “free of charge” button
+🈲 Japanese “prohibited” button
+🉑 Japanese “acceptable” button
+🈸 Japanese “application” button
+🈴 Japanese “passing grade” button
+🈳 Japanese “vacancy” button
+㊗️ Japanese “congratulations” button
+㊙️ Japanese “secret” button
+🈺 Japanese “open for business” button
+🈵 Japanese “no vacancy” button
+🔴 red circle
+🟠 orange circle
+🟡 yellow circle
+🟢 green circle
+🔵 blue circle
+🟣 purple circle
+🟤 brown circle
+⚫ black circle
+⚪ white circle
+🟥 red square
+🟧 orange square
+🟨 yellow square
+🟩 green square
+🟦 blue square
+🟪 purple square
+🟫 brown square
+⬛ black large square
+⬜ white large square
+◼️ black medium square
+◻️ white medium square
+◾ black medium-small square
+◽ white medium-small square
+▪️ black small square
+▫️ white small square
+🔶 large orange diamond
+🔷 large blue diamond
+🔸 small orange diamond
+🔹 small blue diamond
+🔺 red triangle pointed up
+🔻 red triangle pointed down
+💠 diamond with a dot
+🔘 radio button
+🔳 white square button
+🔲 black square button
+🏁 chequered flag
+🚩 triangular flag
+🎌 crossed flags
+🏴 black flag
+🏳️ white flag
+🇦🇨 flag: Ascension Island
+🇦🇩 flag: Andorra
+🇦🇪 flag: United Arab Emirates
+🇦🇫 flag: Afghanistan
+🇦🇬 flag: Antigua & Barbuda
+🇦🇮 flag: Anguilla
+🇦🇱 flag: Albania
+🇦🇲 flag: Armenia
+🇦🇴 flag: Angola
+🇦🇶 flag: Antarctica
+🇦🇷 flag: Argentina
+🇦🇸 flag: American Samoa
+🇦🇹 flag: Austria
+🇦🇺 flag: Australia
+🇦🇼 flag: Aruba
+🇦🇽 flag: Åland Islands
+🇦🇿 flag: Azerbaijan
+🇧🇦 flag: Bosnia & Herzegovina
+🇧🇧 flag: Barbados
+🇧🇩 flag: Bangladesh
+🇧🇪 flag: Belgium
+🇧🇫 flag: Burkina Faso
+🇧🇬 flag: Bulgaria
+🇧🇭 flag: Bahrain
+🇧🇮 flag: Burundi
+🇧🇯 flag: Benin
+🇧🇱 flag: St. Barthélemy
+🇧🇲 flag: Bermuda
+🇧🇳 flag: Brunei
+🇧🇴 flag: Bolivia
+🇧🇶 flag: Caribbean Netherlands
+🇧🇷 flag: Brazil
+🇧🇸 flag: Bahamas
+🇧🇹 flag: Bhutan
+🇧🇻 flag: Bouvet Island
+🇧🇼 flag: Botswana
+🇧🇾 flag: Belarus
+🇧🇿 flag: Belize
+🇨🇦 flag: Canada
+🇨🇨 flag: Cocos (Keeling) Islands
+🇨🇩 flag: Congo - Kinshasa
+🇨🇫 flag: Central African Republic
+🇨🇬 flag: Congo - Brazzaville
+🇨🇭 flag: Switzerland
+🇨🇮 flag: Côte d’Ivoire
+🇨🇰 flag: Cook Islands
+🇨🇱 flag: Chile
+🇨🇲 flag: Cameroon
+🇨🇳 flag: China
+🇨🇴 flag: Colombia
+🇨🇵 flag: Clipperton Island
+🇨🇷 flag: Costa Rica
+🇨🇺 flag: Cuba
+🇨🇻 flag: Cape Verde
+🇨🇼 flag: Curaçao
+🇨🇽 flag: Christmas Island
+🇨🇾 flag: Cyprus
+🇨🇿 flag: Czechia
+🇩🇪 flag: Germany
+🇩🇬 flag: Diego Garcia
+🇩🇯 flag: Djibouti
+🇩🇰 flag: Denmark
+🇩🇲 flag: Dominica
+🇩🇴 flag: Dominican Republic
+🇩🇿 flag: Algeria
+🇪🇦 flag: Ceuta & Melilla
+🇪🇨 flag: Ecuador
+🇪🇪 flag: Estonia
+🇪🇬 flag: Egypt
+🇪🇭 flag: Western Sahara
+🇪🇷 flag: Eritrea
+🇪🇸 flag: Spain
+🇪🇹 flag: Ethiopia
+🇪🇺 flag: European Union
+🇫🇮 flag: Finland
+🇫🇯 flag: Fiji
+🇫🇰 flag: Falkland Islands
+🇫🇲 flag: Micronesia
+🇫🇴 flag: Faroe Islands
+🇫🇷 flag: France
+🇬🇦 flag: Gabon
+🇬🇧 flag: United Kingdom
+🇬🇩 flag: Grenada
+🇬🇪 flag: Georgia
+🇬🇫 flag: French Guiana
+🇬🇬 flag: Guernsey
+🇬🇭 flag: Ghana
+🇬🇮 flag: Gibraltar
+🇬🇱 flag: Greenland
+🇬🇲 flag: Gambia
+🇬🇳 flag: Guinea
+🇬🇵 flag: Guadeloupe
+🇬🇶 flag: Equatorial Guinea
+🇬🇷 flag: Greece
+🇬🇸 flag: South Georgia & South Sandwich Islands
+🇬🇹 flag: Guatemala
+🇬🇺 flag: Guam
+🇬🇼 flag: Guinea-Bissau
+🇬🇾 flag: Guyana
+🇭🇰 flag: Hong Kong SAR China
+🇭🇲 flag: Heard & McDonald Islands
+🇭🇳 flag: Honduras
+🇭🇷 flag: Croatia
+🇭🇹 flag: Haiti
+🇭🇺 flag: Hungary
+🇮🇨 flag: Canary Islands
+🇮🇩 flag: Indonesia
+🇮🇪 flag: Ireland
+🇮🇱 flag: Israel
+🇮🇲 flag: Isle of Man
+🇮🇳 flag: India
+🇮🇴 flag: British Indian Ocean Territory
+🇮🇶 flag: Iraq
+🇮🇷 flag: Iran
+🇮🇸 flag: Iceland
+🇮🇹 flag: Italy
+🇯🇪 flag: Jersey
+🇯🇲 flag: Jamaica
+🇯🇴 flag: Jordan
+🇯🇵 flag: Japan
+🇰🇪 flag: Kenya
+🇰🇬 flag: Kyrgyzstan
+🇰🇭 flag: Cambodia
+🇰🇮 flag: Kiribati
+🇰🇲 flag: Comoros
+🇰🇳 flag: St. Kitts & Nevis
+🇰🇵 flag: North Korea
+🇰🇷 flag: South Korea
+🇰🇼 flag: Kuwait
+🇰🇾 flag: Cayman Islands
+🇰🇿 flag: Kazakhstan
+🇱🇦 flag: Laos
+🇱🇧 flag: Lebanon
+🇱🇨 flag: St. Lucia
+🇱🇮 flag: Liechtenstein
+🇱🇰 flag: Sri Lanka
+🇱🇷 flag: Liberia
+🇱🇸 flag: Lesotho
+🇱🇹 flag: Lithuania
+🇱🇺 flag: Luxembourg
+🇱🇻 flag: Latvia
+🇱🇾 flag: Libya
+🇲🇦 flag: Morocco
+🇲🇨 flag: Monaco
+🇲🇩 flag: Moldova
+🇲🇪 flag: Montenegro
+🇲🇫 flag: St. Martin
+🇲🇬 flag: Madagascar
+🇲🇭 flag: Marshall Islands
+🇲🇰 flag: North Macedonia
+🇲🇱 flag: Mali
+🇲🇲 flag: Myanmar (Burma)
+🇲🇳 flag: Mongolia
+🇲🇴 flag: Macao SAR China
+🇲🇵 flag: Northern Mariana Islands
+🇲🇶 flag: Martinique
+🇲🇷 flag: Mauritania
+🇲🇸 flag: Montserrat
+🇲🇹 flag: Malta
+🇲🇺 flag: Mauritius
+🇲🇻 flag: Maldives
+🇲🇼 flag: Malawi
+🇲🇽 flag: Mexico
+🇲🇾 flag: Malaysia
+🇲🇿 flag: Mozambique
+🇳🇦 flag: Namibia
+🇳🇨 flag: New Caledonia
+🇳🇪 flag: Niger
+🇳🇫 flag: Norfolk Island
+🇳🇬 flag: Nigeria
+🇳🇮 flag: Nicaragua
+🇳🇱 flag: Netherlands
+🇳🇴 flag: Norway
+🇳🇵 flag: Nepal
+🇳🇷 flag: Nauru
+🇳🇺 flag: Niue
+🇳🇿 flag: New Zealand
+🇴🇲 flag: Oman
+🇵🇦 flag: Panama
+🇵🇪 flag: Peru
+🇵🇫 flag: French Polynesia
+🇵🇬 flag: Papua New Guinea
+🇵🇭 flag: Philippines
+🇵🇰 flag: Pakistan
+🇵🇱 flag: Poland
+🇵🇲 flag: St. Pierre & Miquelon
+🇵🇳 flag: Pitcairn Islands
+🇵🇷 flag: Puerto Rico
+🇵🇸 flag: Palestinian Territories
+🇵🇹 flag: Portugal
+🇵🇼 flag: Palau
+🇵🇾 flag: Paraguay
+🇶🇦 flag: Qatar
+🇷🇪 flag: Réunion
+🇷🇴 flag: Romania
+🇷🇸 flag: Serbia
+🇷🇺 flag: Russia
+🇷🇼 flag: Rwanda
+🇸🇦 flag: Saudi Arabia
+🇸🇧 flag: Solomon Islands
+🇸🇨 flag: Seychelles
+🇸🇩 flag: Sudan
+🇸🇪 flag: Sweden
+🇸🇬 flag: Singapore
+🇸🇭 flag: St. Helena
+🇸🇮 flag: Slovenia
+🇸🇯 flag: Svalbard & Jan Mayen
+🇸🇰 flag: Slovakia
+🇸🇱 flag: Sierra Leone
+🇸🇲 flag: San Marino
+🇸🇳 flag: Senegal
+🇸🇴 flag: Somalia
+🇸🇷 flag: Suriname
+🇸🇸 flag: South Sudan
+🇸🇹 flag: São Tomé & Príncipe
+🇸🇻 flag: El Salvador
+🇸🇽 flag: Sint Maarten
+🇸🇾 flag: Syria
+🇸🇿 flag: Eswatini
+🇹🇦 flag: Tristan da Cunha
+🇹🇨 flag: Turks & Caicos Islands
+🇹🇩 flag: Chad
+🇹🇫 flag: French Southern Territories
+🇹🇬 flag: Togo
+🇹🇭 flag: Thailand
+🇹🇯 flag: Tajikistan
+🇹🇰 flag: Tokelau
+🇹🇱 flag: Timor-Leste
+🇹🇲 flag: Turkmenistan
+🇹🇳 flag: Tunisia
+🇹🇴 flag: Tonga
+🇹🇷 flag: Turkey
+🇹🇹 flag: Trinidad & Tobago
+🇹🇻 flag: Tuvalu
+🇹🇼 flag: Taiwan
+🇹🇿 flag: Tanzania
+🇺🇦 flag: Ukraine
+🇺🇬 flag: Uganda
+🇺🇲 flag: U.S. Outlying Islands
+🇺🇳 flag: United Nations
+🇺🇸 flag: United States
+🇺🇾 flag: Uruguay
+🇺🇿 flag: Uzbekistan
+🇻🇦 flag: Vatican City
+🇻🇨 flag: St. Vincent & Grenadines
+🇻🇪 flag: Venezuela
+🇻🇬 flag: British Virgin Islands
+🇻🇮 flag: U.S. Virgin Islands
+🇻🇳 flag: Vietnam
+🇻🇺 flag: Vanuatu
+🇼🇫 flag: Wallis & Futuna
+🇼🇸 flag: Samoa
+🇽🇰 flag: Kosovo
+🇾🇪 flag: Yemen
+🇾🇹 flag: Mayotte
+🇿🇦 flag: South Africa
+🇿🇲 flag: Zambia
+🇿🇼 flag: Zimbabwe
+🏴󠁧󠁢󠁥󠁮󠁧󠁿 flag: England
+🏴󠁧󠁢󠁳󠁣󠁴󠁿 flag: Scotland
+🏴󠁧󠁢󠁷󠁬󠁳󠁿 flag: Wales
diff --git a/.local/share/vocab/words.txt b/.local/share/vocab/words.txt
new file mode 100644
index 0000000..fe8dd61
--- /dev/null
+++ b/.local/share/vocab/words.txt
@@ -0,0 +1,67 @@
+bigot -> a person with very strong beliefs or opinions
+allocate -> assign
+territory -> region
+criteria -> fixed basis to judge
+keep ones head -> not to get angry
+triumph -> victory
+knaves -> dishonest people
+keep ones virtue -> keep ones goodness or morals under any condition
+queer -> strange
+exclusive -> availabe to only one person or group
+fate -> a power that is believed to control what happens in the future
+established -> accepted or followed by many people
+compelled -> forced to do
+abundant -> existing or occuring in large ammounts
+bias -> a tendency to believe that some people,idias, etc are better than others useually results in treating some people unfairly
+desperate -> feeling or showing a hopeless sense taht a situation is so bad as to be impossible to deal with
+iteration -> the repetition of a process or utterance
+cope -> deal with something difficult
+revile -> critisize in an abusive or angrily insulting manner
+serveillance -> close observation, especially of a suspected spy or criminal
+negotiate -> obtain or bring about by discussion
+caveat -> a warning or proviso of specific conditions or limitatations
+punitive -> inteded as punishment
+legislation -> laws, considered collectively
+narcissism -> excessive interest in or admiration of onself and one's physical appearance
+neoligism -> a newly coined word or expression
+ideology -> a system of idias, especially one which forms the basis of economic or political theory and policy
+rebuke -> to criticize sharply
+bizzare -> odd, extravagant
+AWOL -> absent without official leave
+pursue -> follow or chase (someone or something)
+apologist -> a person who offers an arguement in defence of something controversial.
+stereotype -> a widely held but fixed and oversimplified image or idea of a particular type of person or thing
+MIA -> missing in action
+exodus -> a mass departure of people
+departure -> the action of leaving, especially to start a journey
+destiny -> the event that will necessarily happen to a particular person or thing in the future
+torment -> severe physical or mental suffering
+inferior -> lower in rank, status, or quality.
+excerpt -> a short extract from a film, broadcast, or piece of music or writing
+ambitious -> having or showing a strong desire and determination to succeed
+innocuous -> not harmful or offensive
+evacuate -> remove (someone) from a place of danger to a safer place
+indulge -> allow oneself to enjoy the pleasure of
+to take for granted -> to value (something or someone) too lightly
+afaik -> abbreviation for "as far as i know"
+fatal -> causing death
+intercept -> obstruct (someone or something) so as to prevent them from continuing to a destination
+pry -> inquire too closely into a person's private affairs
+relent -> abondon a sever or harsh attitude, especially by finally yielding to a request
+fiance -> a man to whom someone is engaged or married
+credible -> able to be believed; convincing.
+implode -> collapse or cause to collapse violently inwards.
+shenanigans -> secret or dishonest activity
+prelude -> an action or event serving as an introduction to something more important
+sedative -> promoting calm or inducing sleep
+induce -> succeed in persuading or loading (someone) to do something
+immigrant -> a person who comes to live permanently in a foreign country.
+con -> persuade (someone) to do or believe in something by lying to them.
+obnoxious -> extremely unpleasant
+debut -> a person's first appearance or performance in a particular capacity or role
+convention -> a way in which something is usually done
+deduct -> subtract or take away (an amount or part) from a total
+derive -> obtain something from (a specified source)
+sceptical -> not easily convinced; having doubts or reservations
+psyched -> excited and full of anticipation
+faucet -> a tap, "nal" in hindi
diff --git a/.xinitrc b/.xinitrc
new file mode 120000
index 0000000..518bb5d
--- /dev/null
+++ b/.xinitrc
@@ -0,0 +1 @@
+.config/x11/xinitrc \ No newline at end of file
diff --git a/.zprofile b/.zprofile
new file mode 120000
index 0000000..8486fca
--- /dev/null
+++ b/.zprofile
@@ -0,0 +1 @@
+.config/shell/profile \ No newline at end of file