initial commit
commit
f1718502dc
|
@ -0,0 +1,49 @@
|
|||
# This is an example PKGBUILD file. Use this as a start to creating your own,
|
||||
# and remove these comments. For more information, see 'man PKGBUILD'.
|
||||
# NOTE: Please fill out the license field for your package! If it is unknown,
|
||||
# then please put 'unknown'.
|
||||
|
||||
# Maintainer: Your Name <youremail@domain.com>
|
||||
pkgname=myconf
|
||||
pkgver=0.1
|
||||
pkgrel=1
|
||||
epoch=
|
||||
pkgdesc=""
|
||||
arch=('any')
|
||||
url=""
|
||||
license=('GPL')
|
||||
groups=()
|
||||
depends=( $( cat ./inst/pkgs/base.list ./inst/pkgs/runit.list ./inst/pkgs/wm.list ) )
|
||||
makedepends=()
|
||||
checkdepends=()
|
||||
optdepends=()
|
||||
provides=()
|
||||
conflicts=()
|
||||
replaces=()
|
||||
backup=()
|
||||
options=()
|
||||
install=
|
||||
changelog=
|
||||
source=( install\/install.sh )
|
||||
noextract=()
|
||||
md5sums=()
|
||||
validpgpkeys=()
|
||||
|
||||
prepare() {
|
||||
echo "PREPARE"
|
||||
}
|
||||
|
||||
build() {
|
||||
echo "BUILD"
|
||||
pwd -P
|
||||
echo "before install.sh"
|
||||
sh ./install/install.sh
|
||||
}
|
||||
|
||||
check() {
|
||||
echo "CHECK"
|
||||
}
|
||||
|
||||
package() {
|
||||
echo "PACKAGE"
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
#!/bin/sh
|
||||
|
||||
###################################################################
|
||||
# Required
|
||||
###################################################################
|
||||
#enables arch repos, and install yay aur helper
|
||||
sh ./scripts/repo-enable.sh
|
||||
|
||||
#runit init setup
|
||||
sh ./scripts/runit-config.sh
|
||||
|
||||
#install my aur packages
|
||||
yay -S - < ./pkgs/aur.list
|
||||
|
||||
#install development programs
|
||||
echo "Install development programs (virt-manager) (y/N)?"
|
||||
read input
|
||||
if [ "$input" = "y" ]; then
|
||||
sh ./scripts/devel.sh
|
||||
fi
|
||||
|
||||
#setup steam and lutris for gaming
|
||||
#pass one of --amd,--nvidia,--intel to this script
|
||||
|
||||
echo "Install gaming programs (lutris/steam) (y/N)?"
|
||||
read input
|
||||
if [ "$input" = "y" ]; then
|
||||
echo "enter GPU type (amd nvidia intel):"
|
||||
read input
|
||||
sh ./scripts/gaming.sh --"$input"
|
||||
fi
|
||||
|
||||
#setup wireless (wifi,bluetooth)
|
||||
if [ "$(ls /sys/class/net/ | grep w)" ]; then
|
||||
sh ./scripts/wireless.sh
|
||||
fi
|
||||
|
||||
#do my configuration stuff, setup home directories, configure ufw, grub theming, etc.
|
||||
sh ./scripts/config.sh
|
||||
|
||||
|
||||
#install microcode for CPU
|
||||
echo "enter CPU type to install microcode for (amd intel) (y/N)?"
|
||||
read input
|
||||
if [ "$input" = "amd" ]; then
|
||||
sudo pacman -S amd-ucode
|
||||
elif [ "$input" = "intel" ]; then
|
||||
sudo pacman -S intel-ucode
|
||||
fi
|
||||
|
||||
####################################################################
|
||||
# Post Install
|
||||
####################################################################
|
||||
|
||||
sudo mkinitcpio -P #rebuild kernel
|
||||
sudo grub-mkconfig -o /boot/grub/grub.cfg #update grub
|
||||
|
||||
echo "installation finished"
|
|
@ -0,0 +1,10 @@
|
|||
lf
|
||||
mutt-wizard
|
||||
htim
|
||||
jmtpfs
|
||||
tremc-git
|
||||
dashbinsh
|
||||
pfetch
|
||||
sysrq-enabler
|
||||
wlr-randr
|
||||
sfeed
|
|
@ -0,0 +1,64 @@
|
|||
pipewire
|
||||
pipewire-alsa
|
||||
pipewire-pulse
|
||||
pipewire-jack
|
||||
gst-plugin-pipewire
|
||||
wireplumber
|
||||
wireplumber-docs
|
||||
alsa-utils
|
||||
pacman-contrib
|
||||
man-db
|
||||
freetype2
|
||||
gst-libav
|
||||
xdg-utils
|
||||
xdg-user-dirs
|
||||
fuse
|
||||
python-urwid
|
||||
btrfs-progs
|
||||
reiserfsprogs
|
||||
chrony
|
||||
ufw
|
||||
wget
|
||||
curl
|
||||
zip
|
||||
unzip
|
||||
p7zip
|
||||
dash
|
||||
mesa
|
||||
rsync
|
||||
cronie
|
||||
connman
|
||||
fakeroot
|
||||
socklog
|
||||
python-pip
|
||||
udevil
|
||||
pavucontrol
|
||||
connman-gtk
|
||||
youtube-dl
|
||||
transmission-cli
|
||||
neovim
|
||||
mpd
|
||||
mpv
|
||||
opendoas
|
||||
zsh
|
||||
clang
|
||||
librewolf
|
||||
shellcheck
|
||||
noto-fonts
|
||||
noto-fonts-emoji
|
||||
noto-fonts-cjk
|
||||
lxappearance
|
||||
qt5ct
|
||||
imagemagick
|
||||
ffmpegthumbnailer
|
||||
python-pywal
|
||||
pulsemixer
|
||||
pamixer
|
||||
papirus-icon-theme
|
||||
python-pdftotext
|
||||
viu
|
||||
bat
|
||||
zathura
|
||||
zathura-cb
|
||||
zathura-djvu
|
||||
zathura-pdf-mupdf
|
|
@ -0,0 +1,4 @@
|
|||
ufw-runit
|
||||
cronie-runit
|
||||
chrony-runit
|
||||
connman-runit
|
|
@ -0,0 +1,14 @@
|
|||
sway
|
||||
swaybg
|
||||
swayidle
|
||||
swaylock
|
||||
waybar
|
||||
bemenu-wayland
|
||||
mako
|
||||
wl-clipboard
|
||||
grim
|
||||
slurp
|
||||
xorg-xwayland
|
||||
imv
|
||||
alacritty
|
||||
gammastep
|
|
@ -0,0 +1,97 @@
|
|||
#!/bin/sh
|
||||
mkdir ~/docs/
|
||||
mkdir ~/dl/
|
||||
mkdir ~/media/
|
||||
mkdir -p ~/.local/share/gnupg/
|
||||
mkdir -p ~/.config/mpd/playlists
|
||||
mkdir -p ~/.local/share/desktop
|
||||
|
||||
sudo ufw default deny incoming
|
||||
sudo ufw default allow outgoing
|
||||
sudo ufw allow http
|
||||
sudo ufw allow https
|
||||
#sudo ufw allow ssh
|
||||
sudo ufw allow ntp
|
||||
sudo ufw allow 67:68/tcp
|
||||
sudo ufw allow 53
|
||||
|
||||
#allow torrent client traffic
|
||||
sudo ufw allow 56881:56889/tcp
|
||||
|
||||
#rules to allow steam
|
||||
sudo ufw allow 27000:27036/udp
|
||||
sudo ufw allow 27036:27037/tcp
|
||||
sudo ufw allow 4380/udp
|
||||
|
||||
sudo ufw enable
|
||||
|
||||
|
||||
#install zsh shell
|
||||
chsh -s /bin/zsh "$USER"
|
||||
|
||||
#setup .zprofile and zsh history file
|
||||
cd ~ || return
|
||||
ln -s ~/.profile ~/.zprofile
|
||||
mkdir -p ~/.cache/zsh
|
||||
touch ~/.cache/zsh/history
|
||||
|
||||
|
||||
#replace sudo with doas
|
||||
echo "installing doas, symlinking to sudo, and UNINSTALLING SUDO. sudo is uninstalled using doas so permissions should be setup right if you are able to uninstall. (y/N)"
|
||||
|
||||
read input
|
||||
if [ "$input" = "y" ]; then
|
||||
echo "permit persist $USER as root" >> ~/.cache/doas.conf
|
||||
sudo cp ~/.cache/doas.conf /etc/doas.conf
|
||||
rm ~/.cache/doas.conf
|
||||
doas pacman -R sudo && doas ln -s /bin/doas /bin/sudo #TODO ARCH SPECIFIC
|
||||
fi
|
||||
|
||||
#set limits for esync
|
||||
sudo sh -c "echo '$USER hard nofile 524288' >> /etc/security/limits.conf"
|
||||
|
||||
#set limits for monero
|
||||
sudo sh -c "echo '$USER hard memlock 2048' >> /etc/security/limits.conf"
|
||||
sudo sh -c "echo '$USER hard memlock 2048' >> /etc/security/limits.conf"
|
||||
|
||||
sudo groupadd nogroup #needed to use slock
|
||||
|
||||
### modify udevil config to add exec to mount options
|
||||
#sudo sed -i 's/^allowed_options .*$/&, exec/g' /etc/udevil/udevil.conf
|
||||
|
||||
### change dns to opendns for porn blocking
|
||||
#sudo sh -c 'echo "static domain_name_servers=208.67.222.123 208.67.220.123" >> /etc/dhcpcd.conf'
|
||||
### change dns to dns.watch, free speech dns
|
||||
#sudo sh -c 'echo "static domain_name_servers=84.200.69.80 84.200.70.40 2001:1608:10:25::1c04:b12f 2001:1608:10:25::9249:d69b" >> /etc/dhcpcd.conf'
|
||||
|
||||
#fix issue with arduino ide and tiling wms
|
||||
sudo sh -c 'echo "export _JAVA_AWT_WM_NONREPARENTING=1" >> /etc/profile.d/jre.sh'
|
||||
|
||||
#set console terminal font
|
||||
sudo sh -c 'echo "FONT=Lat2-Terminus16" >> /etc/vconsole.conf'
|
||||
|
||||
#set grub theme
|
||||
sudo sed -i 's/#GRUB_COLOR_NORMAL/GRUB_COLOR_NORMAL/g' /etc/default/grub
|
||||
sudo sed -i 's/#GRUB_COLOR_HIGHLIGHT/GRUB_COLOR_HIGHLIGHT/g' /etc/default/grub
|
||||
|
||||
#symlink vim to neovim
|
||||
sudo ln -s /bin/nvim /bin/vim
|
||||
|
||||
#download collapse OS
|
||||
mkdir -p "$HOME"/.local/src/
|
||||
cd "$HOME"/.local/src/
|
||||
wget http://collapseos.org/files/collapseos-latest.tar.gz
|
||||
cd -
|
||||
|
||||
#set wallpaper
|
||||
ln -s ~/media/img/wallpapers/alena-aenami-eclipse-1k.jpg ~/.config/wall
|
||||
|
||||
#link Xresources for xwayland
|
||||
ln -s ~/.config/Xresources ~/.Xdefaults
|
||||
|
||||
#set /tmp to tmpfs
|
||||
sudo sh -c 'echo "tmpfs /tmp tmpfs rw,nodev,nosuid,size=2G 0 0" >> /etc/fstab'
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
#!/bin/sh
|
||||
|
||||
echo "install Haskell? (y/N)?"
|
||||
read -r input
|
||||
if [ "$input" = 'y' ] || [ "$input" = 'Y' ]; then
|
||||
sudo pacman -S --noconfirm ghc cabal-install stack
|
||||
fi
|
||||
|
||||
echo "install virt-manager?(y/N)"
|
||||
read -r input
|
||||
if [ "$input" = "y" ] || [ "$input" = "Y" ]; then
|
||||
sudo pacman -S --noconfirm sudo pacman -S libvirt qemu virt-manager lxsession
|
||||
sudo pacman -S --noconfirm gst-plugins-good libvirt-runit
|
||||
|
||||
#TODO move this to runit_setup
|
||||
sudo usermod -G libvirt -a "$USER"
|
||||
fi
|
|
@ -0,0 +1,36 @@
|
|||
#!/bin/sh
|
||||
|
||||
help() {
|
||||
echo " \$1 -> select the GPU type: --nvidia, --amd, or --intel."
|
||||
echo " \$2 -> if -R, will uninstall gaming programs"
|
||||
}
|
||||
|
||||
if [ "$1" = "--nvidia" ]; then
|
||||
NVIDIA_GPU="TRUE"
|
||||
elif [ "$1" = "--amd" ]; then
|
||||
AMD_GPU="TRUE"
|
||||
elif [ "$1" = "--intel" ]; then
|
||||
INTEL_GPU="TRUE"
|
||||
else
|
||||
help && exit
|
||||
fi
|
||||
|
||||
CMD=" -S --noconfirm "
|
||||
|
||||
|
||||
[ "$2" = "-R" ] && CMD=" -Rs "
|
||||
|
||||
|
||||
[ -z "$(grep "^\[lib32" /etc/pacman.conf)" ] && [ -z "$NVIDIA_GPU" ] && [ -z "$AMD_GPU" ] && [ -z "$INTEL_GPU" ] && help && exit
|
||||
|
||||
[ "$NVIDIA_GPU" = "TRUE" ] && sudo pacman $CMD nvidia-utils lib32-nvidia-utils
|
||||
[ "$AMD_GPU" = "TRUE" ] && sudo pacman $CMD vulkan-radeon lib32-vulkan-radeon
|
||||
[ "$INTEL_GPU" = "TRUE" ] && sudo pacman $CMD vulkan-intel lib32-vulkan-intel
|
||||
|
||||
sudo pacman $CMD vulkan-mesa-layers lib32-vulkan-mesa-layers
|
||||
|
||||
sudo pacman $CMD wine-staging winetricks
|
||||
sudo pacman $CMD giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo libxcomposite lib32-libxcomposite libxinerama lib32-libxinerama ncurses lib32-ncurses opencl-icd-loader lib32-opencl-icd-loader libxslt lib32-libxslt libva lib32-libva gtk3 lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader cups samba dosbox
|
||||
|
||||
sudo pacman $CMD gamemode lib32-gamemode
|
||||
sudo pacman $CMD lutris steam
|
|
@ -0,0 +1,53 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ -z "$(grep "^\[lib32" /etc/pacman.conf)" ]; then
|
||||
echo "lib32 not enabled. Appending lines to /etc/pacman.conf"
|
||||
sleep 1
|
||||
|
||||
sudo sh -c 'echo "[lib32]" >> /etc/pacman.conf'
|
||||
sudo sh -c 'echo "Include = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf'
|
||||
sudo sh -c 'echo "" >> /etc/pacman.conf'
|
||||
fi
|
||||
|
||||
sudo pacman -Syu
|
||||
|
||||
if [ -z "$(grep "community" /etc/pacman.conf)" ]; then
|
||||
|
||||
#add arch linux repos
|
||||
sudo pacman -S --noconfirm artix-archlinux-support lib32-artix-archlinux-support
|
||||
sudo pacman-key --populate archlinux
|
||||
sudo pacman -Sy
|
||||
|
||||
sudo sh -c 'echo "[community]" >> /etc/pacman.conf'
|
||||
sudo sh -c 'echo "Include = /etc/pacman.d/mirrorlist-arch" >> /etc/pacman.conf'
|
||||
sudo sh -c 'echo "" >> /etc/pacman.conf'
|
||||
fi
|
||||
|
||||
#if [ -z "$(grep "extra" /etc/pacman.conf)" ]; then
|
||||
# sudo sh -c 'echo "[extra]" >> /etc/pacman.conf'
|
||||
# sudo sh -c 'echo "Include = /etc/pacman.d/mirrorlist-arch" >> /etc/pacman.conf'
|
||||
# sudo sh -c 'echo "" >> /etc/pacman.conf'
|
||||
#fi
|
||||
#
|
||||
#if [ -z "$(grep "multilib" /etc/pacman.conf)" ]; then
|
||||
# sudo sh -c 'echo "[multilib]" >> /etc/pacman.conf'
|
||||
# sudo sh -c 'echo "Include = /etc/pacman.d/mirrorlist-arch" >> /etc/pacman.conf'
|
||||
#fi
|
||||
|
||||
if [ -z "$(grep "universe" /etc/pacman.conf)" ]; then
|
||||
sudo sh -c 'echo "[universe]" >> /etc/pacman.conf'
|
||||
sudo sh -c 'echo "Server = https://universe.artixlinux.org/\$arch" >> /etc/pacman.conf'
|
||||
sudo sh -c 'echo "Server = https://mirror1.artixlinux.org/universe/\$arch" >> /etc/pacman.conf'
|
||||
sudo sh -c 'echo "Server = https://mirror.pascalpuffke.de/artix-universe/\$arch" >> /etc/pacman.conf'
|
||||
sudo sh -c 'echo "Server = https://artixlinux.qontinuum.space:4443/universe/os/" >> /etc/pacman.conf'
|
||||
sudo sh -c 'echo "Server = https://mirror1.cl.netactuate.com/artix/universe/\$arch" >> /etc/pacman.conf'
|
||||
sudo sh -c 'echo "" >> /etc/pacman.conf'
|
||||
fi
|
||||
|
||||
sudo pacman -Syu
|
||||
|
||||
#install yay for aur support
|
||||
mkdir -p ~/.local/src/
|
||||
git clone https://aur.archlinux.org/yay.git ~/.local/src/yay/
|
||||
cd ~/.local/src/yay || return
|
||||
makepkg -si
|
|
@ -0,0 +1,28 @@
|
|||
#!/bin/sh
|
||||
|
||||
help() {
|
||||
echo "runit-config.sh [OPTIONS]"
|
||||
echo " -virt-manager -> setup virt-manager services"
|
||||
echo ""
|
||||
}
|
||||
|
||||
WIRELESS=""
|
||||
VIRTMGR=""
|
||||
for arg in "$@"
|
||||
do
|
||||
[ "$arg" = "--virt-manager" ] && VIRTMGR="true"
|
||||
[ "$arg" = "--help" ] && help && exit
|
||||
done
|
||||
|
||||
|
||||
sudo ln -s /etc/runit/sv/ufw /run/runit/service/
|
||||
sudo ln -s /etc/runit/sv/cronie /run/runit/service/
|
||||
sudo ln -s /etc/runit/sv/chrony /run/runit/service/
|
||||
sudo ln -s /etc/runit/sv/connmand /run/runit/service/
|
||||
sudo ln -s /etc/runit/sv/socklog /run/runit/service/
|
||||
|
||||
if [ "$VIRTMGR" ]; then
|
||||
sudo ln -s /etc/runit/sv/libvirtd /run/runit/service
|
||||
sudo ln -s /etc/runit/sv/virtlockd /run/runit/service
|
||||
sudo ln -s /etc/runit/sv/virtlogd /run/runit/service
|
||||
fi
|
|
@ -0,0 +1,14 @@
|
|||
#!/bin/sh
|
||||
|
||||
echo "if this fails, you need to have universe repo enabled, and yay installed"
|
||||
|
||||
CMD="-S"
|
||||
|
||||
[ "$1" = "-R" ] && CMD="-Rs"
|
||||
|
||||
sudo pacman "$CMD" ffmpeg4.4
|
||||
sudo pacman "$CMD" ungoogled-chromium
|
||||
sudo pacman "$CMD" ublock-origin
|
||||
|
||||
yay "$CMD" aur/chromium-extension-web-store
|
||||
yay "$CMD" aur/chromium-widevine
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/sh
|
||||
|
||||
#install packages
|
||||
sudo pacman -S --noconfirm wpa_supplicant bluez bluez-utils tlp
|
||||
sudo pacman -S --noconfirm wpa_supplicant-runit tlp-runit
|
||||
|
||||
#start services
|
||||
sudo ln -s /etc/runit/sv/tlp /run/runit/service/
|
||||
sudo ln -s /etc/runit/sv/bluetoothd /run/runit/service/
|
|
@ -0,0 +1,21 @@
|
|||
#!/usr/bin/env sh
|
||||
BACKUP_LOC="/media/SEAGATE/HOME_BACKUP/"
|
||||
DIR="$HOME/"
|
||||
EXCLUDE_CONF="$HOME/.config/rsync-exclude.conf"
|
||||
INCLUDE_CONF="$HOME/.config/rsync-include.conf"
|
||||
|
||||
EXCL_INCL="--exclude-from=$EXCLUDE_CONF --include-from=$INCLUDE_CONF"
|
||||
|
||||
if [ "$1" = "-r" ]; then
|
||||
notify-send "backup.sh" "restoring from backup"
|
||||
rsync -ru $EXCL_INCL "$BACKUP_LOC" "$DIR"
|
||||
else
|
||||
|
||||
notify-send "backup.sh" "performing backup"
|
||||
if [ -d $BACKUP_LOC ]; then
|
||||
rsync -arP --delete $EXCL_INCL "$DIR" "$BACKUP_LOC"
|
||||
else
|
||||
notify-send "backup.sh" "backup location not found"
|
||||
fi
|
||||
|
||||
fi
|
|
@ -0,0 +1,30 @@
|
|||
#!/bin/sh
|
||||
|
||||
|
||||
COLOR0="#282936"
|
||||
COLOR1="#3a3c4e"
|
||||
COLOR2="#F7CA88"
|
||||
COLOR3="#626483"
|
||||
COLOR4="#62d6e8"
|
||||
COLOR5="#e9e9f4"
|
||||
COLOR6="#f1f2f8"
|
||||
COLOR7="#f7f7fb"
|
||||
COLOR8="#ea51b2"
|
||||
COLOR9="#b45bcf"
|
||||
COLOR10="#00f769"
|
||||
COLOR11="#ebff87"
|
||||
COLOR12="#a1efe4"
|
||||
COLOR13="#62d6e8"
|
||||
COLOR14="#b45bcf"
|
||||
COLOR15="#00f769"
|
||||
|
||||
WHITE="#ffffff"
|
||||
BLACK="#000000"
|
||||
|
||||
|
||||
BEMENU_OPTS="--nb $COLOR0 --nf $COLOR15 --hb $COLOR0 --hf $COLOR6 --sb $COLOR1 --sf $COLOR6 --tb $COLOR0 --tf $COLOR15 --fb $COLOR0 --ff $WHITE"
|
||||
|
||||
mkdir .config/bemenu/
|
||||
|
||||
echo "#!/bin/sh" > ~/.config/bemenu/bemenu_opts.sh
|
||||
echo "export BEMENU_OPTS=\"$BEMENU_OPTS\"" >> ~/.config/bemenu/bemenu_opts.sh
|
|
@ -0,0 +1,88 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
#if [ -z "$(pgrep librewolf)" ]; then
|
||||
# WBROWSER=surf
|
||||
#else
|
||||
# WBROWSER=chromium-wayland
|
||||
WBROWSER=librewolf
|
||||
#fi
|
||||
|
||||
|
||||
#OPTS=" Torrent )
|
||||
OPTS="Web
|
||||
Video
|
||||
YT
|
||||
Audio
|
||||
Youtube-dl audio
|
||||
File
|
||||
RSS
|
||||
Torrent"
|
||||
|
||||
rss() {
|
||||
#sfeed
|
||||
sed -i '$d' ~/.config/sfeed/sfeedrc
|
||||
FEED_NAME="$(echo "" | bemenu -p "Feed Name: ")"
|
||||
echo "feed \"$FEED_NAME\" \"$1\"" >> ~/.config/sfeed/sfeedrc
|
||||
echo "}" >> ~/.config/sfeed/sfeedrc
|
||||
|
||||
#newsboat
|
||||
#echo "$1" >> ~/.config/newsboat/urls
|
||||
}
|
||||
|
||||
|
||||
ydl() {
|
||||
OPT="default
|
||||
select"
|
||||
|
||||
SEL="$( echo "$OPT" | bemenu)"
|
||||
|
||||
LOC="$HOME/media/audio/"
|
||||
|
||||
if [ "$SEL" = "select" ]; then
|
||||
if [ ! -f ~/.cache/lf/lastpath ]; then
|
||||
mkdir -p ~/.cache/lf/
|
||||
touch ~/.cache/lf/lastpath
|
||||
echo "~" > ~/.cache/lf/lastpath
|
||||
fi
|
||||
$TERMINAL -e lf -last-dir-path ~/.cache/lf/lastpath "$(cat ~/.cache/lf/lastpath)"
|
||||
LOC="$(cat ~/.cache/lf/lastpath)"
|
||||
fi
|
||||
|
||||
cd "$LOC"
|
||||
youtube-dl "$1" -f 140
|
||||
sleep 5
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
sel() {
|
||||
SEL="$( echo "$OPTS" | bemenu)"
|
||||
|
||||
[ "$SEL" = "Web" ] && $WBROWSER "$1" && exit
|
||||
|
||||
[ "$SEL" = "Video" ] && mpv "$1" && exit
|
||||
|
||||
[ "$SEL" = "YT" ] && mpv --ytdl-format=18 "$1" && exit
|
||||
|
||||
[ "$SEL" = "Audio" ] && $TERMINAL -e mpv "$1" && exit
|
||||
|
||||
[ "$SEL" = "Youtube-dl audio" ] && ydl "$1" && exit
|
||||
|
||||
[ "$SEL" = "File" ] && cd "$XDG_DOWNLOAD_DIR" && curl -O -L "$1" && exit
|
||||
|
||||
[ "$SEL" = "RSS" ] && rss "$1" && exit
|
||||
|
||||
[ "$SEL" = "Torrent" ] && transadd "$1" && exit
|
||||
|
||||
#$WBROWSER "$1"
|
||||
}
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
#$WBROWSER #URL="$( xclip -o | sed 's/$//g')" && sel "$URL" && exit
|
||||
#$WBROWSER #URL="$(wl-paste)" && sel "$URL" && exit
|
||||
sel "$(wl-paste)"
|
||||
else
|
||||
#echo "$1" >> ~/.cache/log/browsersh.log
|
||||
sel "$1"
|
||||
fi
|
|
@ -0,0 +1,17 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ "$1" = "on" ]; then
|
||||
notify-send "caffeine.sh" 'Screen timeout is disabled.'
|
||||
xset -dpms
|
||||
xset s off
|
||||
|
||||
pkill xautolock
|
||||
else
|
||||
notify-send "caffeine.sh" "Screen timeout is enabled."
|
||||
xset +dpms
|
||||
xset s on
|
||||
|
||||
if [ -z "$(pgrep xautolock)" ]; then
|
||||
xautolock -time 30 -locker slock &
|
||||
fi
|
||||
fi
|
|
@ -0,0 +1,23 @@
|
|||
#!/bin/bash
|
||||
|
||||
help() {
|
||||
echo "\$1 -> file to update or compare against"
|
||||
echo "\$2 -> -u -> update file given by \$1"
|
||||
}
|
||||
|
||||
! [ -f "$1" ] && touch "$1"
|
||||
|
||||
#Command for ~/.cache/last_fap
|
||||
if [ "$2" = "-u" ]; then
|
||||
echo $(date "+%y%m%d %H") >> "$1"
|
||||
else
|
||||
|
||||
LAST="$( awk 'END{print $1}' < "$1" )"
|
||||
HOUR="$( awk 'END{print $2}' < "$1" )"".0"
|
||||
HOUR_NOW="$(date +%H)"".0"
|
||||
|
||||
DAYS=$(( (($(date --date="$(date +%y%m%d)" +%s) - $(date --date="$LAST" +%s) ))/(60*60*24) ))
|
||||
RET=$(bc <<< "scale=2; $DAYS + (($HOUR_NOW - $HOUR)/24.0)")
|
||||
|
||||
echo "$RET"
|
||||
fi
|
|
@ -0,0 +1,21 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ "$1" = "-e" ];then
|
||||
|
||||
if [ "$2" ]; then
|
||||
tar -cvzf - "$2" | gpg -c > "$2".tar.gz.gpg
|
||||
fi
|
||||
|
||||
elif [ "$1" = "-d" ];then
|
||||
|
||||
|
||||
if [ "$2" ]; then
|
||||
gpg -d "$2" | tar -xvzf -
|
||||
fi
|
||||
|
||||
else
|
||||
echo " $1 : -e, encrypt $2"
|
||||
echo " -d, decrypt $2"
|
||||
echo " $2 : directory or file to encrypt/decrypt"
|
||||
|
||||
fi
|
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/env sh
|
||||
xsetwacom set 9 MapToOutput 1920x1080+0+0
|
|
@ -0,0 +1,80 @@
|
|||
#!/bin/sh
|
||||
|
||||
RES="1920x1080"
|
||||
MON="VGA-1"
|
||||
LAPTOP="LVDS-1"
|
||||
|
||||
|
||||
list_mons() {
|
||||
wlr-randr | grep -v "^ " | awk '{print $1}'
|
||||
}
|
||||
|
||||
get_mon() {
|
||||
echo "$(list_mons)" | bemenu -p "Select monitor: "
|
||||
}
|
||||
|
||||
#$1 -> monitor to get resolutions of
|
||||
get_res() {
|
||||
if [ -z "$1" ]; then
|
||||
echo "$RES"
|
||||
else
|
||||
echo "$(wlr-randr | sed '1,/VGA-1/d' | sed '1,/[0-9]/d' | awk '{print $1}')" | bemenu
|
||||
fi
|
||||
}
|
||||
|
||||
laptop_only() {
|
||||
wlr-randr --output VGA-1 --off #TODO only needed because my thinkpad has an issue, remove when no longer needed
|
||||
wlr-randr --output "$LAPTOP" --on
|
||||
}
|
||||
|
||||
#$1 -> monitor
|
||||
#$2 -> resolution
|
||||
monitor_only() {
|
||||
MON="$1"
|
||||
RES="$2"
|
||||
|
||||
echo "$MON $RES" >> fixscrsh.log
|
||||
|
||||
[ -z "$1" ] && MON="$(get_mon)"
|
||||
[ -z "$2" ] && RES="$(get_res "$MON")"
|
||||
|
||||
wlr-randr --output "$LAPTOP" --off
|
||||
wlr-randr --output "$MON" --on --mode "$RES"
|
||||
}
|
||||
|
||||
span() {
|
||||
MONS="$(list_mons)"
|
||||
for i in $MONS
|
||||
do
|
||||
wlr-randr --output "$i" --on
|
||||
done
|
||||
}
|
||||
|
||||
menu() {
|
||||
OPTS="laptop_only\nmonitor_only\nmirror\nspan\nquit"
|
||||
|
||||
SEL="$(echo "$OPTS" | bemenu)"
|
||||
|
||||
[ "$SEL" = "laptop_only" ] && laptop_only
|
||||
[ "$SEL" = "monitor_only" ] && monitor_only
|
||||
[ "$SEL" = "span" ] && span
|
||||
}
|
||||
|
||||
help() {
|
||||
echo "Usage: ./fixscr.sh"
|
||||
echo " --menu => show bemenu prompts to select monitor configuration"
|
||||
echo " --laptop-only => enable only laptop"
|
||||
echo " --monitor-only [MONITOR] [RESOLUTION] => enable only external monitor"
|
||||
echo " --help => show this help prompt"
|
||||
}
|
||||
|
||||
[ "$2" ] && MON="$2"
|
||||
[ "$3" ] && RES="$3"
|
||||
|
||||
if [ "$1" = "--menu" ]; then
|
||||
menu
|
||||
else
|
||||
[ "$1" = "--monitor-only" ] && monitor_only "$MON" "$RES"
|
||||
[ "$1" = "--laptop-only" ] && laptop_only
|
||||
[ -z "$1" ] && help
|
||||
fi
|
|
@ -0,0 +1,136 @@
|
|||
#!/bin/sh
|
||||
###SUCKLESS INSTALL###
|
||||
|
||||
INSTALL_DIR="/home/alex/.local/src"
|
||||
|
||||
clone() {
|
||||
cd "$INSTALL_DIR" || return
|
||||
if [ "$( echo "$1" | grep -v "^#")" ]; then
|
||||
git clone "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
add_repos() {
|
||||
mkdir -p $INSTALL_DIR
|
||||
|
||||
if [ -p /dev/stdin ]; then
|
||||
while IFS= read -r line; do
|
||||
clone "$line"
|
||||
done
|
||||
else
|
||||
FN="$1"
|
||||
! [ -f "$FN" ] && FN=
|
||||
cat "$1" |
|
||||
while read -r line; do
|
||||
clone "$line"
|
||||
done
|
||||
fi
|
||||
|
||||
do_all install
|
||||
}
|
||||
|
||||
update() {
|
||||
cd "$INSTALL_DIR"/"$1" || return
|
||||
git pull origin master
|
||||
#install "$1"
|
||||
}
|
||||
|
||||
list() {
|
||||
ls -l "$INSTALL_DIR" | grep -v "total" | rev | cut -d ' ' -f 1 | rev
|
||||
}
|
||||
|
||||
do_all() {
|
||||
for i in $(list)
|
||||
do
|
||||
$1 "$i"
|
||||
done
|
||||
}
|
||||
|
||||
uninstall() {
|
||||
cd "$INSTALL_DIR"/"$1" || return
|
||||
case "$1" in
|
||||
tiramisu*)
|
||||
sudo rm /usr/local/bin/tiramisu
|
||||
;;
|
||||
pfetch*)
|
||||
sudo rm /usr/local/bin/pfetch
|
||||
;;
|
||||
yacy_search_server*)
|
||||
echo "ADD UNINSTALL FUNCTIONALITY FOR THIS REPO"
|
||||
;;
|
||||
pipe-viewer* | straw-viewer*)
|
||||
sudo ./Build uninstall #TODO test if this actually works
|
||||
;;
|
||||
mcomix3)
|
||||
rm "$INSTALL_DIR"/bin/mcomix
|
||||
rm -rf "$INSTALL_DIR"/share/mcomix/
|
||||
rm /usr/share/applications/mcomix.desktop
|
||||
;;
|
||||
*)
|
||||
sudo make uninstall
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
install() {
|
||||
cd "$INSTALL_DIR"/"$1" || return
|
||||
case "$1" in
|
||||
tiramisu*)
|
||||
make
|
||||
sudo cp tiramisu /usr/local/bin/
|
||||
;;
|
||||
pfetch*)
|
||||
sudo cp pfetch /usr/local/bin/
|
||||
;;
|
||||
yacy_search_server*)
|
||||
ant clean all dist
|
||||
;;
|
||||
pipe-viewer* | straw-viewer*)
|
||||
perl Build.PL
|
||||
sudo ./Build installdeps
|
||||
sudo ./Build install
|
||||
;;
|
||||
mcomix3)
|
||||
DEST_DIR="/usr/local"
|
||||
mkdir -p "$DEST_DIR"/bin
|
||||
mkdir -p "$DEST_DIR"/share
|
||||
|
||||
sudo python3 installer.py --srcdir=mcomix --target="$DEST_DIR"/share
|
||||
sudo ln -s "$DEST_DIR"/share/mcomix/mcomixstarter.py "$DEST_DIR"/bin/mcomix
|
||||
sudo cp ./mime/mcomix.desktop /usr/share/applications/
|
||||
;;
|
||||
|
||||
tremc)
|
||||
sudo sh -c 'export DESTDIR="/usr/local" && make install'
|
||||
;;
|
||||
*)
|
||||
sudo make install
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
help() {
|
||||
echo "add-repos -> add collection of git repos to dir, from list of repos in file specified by \$2"
|
||||
echo "add-repo -> add one specific repo to be handled by this script specified by \$2"
|
||||
echo "list -> list all currently tracked repos"
|
||||
echo "upgrade -> install all repos currently being tracked"
|
||||
echo "install -> install specified program, should be name of repo seen from output of list"
|
||||
echo "uninstall -> uninstall specified program, should be name of repo seen from output of list"
|
||||
echo "update -> pull all repos currently being tracked"
|
||||
echo "clean -> runs uninstall command on all repos currently being tracked"
|
||||
}
|
||||
|
||||
|
||||
case "$1" in
|
||||
add-repos) add_repos "$2";; #add collection of git repos to dir, from list of repos in file specified by $2
|
||||
add-repo) clone "$2";; #add one specific repo to be handled by this script specified by $2
|
||||
list*) list;; #list all currently tracked repos
|
||||
upgrade) do_all install;; #install all repos currently being tracked to the system
|
||||
install*) install "$2";; #install specified program, should be name of repo seen from output of "list"
|
||||
uninstall*) uninstall "$2";; #uninstall specified program, should be name of repo seen from output of "list"
|
||||
update*) do_all update;;
|
||||
clean*) do_all uninstall;; #runs uninstall command on all repos currently being tracked
|
||||
*) help;;
|
||||
|
||||
|
||||
esac
|
|
@ -0,0 +1,25 @@
|
|||
#!/bin/sh
|
||||
|
||||
#programs to run to initialize pipewire, separated by spaces
|
||||
PROGS="pipewire pipewire-pulse wireplumber"
|
||||
|
||||
trap 'kill' 2
|
||||
trap 'kill' 15
|
||||
|
||||
kill() {
|
||||
for PRG in $PROGS
|
||||
do
|
||||
pkill -KILL "$PRG"
|
||||
sleep 1
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
for PRG in $PROGS
|
||||
do
|
||||
|
||||
[ -z "$(pgrep "^$PRG\$")" ] && "$PRG" &
|
||||
sleep 1
|
||||
done
|
||||
|
||||
wait
|
|
@ -0,0 +1,39 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
FN="$HOME/.config/color"
|
||||
VFN="$HOME/.config/nvim/colors/color.vim"
|
||||
COLORSDIR="$HOME/.config/colors"
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
SEL="$(echo "$(ls ~/.config/colors)\n PYWAL" | dmenu)"
|
||||
[ -z "$SEL" ] && notify-send "set_colors.sh" "Colors not set" && exit
|
||||
[ "$SEL" = " PYWAL" ] && FILENAME="$HOME/.cache/wal/colors" || FILENAME="$COLORSDIR/$SEL"
|
||||
else
|
||||
[ -f "$1" ] && FILENAME="$1"
|
||||
fi
|
||||
|
||||
mv "$FN" "$FN.bak"
|
||||
rm "$VFN"
|
||||
ENDCOLS="FALSE"
|
||||
#wal -s -t -e -i "$1"
|
||||
|
||||
{ echo "/* color theme set by scripts/set_colors.sh */"
|
||||
echo ""
|
||||
echo "generated from: $FILENAME"
|
||||
echo ""
|
||||
echo "!terminal colors"
|
||||
} >> "$FN"
|
||||
|
||||
COUNT=0
|
||||
while read -r line; do
|
||||
[ -z "$line" ] && echo "broke while loop" && ENDCOLS="TRUE"
|
||||
|
||||
if [ "$ENDCOLS" = "TRUE" ]; then
|
||||
echo "$line" >> "$FN"
|
||||
else
|
||||
echo "#define COLOR$COUNT $line" >> "$FN"
|
||||
COUNT=$((COUNT + 1))
|
||||
fi
|
||||
done < "$FILENAME"
|
||||
|
||||
notify-send "set_colors.sh" "Colors set to $FILENAME"
|
|
@ -0,0 +1,34 @@
|
|||
#!/usr/bin/env sh
|
||||
#sets a random wallpaper using feh from the ~/wallpapers directory
|
||||
|
||||
setwp() {
|
||||
#wal -n -s -t -e -i "$1"
|
||||
rm ~/.config/wall
|
||||
#rm ~/.fehbg
|
||||
cp "$1" "$HOME/.config/wall"
|
||||
#convert "$1" -set colorspace Gray -separate -average ~/.config/wall
|
||||
#xwallpaper --zoom "$HOME/.config/wall"
|
||||
#feh --bg-scale $HOME/.config/wall
|
||||
}
|
||||
|
||||
|
||||
#TODO convert this to be usable in wayland/sway
|
||||
#[ "$1" = "-r" ] && WALLP=$(find -L ~/wallpapers/ -iname "*.*" -print | shuf -n 1) && feh --bg-scale "$WALLP" && exit
|
||||
|
||||
#if [ -d "$1" ]; then
|
||||
# case $1 in
|
||||
# /*) sel="$(sxiv -o "$1" | sed '$!d')" ;;
|
||||
# *) sel="$PWD/$(sxiv "$1" -o | sed '$!d')" ;;
|
||||
# esac
|
||||
# [ -f "$sel" ] && setwp "$sel"
|
||||
#
|
||||
#elif [ -f "$1" ]; then
|
||||
# #setwp "$PWD/$1"
|
||||
setwp "$1"
|
||||
#fi
|
||||
|
||||
if [ -f "$1" ]; then
|
||||
# #setwp "$PWD/$1"
|
||||
setwp "$1"
|
||||
fi
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
#!/bin/sh
|
||||
#Script wrapper for using grim for screenshots in sway
|
||||
#commands taken from grim's github README, commands saved below for reference
|
||||
#requires that sway, grim, jq, and imagemagick are installed
|
||||
|
||||
#for all functions:
|
||||
# $1 -> filename for output, will be set to - if -clip flag is set
|
||||
# $2 -> program to pipe grim output to, defaults to cat, is set to wl-copy if -clip is set
|
||||
# $3 -> seconds to wait before taking screenshot
|
||||
|
||||
ss_all() {
|
||||
sleep "$3"
|
||||
grim "$1" | "$2"
|
||||
}
|
||||
|
||||
ss_mon() {
|
||||
sleep "$3"
|
||||
grim -o "$(swaymsg -t get_outputs | jq -r '.[] | select(.focused) | .name')" "$1" | "$2"
|
||||
}
|
||||
|
||||
ss_win() {
|
||||
sleep "$3"
|
||||
grim -g "$(swaymsg -t get_tree | jq -j '.. | select(.type?) | select(.focused).rect | "\(.x),\(.y) \(.width)x\(.height)"')" "$1" | "$2"
|
||||
}
|
||||
|
||||
ss_sel() {
|
||||
grim -g "$(slurp && sleep "$3")" "$1" | "$2"
|
||||
}
|
||||
|
||||
ss_color_pick() {
|
||||
grim -g "$(slurp -p)" -t ppm - | convert - -format '%[pixel:p{0,0}]' txt:- | "$2"
|
||||
}
|
||||
|
||||
help() {
|
||||
echo "ss.sh [OPTIONS]"
|
||||
echo " -a -> take screenshot of entire display"
|
||||
echo " -m -> take screenshot of current monitor"
|
||||
echo " -w -> take screenshot of currently active window"
|
||||
echo " -s -> take screenshot of selection"
|
||||
echo " -o FILENAME -> override filename output with given string FILENAME"
|
||||
echo " --color-picker -> get the current color value of a selected pixel, prints data to stdout"
|
||||
echo " --clip -> copy image to clipboard instead of writing to file"
|
||||
echo " --secs SECS -> wait SECS seconds before taking screenshot"
|
||||
echo " --help -> print this help message"
|
||||
echo ""
|
||||
}
|
||||
|
||||
CMD="help"
|
||||
|
||||
FN=$(date +'%s_grim.png')
|
||||
|
||||
SECS="0"
|
||||
|
||||
FN_FLAG=""
|
||||
SL_FLAG=""
|
||||
|
||||
PIPE_CMD="cat"
|
||||
|
||||
for ARG in "$@"
|
||||
do
|
||||
[ "$ARG" = "-a" ] && CMD="ss_all"
|
||||
[ "$ARG" = "-m" ] && CMD="ss_mon"
|
||||
[ "$ARG" = "-w" ] && CMD="ss_win"
|
||||
[ "$ARG" = "-s" ] && CMD="ss_sel"
|
||||
[ "$ARG" = "--color-picker" ] && CMD="ss_color_pick"
|
||||
[ "$ARG" = "--clip" ] && FN="-" && PIPE_CMD="wl-copy"
|
||||
[ "$ARG" = "--help" ] && CMD="help"
|
||||
|
||||
[ "$FN_FLAG" = "1" ] && FN_FLAG="" && FN="$ARG" #turn off FN_FLAG and set FN to argument after -o
|
||||
[ "$ARG" = "-o" ] && FN_FLAG="1" #flag next argument to be file name
|
||||
|
||||
[ "$SL_FLAG" = "1" ] && SL_FLAG="" && SECS="$ARG" #turn off SL_FLAG and set SECS to argument after -secs
|
||||
[ "$ARG" = "-secs" ] && SL_FLAG="1" #flag next argument to be SECS
|
||||
|
||||
done
|
||||
|
||||
$CMD "$FN" "$PIPE_CMD" "$SECS"
|
|
@ -0,0 +1,106 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# this script will pull updates from the suckless.org website and merge them into
|
||||
# your local repository.
|
||||
#
|
||||
# suckless.org is assumed to be the upstream url,
|
||||
# if a different url is desired, modify the UPSTREAM_URL variable accordingly
|
||||
|
||||
# This script assumes all suckless repos are in the ~/.local/src/ directory.
|
||||
# If your repos are in a different location, update the REPO_LOC variable accordingly
|
||||
#
|
||||
# These variables can either be modified in the script below directly,
|
||||
# or defined before calling this script, ex:
|
||||
#
|
||||
# export REPO_LOC="https://github.com"
|
||||
# sh supdate.sh -a dwm
|
||||
#
|
||||
# ARGUMENTS USED:
|
||||
# $1 -> -p = pull updates, -m = merge updates, -a = add upstream branch
|
||||
# $2 -> name of program to update, one of: dwm, st, dmenu, surf
|
||||
#
|
||||
|
||||
# HOW TO USE:
|
||||
#
|
||||
# dwm is used as an example here, replace "dwm" with any other suckless program name as needed.
|
||||
# Make sure the name is as it appears in the git url.
|
||||
#
|
||||
# On the first time using this script, add a branch to hold the upstream repo for this repository
|
||||
#
|
||||
# sh supdate.sh -a dwm
|
||||
#
|
||||
# You should first pull any updates to the repository with:
|
||||
#
|
||||
# sh supdate.sh -p dwm
|
||||
#
|
||||
# That will create a temp branch with master merged with upstream updates.
|
||||
# Fix any merge conflicts and commit to the temporary updates branch created above.
|
||||
# Then run merge those updates to master with:
|
||||
#
|
||||
# sh supdate.sh -m dwm
|
||||
#
|
||||
##########################################################################################
|
||||
|
||||
[ -z "$REPO_LOC" ] && REPO_LOC="$HOME/.local/src"
|
||||
[ -z "$UPSTREAM_URL" ] && UPSTREAM_URL="https://git.suckless.org"
|
||||
|
||||
pull_updates() {
|
||||
|
||||
if ! [ "$1" = "" ]; then
|
||||
|
||||
cd "$REPO_LOC"/"$1" || return
|
||||
|
||||
git checkout upstream
|
||||
git remote add upstream "$UPSTREAM_URL"/"$1"
|
||||
git pull upstream master:upstream
|
||||
git checkout -b updates
|
||||
git merge master
|
||||
|
||||
echo "Fix any merge errors here and commit them to branch \"updates\" "
|
||||
echo "Once that is done, run this script with the -m flag to merge these updates to master."
|
||||
else
|
||||
echo "provide name of the program to update, one of: dwm, st, dmenu, surf"
|
||||
fi
|
||||
}
|
||||
|
||||
merge_updates() {
|
||||
|
||||
if ! [ "$1" = "" ]; then
|
||||
|
||||
cd "$REPO_LOC"/"$1" || return
|
||||
|
||||
git checkout master
|
||||
git merge updates
|
||||
git branch -d updates
|
||||
|
||||
sudo make clean install
|
||||
fi
|
||||
}
|
||||
|
||||
add_upstream_branch() {
|
||||
if ! [ "$1" = "" ]; then
|
||||
|
||||
cd "$REPO_LOC"/"$1" || return
|
||||
|
||||
git checkout -b upstream
|
||||
git remote add upstream "$UPSTREAM_URL"/"$1"
|
||||
git fetch --all
|
||||
git reset --hard upstream/master
|
||||
fi
|
||||
}
|
||||
|
||||
help() {
|
||||
echo "\$1 -> -p = pull updates, -m = merge updates"
|
||||
echo "\$2 -> name of program to update, one of: dwm, st, dmenu, surf"
|
||||
}
|
||||
|
||||
if [ "$#" = "2" ]; then
|
||||
case "$1" in
|
||||
-p) pull_updates "$2";;
|
||||
-m) merge_updates "$2";;
|
||||
-a) add_upstream_branch "$2";;
|
||||
*) help;;
|
||||
esac
|
||||
else
|
||||
help
|
||||
fi
|
|
@ -0,0 +1,146 @@
|
|||
#!/bin/sh
|
||||
#=========================================================================
|
||||
# This script is used to set the status bar for dwm, or
|
||||
# other wms that use xsetroot for a status bar.
|
||||
#
|
||||
# by default this script will only run once, to run in
|
||||
# a loop give it the -l flag: ./dwm-bar.sh -l
|
||||
#
|
||||
# Requires: pulsemixer, xbps (for sys_updates)
|
||||
#
|
||||
# ddate -> creates a date string
|
||||
# audio -> creates a string representing the state of pulseaudio
|
||||
# netup -> creates a string for the current network interface and status
|
||||
# weather -> reads file written by ~/scripts/update-weather.sh to set the weather
|
||||
#
|
||||
# update -> calls all the above functions into xsetroot to set status bar
|
||||
#
|
||||
# https://gitlab.com/ahub/dotfiles
|
||||
#========================================================================
|
||||
|
||||
MAIL_DIR="$HOME/.local/share/mail"
|
||||
|
||||
SEP=" | "
|
||||
|
||||
ddate () {
|
||||
printf " %s\n" "$(date "+%b %d, %Y ( %I:%M )")" #(%a)
|
||||
}
|
||||
|
||||
|
||||
audio () {
|
||||
#volstat="$(amixer get Master)"
|
||||
# if [ -n "$(echo "$volstat" | grep "\[off\]")" ]; then
|
||||
# icon="🔇"
|
||||
# else
|
||||
# icon="$(echo "$volstat" | grep -o "\[[0-9]\+%\]" | sed 's/[^0-9]*//g' | sed -n 1p -) 🔊"
|
||||
# fi
|
||||
|
||||
icon="$(pamixer --get-volume) 🔊"
|
||||
[ "$(pamixer --get-mute)" = "true" ] && icon="🔇"
|
||||
|
||||
printf "%s\n" "$icon"
|
||||
}
|
||||
|
||||
rss() {
|
||||
rss_cnt=$(sfeed_plain ~/.local/share/sfeed/feeds/* | grep -c "^N" )
|
||||
#rss_cnt="$(newsboat -x print-unread | awk '{print $1}')"
|
||||
printf "%s \n" "$rss_cnt"
|
||||
}
|
||||
|
||||
mail() {
|
||||
#MAIL_DIR="$HOME/.local/share/mail/main/INBOX/new"
|
||||
#COUNT="$(ls "$MAIL_DIR" | wc -l)"
|
||||
|
||||
COUNT=0
|
||||
for MBOX in $(ls "$MAIL_DIR")
|
||||
do
|
||||
TMP_DIR="$MAIL_DIR""/$MBOX""/INBOX/new"
|
||||
COUNT=$((COUNT+$(ls "$TMP_DIR" | wc -l)))
|
||||
|
||||
done
|
||||
|
||||
|
||||
icon="$COUNT 📧"
|
||||
|
||||
printf "%s\n" "$icon"
|
||||
|
||||
}
|
||||
|
||||
netup() {
|
||||
icon="❗"
|
||||
for iface in $(ls -1 /sys/class/net | sed '/^lo/d')
|
||||
do
|
||||
if [ $(cat /sys/class/net/"$iface"/operstate | grep up) ] ; then
|
||||
if [ "$(echo "$iface" | grep w)" ]; then
|
||||
icon=" "
|
||||
else
|
||||
icon=""
|
||||
fi
|
||||
elif [ -z "$icon" ]; then
|
||||
icon="❗"
|
||||
fi
|
||||
done
|
||||
|
||||
printf "%s\n" "$icon"
|
||||
}
|
||||
|
||||
weather() {
|
||||
if ! [ -f ~/.cache/wttr ]; then
|
||||
sh ~/.local/scripts/update-weather.sh
|
||||
fi
|
||||
icon="$(cat ~/.cache/wttr)"
|
||||
|
||||
printf "%s\n" "$icon"
|
||||
}
|
||||
|
||||
cputemp() {
|
||||
icon="$(cat /sys/class/thermal/thermal_zone0/temp | sed 's/\(.\)..$/.\1°C/')"
|
||||
|
||||
printf "%s\n" "$icon"
|
||||
}
|
||||
|
||||
battery() {
|
||||
BATT_DIR="/sys/class/power_supply/BAT0"
|
||||
if [ -d "$BATT_DIR" ]; then
|
||||
status="$(cat "$BATT_DIR"/status)"
|
||||
charge="$(cat "$BATT_DIR"/capacity)"
|
||||
fi
|
||||
icon=""
|
||||
if [ "$status" = "Discharging" ]; then
|
||||
icon="${charge}% 🔋"
|
||||
elif [ -z "$status" ]; then
|
||||
icon="🔌"
|
||||
else
|
||||
icon="${charge}% 🔌"
|
||||
fi
|
||||
|
||||
printf "%s\n" "$icon"
|
||||
}
|
||||
|
||||
crypto() {
|
||||
icon="$(cat ~/.cache/rate)"
|
||||
printf "%s\n" "$icon"
|
||||
}
|
||||
|
||||
update() {
|
||||
echo " $(crypto)$SEP$(cputemp)$SEP$(battery)$SEP$(netup)$SEP$(audio)$SEP$(rss)$SEP$(weather)$SEP$(ddate) "
|
||||
}
|
||||
|
||||
|
||||
#trap 'exit' 2
|
||||
#trap 'exit' 15
|
||||
#trap 'exit' 9
|
||||
if [ "$1" ] && [ "$1" = "-l" ]; then
|
||||
echo "$$" > ~/.cache/statusbar_pid
|
||||
|
||||
#sh ~/.local/scripts/update-crypto.sh -i &
|
||||
#sh ~/.local/scripts/update-weather.sh -i &
|
||||
|
||||
while true
|
||||
do
|
||||
update
|
||||
sleep 60
|
||||
done
|
||||
else
|
||||
update
|
||||
fi
|
|
@ -0,0 +1,18 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
get() {
|
||||
val="$(curl --connect-timeout 30 "rate.sx/1$1" | sed 's/\(\.[0-9][0-9]\).*$/\1/g')"
|
||||
|
||||
printf "%s: %s\n" "$1" "$val"
|
||||
}
|
||||
|
||||
[ "$1" = "-i" ] && sleep 10
|
||||
|
||||
|
||||
UPDATE="$(get 'LINK') $(get 'XMR')"
|
||||
|
||||
if [ $(echo $UPDATE | wc -m) -le 30 ]; then
|
||||
echo "$UPDATE" > ~/.cache/rate
|
||||
else
|
||||
echo "❗" > ~/.cache/rate
|
||||
fi
|
|
@ -0,0 +1,46 @@
|
|||
#!/usr/bin/env sh
|
||||
#===================
|
||||
#TODO:
|
||||
# + currently making /etc/hosts a symlink to a user owned file to allow script to run w/o sudo, possible security issue.
|
||||
#
|
||||
#FLAGS:
|
||||
# if $1 is -u then update files from internet
|
||||
#
|
||||
# ==================
|
||||
|
||||
BLOCKFILE="$HOME/.config/blocklist"
|
||||
|
||||
update() {
|
||||
mkdir -p ~/.local/share/update_hosts
|
||||
cd ~/.local/share/update_hosts
|
||||
|
||||
if [ ! -f "./.hosts.orig" ]; then
|
||||
cp /etc/hosts ./.hosts.orig
|
||||
fi
|
||||
|
||||
if [ "$1" = "-u" ]; then
|
||||
|
||||
rm ./.swc_hosts
|
||||
#get someonewhocares.org hosts file
|
||||
curl https://someonewhocares.org/hosts/hosts -o ./.swc_hosts
|
||||
|
||||
fi
|
||||
|
||||
curl https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/porn/hosts -o ./.sb_hosts
|
||||
|
||||
[ -f "$BLOCKFILE" ] && echo "blocklist file found." && sed 's/^/127.0.0.1 /g' "$BLOCKFILE" > ./blocklist
|
||||
|
||||
if [ -f "./blocklist" ]; then
|
||||
cat ./.hosts.orig ./.swc_hosts ./.sb_hosts ./blocklist > ./hosts
|
||||
else
|
||||
cat ./.hosts.orig ./.swc_hosts ./.sb_hosts > ./hosts
|
||||
fi
|
||||
|
||||
#cat ./.hosts.orig ./.swc_hosts > ./hosts
|
||||
|
||||
#sudo mv ./hosts /etc/
|
||||
[ "$1" = "-u" ] && sudo rm /etc/hosts && sudo ln -s $HOME/.local/share/update_hosts/hosts /etc/ && exit
|
||||
}
|
||||
|
||||
|
||||
update "$1"
|
|
@ -0,0 +1,16 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
[ "$1" = "-i" ] && sleep 10
|
||||
|
||||
#UPDATE="$(curl --connect-timeout 30 "wttr.in/Huntsville+Alabama?format=1")" # > ~/.cache/wttr
|
||||
UPDATE="$(curl --connect-timeout 30 "wttr.in/?format=1")" # > ~/.cache/wttr
|
||||
|
||||
echo $UPDATE | wc -m
|
||||
|
||||
if [ $(echo $UPDATE | wc -m) -le 30 ]; then
|
||||
echo "$UPDATE" > ~/.cache/wttr
|
||||
|
||||
else
|
||||
echo "❗" > ~/.cache/wttr
|
||||
|
||||
fi
|
|
@ -0,0 +1,44 @@
|
|||
#!/bin/sh
|
||||
|
||||
PERC="5"
|
||||
|
||||
refbar() {
|
||||
pkill sleep -P "$(cat ~/.cache/statusbar_pid )"
|
||||
}
|
||||
|
||||
inc() {
|
||||
[ "$1" ] && PERC="$1"
|
||||
#pulsemixer --change-volume +"$1" && refbar
|
||||
#amixer sset Master 1%+ && refbar
|
||||
pamixer -i "$PERC" && refbar
|
||||
}
|
||||
|
||||
dec() {
|
||||
[ "$1" ] && PERC="$1"
|
||||
#pulsemixer --change-volume -"$1" && refbar
|
||||
#amixer sset Master 1%- && refbar
|
||||
pamixer -d "$PERC" && refbar
|
||||
}
|
||||
|
||||
mute() {
|
||||
#pulsemixer --toggle-mute && refbar
|
||||
#amixer sset Master toggle && refbar
|
||||
pamixer -t && refbar
|
||||
|
||||
}
|
||||
|
||||
help() {
|
||||
echo "-i N -> increment volume by N amount"
|
||||
echo "-d N -> decrement volume by N amount"
|
||||
echo "--toggle-mute -> toggle mute sound"
|
||||
}
|
||||
|
||||
if [ "$1" = "-i" ]; then
|
||||
inc "$2"
|
||||
elif [ "$1" = "-d" ]; then
|
||||
dec "$2"
|
||||
elif [ "$1" = "--toggle-mute" ]; then
|
||||
mute
|
||||
else
|
||||
help
|
||||
fi
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/sh
|
||||
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent "$1"
|
|
@ -0,0 +1,33 @@
|
|||
#!/bin/sh
|
||||
|
||||
#remove things from $HOME
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
export XDG_CONFIG_DIRS="$HOME/.config"
|
||||
export XDG_DATA_HOME="$HOME/.local/share"
|
||||
export XDG_CACHE_HOME="$HOME/.cache"
|
||||
export XDG_DOCUMENTS_DIR="$HOME/docs"
|
||||
export XDG_DOWNLOAD_DIR="$HOME/dl"
|
||||
export XDG_MUSIC_DIR="$HOME/media/audio/music"
|
||||
export XDG_PICTURES_DIR="$HOME/media/img"
|
||||
export XDG_VIDEOS_DIR="$HOME/media/video"
|
||||
export HISTFILE="$XDG_DATA_HOME"/bash/history
|
||||
#XDG_DESKTOP_DIR="$HOME/Desktop"
|
||||
#XDG_PUBLICSHARE_DIR="$HOME/Public"
|
||||
#XDG_TEMPLATES_DIR="$HOME/Templates"
|
||||
|
||||
export NOTMUCH_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/notmuch-config"
|
||||
export GTK2_RC_FILES="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-2.0/gtkrc-2.0"
|
||||
export WGETRC="${XDG_CONFIG_HOME:-$HOME/.config}/wget/wgetrc"
|
||||
export INPUTRC="${XDG_CONFIG_HOME:-$HOME/.config}/inputrc"
|
||||
#export ALSA_CONFIG_PATH="$XDG_CONFIG_HOME/alsa/asoundrc"
|
||||
export WINEPREFIX="$XDG_DATA_HOME/wineprefixes/default"
|
||||
export STACK_ROOT="$XDG_DATA_HOME"/stack
|
||||
export PASSWORD_STORE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/password-store"
|
||||
export GNUPGHOME="$XDG_DATA_HOME/gnupg"
|
||||
export CARGO_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/cargo"
|
||||
export GOPATH="${XDG_DATA_HOME:-$HOME/.local/share}/go"
|
||||
export ANSIBLE_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/ansible/ansible.cfg"
|
||||
export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
|
||||
export ANDROID_SDK_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/android"
|
||||
export MBSYNCRC="${XDG_CONFIG_HOME:-$HOME/.config}/mbsync/config"
|
||||
export ELECTRUMDIR="${XDG_DATA_HOME:-$HOME/.local/share}/electrum"
|
|
@ -0,0 +1,46 @@
|
|||
#!/bin/sh
|
||||
|
||||
#export PF_ASCII="artix" #set ascii art for pfetch
|
||||
# OFF by default: shell editor wm de palette
|
||||
export PF_INFO="ascii title os kernel uptime pkgs memory shell wm"
|
||||
|
||||
export XCURSOR_THEME=Adwaita
|
||||
|
||||
#other settings
|
||||
export QT_QPA_PLATFORMTHEME="gtk2" # Have QT use gtk2 theme. must have qt5-styleplugins installed
|
||||
#export QT_QPA_PLATFORMTHEME="qt5ct" #have QT use qt5ct theme
|
||||
|
||||
export LESSHISTFILE="-"
|
||||
|
||||
export ZDOTDIR="$HOME/.config/zsh"
|
||||
|
||||
#get colored man pages
|
||||
export LESS_TERMCAP_mb="$(printf '%b' '[1;31m')"
|
||||
export LESS_TERMCAP_md="$(printf '%b' '[1;36m')"
|
||||
export LESS_TERMCAP_me="$(printf '%b' '[0m')"
|
||||
export LESS_TERMCAP_so="$(printf '%b' '[01;44;33m')"
|
||||
export LESS_TERMCAP_se="$(printf '%b' '[0m')"
|
||||
export LESS_TERMCAP_us="$(printf '%b' '[1;32m')"
|
||||
export LESS_TERMCAP_ue="$(printf '%b' '[0m')"
|
||||
|
||||
export MANPAGER=less
|
||||
|
||||
#set preferred programs
|
||||
export EDITOR=nvim
|
||||
export VISUAL=nvim
|
||||
export BROWSER=browser.sh
|
||||
export TERMINAL=alacritty
|
||||
|
||||
#sfeed vars
|
||||
export SFEED_PLUMBER="$BROWSER"
|
||||
export SFEED_URL_FILE="$HOME/.local/share/sfeed/read"
|
||||
|
||||
# Add ~/.local/bin/ ~/.local/scripts/ and to PATH
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
export PATH="$HOME/.local/appimages:$PATH"
|
||||
export PATH="$HOME/.local/scripts:$PATH"
|
||||
|
||||
#fix arduino ide issues
|
||||
export AWT_TOOLKIT=MToolkit
|
||||
|
||||
[ "$(tty)" = /dev/tty1 ] && exec dbus-launch sway
|
|
@ -0,0 +1,163 @@
|
|||
#!/bin/sh
|
||||
|
||||
export LF_ICONS="\
|
||||
di=:\
|
||||
fi=:\
|
||||
ln=:\
|
||||
or=:\
|
||||
ex=:\
|
||||
*.c=:\
|
||||
*.cc=:\
|
||||
*.clj=:\
|
||||
*.coffee=:\
|
||||
*.cpp=:\
|
||||
*.css=:\
|
||||
*.d=:\
|
||||
*.dart=:\
|
||||
*.erl=:\
|
||||
*.exs=:\
|
||||
*.fs=:\
|
||||
*.go=:\
|
||||
*.gitignore=:\
|
||||
*.h=:\
|
||||
*.hh=:\
|
||||
*.hpp=:\
|
||||
*.hs=:\
|
||||
*.html=:\
|
||||
*.java=:\
|
||||
*.jl=:\
|
||||
*.js=:\
|
||||
*.json=:\
|
||||
*.lua=:\
|
||||
*.md=:\
|
||||
*.php=:\
|
||||
*.pl=:\
|
||||
*.pro=:\
|
||||
*.py=:\
|
||||
*.rb=:\
|
||||
*.rs=:\
|
||||
*.scala=:\
|
||||
*.ts=:\
|
||||
*.vim=:\
|
||||
*.cmd=:\
|
||||
*.ps1=:\
|
||||
*.sh=:\
|
||||
*.bash=:\
|
||||
*.zsh=:\
|
||||
*.fish=:\
|
||||
*.tar=:\
|
||||
*.tgz=:\
|
||||
*.arc=:\
|
||||
*.arj=:\
|
||||
*.taz=:\
|
||||
*.lha=:\
|
||||
*.lz4=:\
|
||||
*.lzh=:\
|
||||
*.lzma=:\
|
||||
*.tlz=:\
|
||||
*.txz=:\
|
||||
*.tzo=:\
|
||||
*.t7z=:\
|
||||
*.zip=:\
|
||||
*.z=:\
|
||||
*.dz=:\
|
||||
*.gz=:\
|
||||
*.lrz=:\
|
||||
*.lz=:\
|
||||
*.lzo=:\
|
||||
*.xz=:\
|
||||
*.zst=:\
|
||||
*.tzst=:\
|
||||
*.bz2=:\
|
||||
*.bz=:\
|
||||
*.tbz=:\
|
||||
*.tbz2=:\
|
||||
*.tz=:\
|
||||
*.deb=:\
|
||||
*.rpm=:\
|
||||
*.jar=:\
|
||||
*.war=:\
|
||||
*.ear=:\
|
||||
*.sar=:\
|
||||
*.rar=:\
|
||||
*.alz=:\
|
||||
*.ace=:\
|
||||
*.zoo=:\
|
||||
*.cpio=:\
|
||||
*.7z=:\
|
||||
*.rz=:\
|
||||
*.cab=:\
|
||||
*.wim=:\
|
||||
*.swm=:\
|
||||
*.dwm=:\
|
||||
*.esd=:\
|
||||
*.exe=🍷:\
|
||||
*.jpg=:\
|
||||
*.jpeg=:\
|
||||
*.mjpg=:\
|
||||
*.mjpeg=:\
|
||||
*.gif=:\
|
||||
*.bmp=:\
|
||||
*.pbm=:\
|
||||
*.pgm=:\
|
||||
*.ppm=:\
|
||||
*.tga=:\
|
||||
*.xbm=:\
|
||||
*.xpm=:\
|
||||
*.tif=:\
|
||||
*.tiff=:\
|
||||
*.png=:\
|
||||
*.svg=:\
|
||||
*.svgz=:\
|
||||
*.mng=:\
|
||||
*.pcx=:\
|
||||
*.mov=:\
|
||||
*.mpg=:\
|
||||
*.mpeg=:\
|
||||
*.m2v=:\
|
||||
*.mkv=:\
|
||||
*.webm=:\
|
||||
*.ogm=:\
|
||||
*.mp4=:\
|
||||
*.m4v=:\
|
||||
*.mp4v=:\
|
||||
*.vob=:\
|
||||
*.qt=:\
|
||||
*.nuv=:\
|
||||
*.wmv=:\
|
||||
*.asf=:\
|
||||
*.rm=:\
|
||||
*.rmvb=:\
|
||||
*.flc=:\
|
||||
*.avi=:\
|
||||
*.fli=:\
|
||||
*.flv=:\
|
||||
*.gl=:\
|
||||
*.dl=:\
|
||||
*.xcf=:\
|
||||
*.xwd=:\
|
||||
*.yuv=:\
|
||||
*.cgm=:\
|
||||
*.emf=:\
|
||||
*.ogv=:\
|
||||
*.ogx=:\
|
||||
*.aac=:\
|
||||
*.au=:\
|
||||
*.flac=:\
|
||||
*.m4a=:\
|
||||
*.mid=:\
|
||||
*.midi=:\
|
||||
*.mka=:\
|
||||
*.mp3=:\
|
||||
*.mpc=:\
|
||||
*.ogg=:\
|
||||
*.ra=:\
|
||||
*.wav=:\
|
||||
*.oga=:\
|
||||
*.opus=:\
|
||||
*.spx=:\
|
||||
*.xspf=:\
|
||||
*.pdf=:\
|
||||
*.nix=:\
|
||||
"
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/sh
|
||||
|
||||
BEMENU_CONF="$HOME/.config/bemenu/bemenu_opts.sh"
|
||||
[ -f "$BEMENU_CONF" ] && . "$BEMENU_CONF"
|
||||
#End wayland config
|
||||
|
||||
#make librewolf use wayland
|
||||
export GDK_BACKEND=wayland
|
||||
export MOZ_ENABLE_WAYLAND=1
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
# Luke's config for the Zoomer Shell
|
||||
|
||||
# Enable colors and change prompt:
|
||||
autoload -U colors && colors
|
||||
|
||||
#PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b "
|
||||
PS1="%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~% %{$fg[yellow]%} -> "
|
||||
# History in cache directory:
|
||||
HISTSIZE=10000
|
||||
SAVEHIST=10000
|
||||
HISTFILE=~/.cache/zsh/history
|
||||
|
||||
# Basic auto/tab complete:
|
||||
autoload -U compinit
|
||||
zstyle ':completion:*' menu select
|
||||
zmodload zsh/complist
|
||||
compinit
|
||||
_comp_options+=(globdots) # Include hidden files.
|
||||
|
||||
# vi mode
|
||||
bindkey -v
|
||||
export KEYTIMEOUT=1
|
||||
|
||||
# Use vim keys in tab complete menu:
|
||||
bindkey -M menuselect 'h' vi-backward-char
|
||||
bindkey -M menuselect 'k' vi-up-line-or-history
|
||||
bindkey -M menuselect 'l' vi-forward-char
|
||||
bindkey -M menuselect 'j' vi-down-line-or-history
|
||||
bindkey -v '^?' backward-delete-char
|
||||
|
||||
# Change cursor shape for different vi modes.
|
||||
function zle-keymap-select {
|
||||
if [[ ${KEYMAP} == vicmd ]] ||
|
||||
[[ $1 = 'block' ]]; then
|
||||
echo -ne '\e[1 q'
|
||||
elif [[ ${KEYMAP} == main ]] ||
|
||||
[[ ${KEYMAP} == viins ]] ||
|
||||
[[ ${KEYMAP} = '' ]] ||
|
||||
[[ $1 = 'beam' ]]; then
|
||||
echo -ne '\e[5 q'
|
||||
fi
|
||||
}
|
||||
zle -N zle-keymap-select
|
||||
zle-line-init() {
|
||||
zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere)
|
||||
echo -ne "\e[5 q"
|
||||
}
|
||||
zle -N zle-line-init
|
||||
echo -ne '\e[5 q' # Use beam shape cursor on startup.
|
||||
preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt.
|
||||
|
||||
# Use lf to switch directories and bind it to ctrl-o
|
||||
lfcd () {
|
||||
tmp="$(mktemp)"
|
||||
lf -last-dir-path="$tmp" "$@"
|
||||
if [ -f "$tmp" ]; then
|
||||
dir="$(cat "$tmp")"
|
||||
rm -f "$tmp"
|
||||
[ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && cd "$dir"
|
||||
fi
|
||||
}
|
||||
bindkey -s '^o' 'lfcd\n'
|
||||
|
||||
# Edit line in vim with ctrl-e:
|
||||
autoload edit-command-line; zle -N edit-command-line
|
||||
bindkey '^e' edit-command-line
|
||||
|
||||
# Load aliases and shortcuts if existent.
|
||||
[ -f "$HOME/.config/shortcutrc" ] && source "$HOME/.config/shortcutrc"
|
||||
[ -f "$HOME/.config/aliasrc" ] && source "$HOME/.config/aliasrc"
|
||||
|
||||
#my additions
|
||||
unsetopt nomatch
|
||||
|
||||
|
||||
#source haskell file if it exists
|
||||
[ -f "$HOME/.ghcup/env" ] && source "$HOME/.ghcup/env"
|
||||
|
||||
if ! [ -f $HOME/.local/share/zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ]; then
|
||||
mkdir -p $HOME/.local/share/zsh/
|
||||
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $HOME/.local/share/zsh/zsh-syntax-highlighting
|
||||
fi
|
||||
|
||||
# prompt stuff
|
||||
pfetch
|
||||
|
||||
#if [ -f "/usr/bin/starship" ]; then
|
||||
# eval "$(starship init zsh)"
|
||||
#fi
|
||||
|
||||
# Load zsh-syntax-highlighting; should be last.
|
||||
source $HOME/.local/share/zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh 2>/dev/null
|
Loading…
Reference in New Issue