big changes re ink-os and inks-scripts
This commit is contained in:
parent
0deec97ced
commit
667d640996
@ -2,4 +2,4 @@
|
||||
[Icon Theme]
|
||||
Name=Default
|
||||
Comment=Default Cursor Theme
|
||||
Inherits=Adwaita
|
||||
Inherits=Vimix-cursors
|
||||
|
||||
@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
default_loc=/tmp/pactl-default-sink
|
||||
|
||||
if [ ! -f "$default_loc" ] ; then
|
||||
/home/solomon/.local/bin/set-default-sink
|
||||
fi
|
||||
|
||||
default=$(cat $default_loc)
|
||||
|
||||
pactl set-sink-volume $default -5%
|
||||
@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
default_loc=/tmp/pactl-default-source
|
||||
|
||||
if [ ! -f "$default_loc" ] ; then
|
||||
/home/solomon/.local/bin/set-default-source
|
||||
fi
|
||||
|
||||
default=$(cat $default_loc)
|
||||
|
||||
pactl set-source-volume $default -5%
|
||||
@ -1,67 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Gives a dmenu prompt to mount unmounted drives and Android phones. If
|
||||
# they're in /etc/fstab, they'll be mounted automatically. Otherwise, you'll
|
||||
# be prompted to give a mountpoint from already existsing directories. If you
|
||||
# input a novel directory, it will prompt you to create that directory.
|
||||
|
||||
getmount() { \
|
||||
[ -z "$chosen" ] && exit 1
|
||||
# shellcheck disable=SC2086
|
||||
mp="$(find $1 2>/dev/null | dmenu -i -p "Type in mount point.")" || exit 1
|
||||
[ "$mp" = "" ] && exit 1
|
||||
if [ ! -d "$mp" ]; then
|
||||
mkdiryn=$(printf "No\\nYes" | dmenu -i -p "$mp does not exist. Create it?") || exit 1
|
||||
[ "$mkdiryn" = "Yes" ] && (mkdir -p "$mp" || sudo -A mkdir -p "$mp")
|
||||
fi
|
||||
}
|
||||
|
||||
mountusb() { \
|
||||
chosen="$(echo "$usbdrives" | dmenu -i -p "Mount which drive?")" || exit 1
|
||||
chosen="$(echo "$chosen" | awk '{print $1}')"
|
||||
sudo -A mount "$chosen" 2>/dev/null && notify-send "💻 USB mounting" "$chosen mounted." && exit 0
|
||||
alreadymounted=$(lsblk -nrpo "name,type,mountpoint" | awk '$3!~/\/boot|\/home$|SWAP/&&length($3)>1{printf "-not ( -path *%s -prune ) ",$3}')
|
||||
getmount "/mnt /media /mount /home -maxdepth 5 -type d $alreadymounted"
|
||||
partitiontype="$(lsblk -no "fstype" "$chosen")"
|
||||
case "$partitiontype" in
|
||||
"vfat") sudo -A mount -t vfat "$chosen" "$mp" -o rw,umask=0000;;
|
||||
"exfat") sudo -A mount "$chosen" "$mp" -o uid="$(id -u)",gid="$(id -g)";;
|
||||
*) sudo -A mount "$chosen" "$mp"; user="$(whoami)"; ug="$(groups | awk '{print $1}')"; sudo -A chown "$user":"$ug" "$mp";;
|
||||
esac
|
||||
notify-send "💻 USB mounting" "$chosen mounted to $mp."
|
||||
}
|
||||
|
||||
mountandroid() { \
|
||||
chosen="$(echo "$anddrives" | dmenu -i -p "Which Android device?")" || exit 1
|
||||
chosen="$(echo "$chosen" | cut -d : -f 1)"
|
||||
getmount "$HOME -maxdepth 3 -type d"
|
||||
simple-mtpfs --device "$chosen" "$mp"
|
||||
echo "OK" | dmenu -i -p "Tap Allow on your phone if it asks for permission and then press enter" || exit 1
|
||||
simple-mtpfs --device "$chosen" "$mp"
|
||||
notify-send "🤖 Android Mounting" "Android device mounted to $mp."
|
||||
}
|
||||
|
||||
asktype() { \
|
||||
choice="$(printf "USB\\nAndroid" | dmenu -i -p "Mount a USB drive or Android device?")" || exit 1
|
||||
case $choice in
|
||||
USB) mountusb ;;
|
||||
Android) mountandroid ;;
|
||||
esac
|
||||
}
|
||||
|
||||
anddrives=$(simple-mtpfs -l 2>/dev/null)
|
||||
usbdrives="$(lsblk -rpo "name,type,size,mountpoint" | grep 'part\|rom' | awk '$4==""{printf "%s (%s)\n",$1,$3}')"
|
||||
|
||||
if [ -z "$usbdrives" ]; then
|
||||
[ -z "$anddrives" ] && echo "No USB drive or Android device detected" && exit
|
||||
echo "Android device(s) detected."
|
||||
mountandroid
|
||||
else
|
||||
if [ -z "$anddrives" ]; then
|
||||
echo "USB drive(s) detected."
|
||||
mountusb
|
||||
else
|
||||
echo "Mountable USB drive(s) and Android device(s) detected."
|
||||
asktype
|
||||
fi
|
||||
fi
|
||||
@ -1,19 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Gives a dmenu prompt to mount unmounted local NAS shares for read/write.
|
||||
# Requirements - "%wheel ALL=(ALL) NOPASSWD: ALL"
|
||||
#
|
||||
# Browse for mDNS/DNS-SD services using the Avahi daemon...
|
||||
srvname=$(avahi-browse _smb._tcp -t | awk '{print $4}' | dmenu -i -p "Which NAS?") || exit 1
|
||||
notify-send "Searching for network shares..." "Please wait..."
|
||||
# Choose share disk...
|
||||
share=$(smbclient -L "$srvname" -N | grep Disk | awk '{print $1}' | dmenu -i -p "Mount which share?") || exit 1
|
||||
# Format URL...
|
||||
share2mnt=//"$srvname".local/"$share"
|
||||
|
||||
sharemount() {
|
||||
mounted=$(mount -v | grep "$share2mnt") || ([ ! -d /mnt/"$share" ] && sudo mkdir /mnt/"$share")
|
||||
[ -z "$mounted" ] && sudo mount -t cifs "$share2mnt" -o user=nobody,password="",noperm /mnt/"$share" && notify-send "Netshare $share mounted" && exit 0
|
||||
notify-send "Netshare $share already mounted"; exit 1
|
||||
}
|
||||
|
||||
sharemount
|
||||
@ -1,91 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Script name: dmenusearch
|
||||
# Description: Search various search engines (inspired by surfraw).
|
||||
# Dependencies: dmenu and a web browser
|
||||
# Usage: dmenusearch <engine>
|
||||
# where engine is amazon, duckduckgo, etc.
|
||||
# without engine all options will be listed
|
||||
|
||||
# Pilfered from Derek Taylor @ https://www.gitlab.com/dwt1/dmscripts
|
||||
|
||||
# Contributors: Derek Taylor
|
||||
# Ali Furkan Yıldız
|
||||
|
||||
# Defining our web browser.
|
||||
DMBROWSER="${BROWSER:-surf}"
|
||||
|
||||
# An array of search engines. You can edit this list to add/remove
|
||||
# search engines. The format must be: "engine_name]="url".
|
||||
# The url format must allow for the search keywords at the end of the url.
|
||||
# For example: https://www.amazon.com/s?k=XXXX searches Amazon for 'XXXX'.
|
||||
declare -A options
|
||||
options[amazon]="https://www.amazon.com/s?k="
|
||||
options[archaur]="https://aur.archlinux.org/packages/?O=0&K="
|
||||
options[archpkg]="https://archlinux.org/packages/?sort=&q="
|
||||
options[archwiki]="https://wiki.archlinux.org/index.php?search="
|
||||
options[arxiv]="https://arxiv.org/search/?searchtype=all&source=header&query="
|
||||
options[bbcnews]="https://www.bbc.co.uk/search?q="
|
||||
options[bing]="https://www.bing.com/search?q="
|
||||
options[cliki]="https://www.cliki.net/site/search?query="
|
||||
options[cnn]="https://www.cnn.com/search?q="
|
||||
options[coinbase]="https://www.coinbase.com/price?query="
|
||||
options[debianpkg]="https://packages.debian.org/search?suite=default§ion=all&arch=any&searchon=names&keywords="
|
||||
options[discogs]="https://www.discogs.com/search/?&type=all&q="
|
||||
options[duckduckgo]="https://duckduckgo.com/?q="
|
||||
options[ebay]="https://www.ebay.com/sch/i.html?&_nkw="
|
||||
options[github]="https://github.com/search?q="
|
||||
options[gitlab]="https://gitlab.com/search?search="
|
||||
options[imdb]="https://www.imdb.com/find?q="
|
||||
options[lbry]="https://lbry.tv/$/search?q="
|
||||
options[odysee]="https://odysee.com/$/search?q="
|
||||
options[reddit]="https://www.reddit.com/search/?q="
|
||||
options[slashdot]="https://slashdot.org/index2.pl?fhfilter="
|
||||
options[socialblade]="https://socialblade.com/youtube/user/"
|
||||
options[sourceforge]="https://sourceforge.net/directory/?q="
|
||||
options[stack]="https://stackoverflow.com/search?q="
|
||||
options[startpage]="https://www.startpage.com/do/dsearch?query="
|
||||
options[stockquote]="https://finance.yahoo.com/quote/"
|
||||
options[thesaurus]="https://www.thesaurus.com/misspelling?term="
|
||||
options[translate]="https://translate.google.com/?sl=auto&tl=en&text="
|
||||
options[urban]="https://www.urbandictionary.com/define.php?term="
|
||||
options[wayback]="https://web.archive.org/web/*/"
|
||||
options[webster]="https://www.merriam-webster.com/dictionary/"
|
||||
options[wikipedia]="https://en.wikipedia.org/wiki/"
|
||||
options[wiktionary]="https://en.wiktionary.org/wiki/"
|
||||
options[wolfram]="https://www.wolframalpha.com/input/?i="
|
||||
options[youtube]="https://www.youtube.com/results?search_query="
|
||||
options[google]="https://www.google.com/search?q="
|
||||
options[googleimages]="https://www.google.com/search?hl=en&tbm=isch&q="
|
||||
options[googlenews]="https://news.google.com/search?q="
|
||||
options[googleSupport]="https://support.google.com/search?q="
|
||||
options[googleSupportAdmin]="https://support.google.com/a/search?q="
|
||||
options[googleStructuredData]="https://search.google.com/structured-data/testing-tool#url="
|
||||
options[googleRichResults]="https://search.google.com/test/rich-results??url="
|
||||
options[googlePagespeed]="https://developers.google.com/speed/pagespeed/insights/?url="
|
||||
options[googleDevelopers]="https://developers.google.com/s/results?q="
|
||||
options[googleOpenSource]="https://opensource.google/projects/search?q="
|
||||
options[googleExperimentswithGoogle]="https://experiments.withgoogle.com/search?q="
|
||||
options[googleDataset]="https://datasetsearch.research.google.com/search?query="
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
# Picking a search engine.
|
||||
# shellcheck disable=SC2154
|
||||
while [ -z "$engine" ]; do
|
||||
engine=$(printf '%s\n' "${!options[@]}" | sort | dmenu -i -p 'Choose search engine:') "$@" || exit
|
||||
url="${options["${engine}"]}" || exit
|
||||
done
|
||||
else
|
||||
engine="$1"
|
||||
fi
|
||||
|
||||
url="${options["${engine}"]}" || exit
|
||||
|
||||
# Searching the chosen engine.
|
||||
# shellcheck disable=SC2154
|
||||
while [ -z "$query" ]; do
|
||||
query=$(echo "$engine" | dmenu -p 'Enter search query:') || exit
|
||||
done
|
||||
|
||||
# Display search results in web browser
|
||||
$DMBROWSER "$url""$query"
|
||||
@ -1,44 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# A dmenu prompt to unmount drives.
|
||||
# Provides you with mounted partitions, select one to unmount.
|
||||
# Drives mounted at /, /boot and /home will not be options to unmount.
|
||||
|
||||
unmountusb() {
|
||||
[ -z "$drives" ] && exit
|
||||
chosen="$(echo "$drives" | dmenu -i -p "Unmount which drive?")" || exit 1
|
||||
chosen="$(echo "$chosen" | awk '{print $1}')"
|
||||
[ -z "$chosen" ] && exit
|
||||
sudo -A umount "$chosen" && notify-send "💻 USB unmounting" "$chosen unmounted."
|
||||
}
|
||||
|
||||
unmountandroid() { \
|
||||
chosen="$(awk '/simple-mtpfs/ {print $2}' /etc/mtab | dmenu -i -p "Unmount which device?")" || exit 1
|
||||
[ -z "$chosen" ] && exit
|
||||
sudo -A umount -l "$chosen" && notify-send "🤖 Android unmounting" "$chosen unmounted."
|
||||
}
|
||||
|
||||
asktype() { \
|
||||
choice="$(printf "USB\\nAndroid" | dmenu -i -p "Unmount a USB drive or Android device?")" || exit 1
|
||||
case "$choice" in
|
||||
USB) unmountusb ;;
|
||||
Android) unmountandroid ;;
|
||||
esac
|
||||
}
|
||||
|
||||
drives=$(lsblk -nrpo "name,type,size,mountpoint" | awk '$4!~/\/boot|\/home$|SWAP/&&length($4)>1{printf "%s (%s)\n",$4,$3}')
|
||||
|
||||
if ! grep simple-mtpfs /etc/mtab; then
|
||||
[ -z "$drives" ] && echo "No drives to unmount." && exit
|
||||
echo "Unmountable USB drive detected."
|
||||
unmountusb
|
||||
else
|
||||
if [ -z "$drives" ]
|
||||
then
|
||||
echo "Unmountable Android device detected."
|
||||
unmountandroid
|
||||
else
|
||||
echo "Unmountable USB drive(s) and Android device(s) detected."
|
||||
asktype
|
||||
fi
|
||||
fi
|
||||
@ -1,45 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# A general, all-purpose extraction script. Not all extraction programs here
|
||||
# are installed by LARBS automatically.
|
||||
#
|
||||
# Default behavior: Extract archive into new directory
|
||||
# Behavior with `-c` option: Extract contents into current directory
|
||||
|
||||
while getopts "hc" o; do case "${o}" in
|
||||
c) extracthere="True" ;;
|
||||
*) printf "Options:\\n -c: Extract archive into current directory rather than a new one.\\n" && exit 1 ;;
|
||||
esac done
|
||||
|
||||
if [ -z "$extracthere" ]; then
|
||||
archive="$(readlink -f "$*")" &&
|
||||
directory="$(echo "$archive" | sed 's/\.[^\/.]*$//')" &&
|
||||
mkdir -p "$directory" &&
|
||||
cd "$directory" || exit 1
|
||||
else
|
||||
archive="$(readlink -f "$(echo "$*" | cut -d' ' -f2)" 2>/dev/null)"
|
||||
fi
|
||||
|
||||
[ -z "$archive" ] && printf "Give archive to extract as argument.\\n" && exit 1
|
||||
|
||||
if [ -f "$archive" ] ; then
|
||||
case "$archive" in
|
||||
*.tar.bz2|*.tbz2) tar xvjf "$archive" ;;
|
||||
*.tar.xz) tar -xf "$archive" ;;
|
||||
*.tar.gz|*.tgz) tar xvzf "$archive" ;;
|
||||
*.tar.zst) tar -I zstd -xf "$archive" ;;
|
||||
*.lzma) unlzma "$archive" ;;
|
||||
*.bz2) bunzip2 "$archive" ;;
|
||||
*.rar) unrar x -ad "$archive" ;;
|
||||
*.gz) gunzip "$archive" ;;
|
||||
*.tar) tar xvf "$archive" ;;
|
||||
*.zip) unzip "$archive" ;;
|
||||
*.Z) uncompress "$archive" ;;
|
||||
*.7z) 7z x "$archive" ;;
|
||||
*.xz) unxz "$archive" ;;
|
||||
*.exe) cabextract "$archive" ;;
|
||||
*) printf "extract: '%s' - unknown archive method\\n" "$archive" ;;
|
||||
esac
|
||||
else
|
||||
printf "File \"%s\" not found.\\n" "$archive"
|
||||
fi
|
||||
@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
default_loc=/tmp/pactl-default-sink
|
||||
|
||||
if [ ! -f "$default_loc" ] ; then
|
||||
/home/solomon/.local/bin/set-default-sink
|
||||
fi
|
||||
|
||||
default=$(cat $default_loc)
|
||||
|
||||
pactl set-sink-volume $default +5%
|
||||
@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
default_loc=/tmp/pactl-default-source
|
||||
|
||||
if [ ! -f "$default_loc" ] ; then
|
||||
/home/solomon/.local/bin/set-default-source
|
||||
fi
|
||||
|
||||
default=$(cat $default_loc)
|
||||
|
||||
pactl set-source-volume $default +5%
|
||||
@ -1,5 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if command -v backlight_control &> /dev/null; then
|
||||
backlight_control $1
|
||||
fi
|
||||
@ -1,21 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# A dmenu binary prompt script.
|
||||
# Gives a dmenu prompt labelled with $1 to perform command $2.
|
||||
# To invert the options, simply provide a thrid parameter $3.
|
||||
# For example:
|
||||
# `./prompt "Do you want to shutdown?" "shutdown now"`
|
||||
|
||||
# Taken shamelessly from Luke Smith
|
||||
|
||||
if [ -n "$3" ]
|
||||
then
|
||||
choice=$(echo -e "Yes\nNo" | dmenu -bw 0 -i -p "$1")
|
||||
else
|
||||
choice=$(echo -e "No\nYes" | dmenu -bw 0 -i -p "$1")
|
||||
fi
|
||||
|
||||
if [ $choice = "Yes" ]
|
||||
then
|
||||
$2
|
||||
fi
|
||||
@ -1,18 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
if echo "$1" | grep "https*://\S\+\.[A-Za-z]\+\S*" >/dev/null; then
|
||||
url="$1"
|
||||
else
|
||||
url="$(grep -Eom1 '<[^>]+(rel="self"|application/[a-z]+\+xml)[^>]+>' "$1" |
|
||||
sed -E 's_^.*href="(https?://[^"]+)".*$_\1_')"
|
||||
|
||||
! grep "https*://\S\+\.[A-Za-z]\+\S*" <<<"$url" &&
|
||||
notify-send "That doesn't look like a full URL." && exit 1
|
||||
fi
|
||||
|
||||
RSSFILE="${XDG_CONFIG_HOME:-$HOME/.config}/newsboat/urls"
|
||||
if awk '{print $1}' "$RSSFILE" | grep "^$url$" >/dev/null; then
|
||||
notify-send "You already have this RSS feed."
|
||||
else
|
||||
echo "$url" >> "$RSSFILE" && notify-send "RSS feed added."
|
||||
fi
|
||||
@ -1,9 +0,0 @@
|
||||
sudo apt install mosh fish -y
|
||||
|
||||
git clone https://gitlab.inkletblot.com/inkletblot/config.git
|
||||
|
||||
chsh -s `which fish`
|
||||
|
||||
mkdir -p .config/fish
|
||||
ln config/.config/fish/config.fish ~/.config/fish/config.fish
|
||||
ln config/.config/fish/fish_variables ~/.config/fish/fish_variables
|
||||
@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
choice=$(pactl list short sinks | awk '{print $2}' | dmenu -i -p "which sink should be default?")
|
||||
|
||||
if [ -z "$choice" ] ; then
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
|
||||
rm /tmp/pactl-default-sink --force # to ignore if it isn't there
|
||||
touch /tmp/pactl-default-sink
|
||||
echo "$choice" > /tmp/pactl-default-sink
|
||||
pactl set-default-sink $choice # make sure that the chosen sink is the
|
||||
@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
choice=$(pactl list short sources | awk '{print $2}' | dmenu -i -p "which source should be default?")
|
||||
|
||||
if [ -z "$choice" ] ; then
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
|
||||
rm /tmp/pactl-default-source --force # to ignore if it isn't there
|
||||
touch /tmp/pactl-default-source
|
||||
echo "$choice" > /tmp/pactl-default-source
|
||||
pactl set-default-source $choice # make sure that the chosen sink is the
|
||||
@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
default_loc=/tmp/pactl-default-sink
|
||||
|
||||
if [ ! -f "$default_loc" ] ; then
|
||||
/home/solomon/.local/bin/set-default-card
|
||||
fi
|
||||
|
||||
default=$(cat $default_loc)
|
||||
|
||||
pactl set-sink-mute $default toggle
|
||||
@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
default_loc=/tmp/pactl-default-source
|
||||
|
||||
if [ ! -f "$default_loc" ] ; then
|
||||
/home/solomon/.local/bin/set-default-source
|
||||
fi
|
||||
|
||||
default=$(cat $default_loc)
|
||||
|
||||
pactl set-source-mute $default toggle
|
||||
@ -1,12 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
sed -n '/--START_KEYS/,/--END_KEYS/p' $HOME/.xmonad/xmonad.hs | \
|
||||
grep -e ', ("' \
|
||||
-e '\[ ("' \
|
||||
-e '--NOTE' | \
|
||||
grep -v '\-\- , ' |\
|
||||
sed -e 's/^[ \t,]*//' \
|
||||
-e 's/\[ (/(/' \
|
||||
-e 's/--NOTE /\n/' \
|
||||
-e 's/, / --> /' | \
|
||||
yad --text-info --back=#121e32 --fore=#dfdfef --geometry=1200x800
|
||||
@ -156,7 +156,6 @@ myEZKeys =
|
||||
|
||||
--NOTE launchers
|
||||
, ("M-a", spawn "dmenu_run -bw 3 -c -l 15 -h 26") -- open dmenu
|
||||
, ("M-o", spawn "rofi -show run") -- open rofi
|
||||
|
||||
--NOTE keybound programs
|
||||
, ("M-S-<Return>", spawn (myTerminal)) -- open a terminal
|
||||
@ -184,38 +183,38 @@ myEZKeys =
|
||||
|
||||
--NOTE my custom keybind/script combinations
|
||||
--NOTE system controls
|
||||
, ("M-S-s", spawn "$HOME/.local/bin/prompt \"Are you sure you want to Shutdown?\" \"shutdown now\"") -- prompt computer shutdown
|
||||
, ("M-S-r", spawn "$HOME/.local/bin/prompt \"Are you sure you want to Restart?\" \"reboot\"") -- prompt computer restart
|
||||
, ("M-<Escape>", spawn "$HOME/.local/bin/prompt \"Are you sure you want to lock?\" \"slock\" 1") -- prompt computer lock
|
||||
, ("M-S-s", spawn "/usr/local/bin/prompt \"Are you sure you want to Shutdown?\" \"shutdown now\"") -- prompt computer shutdown
|
||||
, ("M-S-r", spawn "/usr/local/bin/prompt \"Are you sure you want to Restart?\" \"reboot\"") -- prompt computer restart
|
||||
, ("M-<Escape>", spawn "/usr/local/bin/prompt \"Are you sure you want to lock?\" \"slock\" 1") -- prompt computer lock
|
||||
|
||||
--NOTE bitwarden controls
|
||||
, ("M-S-x", spawn "$HOME/.local/bin/bw-unlock") -- unlock bitwarden cli
|
||||
, ("M-x", spawn "$HOME/.local/bin/passwords") -- get password from bw cli
|
||||
|
||||
--NOTE demenu search
|
||||
, ("M-s s", spawn "$HOME/.local/bin/dmenusearch") -- launch searcher (dmenu and surf)
|
||||
, ("M-s d", spawn "$HOME/.local/bin/dmenusearch duckduckgo") -- launch searcher, default to duckduckgo
|
||||
, ("M-s s", spawn "/usr/local/bin/dmenusearch") -- launch searcher (dmenu and surf)
|
||||
, ("M-s d", spawn "/usr/local/bin/dmenusearch duckduckgo") -- launch searcher, default to duckduckgo
|
||||
|
||||
--NOTE drive mounting
|
||||
, ("M-d m", spawn "$HOME/.local/bin/dmenumount") -- launch mounter
|
||||
, ("M-d u", spawn "$HOME/.local/bin/dmenuumount") -- launch unmounter
|
||||
, ("M-d m", spawn "/usr/local/bin/dmenumount") -- launch mounter
|
||||
, ("M-d u", spawn "/usr/local/bin/dmenuumount") -- launch unmounter
|
||||
|
||||
--NOTE backlight controls
|
||||
, ("<XF86MonBrightnessUp>", spawn "$HOME/.local/bin/mod_backlight +10") -- increase backlight brightness by 10
|
||||
, ("<XF86MonBrightnessDown>", spawn "$HOME/.local/bin/mod_backlight -10") -- decrease backlight brightness by 10
|
||||
, ("<XF86MonBrightnessUp>", spawn "/usr/local/bin/mod_backlight +10") -- increase backlight brightness by 10
|
||||
, ("<XF86MonBrightnessDown>", spawn "/usr/local/bin/mod_backlight -10") -- decrease backlight brightness by 10
|
||||
|
||||
--NOTE music and audio controls
|
||||
, ("M-S-o", spawn "$HOME/.local/bin/set-default-sink") -- set default output
|
||||
, ("M-S-i", spawn "$HOME/.local/bin/set-default-source") -- set default input
|
||||
, ("<XF86AudioLowerVolume>", spawn "$HOME/.local/bin/dec-sink-volume") -- decrease output volume
|
||||
, ("<XF86AudioRaiseVolume>", spawn "$HOME/.local/bin/inc-sink-volume") -- increase output volume
|
||||
, ("<XF86AudioMute>", spawn "$HOME/.local/bin/toggle-sink-mute") -- toggle output mute
|
||||
, ("S-<XF86AudioLowerVolume>", spawn "$HOME/.local/bin/dec-source-volume") -- decrease input volume
|
||||
, ("S-<XF86AudioRaiseVolume>", spawn "$HOME/.local/bin/inc-source-volume") -- increase input volume
|
||||
, ("S-<XF86AudioMute>", spawn "$HOME/.local/bin/toggle-source-mute") -- toggle input mute
|
||||
, ("M-S-o", spawn "/usr/local/bin/set-default-sink") -- set default output
|
||||
, ("M-S-i", spawn "/usr/local/bin/set-default-source") -- set default input
|
||||
, ("<XF86AudioLowerVolume>", spawn "/usr/local/bin/dec-sink-volume") -- decrease output volume
|
||||
, ("<XF86AudioRaiseVolume>", spawn "/usr/local/bin/inc-sink-volume") -- increase output volume
|
||||
, ("<XF86AudioMute>", spawn "/usr/local/bin/toggle-sink-mute") -- toggle output mute
|
||||
, ("S-<XF86AudioLowerVolume>", spawn "/usr/local/bin/dec-source-volume") -- decrease input volume
|
||||
, ("S-<XF86AudioRaiseVolume>", spawn "/usr/local/bin/inc-source-volume") -- increase input volume
|
||||
, ("S-<XF86AudioMute>", spawn "/usr/local/bin/toggle-source-mute") -- toggle input mute
|
||||
|
||||
--NOTE extras
|
||||
, ("M-S-/", spawn "$HOME/.local/bin/xmonad-keys") -- show keybinds
|
||||
, ("M-S-/", spawn "/usr/local/bin/xmonad-keys") -- show keybinds
|
||||
, ("<Print>", spawn "scrot") -- take full (all monitors) screenshot
|
||||
, ("M-<Print>", spawn "flameshot gui") -- launch flameshot for snipping
|
||||
]
|
||||
@ -357,6 +356,7 @@ myManageHook = composeAll
|
||||
, className =? "discord" --> doShift ( myWorkspaces !! (8-1) )
|
||||
, className =? "telegram-desktop" --> doShift ( myWorkspaces !! (8-1) )
|
||||
, className =? "Element" --> doShift ( myWorkspaces !! (8-1) )
|
||||
, className =? "plexamp" --> doShift ( myWorkspaces !! (5-1) )
|
||||
, className =? "Pavucontrol" --> doShift ( myWorkspaces !! (5-1) )]
|
||||
------------------------------------------------------------------------
|
||||
-- Event handling
|
||||
@ -385,7 +385,7 @@ myLogHook = fadeInactiveLogHook fadeAmount
|
||||
-- By default, do nothing.
|
||||
myStartupHook = do
|
||||
-- Startup apps (tray) and settings
|
||||
spawnOnce "volumeicon &"
|
||||
spawnOnce "volctl &"
|
||||
spawnOnce "nm-applet &"
|
||||
spawnOnce "blueman-applet &"
|
||||
spawnOnce "/usr/lib/kdeconnectd &"
|
||||
|
||||
@ -1,29 +0,0 @@
|
||||
code --install-extension ahmadawais.shades-of-purple
|
||||
code --install-extension austin.code-gnu-global
|
||||
code --install-extension christian-kohler.path-intellisense
|
||||
code --install-extension CoenraadS.bracket-pair-colorizer-2
|
||||
code --install-extension DotJoshJohnson.xml
|
||||
code --install-extension dracula-theme.theme-dracula
|
||||
code --install-extension formulahendry.auto-close-tag
|
||||
code --install-extension formulahendry.auto-rename-tag
|
||||
code --install-extension formulahendry.code-runner
|
||||
code --install-extension Fudge.auto-using
|
||||
code --install-extension HookyQR.beautify
|
||||
code --install-extension humao.rest-client
|
||||
code --install-extension justusadam.language-haskell
|
||||
code --install-extension marcochavezf.darcula-operator-mono-vscode
|
||||
code --install-extension mitaki28.vscode-clang
|
||||
code --install-extension ms-azuretools.vscode-azureappservice
|
||||
code --install-extension ms-dotnettools.csharp
|
||||
code --install-extension ms-python.python
|
||||
code --install-extension ms-vscode-remote.remote-wsl
|
||||
code --install-extension ms-vscode.azure-account
|
||||
code --install-extension ms-vscode.cmake-tools
|
||||
code --install-extension ms-vscode.cpptools
|
||||
code --install-extension quicktype.quicktype
|
||||
code --install-extension sdras.night-owl
|
||||
code --install-extension teabyii.ayu
|
||||
code --install-extension tomoki1207.pdf
|
||||
code --install-extension twxs.cmake
|
||||
code --install-extension wayou.vscode-todo-highlight
|
||||
code --install-extension wesbos.theme-cobalt2
|
||||
@ -1,94 +0,0 @@
|
||||
git-flow-completion-git
|
||||
|
||||
yad
|
||||
scrot
|
||||
pulseaudio-bluetooth
|
||||
bluez-utils
|
||||
sshfs
|
||||
freetube
|
||||
plexamp-appimage
|
||||
element-desktop
|
||||
shotwell
|
||||
fish
|
||||
evince
|
||||
dunst-git
|
||||
slock
|
||||
notify-send
|
||||
bitwarden-cli
|
||||
jq
|
||||
xmonad
|
||||
xmonad-contrib
|
||||
firefox
|
||||
surf
|
||||
xmobar
|
||||
picom-jonaburg-git
|
||||
nitrogen
|
||||
xclip
|
||||
numlockx
|
||||
zenity
|
||||
pavucontrol
|
||||
pulseaudio
|
||||
nfs-utils
|
||||
newsboat
|
||||
blueman
|
||||
networkmanager
|
||||
network-manager-applet
|
||||
guake
|
||||
xorg
|
||||
xorg-xinit
|
||||
mpv
|
||||
youtube-dl
|
||||
backlight-control
|
||||
rofi
|
||||
thunar
|
||||
alacritty
|
||||
wget
|
||||
volumeicon
|
||||
unzip
|
||||
ttf-fira-code
|
||||
trayer
|
||||
python
|
||||
nodejs
|
||||
npm
|
||||
nvm
|
||||
openssh
|
||||
numlockx
|
||||
mosh
|
||||
jre-openjdk
|
||||
jre-openjdk-headless
|
||||
htop
|
||||
gnome-keyring
|
||||
git-flow
|
||||
evince
|
||||
dosfstools
|
||||
grub2
|
||||
curl
|
||||
colorpicker-ym1234-git
|
||||
cmus
|
||||
cifs-utils
|
||||
bluez
|
||||
ansible
|
||||
android-sdk-platform-tools
|
||||
lxappearance
|
||||
qt5ct
|
||||
visual-studio-code-bin
|
||||
runelite
|
||||
slack-desktop
|
||||
nextcloud-client
|
||||
barrier
|
||||
todoist-elecrton
|
||||
vlc
|
||||
virtualbox
|
||||
virt-manager
|
||||
virsh
|
||||
discord
|
||||
kdeconnect
|
||||
telegram-desktop
|
||||
teams
|
||||
qbittorrent
|
||||
lxsession
|
||||
xdotool
|
||||
xterm
|
||||
backlight-control
|
||||
lightdm
|
||||
lightdm-webkit-theme-litarvan
|
||||
115
qemu.sh
115
qemu.sh
@ -1,115 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
## Check if the script was executed as root
|
||||
[[ "$EUID" -ne 0 ]] && echo "Please run as root" && exit 1
|
||||
|
||||
## Load the config file
|
||||
source "/etc/libvirt/hooks/kvm.conf"
|
||||
|
||||
## Check libvirtd is running
|
||||
[[ $(systemctl status libvirtd | grep running) ]] || systemctl start libvirtd && sleep 1 && LIBVIRTD=STOPPED
|
||||
|
||||
function bind_vfio {
|
||||
## Unload nvidia
|
||||
modprobe -r nvidia_drm
|
||||
modprobe -r nvidia_uvm
|
||||
modprobe -r nvidia_modeset
|
||||
|
||||
## Load vfio
|
||||
modprobe vfio
|
||||
modprobe vfio_iommu_type1
|
||||
modprobe vfio_pci
|
||||
|
||||
## Unbind gpu from nvidia and bind to vfio
|
||||
virsh nodedev-detach $VIRSH_GPU_VIDEO
|
||||
virsh nodedev-detach $VIRSH_GPU_AUDIO
|
||||
## Unbind ssd from nvme and bind to vfio
|
||||
virsh nodedev-detach $VIRSH_SSD
|
||||
}
|
||||
|
||||
function unbind_vfio {
|
||||
## Unbind gpu from vfio and bind to nvidia
|
||||
virsh nodedev-reattach $VIRSH_GPU_VIDEO
|
||||
virsh nodedev-reattach $VIRSH_GPU_AUDIO
|
||||
## Unbind ssd from vfio and bind to nvme
|
||||
virsh nodedev-reattach $VIRSH_SSD
|
||||
|
||||
## Unload vfio
|
||||
modprobe -r vfio_pci
|
||||
modprobe -r vfio_iommu_type1
|
||||
modprobe -r vfio
|
||||
|
||||
## Load nvidia
|
||||
modprobe nvidia_modeset
|
||||
modprobe nvidia_uvm
|
||||
modprobe nvidia_drm
|
||||
}
|
||||
|
||||
function allocate_hugepages {
|
||||
HUGEPAGES="$(($MEMORY/$(($(grep Hugepagesize /proc/meminfo | awk '{print $2}')/1024))))"
|
||||
echo "Allocating hugepages..."
|
||||
echo $HUGEPAGES > /proc/sys/vm/nr_hugepages
|
||||
ALLOC_PAGES=$(cat /proc/sys/vm/nr_hugepages)
|
||||
|
||||
TRIES=0
|
||||
while (( $ALLOC_PAGES != $HUGEPAGES && $TRIES < 1000 ))
|
||||
do
|
||||
echo 1 > /proc/sys/vm/compact_memory ## defrag ram
|
||||
echo $HUGEPAGES > /proc/sys/vm/nr_hugepages
|
||||
ALLOC_PAGES=$(cat /proc/sys/vm/nr_hugepages)
|
||||
echo "Succesfully allocated $ALLOC_PAGES / $HUGEPAGES"
|
||||
let TRIES+=1
|
||||
done
|
||||
|
||||
if [ "$ALLOC_PAGES" -ne "HUGEPAGES" ]
|
||||
then
|
||||
echo "Not able to allocate all hugepages. Reverting..."
|
||||
echo 0 > /proc/sys/vm/nr_hugepages
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
function deallocate_hugepages {
|
||||
echo 0 > /proc/sys/vm/nr_hugepages
|
||||
}
|
||||
|
||||
function cpu_mode_performance {
|
||||
## Enable CPU governor performance mode
|
||||
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
|
||||
for file in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo "performance" > $file; done
|
||||
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
|
||||
}
|
||||
|
||||
function cpu_mode_ondemand {
|
||||
## Enable CPU governor on-demand mode
|
||||
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
|
||||
for file in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo "ondemand" > $file; done
|
||||
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
|
||||
}
|
||||
|
||||
## Kill the display manager
|
||||
#systemctl stop display-manager.service
|
||||
|
||||
## Kill the console
|
||||
#echo 0 > /sys/class/vtconsole/vtcon0/bind
|
||||
#echo 0 > /sys/class/vtconsole/vtcon1/bind
|
||||
#echo efi-framebuffer.0 > /sys/bus/platform/drivers/efi-framebuffer/unbind
|
||||
|
||||
bind_vfio
|
||||
#allocate_hugepages
|
||||
#cpu_mode_performance
|
||||
|
||||
## QEMU KVM
|
||||
#TODO context https://github.com/bryansteiner/gpu-passthrough-tutorial#return9
|
||||
|
||||
#cpu_mode_ondemand
|
||||
#deallocate_hugepages
|
||||
unbind_vfio
|
||||
|
||||
## Start the display manager
|
||||
#systemctl start display-manager.service
|
||||
|
||||
## Start the console
|
||||
#echo 1 > /sys/class/vtconsole/vtcon0/bind
|
||||
#echo 1 > /sys/class/vtconsole/vtcon1/bind
|
||||
#echo efi-framebuffer.0 > /sys/bus/platform/drivers/efi-framebuffer/bind
|
||||
@ -1,87 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# check user is happy to run this script
|
||||
echo "This script is going to install all of the programs listed in /home/<user>/default-programs and their dependencies. As such it will ask for root privilages."
|
||||
read -r -p "Are you sure you want to continue? [y/N] " input
|
||||
case $input in
|
||||
[yY][eE][sS] | [yY])
|
||||
echo "The program will continue..."
|
||||
;;
|
||||
[nN][oO] | [nN])
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "Invalid input..."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# if yay is not installed the run the install script
|
||||
if ! command -v yay &> /dev/null; then
|
||||
./install-yay
|
||||
fi
|
||||
|
||||
# check with the user they are happy to update, exit if not though.
|
||||
echo "The system needs to be updated before this installation can happen. The upgrades will be applied without any user oversight which may be dangerous for out of date systems."
|
||||
read -r -p "Are you sure you want to continue? [y/N] " input
|
||||
case $input in
|
||||
[yY][eE][sS] | [yY])
|
||||
# Make sure everything is up to date
|
||||
echo "Making sure everything is up to date..."
|
||||
yay -Syyu --noconfirm
|
||||
;;
|
||||
[nN][oO] | [nN])
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "Invalid input..."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# run though each default program and install it if it's not already installed
|
||||
# note that yay, git, steam, dmenu-inkletblot, ly and nvidia related programs are not included
|
||||
default_programs="/default-programs"
|
||||
dependencies=$(cat $HOME/$default_programs)
|
||||
for dependency in $dependencies
|
||||
do
|
||||
if ! command -v $dependency &> /dev/null; then
|
||||
echo "Installing $dependency and it's dependencies..."
|
||||
yay -S --noconfirm $dependency
|
||||
fi
|
||||
done
|
||||
|
||||
# ask the user if they want to install nvidia dependencies, do it or skip
|
||||
if ! command -v yay &> /dev/null && ! command -v yay &> /dev/null && ! command -v yay &> /dev/null; then
|
||||
echo "My computer requires nvidia, as such I install the required drivers and programs"
|
||||
read -r -p "Are you sure you want to install? [y/N] " input
|
||||
case $input in
|
||||
[yY][eE][sS] | [yY])
|
||||
echo "Nvidia is being installed..."
|
||||
yay -S nvidia nvidia-settings nvidia-prime --noconfirm
|
||||
;;
|
||||
[nN][oO] | [nN])
|
||||
echo "Nvidia installation has been skipped. Programs: nvidia, nvidia-settings, nvidia-prime"
|
||||
;;
|
||||
*)
|
||||
echo "Nvidia installation has been skipped. Programs: nvidia, nvidia-settings, nvidia-prime"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# notify about steam issue (multilib)
|
||||
echo "There are a few programs that can't be automatically installed. The main one of these is Steam which requires multilib to be enabled. Instructions for this can be found at: https://wiki.archlinux.org/index.php/Official_repositories#Enabling_multilib Once this is done steam can be installed."
|
||||
read -r -p "Press [ENTER] to continue.."
|
||||
|
||||
# notify about ly and dmenu-inkletblot scripts
|
||||
echo "I use two programs that are installed from git directly: ly and dmenu-inkletblot."
|
||||
echo "I do not have install scripts for both of these. They have dependencies I can't guarantee are installed."
|
||||
read -r -p "Press [ENTER] to continue.."
|
||||
|
||||
# notify user that there may be extra steps to finish install
|
||||
echo "This script has installed all of my default programs however it may not have configure many things. My dotfiles may cover some of these but things such as gnome-keyring (using the pam method) will need to be implemented. As well as setting up nvidia and xorg. There are likely more that I have forgotton as well."
|
||||
read -r -p "Press [ENTER] to complete.."
|
||||
|
||||
# need scripts for these
|
||||
# dmenu-inkletblot
|
||||
# ly
|
||||
@ -1,37 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# if command -v yay &> /dev/null; then
|
||||
# echo "yay is already installed."
|
||||
# exit 0;
|
||||
# fi
|
||||
|
||||
echo "This script is going to install yay and it's dependencies. As such it will ask for root privilages."
|
||||
|
||||
read -r -p "Are You Sure? [y/N] " input
|
||||
|
||||
case $input in
|
||||
[yY][eE][sS] | [yY])
|
||||
echo "The program will continue..."
|
||||
;;
|
||||
[nN][oO] | [nN])
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "Invalid input..."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if ! command -v git &> /dev/null; then
|
||||
sudo pacman -Sy --noconfirm git
|
||||
fi
|
||||
|
||||
if ! command -v fakeroot &> /dev/null; then
|
||||
sudo pacman -Sy --noconfirm base-devel
|
||||
fi
|
||||
|
||||
cd /opt
|
||||
sudo git clone https://aur.archlinux.org/yay.git
|
||||
sudo chown -R $USER:users ./yay
|
||||
cd yay
|
||||
makepkg -si
|
||||
Loading…
Reference in New Issue
Block a user