From 8e97cff50b77a5c381447e675ea448865aa69d74 Mon Sep 17 00:00:00 2001 From: Gustaf Rydholm Date: Thu, 27 May 2021 21:11:39 +0200 Subject: Bug fix in PATH export, added some of Luke's scripts --- .config/shell/aliasrc | 14 ++++++++++++ .config/shell/profile | 2 +- .config/x11/xprofile | 5 +++-- .config/x11/xresources | 10 ++++----- .config/zsh/.zshrc | 7 ++++++ .config/zsh/aliases.zsh | 44 ------------------------------------- .config/zsh/functions.zsh | 4 ++-- .local/bin/setbg | 16 ++++++++++++++ .local/bin/statusbar/clock | 29 ------------------------ .local/bin/statusbar/internet | 24 -------------------- .local/bin/statusbar/memory | 12 ---------- .local/bin/statusbar/pacpackages | 29 ------------------------ .local/bin/statusbar/sb-clock | 29 ++++++++++++++++++++++++ .local/bin/statusbar/sb-cpu | 12 ++++++++++ .local/bin/statusbar/sb-internet | 24 ++++++++++++++++++++ .local/bin/statusbar/sb-memory | 12 ++++++++++ .local/bin/statusbar/sb-pacpackages | 29 ++++++++++++++++++++++++ .local/bin/statusbar/sb-volume | 28 +++++++++++++++++++++++ .local/bin/statusbar/volume | 28 ----------------------- 19 files changed, 182 insertions(+), 176 deletions(-) create mode 100644 .config/zsh/.zshrc create mode 100755 .local/bin/setbg delete mode 100644 .local/bin/statusbar/clock delete mode 100644 .local/bin/statusbar/internet delete mode 100644 .local/bin/statusbar/memory delete mode 100644 .local/bin/statusbar/pacpackages create mode 100755 .local/bin/statusbar/sb-clock create mode 100755 .local/bin/statusbar/sb-cpu create mode 100755 .local/bin/statusbar/sb-internet create mode 100755 .local/bin/statusbar/sb-memory create mode 100755 .local/bin/statusbar/sb-pacpackages create mode 100755 .local/bin/statusbar/sb-volume delete mode 100644 .local/bin/statusbar/volume diff --git a/.config/shell/aliasrc b/.config/shell/aliasrc index 8d4eacd..b0c76ee 100755 --- a/.config/shell/aliasrc +++ b/.config/shell/aliasrc @@ -25,3 +25,17 @@ alias \ grep="grep --color=auto" \ diff="diff --color=auto" \ ccat="highlight --out-format=ansi" + +# My aliases for different programs +alias \ + lg='lazygit' \ + gpu-watch="watch -n -1 nvidia-smi" \ + zshconfig="nvim ~/.zshrc" \ + gp='git add . && git commit -m "auto push" && git push' \ + zrc='nvim ~/.zshrc' \ + zsource='source ~/.zshrc' \ + v='nvim' \ + vi='nvim' \ + vim='nvim' \ + config='/usr/bin/git --git-dir=$HOME/dotfiles/ --work-tree=$HOME' \ + tmux='tmux -f $HOME/.config/tmux/.tmux.conf' diff --git a/.config/shell/profile b/.config/shell/profile index 0630427..a78bc45 100755 --- a/.config/shell/profile +++ b/.config/shell/profile @@ -3,7 +3,7 @@ # profile file. Runs on login. Environmental variables are set here. # Adds `~/.local/bin` to $PATH -export PATH="$PATH:${$(find ~/.local/bin -type -d printf %p:)%%:}" +export PATH="$PATH:${$(find ~/.local/bin -type d -printf %p:)%%:}" unsetopt PROMPT_SP diff --git a/.config/x11/xprofile b/.config/x11/xprofile index d7404fe..d341451 100755 --- a/.config/x11/xprofile +++ b/.config/x11/xprofile @@ -3,12 +3,13 @@ # This file runs when a DM logs you into a graphical session. # If you use startx/xinit like a Chad, this file will also be sourced. -dwmblocks & # Status bar setbg & # Set the background with the `setbg` script -xcompmgr & # xcompmgr for transparency +# xcompmgr & # xcompmgr for transparency xset r rate 300 50 & # Speed xrate up unclutter & # Remove mouse when idle xbanish & # Remove mouse when typing +dwmblocks & # Status bar +echo $PATH > /tmp/path.dbg # This line autostart an instance of Pulseaudio that does not exit on idle. # This is "necessary" on Artix due to a current bug between PA and diff --git a/.config/x11/xresources b/.config/x11/xresources index df7071f..84b231b 100755 --- a/.config/x11/xresources +++ b/.config/x11/xresources @@ -1,5 +1,5 @@ -!! Transparency (0-1): -*.alpha: 1.0 - -!! Set a default font and font size as below: -*.font: monospace:size=10 +/* !! Transparency (0-1): */ +/* *.alpha: 1.0 */ +/* */ +/* !! Set a default font and font size as below: */ +/* *.font: monospace:size=10 */ diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc new file mode 100644 index 0000000..af98c0e --- /dev/null +++ b/.config/zsh/.zshrc @@ -0,0 +1,7 @@ +# ZSH config +# Load plugins first +[ -f $HOME/.config/zsh/plugins.zsh ] && source $HOME/.config/zsh/plugins.zsh +[ -f $HOME/.config/zsh/exports.zsh ] && source $HOME/.config/zsh/exports.zsh +[ -f $HOME/.config/zsh/functions.zsh ] && source $HOME/.config/zsh/functions.zsh +[ -f $HOME/.config/zsh/keybindings.zsh ] && source $HOME/.config/zsh/keybindings.zsh +[ -f $HOME/.config/zsh/aliases.zsh ] && source $HOME/.config/zsh/aliases.zsh diff --git a/.config/zsh/aliases.zsh b/.config/zsh/aliases.zsh index 894d9f2..23db311 100644 --- a/.config/zsh/aliases.zsh +++ b/.config/zsh/aliases.zsh @@ -9,47 +9,3 @@ alias vi='nvim' alias vim='nvim' alias config='/usr/bin/git --git-dir=$HOME/dotfiles/ --work-tree=$HOME' alias tmux='tmux -f $HOME/.config/tmux/.tmux.conf' - -# Rust CLI programs -if command -v exa > /dev/null; then - alias ls='exa -al --color=always --group-directories-first' # my preferred listing - alias la='exa -a --color=always --group-directories-first' # all files and dirs - alias ll='exa -l --color=always --group-directories-first' # long format - alias lt='exa -aT --color=always --group-directories-first' # tree listing - alias l.='exa -a | egrep "^\."' -else - echo "install exa" -fi - -if command -v bat > /dev/null; then - alias cat='bat' -else - echo "install bat" -fi - -if command -v rg > /dev/null; then - alias grep='rg' -else - echo "install ripgrep" -fi - -if command -v fd > /dev/null; then - alias find='fd' -else - echo "install fd" -fi - -if ! command -v tokei > /dev/null; then - echo "install tokei" -fi - -if command -v procs > /dev/null; then - alias ps='procs' -else - echo "install procs" -fi - -if ! command -v btm > /dev/null; then - echo "install bottom" -fi - diff --git a/.config/zsh/functions.zsh b/.config/zsh/functions.zsh index 967a2d4..303e91c 100644 --- a/.config/zsh/functions.zsh +++ b/.config/zsh/functions.zsh @@ -15,7 +15,7 @@ function zle-keymap-select { # Prompt called purs function zle-line-init zle-keymap-select { - PROMPT=`$HOME/purs/target/release/purs prompt -k "$KEYMAP" -r "$?" --venv "${${VIRTUAL_ENV:t}%-*}"` + PROMPT=`$HOME/.local/src/purs/target/release/purs prompt -k "$KEYMAP" -r "$?" --venv "${${VIRTUAL_ENV:t}%-*}"` zle reset-prompt } zle -N zle-line-init @@ -24,6 +24,6 @@ zle -N zle-keymap-select autoload -Uz add-zsh-hook function _prompt_purs_precmd() { - /$HOME/purs/target/release/purs precmd + /$HOME/.local/src/purs/target/release/purs precmd } add-zsh-hook precmd _prompt_purs_precmd diff --git a/.local/bin/setbg b/.local/bin/setbg new file mode 100755 index 0000000..8eeecfe --- /dev/null +++ b/.local/bin/setbg @@ -0,0 +1,16 @@ +#!/bin/sh + +# This script does the following: +# Run by itself, set the wallpaper (at X start). +# If given a file, set that as the new wallpaper. + +## Location of link to wallpaper link. +bgloc="${XDG_DATA_HOME:-$HOME/.local/share/}/wallpaper" + +trueloc="$(readlink -f "$1")" && +case "$(file --mime-type -b "$trueloc")" in + image/* ) ln -sf "$(readlink -f "$1")" "$bgloc" && notify-send -i "$bgloc" "Changing wallpaper..." ;; + *) notify-send "Error" "Not a valid image." ; exit 1;; +esac + +xwallpaper --zoom "$bgloc" diff --git a/.local/bin/statusbar/clock b/.local/bin/statusbar/clock deleted file mode 100644 index d25e8d0..0000000 --- a/.local/bin/statusbar/clock +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -clock=$(date '+%I') - -case "$clock" in - "00") icon="🕛" ;; - "01") icon="🕐" ;; - "02") icon="🕑" ;; - "03") icon="🕒" ;; - "04") icon="🕓" ;; - "05") icon="🕔" ;; - "06") icon="🕕" ;; - "07") icon="🕖" ;; - "08") icon="🕗" ;; - "09") icon="🕘" ;; - "10") icon="🕙" ;; - "11") icon="🕚" ;; - "12") icon="🕛" ;; -esac - -case $BLOCK_BUTTON in - 1) notify-send "This Month" "$(cal --color=always | sed "s/..7m//;s/..27m/<\/span><\/b>/")" && notify-send "Appointments" "$(calcurse -d3)" ;; - 2) setsid -f "$TERMINAL" -e calcurse ;; - 3) notify-send "📅 Time/date module" "\- Left click to show upcoming appointments for the next three days via \`calcurse -d3\` and show the month via \`cal\` -- Middle click opens calcurse if installed" ;; - 6) "$TERMINAL" -e "$EDITOR" "$0" ;; -esac - -date "+%Y %b %d (%a) $icon%I:%M%p" diff --git a/.local/bin/statusbar/internet b/.local/bin/statusbar/internet deleted file mode 100644 index ee1a160..0000000 --- a/.local/bin/statusbar/internet +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -# Show wifi 📶 and percent strength or 📡 if none. -# Show 🌐 if connected to ethernet or ❎ if none. -# Show 🔒 if a vpn connection is active - -case $BLOCK_BUTTON in - 1) "$TERMINAL" -e nmtui; pkill -RTMIN+4 dwmblocks ;; - 3) notify-send "🌐 Internet module" "\- Click to connect -📡: no wifi connection -📶: wifi connection with quality -❎: no ethernet -🌐: ethernet working -🔒: vpn is active -" ;; - 6) "$TERMINAL" -e "$EDITOR" "$0" ;; -esac - -case "$(cat /sys/class/net/w*/operstate 2>/dev/null)" in - down) wifiicon="📡 " ;; - up) wifiicon="$(awk '/^\s*w/ { print "📶", int($3 * 100 / 70) "% " }' /proc/net/wireless)" ;; -esac - -printf "%s%s%s\n" "$wifiicon" "$(sed "s/down/❎/;s/up/🌐/" /sys/class/net/e*/operstate 2>/dev/null)" "$(sed "s/.*/🔒/" /sys/class/net/tun*/operstate 2>/dev/null)" diff --git a/.local/bin/statusbar/memory b/.local/bin/statusbar/memory deleted file mode 100644 index 01d3daf..0000000 --- a/.local/bin/statusbar/memory +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -case $BLOCK_BUTTON in - 1) notify-send "🧠 Memory hogs" "$(ps axch -o cmd:15,%mem --sort=-%mem | head)" ;; - 2) setsid -f "$TERMINAL" -e htop ;; - 3) notify-send "🧠 Memory module" "\- Shows Memory Used/Total. -- Click to show memory hogs. -- Middle click to open htop." ;; - 6) "$TERMINAL" -e "$EDITOR" "$0" ;; -esac - -free --mebi | sed -n '2{p;q}' | awk '{printf ("🧠%2.2fGiB/%2.2fGiB\n", ( $3 / 1024), ($2 / 1024))}' diff --git a/.local/bin/statusbar/pacpackages b/.local/bin/statusbar/pacpackages deleted file mode 100644 index 37ebed3..0000000 --- a/.local/bin/statusbar/pacpackages +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -# Displays number of upgradeable packages. -# For this to work, have a `pacman -Sy` command run in the background as a -# cronjob every so often as root. This script will then read those packages. -# When clicked, it will run an upgrade via pacman. -# -# Add the following text as a file in /usr/share/libalpm/hooks/statusbar.hook: -# -# [Trigger] -# Operation = Upgrade -# Type = Package -# Target = * -# -# [Action] -# Description = Updating statusbar... -# When = PostTransaction -# Exec = /usr/bin/pkill -RTMIN+8 dwmblocks # Or i3blocks if using i3. - -case $BLOCK_BUTTON in - 1) setsid -f "$TERMINAL" -e sb-popupgrade ;; - 2) notify-send "$(/usr/bin/pacman -Qu)" ;; - 3) notify-send "🎁 Upgrade module" "📦: number of upgradable packages -- Left click to upgrade packages -- Middle click to show upgradable packages" ;; - 6) "$TERMINAL" -e "$EDITOR" "$0" ;; -esac - -pacman -Qu | grep -Fcv "[ignored]" | sed "s/^/📦/;s/^📦0$//g" diff --git a/.local/bin/statusbar/sb-clock b/.local/bin/statusbar/sb-clock new file mode 100755 index 0000000..85b7775 --- /dev/null +++ b/.local/bin/statusbar/sb-clock @@ -0,0 +1,29 @@ +#!/bin/sh + +clock=$(date '+%I') + +case "$clock" in + "00") icon="🕛" ;; + "01") icon="🕐" ;; + "02") icon="🕑" ;; + "03") icon="🕒" ;; + "04") icon="🕓" ;; + "05") icon="🕔" ;; + "06") icon="🕕" ;; + "07") icon="🕖" ;; + "08") icon="🕗" ;; + "09") icon="🕘" ;; + "10") icon="🕙" ;; + "11") icon="🕚" ;; + "12") icon="🕛" ;; +esac + +case $BLOCK_BUTTON in + 1) notify-send "This Month" "$(cal --color=always | sed "s/..7m//;s/..27m/<\/span><\/b>/")" && notify-send "Appointments" "$(calcurse -d3)" ;; + 2) setsid -f "$TERMINAL" -e calcurse ;; + 3) notify-send "📅 Time/date module" "\- Left click to show upcoming appointments for the next three days via \`calcurse -d3\` and show the month via \`cal\` +- Middle click opens calcurse if installed" ;; + 6) "$TERMINAL" -e "$EDITOR" "$0" ;; +esac + +date "+(%a) %d %b $icon%I:%M%p" diff --git a/.local/bin/statusbar/sb-cpu b/.local/bin/statusbar/sb-cpu new file mode 100755 index 0000000..1572b52 --- /dev/null +++ b/.local/bin/statusbar/sb-cpu @@ -0,0 +1,12 @@ +#!/bin/sh + +case $BLOCK_BUTTON in + 1) notify-send "🖥 CPU hogs" "$(ps axch -o cmd:15,%cpu --sort=-%cpu | head)\\n(100% per core)" ;; + 2) setsid -f "$TERMINAL" -e htop ;; + 3) notify-send "🖥 CPU module " "\- Shows CPU temperature. +- Click to show intensive processes. +- Middle click to open htop." ;; + 6) "$TERMINAL" -e "$EDITOR" "$0" ;; +esac + +sensors | awk '/Core 0/ {print "🌡" $3}' diff --git a/.local/bin/statusbar/sb-internet b/.local/bin/statusbar/sb-internet new file mode 100755 index 0000000..ee1a160 --- /dev/null +++ b/.local/bin/statusbar/sb-internet @@ -0,0 +1,24 @@ +#!/bin/sh + +# Show wifi 📶 and percent strength or 📡 if none. +# Show 🌐 if connected to ethernet or ❎ if none. +# Show 🔒 if a vpn connection is active + +case $BLOCK_BUTTON in + 1) "$TERMINAL" -e nmtui; pkill -RTMIN+4 dwmblocks ;; + 3) notify-send "🌐 Internet module" "\- Click to connect +📡: no wifi connection +📶: wifi connection with quality +❎: no ethernet +🌐: ethernet working +🔒: vpn is active +" ;; + 6) "$TERMINAL" -e "$EDITOR" "$0" ;; +esac + +case "$(cat /sys/class/net/w*/operstate 2>/dev/null)" in + down) wifiicon="📡 " ;; + up) wifiicon="$(awk '/^\s*w/ { print "📶", int($3 * 100 / 70) "% " }' /proc/net/wireless)" ;; +esac + +printf "%s%s%s\n" "$wifiicon" "$(sed "s/down/❎/;s/up/🌐/" /sys/class/net/e*/operstate 2>/dev/null)" "$(sed "s/.*/🔒/" /sys/class/net/tun*/operstate 2>/dev/null)" diff --git a/.local/bin/statusbar/sb-memory b/.local/bin/statusbar/sb-memory new file mode 100755 index 0000000..216015a --- /dev/null +++ b/.local/bin/statusbar/sb-memory @@ -0,0 +1,12 @@ +#!/bin/sh + +case $BLOCK_BUTTON in + 1) notify-send "🧠 Memory hogs" "$(ps axch -o cmd:15,%mem --sort=-%mem | head)" ;; + 2) setsid -f "$TERMINAL" -e htop ;; + 3) notify-send "🧠 Memory module" "\- Shows Memory Used/Total. +- Click to show memory hogs. +- Middle click to open htop." ;; + 6) "$TERMINAL" -e "$EDITOR" "$0" ;; +esac + +free --mebi | sed -n '2{p;q}' | awk '{printf ("🧠 %2.2fGiB\n", ( $3 / 1024))}' diff --git a/.local/bin/statusbar/sb-pacpackages b/.local/bin/statusbar/sb-pacpackages new file mode 100755 index 0000000..37ebed3 --- /dev/null +++ b/.local/bin/statusbar/sb-pacpackages @@ -0,0 +1,29 @@ +#!/bin/sh + +# Displays number of upgradeable packages. +# For this to work, have a `pacman -Sy` command run in the background as a +# cronjob every so often as root. This script will then read those packages. +# When clicked, it will run an upgrade via pacman. +# +# Add the following text as a file in /usr/share/libalpm/hooks/statusbar.hook: +# +# [Trigger] +# Operation = Upgrade +# Type = Package +# Target = * +# +# [Action] +# Description = Updating statusbar... +# When = PostTransaction +# Exec = /usr/bin/pkill -RTMIN+8 dwmblocks # Or i3blocks if using i3. + +case $BLOCK_BUTTON in + 1) setsid -f "$TERMINAL" -e sb-popupgrade ;; + 2) notify-send "$(/usr/bin/pacman -Qu)" ;; + 3) notify-send "🎁 Upgrade module" "📦: number of upgradable packages +- Left click to upgrade packages +- Middle click to show upgradable packages" ;; + 6) "$TERMINAL" -e "$EDITOR" "$0" ;; +esac + +pacman -Qu | grep -Fcv "[ignored]" | sed "s/^/📦/;s/^📦0$//g" diff --git a/.local/bin/statusbar/sb-volume b/.local/bin/statusbar/sb-volume new file mode 100755 index 0000000..61588c3 --- /dev/null +++ b/.local/bin/statusbar/sb-volume @@ -0,0 +1,28 @@ +#!/bin/sh + +# Prints the current volume or 🔇 if muted. + +case $BLOCK_BUTTON in + 1) setsid -f "$TERMINAL" -e pulsemixer ;; + 2) pamixer -t ;; + 4) pamixer --allow-boost -i 1 ;; + 5) pamixer --allow-boost -d 1 ;; + 3) notify-send "📢 Volume module" "\- Shows volume 🔊, 🔇 if muted. +- Middle click to mute. +- Scroll to change." ;; + 6) "$TERMINAL" -e "$EDITOR" "$0" ;; +esac + +[ $(pamixer --get-mute) = true ] && echo 🔇 && exit + +vol="$(pamixer --get-volume)" + +if [ "$vol" -gt "70" ]; then + icon="🔊" +elif [ "$vol" -lt "30" ]; then + icon="🔈" +else + icon="🔉" +fi + +echo "$icon$vol%" diff --git a/.local/bin/statusbar/volume b/.local/bin/statusbar/volume deleted file mode 100644 index 61588c3..0000000 --- a/.local/bin/statusbar/volume +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh - -# Prints the current volume or 🔇 if muted. - -case $BLOCK_BUTTON in - 1) setsid -f "$TERMINAL" -e pulsemixer ;; - 2) pamixer -t ;; - 4) pamixer --allow-boost -i 1 ;; - 5) pamixer --allow-boost -d 1 ;; - 3) notify-send "📢 Volume module" "\- Shows volume 🔊, 🔇 if muted. -- Middle click to mute. -- Scroll to change." ;; - 6) "$TERMINAL" -e "$EDITOR" "$0" ;; -esac - -[ $(pamixer --get-mute) = true ] && echo 🔇 && exit - -vol="$(pamixer --get-volume)" - -if [ "$vol" -gt "70" ]; then - icon="🔊" -elif [ "$vol" -lt "30" ]; then - icon="🔈" -else - icon="🔉" -fi - -echo "$icon$vol%" -- cgit v1.2.3-70-g09d2