diff options
-rw-r--r-- | .config/dunst/dunstrc | 27 | ||||
-rwxr-xr-x | .config/dwl/autostart | 12 | ||||
-rwxr-xr-x | .config/dwl/portal | 4 | ||||
-rwxr-xr-x | .config/dwl/start | 30 | ||||
-rw-r--r-- | .config/fastfetch/config.jsonc | 39 | ||||
-rw-r--r-- | .config/fontconfig/fonts.conf | 40 | ||||
-rw-r--r-- | .config/foot/foot.ini | 249 | ||||
-rwxr-xr-x | .config/lf/cleaner | 4 | ||||
-rw-r--r-- | .config/lf/icons | 77 | ||||
-rw-r--r-- | .config/lf/lfrc | 25 | ||||
-rwxr-xr-x | .config/lf/scope | 13 | ||||
-rw-r--r-- | .config/qt6ct/colors/gruvbox.conf | 4 | ||||
-rw-r--r-- | .config/qt6ct/qt6ct.conf | 32 | ||||
-rw-r--r-- | .config/shell/aliasrc | 14 | ||||
-rw-r--r-- | .config/shell/profile | 14 | ||||
-rw-r--r-- | .config/zsh/.zshrc | 59 | ||||
-rw-r--r-- | dependencies.txt | 71 | ||||
-rwxr-xr-x | rice.sh | 76 |
18 files changed, 790 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 diff --git a/dependencies.txt b/dependencies.txt new file mode 100644 index 0000000..4d3a042 --- /dev/null +++ b/dependencies.txt @@ -0,0 +1,71 @@ +# dwl deps +wlroots +wayland-protocols +xdg-desktop-portal-wlr +fcft +tllist +pkgconf +wmenu +xorg-xwayland + +# sound +pipewire +pipewire-pulse +pipewire-alsa +wireplumber + +# fonts +libertinus-font +noto-fonts +noto-fonts-emoji +fontconfig + +# lf deps +lf +ffmpegthumbnailer +mediainfo +bat +chafa + +# apps +foot +firefox +wl-clipboard +neovim +grim +slurp +zsh +zsh-autosuggestions +mpv +yt-dlp +unzip + +# utilities +gnupg +# pinentry-qt deps +kwindowsystem +kguiaddons +# dark theme qt +qt6ct +openssh-dinit +fakeroot +lxqt-policykit +fastfetch +btop + +#html and css lsp dep +npm + +man + +#tessen +pass +pass-otp +which +wtype +#muttwizard +neomutt +isync +msmtp +cronie-dinit +lynx @@ -0,0 +1,76 @@ +#!/bin/sh +set -e +WORKDIRECTORY=$PWD +PERMUSER=$(logname) + +if [ "$(id -u)" -ne 0 ] + then printf "The script has to be run as root.\n" + exit +fi + +DEPLIST="`sed -e 's/#.*$//' -e '/^$/d' dependencies.txt | tr '\n' ' '`" +pacman -Sy --noconfirm +pacman -S $DEPLIST --noconfirm + +usermod -aG seat,input,audio,video $PERMUSER +doas -u $PERMUSER cp -r "$WORKDIRECTORY"/.config /home/$PERMUSER +doas -u $PERMUSER cp -r "$WORKDIRECTORY"/.local /home/$PERMUSER +doas -u $PERMUSER cp -a "$WORKDIRECTORY"/.zprofile /home/$PERMUSER + +doas -u $PERMUSER mkdir -p /home/$PERMUSER/.cache/lf +doas -u $PERMUSER mkdir -p /home/$PERMUSER/.cache/zsh +doas -u $PERMUSER mkdir -p /home/$PERMUSER/.local/share/themes +doas -u $PERMUSER mkdir -p /home/$PERMUSER/.local/share/icons +doas -u $PERMUSER mkdir -p /home/$PERMUSER/.local/share/fonts + +cd "$WORKDIRECTORY" || exit +doas -u $PERMUSER git clone https://github.com/awnrt/gruvbox-gtk-theme +doas -u $PERMUSER cp -r gruvbox-gtk-theme/Gruvbox-Dark /home/$PERMUSER/.local/share/themes +doas -u $PERMUSER cp -r gruvbox-gtk-theme/Gruvbox-Icons /home/$PERMUSER/.local/share/icons + +doas -u $PERMUSER dbus-launch gsettings set org.gnome.desktop.interface gtk-theme "Gruvbox-Dark" +doas -u $PERMUSER dbus-launch gsettings set org.gnome.desktop.interface icon-theme "Gruvbox-Icons" +doas -u $PERMUSER dbus-launch gsettings set org.gnome.desktop.wm.preferences button-layout 'appmenu' +doas -u $PERMUSER dbus-launch gsettings set org.gnome.desktop.interface font-name "Sans 11" + +cd "$WORKDIRECTORY" || exit +doas -u $PERMUSER git clone https://github.com/zdharma-continuum/fast-syntax-highlighting +#doas -u $PERMUSER git clone https://github.com/Aloxaf/fzf-tab +mkdir -p /usr/share/zsh/plugins +cp -rf fast-syntax-highlighting /usr/share/zsh/plugins +#cp -rf fzf-tab /usr/share/zsh/plugins +git clone https://git.awy.one/dwl +cd dwl +make clean install +cd "$WORKDIRECTORY" +git clone https://git.awy.one/someblocks +make clean install +cd "$WORKDIRECTORY" +cd .. +rm -rf dwldots + +doas -u $PERMUSER mkdir -p /home/$PERMUSER/.ssh +doas -u $PERMUSER mkdir -p /home/$PERMUSER/.gnupg +doas -u $PERMUSER touch /home/$PERMUSER/.gnupg/gpg-agent.conf + +cat <<EOL >> /home/$PERMUSER/.gnupg/gpg-agent.conf +enable-ssh-support +pinentry-program /usr/bin/pinentry-qt +default-cache-ttl 34560000 +max-cache-ttl 34560000 +EOL + +chsh -s /bin/zsh $PERMUSER + +mkdir -p /root/.config/nvim +cat <<EOL >> /root/.config/nvim/init.vim +set title +set clipboard+=unnamedplus +set relativenumber +colorscheme vim +EOL + +sed -i -e "/^#"Color"/s/^#//" /etc/pacman.conf +sed -i -e '/Color/a\ILoveCandy' /etc/pacman.conf + +echo "Your linux is riced!" |