mirror of
https://github.com/szymon-jozef/amazing-dotfiles.git
synced 2026-09-07 12:10:45 +02:00
scripts
This commit is contained in:
1
home.nix
1
home.nix
@@ -42,6 +42,7 @@
|
||||
".config/satty".source = ./dotfiles/satty;
|
||||
".config/waybar".source = ./dotfiles/waybar;
|
||||
".config/hypr".source = ./dotfiles/hypr;
|
||||
".local/bin".source = ./scripts;
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
|
||||
28
scripts/check-do-not-disturb.sh
Executable file
28
scripts/check-do-not-disturb.sh
Executable file
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
|
||||
disturbed=$(makoctl mode | grep -i do-not-disturb) > /dev/null
|
||||
mute_icon=""
|
||||
unmute_icon="🕭"
|
||||
|
||||
case $1 in
|
||||
"show")
|
||||
if [[ $disturbed == "" ]]; then
|
||||
echo "$unmute_icon"
|
||||
else
|
||||
echo "$mute_icon"
|
||||
fi
|
||||
;;
|
||||
"change")
|
||||
if [[ $disturbed == "" ]]; then
|
||||
makoctl mode -a do-not-disturb > /dev/null
|
||||
echo "$unmute_icon"
|
||||
else
|
||||
makoctl mode -r do-not-disturb > /dev/null
|
||||
echo "$mute_icon"
|
||||
fi
|
||||
pkill -SIGRTMIN+2 waybar
|
||||
;;
|
||||
*)
|
||||
echo "Arguments are: show, change"
|
||||
;;
|
||||
esac
|
||||
9
scripts/check-if-muted.sh
Executable file
9
scripts/check-if-muted.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
MUTED=$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | grep -iq muted; echo $?)
|
||||
|
||||
if [[ $MUTED -eq 0 ]]; then
|
||||
notify-send "Audio muted" -a 'wp-vol' -t 1000
|
||||
else
|
||||
notify-send "Audio unmuted" -a 'wp-vol' -t 1000
|
||||
fi
|
||||
5
scripts/home_backup.sh
Executable file
5
scripts/home_backup.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
rsync -avh --no-links --delete --exclude=.* --exclude=dyski /home/szymon/ /mnt/backup/home/szymon/
|
||||
rsync -avh --no-links --delete --exclude=.* --exclude=dyski /home/szymon/ /mnt/backup_wd/home/szymon/
|
||||
9
scripts/old/brightness.sh
Executable file
9
scripts/old/brightness.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
if [[ $1 == "up" ]]; then
|
||||
ddcutil -d 1 setvcp 10 100 && ddcutil -d 2 setvcp 10 100
|
||||
elif [[ $1 == "down" ]]; then
|
||||
ddcutil -d 1 setvcp 10 30 && ddcutil -d 2 setvcp 10 0
|
||||
else
|
||||
echo "Usage: brightness.sh [up/down]"
|
||||
fi
|
||||
61
scripts/old/change_colors.sh
Executable file
61
scripts/old/change_colors.sh
Executable file
@@ -0,0 +1,61 @@
|
||||
#!/bin/bash
|
||||
|
||||
declare -A blue
|
||||
blue[background]="rgba(36, 158, 202, 0.20)"
|
||||
blue[foreground]="rgba(36, 158, 202, 0.30)"
|
||||
blue[font-color]="#499DA9"
|
||||
blue[wallpaper]="~/Obrazy/tapety/niebieski.jpg"
|
||||
|
||||
declare -A red
|
||||
red[background]="rgba(202, 36, 36, 0.20)"
|
||||
red[foreground]="rgba(202, 36, 36, 0.30)"
|
||||
red[font-color]="#A94949"
|
||||
red[wallpaper]="~/Obrazy/tapety/czerwony.jpg"
|
||||
|
||||
declare -A gray
|
||||
gray[background]="rgba(169, 169, 169, 0.20)"
|
||||
gray[foreground]="rgba(169, 169, 169, 0.30)"
|
||||
gray[font-color]="#A9A9A9"
|
||||
gray[wallpaper]="~/Obrazy/tapety/szary.jpg"
|
||||
|
||||
choosen_color=$1
|
||||
if [[ -z $choosen_color ]]; then
|
||||
choosen_color=$(echo -e "blue\nred\ngray\n" | wofi --show dmenu --prompt "Choose your theme")
|
||||
fi
|
||||
|
||||
echo "You choose: $(choosen_color)"
|
||||
|
||||
if [[ $choosen_color == "blue" ]]; then
|
||||
waybar_colors="@define-color background ${blue[background]};\n@define-color foreground ${blue[foreground]};\n@define-color font-color ${blue[font-color]};"
|
||||
mako_colors="blue"
|
||||
wofi_colors="#249ECA\n#499DA9"
|
||||
rivalcfg --strip-top-color "#249ECA" --strip-middle-color "#249ECA" --strip-bottom-color "#249ECA" -c "#249ECA"
|
||||
hyprctl hyprpaper reload ,${blue[wallpaper]}
|
||||
echo -e "preload = ${blue[wallpaper]}\nwallpaper = ,${blue[wallpaper]}\nsplash = off\nipc = on" > ~/.config/hypr/hyprpaper.conf
|
||||
elif [[ $choosen_color == "red" ]]; then
|
||||
waybar_colors="@define-color background ${red[background]};\n@define-color foreground ${red[foreground]};\n@define-color font-color ${red[font-color]};"
|
||||
mako_colors="red"
|
||||
wofi_colors="#CA2424\n#A94949"
|
||||
rivalcfg --strip-top-color "#CA2424" --strip-middle-color "#CA2424" --strip-bottom-color "#CA2424" -c "#CA2424"
|
||||
hyprctl hyprpaper reload ,${red[wallpaper]}
|
||||
echo -e "preload = ${red[wallpaper]}\nwallpaper = ,${red[wallpaper]}\nsplash = off\nipc = on" > ~/.config/hypr/hyprpaper.conf
|
||||
elif [[ $choosen_color == "gray" ]]; then
|
||||
waybar_colors="@define-color background ${gray[background]};\n@define-color foreground ${gray[foreground]};\n@define-color font-color ${gray[font-color]};"
|
||||
mako_colors="gray"
|
||||
wofi_colors="#A9A9A9\n#A9A9A9"
|
||||
rivalcfg --strip-top-color "#A9A9A9" --strip-middle-color "#A9A9A9" --strip-bottom-color "#A9A9A9" -c "#A9A9A9"
|
||||
hyprctl hyprpaper reload ,${gray[wallpaper]}
|
||||
echo -e "preload = ${gray[wallpaper]}\nwallpaper = ,${gray[wallpaper]}\nsplash = off\nipc = on" > ~/.config/hypr/hyprpaper.conf
|
||||
fi
|
||||
|
||||
|
||||
echo -e "$waybar_colors" > ~/.config/waybar/colors.css
|
||||
~/.local/bin/restart_waybar.sh &
|
||||
|
||||
# killall mako
|
||||
cat ~/.config/mako/$mako_colors > ~/.config/mako/config
|
||||
makoctl reload
|
||||
# mako --config ~/.config/mako/$mako_colors &
|
||||
|
||||
echo -e $wofi_colors > ~/.config/wofi/colors
|
||||
|
||||
18
scripts/old/change_wallpaper.sh
Executable file
18
scripts/old/change_wallpaper.sh
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
case $1 in
|
||||
"sfw")
|
||||
wallpaper=$(find ~/Obrazy/tapety/sfw/ -type f | wofi --dmenu)
|
||||
;;
|
||||
"nsfw")
|
||||
wallpaper=$(find ~/Obrazy/tapety/nsfw/ -type f | wofi --dmenu)
|
||||
;;
|
||||
*)
|
||||
echo "Please choose nsfw or sfw"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ -n $wallpaper ]];then
|
||||
hyprctl hyprpaper reload ,$wallpaper
|
||||
fi
|
||||
20
scripts/old/random_wallpaper.sh
Executable file
20
scripts/old/random_wallpaper.sh
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
case $1 in
|
||||
"nsfw")
|
||||
WALLPAPER_DIR="$HOME/Obrazy/tapety/nsfw/"
|
||||
;;
|
||||
"sfw")
|
||||
WALLPAPER_DIR="$HOME/Obrazy/tapety/sfw/"
|
||||
;;
|
||||
*)
|
||||
echo "Please choose nsfw or sfw"
|
||||
exit 1
|
||||
esac
|
||||
CURRENT_WALL=$(hyprctl hyprpaper listloaded)
|
||||
|
||||
# Get a random wallpaper that is not the current one
|
||||
WALLPAPER=$(find "$WALLPAPER_DIR" -type f ! -name "$(basename "$CURRENT_WALL")" | shuf -n 1)
|
||||
|
||||
# Apply the selected wallpaper
|
||||
hyprctl hyprpaper reload ,"$WALLPAPER"
|
||||
123
scripts/old/screenshots_overcomplified.sh
Executable file
123
scripts/old/screenshots_overcomplified.sh
Executable file
@@ -0,0 +1,123 @@
|
||||
#!/bin/bash
|
||||
|
||||
### DEPENDENCIES:
|
||||
## libnotify
|
||||
## feh
|
||||
## grim
|
||||
## slurp
|
||||
## satty
|
||||
## wl-clipboard
|
||||
|
||||
dir_target="$HOME/Obrazy/zrzuty" # where your screenshots are stored
|
||||
file_name="zrzut_$(date +'%H-%M-%S_%d-%m-%Y').png" # name of your screenshot
|
||||
file_path="$dir_target/$file_name" # full path combined of the above
|
||||
tmp_path="/tmp/$file_name" # path of temporary file
|
||||
|
||||
# flags
|
||||
edit=false # edit after screenshotting
|
||||
save=false # save to the disk
|
||||
copy=false # copy to clipboard
|
||||
|
||||
# messages
|
||||
|
||||
error_message="No argument provided. Use -h or --help for help message."
|
||||
help_message="\nUsage: screenShot [flags] [type-of-screen-shot / color (for color picker)\n\nFlags:\n\t-c | --copy \t Copies to clipboard\n\t-s | --save \t Saves to $dir_target\n\t-e | --edit \t Edit screenshot with swappy\n\nTypes:\n\tfullscreen\n\twindow\n\tregion\n"
|
||||
|
||||
# don't go crazy when directory doesn't exist
|
||||
|
||||
if [[ ! -d $dir_target ]]; then
|
||||
echo "Target directory does not exist. Creating..."
|
||||
notify-send "Screenshot" "Target directory does not exist. Creating..."
|
||||
mkdir -p $dir_target
|
||||
fi
|
||||
|
||||
# handle flags
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
-c | --copy)
|
||||
copy=true
|
||||
;;
|
||||
-s | --save)
|
||||
save=true
|
||||
;;
|
||||
-e | --edit)
|
||||
edit=true
|
||||
;;
|
||||
-h | --help)
|
||||
echo -e "$help_message"
|
||||
exit 0
|
||||
;;
|
||||
fullscreen | window | region | color)
|
||||
type_of_screenshot="$1"
|
||||
;;
|
||||
*)
|
||||
echo "$error_message"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# actually screenshot
|
||||
case "$type_of_screenshot" in
|
||||
fullscreen)
|
||||
grim -o $(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .name') "$tmp_path"
|
||||
;;
|
||||
window)
|
||||
active_window_position="$(hyprctl clients -j | jq -r '.[] | select(.focusHistoryID == 0) | .at')"
|
||||
active_window_size="$(hyprctl clients -j | jq -r '.[] | select(.focusHistoryID == 0) | .size')"
|
||||
|
||||
x=$(echo "$active_window_position" | jq '.[0]')
|
||||
y=$(echo "$active_window_position" | jq '.[1]')
|
||||
width=$(echo "$active_window_size" | jq '.[0]')
|
||||
height=$(echo "$active_window_size" | jq '.[1]')
|
||||
|
||||
grim -g "${x},${y} ${width}x${height}" "$tmp_path"
|
||||
;;
|
||||
region)
|
||||
grim -o $(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .name') "$tmp_path" && feh --title screenshot --fullscreen "$tmp_path" &
|
||||
sleep 0.5
|
||||
feh_pid=$(pgrep feh)
|
||||
grim -g "$(slurp)" "$tmp_path"
|
||||
echo "Killing feh…"
|
||||
kill -9 "$feh_pid"
|
||||
;;
|
||||
color)
|
||||
grim -o $(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .name') "$tmp_path" && feh --title screenshot --fullscreen "$tmp_path" &
|
||||
sleep 0.5
|
||||
feh_pid=$(pgrep feh)
|
||||
position=$(slurp -p)
|
||||
sleep 1.0
|
||||
color_hex=$(grim -g "$position" -t ppm - | magick convert - -format '%[pixel:p{0,0}]' txt:- | sed -n '2p' | awk '{print $3}')
|
||||
wl-copy $color_hex
|
||||
notify-send "Color picker" "Copied $color_hex to clipboard"
|
||||
kill -9 "$feh_pid"
|
||||
exit 0
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
case "$copy-$save" in
|
||||
"true-true")
|
||||
cp "$tmp_path" "$file_path"
|
||||
wl-copy <"$tmp_path"
|
||||
notify-send -i "$tmp_path" "Screenshot" "Copied and saved to $file_path"
|
||||
;;
|
||||
"false-true")
|
||||
cp "$tmp_path" "$file_path"
|
||||
notify-send -i "$tmp_path" "Screenshot" "Saved screenshot to $file_path"
|
||||
;;
|
||||
"true-false")
|
||||
wl-copy <"$tmp_path"
|
||||
notify-send -i "$tmp_path" "Screenshot" "Copied screenshot"
|
||||
;;
|
||||
"false-false")
|
||||
if [ "$edit" = "true" ]; then
|
||||
satty -f "$tmp_path"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
rm $tmp_path
|
||||
|
||||
exit 0
|
||||
13
scripts/old/start_coding.sh
Executable file
13
scripts/old/start_coding.sh
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
dir=$(find ~/Dokumenty/kodowanie/ -maxdepth 2 -type d ! -name '.*' | fzf)
|
||||
export EDITOR="nvim"
|
||||
|
||||
if [[ -n $dir ]]; then
|
||||
echo "You choose $dir"
|
||||
hyprctl dispatch exec [workspace 5] kitty $dir
|
||||
hyprctl dispatch exec [workspace 5] kitty yazi $dir
|
||||
hyprctl dispatch exec [workspace 5] kitty $dir
|
||||
else
|
||||
echo "No reasonable directory selected, bye bye :P"
|
||||
fi
|
||||
5
scripts/restart_waybar.sh
Executable file
5
scripts/restart_waybar.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
killall -q waybar
|
||||
|
||||
while pgrep -x waybar >/dev/null; do sleep 1; done
|
||||
|
||||
uwsm app waybar
|
||||
50
scripts/screenshot.sh
Executable file
50
scripts/screenshot.sh
Executable file
@@ -0,0 +1,50 @@
|
||||
#!/bin/env bash
|
||||
|
||||
# variables
|
||||
## path vars
|
||||
date="$(date +'%d-%m-%Y_%H:%M:%S')"
|
||||
fname="$date.png"
|
||||
target_path="$HOME/Obrazy/zrzuty/$fname"
|
||||
## stdout
|
||||
error_wrong_type="The first argument needs to be \"fullscreen\", \"window\" or \"region\". Exiting..."
|
||||
notification_succes="$target_path saved and copied"
|
||||
|
||||
|
||||
# validate input
|
||||
case "$1" in
|
||||
"fullscreen" | "window" | "region")
|
||||
type=$1
|
||||
;;
|
||||
*)
|
||||
echo "$error_wrong_type"
|
||||
exit
|
||||
;;
|
||||
esac
|
||||
|
||||
notification() {
|
||||
notify-send -i "$target_path" -u low -a "Screenshot" "Screenshot $type" "$notification_succes"
|
||||
}
|
||||
|
||||
case $type in
|
||||
"fullscreen")
|
||||
grim -o $(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .name') "$target_path"
|
||||
wl-copy < "$target_path"
|
||||
notification
|
||||
;;
|
||||
"window")
|
||||
active_window_position="$(hyprctl clients -j | jq -r '.[] | select(.focusHistoryID == 0) | .at')"
|
||||
active_window_size="$(hyprctl clients -j | jq -r '.[] | select(.focusHistoryID == 0) | .size')"
|
||||
|
||||
x=$(echo "$active_window_position" | jq '.[0]')
|
||||
y=$(echo "$active_window_position" | jq '.[1]')
|
||||
width=$(echo "$active_window_size" | jq '.[0]')
|
||||
height=$(echo "$active_window_size" | jq '.[1]')
|
||||
|
||||
grim -g "${x},${y} ${width}x${height}" "$target_path"
|
||||
wl-copy < "$target_path"
|
||||
notification
|
||||
;;
|
||||
"region")
|
||||
grim -o $(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .name') - | satty -f -
|
||||
;;
|
||||
esac
|
||||
BIN
scripts/sekirofpsunlock
Executable file
BIN
scripts/sekirofpsunlock
Executable file
Binary file not shown.
1
scripts/sherlock
Symbolic link
1
scripts/sherlock
Symbolic link
@@ -0,0 +1 @@
|
||||
/home/szymon/.local/share/pipx/venvs/sherlock-project/bin/sherlock
|
||||
1
scripts/steamtinkerlaunch
Symbolic link
1
scripts/steamtinkerlaunch
Symbolic link
@@ -0,0 +1 @@
|
||||
/home/szymon/.local/share/steamtinkerlaunch/steamtinkerlaunch
|
||||
319
scripts/system_setup.sh
Executable file
319
scripts/system_setup.sh
Executable file
@@ -0,0 +1,319 @@
|
||||
#!/bin/bash
|
||||
|
||||
# colors
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
BOLD='\033[1m'
|
||||
RESET='\033[0m'
|
||||
|
||||
# functions
|
||||
function install_yay() {
|
||||
echo "Checking if yay is installed..."
|
||||
if ! command -v yay &> /dev/null; then
|
||||
echo "Yay is not installed, installing..."
|
||||
sudo pacman -S --needed git base-devel
|
||||
tmpdir="$(mktemp -d)"
|
||||
git clone https://aur.archlinux.org/yay.git "$tmpdir"
|
||||
cd "$tmpdir"
|
||||
makepkg -si || { echo "Yay installation failed!"; exit 1; }
|
||||
cd -
|
||||
rm -rf "$tmpdir"
|
||||
fi
|
||||
echo "Yay is installed!"
|
||||
}
|
||||
|
||||
function show_help() {
|
||||
echo -e "$help_message"
|
||||
exit 0
|
||||
}
|
||||
|
||||
function list_presets() {
|
||||
echo -e "Existing presets:\n\tmiminal - a minimal preset with not a lot of stuff\n\tnormal - preset with everything you could possibly need"
|
||||
exit 0
|
||||
}
|
||||
|
||||
function list_preset_packages() {
|
||||
echo "Preset $preset contains:"
|
||||
echo "${presets[$preset]}"
|
||||
exit 0
|
||||
}
|
||||
|
||||
function install_preset() {
|
||||
install_yay
|
||||
echo "Downloading preset: $preset"
|
||||
yay -Syu ${presets[$preset]} --needed
|
||||
}
|
||||
|
||||
function uninstall_preset() {
|
||||
reassurance=""
|
||||
read -p "Are you sure you want to do this very stupid thing? Type I AM VERY DUM to continue..." reassurance
|
||||
if [[ $reassurance = "I AM VERY DUM" ]]; then
|
||||
echo "Uninstalling preset: $preset"
|
||||
yay -Rns ${presets[$preset]}
|
||||
else
|
||||
echo "Canceled uninstall"
|
||||
fi
|
||||
exit 0
|
||||
}
|
||||
|
||||
function enable_services() {
|
||||
sudo systemctl enable sddm bluetooth NetworkManager cups
|
||||
systemctl --user enable pipewire wireplumber
|
||||
}
|
||||
|
||||
# pkgs lists
|
||||
HYPRLAND_UI="
|
||||
hyprland
|
||||
hyprland-protocols
|
||||
hyprlauncher
|
||||
hypridle
|
||||
hyprlock
|
||||
hyprpaper
|
||||
hyprpolkitagent
|
||||
hyprpwcenter
|
||||
hyprsunset
|
||||
hyprwire
|
||||
waybar
|
||||
grim
|
||||
slurp
|
||||
swww
|
||||
wl-clipboard
|
||||
nwg-displays
|
||||
nwg-look
|
||||
waypaper
|
||||
xdg-desktop-portal-gtk
|
||||
xdg-desktop-portal-hyprland
|
||||
mako
|
||||
notification-daemon
|
||||
libnotify
|
||||
sddm
|
||||
"
|
||||
|
||||
THEME="
|
||||
adw-gtk-theme
|
||||
catppuccin-gtk-theme-latte
|
||||
papirus-icon-theme
|
||||
rose-pine-cursor
|
||||
rose-pine-hyprcursor
|
||||
"
|
||||
|
||||
AUDIO="
|
||||
pipewire
|
||||
pipewire-alsa
|
||||
pipewire-pulse
|
||||
wireplumber
|
||||
pavucontrol
|
||||
cava
|
||||
"
|
||||
|
||||
NETWORK="
|
||||
networkmanager
|
||||
network-manager-applet
|
||||
blueman
|
||||
bluez
|
||||
bluez-utils
|
||||
bluez-cups
|
||||
openssh
|
||||
sshfs
|
||||
aria2
|
||||
wget
|
||||
rclone
|
||||
"
|
||||
|
||||
PRINTERS="
|
||||
cups
|
||||
cups-browsed
|
||||
cups-pdf
|
||||
system-config-printer
|
||||
sane
|
||||
sane-airscan
|
||||
"
|
||||
|
||||
FILESYSTEM="
|
||||
btrfs-progs
|
||||
btrfs-assistant
|
||||
snapper
|
||||
ntfs-3g
|
||||
dosfstools
|
||||
zip
|
||||
7zip
|
||||
rsync
|
||||
trash-cli
|
||||
"
|
||||
|
||||
TERMINAL_TOOLS="
|
||||
fish
|
||||
yazi
|
||||
playerctl
|
||||
atuin
|
||||
zoxide
|
||||
eza
|
||||
fd
|
||||
ripgrep
|
||||
fzf
|
||||
duf
|
||||
gdu
|
||||
fastfetch
|
||||
tealdeer
|
||||
man-db
|
||||
bc
|
||||
mediainfo
|
||||
"
|
||||
|
||||
DEV="
|
||||
cmake
|
||||
go
|
||||
rust
|
||||
rust-analyzer
|
||||
python-pip
|
||||
prettier
|
||||
npm
|
||||
pandoc-cli
|
||||
tectonic
|
||||
chezmoi
|
||||
neovim
|
||||
lazygit
|
||||
github-cli
|
||||
"
|
||||
|
||||
GAMES="
|
||||
steam
|
||||
heroic-games-launcher-bin
|
||||
lutris
|
||||
wine
|
||||
winetricks
|
||||
protontricks
|
||||
prismlauncher
|
||||
gamemode
|
||||
gamescope
|
||||
mangohud
|
||||
lact
|
||||
goverlay
|
||||
"
|
||||
|
||||
MULTIMEDIA="
|
||||
mpv
|
||||
satty
|
||||
gimp
|
||||
kdenlive
|
||||
imagemagick
|
||||
feh
|
||||
"
|
||||
|
||||
DOCUMENTS="
|
||||
zathura
|
||||
zathura-pdf-poppler
|
||||
"
|
||||
|
||||
USERSPACE="
|
||||
gurk
|
||||
vesktop
|
||||
openrgb
|
||||
homebank
|
||||
winboat
|
||||
freetube
|
||||
zen-browser-bin
|
||||
"
|
||||
|
||||
declare -A presets
|
||||
presets[minimal]="$HYPRLAND_UI $AUDIO $TERMINAL_TOOLS"
|
||||
presets[normal]="$HYPRLAND_UI $AUDIO $TERMINAL_TOOLS $THEME $NETWORK $FILESYSTEM $USERSPACE $DOCUMENTS $MULTIMEDIA $PRINTERS $DEV $GAMES"
|
||||
|
||||
wants_help=false
|
||||
list=false
|
||||
list_presets=false
|
||||
install=false
|
||||
uninstall=false
|
||||
services=false
|
||||
preset=""
|
||||
|
||||
help_message="Super cool system setup utility that downloads all the packages you could possibly need!\n
|
||||
How to use this bad boy:\n\n
|
||||
\t--help - show this help message and leave\n
|
||||
\t--list - list what is in given preset and leave. You can only use this option with --preset!\n
|
||||
\t--preset - choose a preset you want to use\n
|
||||
\t--services - enable all services after installing packages\n
|
||||
\t--install - installs given preset to your system\n
|
||||
\t--uninstall - uninstall given preset from your system. Possibly very stupid, because presets contain important system packages, like your window manager!\n\n
|
||||
Thanks for using my super cool script :D
|
||||
"
|
||||
|
||||
# check root
|
||||
if [ "$EUID" -eq 0 ]; then
|
||||
echo -e "${RED}Please do not run this script as root.${RESET}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# check args
|
||||
if [[ -z "$1" ]]; then
|
||||
echo "You need to give me some arguments...\nTry --help if you don't know what you're doing"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# parse args
|
||||
while [ -n "$1" ]; do
|
||||
case $1 in
|
||||
--list-presets)
|
||||
list_presets=true
|
||||
shift
|
||||
;;
|
||||
--list)
|
||||
list=true
|
||||
shift
|
||||
;;
|
||||
--preset)
|
||||
if [ -n "$2" ]; then
|
||||
preset="$2"
|
||||
shift 2
|
||||
else
|
||||
echo "Error: --preset requires one argument"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
--help)
|
||||
wants_help=true
|
||||
shift 1
|
||||
;;
|
||||
--install)
|
||||
install=true
|
||||
shift
|
||||
;;
|
||||
--uninstall)
|
||||
uninstall=true
|
||||
shift
|
||||
;;
|
||||
--services)
|
||||
services=true
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
echo "$1 is not a valid option! What are you even doing?!"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ "$wants_help" = true ]]; then
|
||||
show_help
|
||||
fi
|
||||
|
||||
if [[ "$list_presets" = true ]]; then
|
||||
list_presets
|
||||
fi
|
||||
|
||||
if [[ -v presets[$preset] ]]; then
|
||||
if [[ "$list" = true ]]; then
|
||||
list_preset_packages
|
||||
fi
|
||||
if [[ "$install" = true ]]; then
|
||||
install_preset
|
||||
if [[ "$services" = true ]]; then
|
||||
enable_services
|
||||
fi
|
||||
fi
|
||||
if [[ "$uninstall" = true ]]; then
|
||||
uninstall_preset
|
||||
fi
|
||||
else
|
||||
echo "Given preset does not exists..."
|
||||
fi
|
||||
8
scripts/wp-vol.sh
Executable file
8
scripts/wp-vol.sh
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Get the volume level and convert it to a percentage
|
||||
volume=$(wpctl get-volume @DEFAULT_SINK@)
|
||||
volume=$(echo "$volume" | awk '{print $2}')
|
||||
volume=$(echo "( $volume * 100 ) / 1" | bc)
|
||||
|
||||
notify-send -t 1000 -a 'wp-vol' -h int:value:$volume "Volume: ${volume}%"
|
||||
Reference in New Issue
Block a user