mirror of
https://github.com/m-housh/dotfiles.git
synced 2026-02-14 06:12:34 +00:00
feat: Updates run script and adds default runs
This commit is contained in:
99
run
Executable file
99
run
Executable file
@@ -0,0 +1,99 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
|
||||
|
||||
if [ -z "$DEV_ENV" ]; then
|
||||
echo "env var DEV_ENV needs to be present"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# if i just did DEV_ENV=$(pwd) ./run then this is needed for the rest of the
|
||||
# scripts
|
||||
export DEV_ENV="$DEV_ENV"
|
||||
|
||||
grep=""
|
||||
dry_run="0"
|
||||
uninstall="0"
|
||||
create="0"
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
echo "ARG: \"$1\""
|
||||
|
||||
# Handle a --dry or --dry-run argument
|
||||
if [[ "$1" =~ ^--dry ]]; then
|
||||
dry_run="1"
|
||||
# Handle an --uninstall argument
|
||||
elif [[ "$1" =~ ^--u ]]; then
|
||||
uninstall="1"
|
||||
# Handle an --uninstall argument
|
||||
elif [[ "$1" =~ ^--c ]]; then
|
||||
create="1"
|
||||
# Handle an --install argument (default)
|
||||
elif [[ ! "$1" =~ ^--i ]]; then
|
||||
grep="$1"
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
log() {
|
||||
if [[ $dry_run == "1" ]]; then
|
||||
echo "[DRY_RUN]: $1"
|
||||
else
|
||||
echo "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
generate-new-run() {
|
||||
local file="$script_dir/runs/$1"
|
||||
if [ -f "$file" ]; then
|
||||
log "File exists: $file"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
log "Creating new run: $file"
|
||||
|
||||
printf "#!/usr/bin/env bash\n\n" >$file
|
||||
printf "yay \${1:-\"-S --noconfirm\"} # packages\n" >>$file
|
||||
|
||||
chmod +x $file
|
||||
}
|
||||
|
||||
run() {
|
||||
local script=$1
|
||||
local flag=$2
|
||||
log "running script: $script $flag"
|
||||
|
||||
local actual_flags="-S --noconfirm"
|
||||
|
||||
if [[ $flag == "--uninstall" ]]; then
|
||||
actual_flags="-Rns"
|
||||
fi
|
||||
log "ok, here's the actual script:: $s $actual_flags"
|
||||
|
||||
if [[ $dry_run == "0" ]]; then
|
||||
$script $actual_flags
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
if [[ "$create" == "1" ]]; then
|
||||
generate-new-run "$grep"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
log "RUN: env: $env -- grep: $grep"
|
||||
|
||||
runs_dir=$(find $script_dir/runs -mindepth 1 -maxdepth 1 -executable)
|
||||
|
||||
for s in $runs_dir; do
|
||||
if basename $s | grep -vq "$grep"; then
|
||||
log "grep \"$grep\" filtered out $s"
|
||||
continue
|
||||
fi
|
||||
|
||||
if [[ $uninstall == "1" ]]; then
|
||||
run $s --uninstall
|
||||
else
|
||||
run $s --install
|
||||
fi
|
||||
done
|
||||
8
runs/audio
Executable file
8
runs/audio
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
yay ${1:-"-S --noconfirm"} pipewire \
|
||||
pavucontrol \
|
||||
wireplumber \
|
||||
pipewire-jack \
|
||||
pipewire-pulse \
|
||||
blueberry-wayland
|
||||
3
runs/chromium
Executable file
3
runs/chromium
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
yay ${1:-"-S --noconfirm"} chromium
|
||||
3
runs/clipse
Executable file
3
runs/clipse
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
yay ${1:-"-S --noconfirm"} clipse
|
||||
46
runs/dev
Executable file
46
runs/dev
Executable file
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if ! command -v yay >/dev/null 2>&1; then
|
||||
sudo pacman -S --noconfirm --needed git base-devel
|
||||
git clone https://aur.archlinux.org/yay.git ~/yay
|
||||
cd ~/yay
|
||||
makepkg -si
|
||||
rm -rf ~/yay
|
||||
fi
|
||||
|
||||
# Basics
|
||||
yay -S --noconfirm --needed \
|
||||
asahi-desktop-meta \
|
||||
bat \
|
||||
bc \
|
||||
catppuccin-gtk-theme-mocha \
|
||||
sddm-theme-catppuccin \
|
||||
eza \
|
||||
fastfetch \
|
||||
fzf \
|
||||
git-lfs \
|
||||
gum \
|
||||
hyprpaper \
|
||||
hyrpidle \
|
||||
hyprlock \
|
||||
jq \
|
||||
neovim \
|
||||
nodejs \
|
||||
npm \
|
||||
nwg-look \
|
||||
pam-u2f \
|
||||
pcsc-tools \
|
||||
starship \
|
||||
swaync \
|
||||
tree-sitter-cli \
|
||||
tmux \
|
||||
wl-clipboard \
|
||||
yubikey-manger \
|
||||
zoxide \
|
||||
zsh
|
||||
|
||||
# Fonts
|
||||
yay -S --noconfirm \
|
||||
ttf-jetbrains-mono-nerd \
|
||||
ttf-firacode \
|
||||
ttf-inconsolata-nerd
|
||||
3
runs/espanso
Executable file
3
runs/espanso
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
yay ${1:-"-S --noconfirm"} espanso-wayland-git
|
||||
6
runs/ghostty
Executable file
6
runs/ghostty
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Flags get passed in from the run script, but if
|
||||
# ran directly the default is going to be to install.
|
||||
|
||||
yay "${1:-"-S --noconfirm --needed"}" ghostty
|
||||
3
runs/gopass
Executable file
3
runs/gopass
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
yay ${1:-"-S --noconfirm --needed"} gopass-git git-credential-gopass
|
||||
3
runs/thunderbird
Executable file
3
runs/thunderbird
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
yay ${1:-"-S --noconfirm"} thunderbird
|
||||
3
runs/walker
Executable file
3
runs/walker
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
yay ${1:-"-S --noconfirm"} walker elephant elephant-calc elephant-symbols
|
||||
3
runs/waybar
Executable file
3
runs/waybar
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
yay ${1:-"-S --noconfirm"} waybar
|
||||
Reference in New Issue
Block a user