big changes re ink-os and inks-scripts

This commit is contained in:
Solomon Laing 2021-08-29 14:56:53 +09:30
parent 0deec97ced
commit 667d640996
25 changed files with 21 additions and 806 deletions

View File

@ -2,4 +2,4 @@
[Icon Theme]
Name=Default
Comment=Default Cursor Theme
Inherits=Adwaita
Inherits=Vimix-cursors

View File

@ -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%

View File

@ -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%

View File

@ -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

View File

@ -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

View File

@ -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&section=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"

View File

@ -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

View File

@ -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

View File

@ -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%

View File

@ -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%

View File

@ -1,5 +0,0 @@
#!/bin/bash
if command -v backlight_control &> /dev/null; then
backlight_control $1
fi

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 &"

View File

@ -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

View File

@ -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
View File

@ -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

View File

@ -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

View File

@ -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