aboutsummaryrefslogtreecommitdiff
path: root/.config
diff options
context:
space:
mode:
authorawy <awy@awy.one>2024-11-24 13:29:56 +0300
committerawy <awy@awy.one>2024-11-24 13:29:56 +0300
commit511afc41829d5626e9e9b84cbc3d4a7c14d63165 (patch)
tree14e7cb05f7206e39828bc49e6689f530615a41b9 /.config
parent7b52375768323ce6b88156aa48b0d50ec2c8dafc (diff)
upload
Diffstat (limited to '.config')
-rw-r--r--.config/dunst/dunstrc27
-rwxr-xr-x.config/dwl/autostart12
-rwxr-xr-x.config/dwl/portal4
-rwxr-xr-x.config/dwl/start30
-rw-r--r--.config/fastfetch/config.jsonc39
-rw-r--r--.config/fontconfig/fonts.conf40
-rw-r--r--.config/foot/foot.ini249
-rwxr-xr-x.config/lf/cleaner4
-rw-r--r--.config/lf/icons77
-rw-r--r--.config/lf/lfrc25
-rwxr-xr-x.config/lf/scope13
-rw-r--r--.config/qt6ct/colors/gruvbox.conf4
-rw-r--r--.config/qt6ct/qt6ct.conf32
-rw-r--r--.config/shell/aliasrc14
-rw-r--r--.config/shell/profile14
-rw-r--r--.config/zsh/.zshrc59
16 files changed, 643 insertions, 0 deletions
diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc
new file mode 100644
index 0000000..69ad8c5
--- /dev/null
+++ b/.config/dunst/dunstrc
@@ -0,0 +1,27 @@
+[global]
+ monitor = 0
+ follow = keyboard
+ width = 400
+ height = 400
+ offset = 0x19
+ padding = 2
+ horizontal_padding = 2
+ transparency = 25
+ font = monospace 14
+ format = "<b>%s</b>\n%b"
+
+[urgency_low]
+ background = "#282828"
+ foreground = "#ebdbb2"
+ timeout = 3
+
+[urgency_normal]
+ foreground = "#ebdbb2"
+ background = "#282828"
+ timeout = 5
+
+[urgency_critical]
+ background = "#282828"
+ foreground = "#ebdbb2"
+ frame_color = "#fabd2f"
+ timeout = 10
diff --git a/.config/dwl/autostart b/.config/dwl/autostart
new file mode 100755
index 0000000..075ace9
--- /dev/null
+++ b/.config/dwl/autostart
@@ -0,0 +1,12 @@
+#!/bin/sh
+pipewire & \
+pipewire-pulse & \
+wireplumber & \
+swaybg -o DP-2 -i /mnt/ssd/papes/thiemeyer_road_to_samarkand.jpg & \
+swaybg -o DP-3 -i /mnt/ssd/papes/thiemeyer_road_to_samarkand.jpg & \
+wlr-randr --output DP-3 --mode 2560x1440@239.998001 \
+wlr-randr --output DP-2 --mode 2560x1440@165 \
+$HOME/.config/dwl/portal & \
+dunst & \
+gpg-agent --daemon & \
+sing-box -c /mnt/ssd/settings/config.json run &
diff --git a/.config/dwl/portal b/.config/dwl/portal
new file mode 100755
index 0000000..16f5f61
--- /dev/null
+++ b/.config/dwl/portal
@@ -0,0 +1,4 @@
+sleep 1
+killall xdg-desktop-portal-wlr
+killall xdg-desktop-portal
+/lib/xdg-desktop-portal-wlr &
diff --git a/.config/dwl/start b/.config/dwl/start
new file mode 100755
index 0000000..d20b2d4
--- /dev/null
+++ b/.config/dwl/start
@@ -0,0 +1,30 @@
+#!/bin/sh
+export XDG_RUNTIME_DIR=/tmp/xdg-runtime-$(id -u)
+mkdir -p $XDG_RUNTIME_DIR
+chmod 0700 $XDG_RUNTIME_DIR
+
+export QT_SCALE_FACTOR=1
+export GBM_BACKEND=nvidia-drm
+export LIBVA_DRIVER_NAME=nvidia
+export __GLX_VENDOR_LIBRARY_NAME=nvidia
+export QT_QPA_PLATFORM=wayland
+export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
+export XDG_SESSION_TYPE=wayland
+export MOZ_ENABLE_WAYLAND=1
+export GDK_BACKEND=wayland
+export WLR_NO_HARDWARE_CURSORS=1
+export XDG_CURRENT_DESKTOP=wlr
+export XDG_SESSION_DESKTOP=wlr
+export SDL_VIDEODRIVER=wayland
+export CLUTTER_BACKEND=wayland
+export ELECTRON_OZONE_PLATFORM_HINT=auto
+export EDITOR=nvim
+export SUDO=doas
+
+export __GL_THREADED_OPTIMIZATIONS=0
+
+mkfifo $XDG_RUNTIME_DIR/statuspipe
+someblocks -p > $XDG_RUNTIME_DIR/statuspipe &
+dbus-run-session dwl -s '$XDG_CONFIG_HOME/dwl/autostart &> /dev/null' < $XDG_RUNTIME_DIR/statuspipe
+killall someblocks
+rm $XDG_RUNTIME_DIR/statuspipe
diff --git a/.config/fastfetch/config.jsonc b/.config/fastfetch/config.jsonc
new file mode 100644
index 0000000..c543457
--- /dev/null
+++ b/.config/fastfetch/config.jsonc
@@ -0,0 +1,39 @@
+{
+ "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
+ "logo": {
+ "type": "small"
+ },
+ "modules": [
+ {
+ "type": "os",
+ "key": "os",
+ "keyColor": "red"
+ },
+ {
+ "type": "kernel",
+ "key": "kernel",
+ "keyColor": "yellow"
+ },
+ {
+ "type": "shell",
+ "key": "shell",
+ "keyColor": "green"
+ },
+ {
+ "type": "packages",
+ "key": "packages",
+ "keyColor": "cyan"
+ },
+ {
+ "type": "wm",
+ "key": "wm",
+ "keyColor": "blue"
+ },
+ {
+ "type": "memory",
+ "key": "memory",
+ "keyColor": "magenta"
+ },
+ "break"
+ ]
+}
diff --git a/.config/fontconfig/fonts.conf b/.config/fontconfig/fonts.conf
new file mode 100644
index 0000000..761ae00
--- /dev/null
+++ b/.config/fontconfig/fonts.conf
@@ -0,0 +1,40 @@
+<?xml version='1.0'?>
+<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+<fontconfig>
+ <alias>
+ <family>serif</family>
+ <prefer>
+ <family>Libertinus Serif</family>
+ <family>Joy Pixels</family>
+ <family>Noto Color Emoji</family>
+ <family>FontAwesome</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>sans-serif</family>
+ <prefer>
+ <family>Libertinus Sans</family>
+ <family>Joy Pixels</family>
+ <family>Noto Color Emoji</family>
+ <family>FontAwesome</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>sans</family>
+ <prefer>
+ <family>Libertinus Sans</family>
+ <family>Joy Pixels</family>
+ <family>Noto Color Emoji</family>
+ <family>FontAwesome</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>monospace</family>
+ <prefer>
+ <family>Noto Sans Mono</family>
+ <family>Libertinus Mono</family>
+ <family>FontAwesome</family>
+ <family>Braille</family>
+ </prefer>
+ </alias>
+</fontconfig>
diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini
new file mode 100644
index 0000000..0acdd21
--- /dev/null
+++ b/.config/foot/foot.ini
@@ -0,0 +1,249 @@
+# -*- conf -*-
+
+# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
+# term=foot (or xterm-256color if built with -Dterminfo=disabled)
+# login-shell=no
+
+# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode
+# title=foot
+# locked-title=no
+
+font=monospace:size=14
+# font-bold=<bold variant of regular font>
+# font-italic=<italic variant of regular font>
+# font-bold-italic=<bold+italic variant of regular font>
+font-size-adjustment=2
+# line-height=<font metrics>
+# letter-spacing=0
+# horizontal-letter-offset=0
+# vertical-letter-offset=0
+# underline-offset=<font metrics>
+# underline-thickness=<font underline thickness>
+# strikeout-thickness=<font strikeout thickness>
+# box-drawings-uses-font-glyphs=no
+# dpi-aware=no
+
+# initial-window-size-pixels=700x500 # Or,
+# initial-window-size-chars=<COLSxROWS>
+# initial-window-mode=windowed
+pad=10x10 # optionally append 'center'
+# resize-by-cells=yes
+# resize-keep-grid=yes
+# resize-delay-ms=100
+
+# bold-text-in-bright=no
+# word-delimiters=,│`|:"'()[]{}<>
+# selection-target=primary
+# workers=<number of logical CPUs>
+# utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux)
+# utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ‘ulog’ (FreeBSD)
+
+[environment]
+# name=value
+
+[bell]
+# urgent=no
+# notify=no
+# visual=no
+# command=
+# command-focused=no
+
+[desktop-notifications]
+# command=notify-send --wait --app-name ${app-id} --icon ${app-id} --category ${category} --urgency ${urgency} --expire-time ${expire-time} --hint STRING:image-path:${icon} --hint BOOLEAN:suppress-sound:${muted} --hint STRING:sound-name:${sound-name} --replace-id ${replace-id} ${action-argument} --print-id -- ${title} ${body}
+# command-action-argument=--action ${action-name}=${action-label}
+# close=""
+# inhibit-when-focused=yes
+
+
+[scrollback]
+# lines=1000
+# multiplier=3.0
+# indicator-position=relative
+# indicator-format=""
+
+[url]
+# launch=xdg-open ${url}
+# label-letters=sadfjklewcmpgh
+# osc8-underline=url-mode
+# protocols=http, https, ftp, ftps, file, gemini, gopher
+# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
+
+[cursor]
+style=beam
+# color=<inverse foreground/background>
+# blink=yes
+# blink-rate=500
+# beam-thickness=1.5
+# underline-thickness=<font underline thickness>
+
+[mouse]
+# hide-when-typing=no
+# alternate-scroll-mode=yes
+
+[touch]
+# long-press-delay=400
+
+[colors]
+alpha=0.9
+background=282828
+foreground=ebdbb2
+regular0=282828
+regular1=cc241d
+regular2=98971a
+regular3=d79921
+regular4=458588
+regular5=b16286
+regular6=689d6a
+regular7=a89984
+bright0=928374
+bright1=fb4934
+bright2=b8bb26
+bright3=fabd2f
+bright4=83a598
+bright5=d3869b
+bright6=8ec07c
+bright7=ebdbb2
+## dimmed colors (see foot.ini(5) man page)
+# dim0=<not set>
+# ...
+# dim7=<not-set>
+
+## The remaining 256-color palette
+# 16 = <256-color palette #16>
+# ...
+# 255 = <256-color palette #255>
+
+## Sixel colors
+# sixel0 = 000000
+# sixel1 = 3333cc
+# sixel2 = cc2121
+# sixel3 = 33cc33
+# sixel4 = cc33cc
+# sixel5 = 33cccc
+# sixel6 = cccc33
+# sixel7 = 878787
+# sixel8 = 424242
+# sixel9 = 545499
+# sixel10 = 994242
+# sixel11 = 549954
+# sixel12 = 995499
+# sixel13 = 549999
+# sixel14 = 999954
+# sixel15 = cccccc
+
+## Misc colors
+# selection-foreground=<inverse foreground/background>
+# selection-background=<inverse foreground/background>
+# jump-labels=<regular0> <regular3> # black-on-yellow
+# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
+# search-box-no-match=<regular0> <regular1> # black-on-red
+# search-box-match=<regular0> <regular3> # black-on-yellow
+# urls=<regular3>
+
+[csd]
+# preferred=server
+# size=26
+# font=<primary font>
+# color=<foreground color>
+# hide-when-maximized=no
+# double-click-to-maximize=yes
+# border-width=0
+# border-color=<csd.color>
+# button-width=26
+# button-color=<background color>
+# button-minimize-color=<regular4>
+# button-maximize-color=<regular2>
+# button-close-color=<regular1>
+
+[key-bindings]
+# scrollback-up-page=Shift+Page_Up
+# scrollback-up-half-page=none
+# scrollback-up-line=none
+# scrollback-down-page=Shift+Page_Down
+# scrollback-down-half-page=none
+# scrollback-down-line=none
+# scrollback-home=none
+# scrollback-end=none
+# clipboard-copy=Control+Shift+c XF86Copy
+# clipboard-paste=Control+Shift+v XF86Paste
+# primary-paste=Shift+Insert
+# search-start=Control+Shift+r
+# font-increase=Control+plus Control+equal Control+KP_Add
+# font-decrease=Control+minus Control+KP_Subtract
+# font-reset=Control+0 Control+KP_0
+# spawn-terminal=Control+Shift+n
+# minimize=none
+# maximize=none
+# fullscreen=none
+# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
+# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
+# pipe-selected=[xargs -r firefox] none
+# pipe-command-output=[wl-copy] none # Copy last command's output to the clipboard
+# show-urls-launch=Control+Shift+o
+# show-urls-copy=none
+# show-urls-persistent=none
+# prompt-prev=Control+Shift+z
+# prompt-next=Control+Shift+x
+# unicode-input=Control+Shift+u
+# noop=none
+
+[search-bindings]
+# cancel=Control+g Control+c Escape
+# commit=Return
+# find-prev=Control+r
+# find-next=Control+s
+# cursor-left=Left Control+b
+# cursor-left-word=Control+Left Mod1+b
+# cursor-right=Right Control+f
+# cursor-right-word=Control+Right Mod1+f
+# cursor-home=Home Control+a
+# cursor-end=End Control+e
+# delete-prev=BackSpace
+# delete-prev-word=Mod1+BackSpace Control+BackSpace
+# delete-next=Delete
+# delete-next-word=Mod1+d Control+Delete
+# extend-char=Shift+Right
+# extend-to-word-boundary=Control+w Control+Shift+Right
+# extend-to-next-whitespace=Control+Shift+w
+# extend-line-down=Shift+Down
+# extend-backward-char=Shift+Left
+# extend-backward-to-word-boundary=Control+Shift+Left
+# extend-backward-to-next-whitespace=none
+# extend-line-up=Shift+Up
+# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
+# primary-paste=Shift+Insert
+# unicode-input=none
+# quit=none
+# scrollback-up-page=Shift+Page_Up
+# scrollback-up-half-page=none
+# scrollback-up-line=none
+# scrollback-down-page=Shift+Page_Down
+# scrollback-down-half-page=none
+# scrollback-down-line=none
+# scrollback-home=none
+# scrollback-end=none
+
+[url-bindings]
+# cancel=Control+g Control+c Control+d Escape
+# toggle-url-visible=t
+
+[text-bindings]
+# \x03=Mod4+c # Map Super+c -> Ctrl+c
+
+[mouse-bindings]
+# scrollback-up-mouse=BTN_WHEEL_BACK
+# scrollback-down-mouse=BTN_WHEEL_FORWARD
+# font-increase=Control+BTN_WHEEL_BACK
+# font-decrease=Control+BTN_WHEEL_FORWARD
+# selection-override-modifiers=Shift
+# primary-paste=BTN_MIDDLE
+# select-begin=BTN_LEFT
+# select-begin-block=Control+BTN_LEFT
+# select-extend=BTN_RIGHT
+# select-extend-character-wise=Control+BTN_RIGHT
+# select-word=BTN_LEFT-2
+# select-word-whitespace=Control+BTN_LEFT-2
+# select-quote = BTN_LEFT-3
+# select-row=BTN_LEFT-4
+
+# vim: ft=dosini
diff --git a/.config/lf/cleaner b/.config/lf/cleaner
new file mode 100755
index 0000000..1227249
--- /dev/null
+++ b/.config/lf/cleaner
@@ -0,0 +1,4 @@
+#!/bin/sh
+#rm ~/.cache/lf/* -f
+exec kitty +kitten icat --clear --stdin no --silent --transfer-mode file </dev/null >/dev/tty
+
diff --git a/.config/lf/icons b/.config/lf/icons
new file mode 100644
index 0000000..aad068c
--- /dev/null
+++ b/.config/lf/icons
@@ -0,0 +1,77 @@
+di 📁
+fi 📃
+tw 🤝
+ow 📂
+ln ⛓
+or ❌
+ex 🎯
+*.txt ✍
+*.mom ✍
+*.me ✍
+*.ms ✍
+*.avif 🖼
+*.png 🖼
+*.webp 🖼
+*.ico 🖼
+*.jpg 📸
+*.jpe 📸
+*.jpeg 📸
+*.gif 🖼
+*.svg 🗺
+*.tif 🖼
+*.tiff 🖼
+*.xcf 🖌
+*.html 🌎
+*.xml 📰
+*.gpg 🔒
+*.css 🎨
+*.pdf 📚
+*.djvu 📚
+*.epub 📚
+*.csv 📓
+*.xlsx 📓
+*.tex 📜
+*.md 📘
+*.r 📊
+*.R 📊
+*.rmd 📊
+*.Rmd 📊
+*.m 📊
+*.mp3 🎵
+*.opus 🎵
+*.ogg 🎵
+*.m4a 🎵
+*.flac 🎼
+*.wav 🎼
+*.mkv 🎥
+*.mp4 🎥
+*.webm 🎥
+*.mpeg 🎥
+*.avi 🎥
+*.mov 🎥
+*.mpg 🎥
+*.wmv 🎥
+*.m4b 🎥
+*.flv 🎥
+*.zip 📦
+*.rar 📦
+*.7z 📦
+*.tar 📦
+*.z64 🎮
+*.v64 🎮
+*.n64 🎮
+*.gba 🎮
+*.nes 🎮
+*.gdi 🎮
+*.1 ℹ
+*.nfo ℹ
+*.info ℹ
+*.log 📙
+*.iso 📀
+*.img 📀
+*.bib 🎓
+*.ged 👪
+*.part 💔
+*.torrent 🔽
+*.jar ♨
+*.java ♨
diff --git a/.config/lf/lfrc b/.config/lf/lfrc
new file mode 100644
index 0000000..56ca258
--- /dev/null
+++ b/.config/lf/lfrc
@@ -0,0 +1,25 @@
+set ifs "\n"
+set icons
+set sixel true
+set cleaner ~/.config/lf/cleaner
+set previewer ~/.config/lf/scope
+
+cmd open ${{
+ case $(file --mime-type "$(readlink -f $f)" -b) in
+ text/*|application/json|inode/x-empty|application/x-subrip) $EDITOR $fx;;
+ video/*) setsid -f mpv $f -quiet >/dev/null 2>&1 ;;
+ audio/*|video/x-ms-asf) mpv --audio-display=no $f ;;
+ *) for f in $fx; do setsid -f $OPENER $f >/dev/null 2>&1; done;;
+ esac
+}}
+
+cmd delete ${{
+ clear; tput cup $(($(tput lines)/3)); tput bold
+ set -f
+ printf "%s\n\t" "$fx"
+ printf "delete?[y/N]"
+ read ans
+ [ $ans = "y" ] && rm -rf -- $fx
+}}
+
+map D delete
diff --git a/.config/lf/scope b/.config/lf/scope
new file mode 100755
index 0000000..b79c4b6
--- /dev/null
+++ b/.config/lf/scope
@@ -0,0 +1,13 @@
+#!/bin/sh
+case "$(file -Lb --mime-type -- "$1")" in
+ image/*)
+ chafa -f sixel -s "$2x$3" --animate off --polite on "$1"
+ exit 1
+ ;;
+ text/* | */xml | application/json | application/x-ndjson) bat -p --theme ansi --terminal-width "$(($4-2))" -f "$1" ;;
+ audio/* | application/octet-stream) mediainfo "$1" || exit 1 ;;
+ video/*)
+ CACHE="${XDG_CACHE_HOME:-$HOME/.cache}/lf/thumb.$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | cut -d' ' -f1)"
+ [ ! -f "$CACHE" ] && ffmpegthumbnailer -i "$1" -o "$CACHE" -s 0
+ chafa -f sixel -s "$2x$3" --animate off --polite on "$CACHE"
+esac
diff --git a/.config/qt6ct/colors/gruvbox.conf b/.config/qt6ct/colors/gruvbox.conf
new file mode 100644
index 0000000..dc6dbf7
--- /dev/null
+++ b/.config/qt6ct/colors/gruvbox.conf
@@ -0,0 +1,4 @@
+[ColorScheme]
+active_colors=#ffebdbb2, #ff1d2021, #ffbdae93, #ffa89984, #ff3c3836, #ff504945, #ffebdbb2, #ffebdbb2, #ffebdbb2, #ff282828, #ff1d2021, #ff504945, #ff458588, #ff282828, #ff458588, #ffcc241d, #ff282828, #ffebdbb2, #ff1d2021, #ffebdbb2, #ffbdae93
+disabled_colors=#ffbdae93, #ff1d2021, #ffbdae93, #ffa89984, #ff3c3836, #ff504945, #ffbdae93, #ffbdae93, #ffbdae93, #ff282828, #ff1d2021, #ff504945, #ff438184, #ff3c3836, #ff458588, #ffcc241d, #ff282828, #ffebdbb2, #ff1d2021, #ffebdbb2, #ffbdae93
+inactive_colors=#ffebdbb2, #ff1d2021, #ffbdae93, #ffa89984, #ff3c3836, #ff504945, #ffebdbb2, #ffebdbb2, #ffebdbb2, #ff282828, #ff1d2021, #ff504945, #ff438184, #ffa89984, #ff458588, #ffcc241d, #ff282828, #ffebdbb2, #ff1d2021, #ffebdbb2, #ffbdae93
diff --git a/.config/qt6ct/qt6ct.conf b/.config/qt6ct/qt6ct.conf
new file mode 100644
index 0000000..7d24433
--- /dev/null
+++ b/.config/qt6ct/qt6ct.conf
@@ -0,0 +1,32 @@
+[Appearance]
+color_scheme_path=$XDG_CONFIG_HOME/qt6ct/colors/gruvbox.conf
+custom_palette=true
+icon_theme=Gruvbox-Icons
+standard_dialogs=default
+style=Fusion
+
+[Fonts]
+fixed="Monospace,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular"
+general="Sans Serif,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular"
+
+[Interface]
+activate_item_on_single_click=1
+buttonbox_layout=0
+cursor_flash_time=1000
+dialog_buttons_have_icons=1
+double_click_interval=400
+gui_effects=@Invalid()
+keyboard_scheme=2
+menus_have_icons=true
+show_shortcuts_in_context_menus=true
+stylesheets=@Invalid()
+toolbutton_style=4
+underline_shortcut=1
+wheel_scroll_lines=3
+
+[SettingsWindow]
+geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\n\0\0\0\0\0\0\0\x13\xbd\0\0\x5q\0\0\n\0\0\0\0\0\0\0\x13\xbd\0\0\x5q\0\0\0\x1\0\0\0\0\n\0\0\0\n\0\0\0\0\0\0\0\x13\xbd\0\0\x5q)
+
+[Troubleshooting]
+force_raster_widgets=1
+ignored_applications=@Invalid()
diff --git a/.config/shell/aliasrc b/.config/shell/aliasrc
new file mode 100644
index 0000000..b7da08e
--- /dev/null
+++ b/.config/shell/aliasrc
@@ -0,0 +1,14 @@
+# 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
+alias \
+ ls="ls -hN --color=auto" \
+ grep="grep --color=auto" \
+ ip="ip -color=auto"
+
+alias \
+ v="nvim"
diff --git a/.config/shell/profile b/.config/shell/profile
new file mode 100644
index 0000000..1913c43
--- /dev/null
+++ b/.config/shell/profile
@@ -0,0 +1,14 @@
+export PATH="$PATH:$(find ~/.local/bin -type d | paste -sd ':' -)"
+export ZDOTDIR="$HOME/.config/zsh"
+export BROWSER="firefox"
+export EDITOR="nvim"
+export MANPAGER='nvim +Man!'
+export TERMINAL="foot"
+export TERMINAL_PROG="foot"
+
+export XDG_CONFIG_HOME="$HOME/.config"
+export XDG_DATA_HOME="$HOME/.local/share"
+export XDG_CACHE_HOME="$HOME/.cache"
+export XDG_DOWNLOAD_DIR="$HOME/downloads"
+
+[ "$(tty)" = "/dev/tty1" ] && ! pidof -s dwl >/dev/null 2>&1 && exec "$XDG_CONFIG_HOME/dwl/start"
diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc
new file mode 100644
index 0000000..a98b25a
--- /dev/null
+++ b/.config/zsh/.zshrc
@@ -0,0 +1,59 @@
+# Enable colors and change prompt:
+
+autoload -U colors && colors # Load colors
+autoload -Uz vcs_info
+precmd_vcs_info() { vcs_info }
+precmd_functions+=( precmd_vcs_info )
+# neovim beam cursor fix
+function precmd { print -Pn "\e[ q" }
+zstyle ':vcs_info:git:*' formats "[%b]%{$fg[yellow]%}%u"
+zstyle ':vcs_info:*' check-for-changes true
+zstyle ':vcs_info:*' unstagedstr '*'
+setopt PROMPT_SUBST
+PROMPT='%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$fg[red]%}${vcs_info_msg_0_}%{$reset_color%}$%b '
+setopt autocd # Automatically cd into typed directory.
+stty stop undef # Disable ctrl-s to freeze terminal.
+setopt interactive_comments
+
+HISTSIZE=10000000
+SAVEHIST=10000000
+HISTFILE="${XDG_CACHE_HOME:-$HOME/.cache}/zsh/history"
+setopt append_history
+setopt inc_append_history
+setopt share_history
+setopt hist_ignore_dups
+setopt hist_ignore_all_dups
+setopt hist_expire_dups_first
+setopt hist_find_no_dups
+setopt hist_save_no_dups
+setopt hist_reduce_blanks
+setopt hist_verify
+[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc"
+
+autoload -U compinit; compinit
+zstyle ':completion:*' menu select
+zmodload zsh/complist
+compinit
+_comp_options+=(globdots) # Include hidden files.
+
+source "/usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh"
+
+lfcd () {
+ tmp="$(mktemp -uq)"
+ trap 'rm -f $tmp >/dev/null 2>&1 && trap - HUP INT QUIT TERM PWR EXIT' HUP INT QUIT TERM PWR EXIT
+ lf -last-dir-path="$tmp" "$@"
+ if [ -f "$tmp" ]; then
+ dir="$(cat "$tmp")"
+ [ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && cd "$dir"
+ fi
+}
+bindkey -s '^o' '^ulfcd\n'
+
+unset SSH_AGENT_PID
+if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
+ export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
+fi
+
+export PASSWORD_STORE_CLIP_TIME=5
+# Load syntax highlighting; should be last.
+source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh 2>/dev/null