aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Reiner <nathan@nathanreiner.xyz>2023-02-07 14:46:52 +0100
committerNathan Reiner <nathan@nathanreiner.xyz>2023-02-07 14:46:52 +0100
commit8b8325da143e88cc1144f5ddc26f717d9b98aafd (patch)
treec3dcc1da7e56761ae63441a490fdb8949c83e7fc
parent5410953bd090b2367b215be39465be32fd5a7be0 (diff)
some dotfiles changes
-rwxr-xr-x.local/bin/map1
-rwxr-xr-x.local/bin/mountmgr76
-rwxr-xr-x.local/bin/xstart_dwm1
-rwxr-xr-x.profile5
4 files changed, 81 insertions, 2 deletions
diff --git a/.local/bin/map b/.local/bin/map
index 1b19380..95c0988 100755
--- a/.local/bin/map
+++ b/.local/bin/map
@@ -4,5 +4,6 @@ keylayout=$(localectl list-x11-keymap-layouts | dmenu -p "Select keyboard layout
keymodel=$(localectl list-x11-keymap-variants | dmenu -p "Select keyboard model")
setxkbmap $keylayout $keymodel
+setxkbmap -option caps:escape
notify-send "Set Keyboardlayout" "Layout: $keylayout\nModel: $keymodel"
diff --git a/.local/bin/mountmgr b/.local/bin/mountmgr
new file mode 100755
index 0000000..8c69aab
--- /dev/null
+++ b/.local/bin/mountmgr
@@ -0,0 +1,76 @@
+#!/bin/sh
+
+export UNMOUNT_BLACKLIST="luksdev nvme0n1p1"
+export PINENTRY="pinentry-dmenu"
+
+prompt_pin() {
+ printf "SETPROMPT $1\nGETPIN\n" | $PINENTRY | grep '^D' | sed 's/^D //g'
+}
+
+disk_dialog_entry() {
+ lsblk -r -o NAME,FSTYPE,MOUNTPOINT,LABEL | column -s ' ' -t | grep "$1"
+}
+
+luks_map() {
+ for map in $(sudo dmsetup ls | awk '{ print $1 }'); do
+ echo $map $(sudo cryptsetup status "$map" | grep "device:" | awk '{ print $2 }')
+ done
+}
+
+luks_regex() {
+ luks_map | awk '{ print $2 }' | sed -E 's/\/dev\/(.*)/\1/g' | sed -z 's/\n/\\|/g' | sed -e 's/\\|$/\n/g'
+}
+
+list_mountable() {
+ lsblk -r -o NAME,FSTYPE,MOUNTPOINTS | grep -E '^[^ ]+\s+[^ ]+\s*$' | sed -e '/\[SWAP\]/d' | sed -e "/$(luks_regex)/d" | awk '{ print $1 }'
+}
+
+list_unmountable() {
+ lsblk -r -o NAME,FSTYPE,MOUNTPOINT | sed -e '/NAME FSTYPE MOUNTPOINT/d' | grep -E '^[^ ]+\s+[^ ]+\s+[^ ]+$' | awk '{ print $1 }'
+}
+
+
+main_dialog() {
+ for d in $(list_unmountable); do
+ [ -z "$(echo $UNMOUNT_BLACKLIST | grep "$d")" ] && echo "⏏ $(disk_dialog_entry $d)"
+ done
+
+ for d in $(list_mountable); do
+ echo " $(disk_dialog_entry $d)"
+ done
+}
+
+select=$(main_dialog | dmenu)
+
+[ -z "$select" ] && exit
+
+if [ "$(echo $select | awk '{ print $1 }')" = "⏏" ]; then
+ mountpoint=$(echo "$select" | awk '{ print $4 }')
+ disk=$(echo "$select" | awk '{ print $2 }')
+ sync
+ sudo umount "$mountpoint"
+ rmdir "$mountpoint"
+
+ if [ -n "$(luks_map | grep "$disk")" ]; then
+ sudo cryptsetup close "$disk"
+ fi
+
+ notify-send "Mount Manager" "$disk unmounted"
+else
+ disk=$(echo "$select" | awk '{ print $1 }')
+ device_path="/dev/$disk"
+ fstype=$(echo "$select" | awk '{ print $2 }')
+
+ if [ "$fstype" = "crypto_LUKS" ]; then
+ prompt_pin "Passphrase to decrypt $disk" | sudo cryptsetup open "$device_path" "luks$disk" || exit
+ new_disk="luks$disk"
+ disk="$new_disk"
+ device_path="/dev/mapper/$disk"
+ fi
+
+ mountpoint="/mnt/$disk"
+
+ mkdir "$mountpoint"
+ sudo mount "$device_path" "$mountpoint"
+ notify-send "Mount Manager" "$disk mounted"
+fi
diff --git a/.local/bin/xstart_dwm b/.local/bin/xstart_dwm
index 5dfcff1..802a2cd 100755
--- a/.local/bin/xstart_dwm
+++ b/.local/bin/xstart_dwm
@@ -5,6 +5,7 @@ status -d &
kodi &
while true; do
+ . ~/.profile
# Log stderror to a file
dwm 2> ~/.cache/dwm.log
# No error logging
diff --git a/.profile b/.profile
index f3f2eaa..f91ebc9 100755
--- a/.profile
+++ b/.profile
@@ -10,7 +10,7 @@ export PATH="$HOME/.local/bin:/":$PATH
export PATH="$HOME/.gem/ruby/2.7.0/bin":$PATH
export EDITOR="nvim"
export TERMINAL="st"
-export BROWSER="librewolf"
+export BROWSER="sbt"
export READER="zathura"
export MANPAGER="sh -c 'col -bx | bat -l man --paging always -p'"
export GEM_HOME="$XDG_DATA_HOME"/gem
@@ -25,7 +25,7 @@ export LIBRETEXTUS_DATA="$XDG_DATA_HOME"/LibreTextus
export RANDFILE="$XDG_CACHE_HOME/rnd"
export GNUPGHOME="$XDG_DATA_HOME/gnupg"
export PYTHONSTARTUP="$XDG_CONFIG_HOME/python/config"
-export WWW_HOME="https://nathanreiner.xyz"
+export WWW_HOME="https://search.nathanreiner.xyz"
export GDBHISTFILE="$XDG_DATA_HOME/gdb/history"
alias gpg2='gpg2 --homedir "$XDG_DATA_HOME/gnupg"'
@@ -43,6 +43,7 @@ export NOTMUCH_CONFIG="$XDG_CONFIG_HOME/notmuch/notmuchrc"
export XAUTHORITY="$XDG_CONFIG_HOME/X11/Xauthority"
export XINITRC="$XDG_CONFIG_HOME/X11/xinitrc"
+export QTWEBENGINE_CHROMIUM_FLAGS='--force-dark-mode --enable-smooth-scrolling'
export NEWT_COLORS='
root=white,black
border=white,black