From a33e5716e2bd5e82228529dac8276c566fbd876e Mon Sep 17 00:00:00 2001 From: billy Date: Sat, 16 Aug 2025 19:43:10 -0400 Subject: [PATCH] stuff --- debian.sh | 75 ++++++++++++++++++++++++++++------------ options/gnome-configs.sh | 38 ++++++++++++-------- options/wine-staging.sh | 29 ++++++++++++++++ 3 files changed, 105 insertions(+), 37 deletions(-) create mode 100755 options/wine-staging.sh diff --git a/debian.sh b/debian.sh index 53ae626..d127b18 100755 --- a/debian.sh +++ b/debian.sh @@ -54,6 +54,7 @@ install_themes=false install_nerdfonts=false install_dotfiles=false install_gnome_configs=false +install_rtaudio=false echo "${fg_blue}" cat ascii.txt @@ -61,17 +62,13 @@ echo "${reset}" cecho "----debian install script-----" fg_cyan confirm "Is this a server? (Y/N)" && is_server=true confirm "Swap Left Super & Left Control (Y/N)" && is_macbook=true - -if $is_server; then - echo ":3" -else - if echo $DESKTOP_SESSION | grep -q "gnome"; then - confirm "Install gnome extensions, tweaks, and configs? (Y/N)" && install_gnome_configs=true - confirm "Install GTK themes? (Y/N)" && install_themes=true - fi +if echo $DESKTOP_SESSION | grep -q "gnome"; then + confirm "Install gnome extensions, tweaks, and configs? (Y/N)" && install_gnome_configs=true + confirm "Install GTK themes? (Y/N)" && install_themes=true fi confirm "Install Nerd Fonts? (Y/N)" && install_nerdfonts=true confirm "Install billypom dotfiles? - includes .bash_aliases file, tmux, kitty, and nvim configs (Y/N)" && install_dotfiles=true +confirm "Configure realtime audio for music production? (Y/N)" && install_rtaudio=true cecho "Updating package manager" fg_cyan sudo apt update @@ -81,7 +78,12 @@ cecho "Installing yummy packages" fg_cyan if $is_server; then sudo apt install vim neovim git cifs-utils nfs-common ripgrep stow virtualenv wget zip unzip kitty python3-pip ncdu htop python3-venv curl else - sudo apt install vim git cifs-utils nfs-common ripgrep stow virtualenv wget zip unzip kitty python3-pip ncdu htop libfuse-dev nemo python3-venv curl irssi + sudo apt install vim git cifs-utils nfs-common ripgrep stow virtualenv wget zip unzip kitty python3-pip ncdu htop libfuse-dev nemo python3-venv curl irssi qpwgraph steam-installer protontricks + # librewolf + sudo apt install extrepo -y + sudo extrepo enable librewolf + sudo apt update + sudo apt install librewolf fi # themes @@ -119,17 +121,29 @@ if $install_nerdfonts; then fi # xdg defaults -xdg-mime default nemo.desktop inode/directory +# xdg-mime default nemo.desktop inode/directory +xdg-mime default pcmanfm.desktop inode/directory xdg-mime default nvim.desktop text/plain +# This command installs kitty as an option for the default terminal emulator within the alternatives system, assigning it a priority of 50 +sudo update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator /usr/bin/kitty 50 -sed -i "s/^DESKTOP=.*/DESKTOP=desktop/" /etc/xdg/user-dirs.conf -sed -i "s/^DOWNLOAD=.*/DOWNLOAD=downloads/" /etc/xdg/user-dirs.conf -sed -i "s/^TEMPLATES=.*/TEMPLATES=templates/" /etc/xdg/user-dirs.conf -sed -i "s/^PUBLICSHARE=.*/PUBLICSHARE=public/" /etc/xdg/user-dirs.conf -sed -i "s/^DOCUMENTS=.*/DOCUMENTS=documents/" /etc/xdg/user-dirs.conf -sed -i "s/^MUSIC=.*/MUSIC=music/" /etc/xdg/user-dirs.conf -sed -i "s/^PICTURES=.*/PICTURES=pictures/" /etc/xdg/user-dirs.conf -sed -i "s/^VIDEOS=.*/VIDEOS=videos/" /etc/xdg/user-dirs.conf +sed -i "s/^DESKTOP=.*/DESKTOP=desktop/" /etc/xdg/user-dirs.defaults +sed -i "s/^DOWNLOAD=.*/DOWNLOAD=downloads/" /etc/xdg/user-dirs.defaults +sed -i "s/^TEMPLATES=.*/TEMPLATES=templates/" /etc/xdg/user-dirs.defaults +sed -i "s/^PUBLICSHARE=.*/PUBLICSHARE=public/" /etc/xdg/user-dirs.defaults +sed -i "s/^DOCUMENTS=.*/DOCUMENTS=documents/" /etc/xdg/user-dirs.defaults +sed -i "s/^MUSIC=.*/MUSIC=music/" /etc/xdg/user-dirs.defaults +sed -i "s/^PICTURES=.*/PICTURES=pictures/" /etc/xdg/user-dirs.defaults +sed -i "s/^VIDEOS=.*/VIDEOS=videos/" /etc/xdg/user-dirs.defaults + +sed -i 's/^XDG_DESKTOP_DIR=.*/XDG_DESKTOP_DIR="$HOME\/desktop"/' ~/.config/user-dirs.dirs +sed -i 's/^XDG_DOWNLOAD_DIR=.*/XDG_DOWNLOAD_DIR="$HOME\/downloads"/' ~/.config/user-dirs.dirs +sed -i 's/^XDG_TEMPLATES_DIR=.*/XDG_TEMPLATES_DIR="$HOME\/templates"/' ~/.config/user-dirs.dirs +sed -i 's/^XDG_PUBLICSHARE_DIR=.*/XDG_PUBLICSHARE_DIR="$HOME\/public"/' ~/.config/user-dirs.dirs +sed -i 's/^XDG_DOCUMENTS_DIR=.*/XDG_DOCUMENTS_DIR="$HOME\/documents"/' ~/.config/user-dirs.dirs +sed -i 's/^XDG_MUSIC_DIR=.*/XDG_MUSIC_DIR="$HOME\/music"/' ~/.config/user-dirs.dirs +sed -i 's/^XDG_PICTURES_DIR=.*/XDG_PICTURES_DIR="$HOME\/pictures"/' ~/.config/user-dirs.dirs +sed -i 's/^XDG_VIDEOS_DIR=.*/XDG_VIDEOS_DIR="$HOME\/videos"/' ~/.config/user-dirs.dirs # gamecube adapter udev rule # obsidian @@ -151,10 +165,25 @@ if $install_dotfiles; then bash options/dotfiles.sh fi -# librewolf -sudo apt install extrepo -y -sudo extrepo enable librewolf -sudo apt update -sudo apt install librewolf +if $install_rtaudio; then + sudo apt install pavucontrol pipewire-jack pipewire-audio-client-libraries libspa-0.2-jack pulseaudio-utils + cecho "Creating pipewire media session with jack config" fg_cyan + touch /etc/pipewire/media-session.d/with-jack + cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/ + ldconfig + # https://wiki.linuxaudio.org/wiki/system_configuration#cpu_frequency_scaling + # printf '[Unit]\nDescription=Prepare system for real-time audio\n\n[Service]\nType=oneshot\nExecStart=/bin/bash /usr/local/bin/rt-audio-setup\nRemainAfterExit=yes\n\n[Install]\nWantedBy=multi-user.target' > /etc/systemd/system/rtaudio-setup.service + # echo 'echo -n performance | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor' | sudo tee /usr/local/bin/rt-audio-setup + # sudo chmod +x /usr/local/bin/rt-audio-setup + # sudo systemctl enable rtaudio-setup + # sudo systemctl start rtaudio-setup + # https://wiki.linuxaudio.org/wiki/system_configuration#limitsconfaudioconf + printf '@audio - rtprio 90 # maximum realtime priority\n@audio - memlock unlimited # maximum locked-in-memory address space (KB)' > /etc/security/limits.d/rtaudio.conf + echo "vm.swappiness=10" > /etc/sysctl.d/99-sysctl.conf + # echo "blacklist snd_hda_intel" >> /etc/modprobe.d/blacklist.conf + cecho "DO THIS STUFF MANUALLY BCUS IDK" fg_red + printf 'In the file `/etc/default/grub` change this line:\nGRUB_CMDLINE_LINUX="preempt=full threadirqs cpufreq.default_governor=performance"\n\nThen reboot\n\n' +fi + echo "\e[0;32m--- debian install script finished running ---\e[0m" diff --git a/options/gnome-configs.sh b/options/gnome-configs.sh index 574f028..c686dd7 100755 --- a/options/gnome-configs.sh +++ b/options/gnome-configs.sh @@ -9,6 +9,12 @@ fg_cyan="$(tput setaf 6)" fg_white="$(tput setaf 7)" reset="$(tput sgr0)" scriptdir=$PWD +# -------- NOTES +# see all keys +# `gsettings list-keys org.gnome.shell.keybindings ` +# +# then do something like: +# `gsettings set org.gnome.shell.keybindings screenshot '["disabled"]'` cecho() { @@ -34,34 +40,38 @@ gsettings set org.gnome.desktop.default-applications.terminal exec ‘kitty’ # better alt tab functionality cecho "Making alt-tab better :)" fg_cyan gsettings set org.gnome.desktop.wm.keybindings switch-windows "['Tab']" -gsettings set org.gnome.desktop.wm.keybindings switch-windows-backward "['Tab', 'Above_Tab']" +gsettings set org.gnome.desktop.wm.keybindings switch-windows-backward "['Tab']" gsettings set org.gnome.desktop.wm.keybindings switch-applications "[]" gsettings set org.gnome.desktop.wm.keybindings switch-applications-backward "[]" +gsettings set org.gnome.shell.keybindings screenshot "['Print']" +gsettings set org.gnome.shell.keybindings screenshot-window "['Print']" +gsettings set org.gnome.shell.keybindings show-screenshot-ui "['S']" if $is_macbook; then cecho "Swapping left Super & left Control" fg_cyan bash options/toggle-gnome-macbook-keyboard.sh 1 fi -# i dont rly care about extensions +cecho "Turning off hot corner" fg_cyan +gsettings set org.gnome.desktop.interface enable-hot-corners false +gsettings set org.gnome.mutter edge-tiling false sudo apt install -y pipx -# # adds ~/.local/bin to PATH +# adds ~/.local/bin to PATH pipx ensurepath -# # https://github.com/essembeh/gnome-extensions-cli +# https://github.com/essembeh/gnome-extensions-cli pipx install gnome-extensions-cli --system-site-packages -# # install gnome extensions -gext install dash-to-dock@micxgx.gmail.com user-theme@gnome-shell-extensions.gcampax.github.com openbar@neuromorph emoji-copy@felipeftn tiling-assistant@leleat-on-github Vitals@CoreCoding.com compiz-windows-effect@hermes83.github.com -# # enable gnome extensions -gext enable dash-to-dock@micxgx.gmail.com user-theme@gnome-shell-extensions.gcampax.github.com openbar@neuromorph emoji-copy@felipeftn tiling-assistant@leleat-on-github Vitals@CoreCoding.com compiz-windows-effect@hermes83.github.com -# -# +# install gnome extensions +gext install dash-to-dock@micxgx.gmail.com user-theme@gnome-shell-extensions.gcampax.github.com emoji-copy@felipeftn tiling-assistant@leleat-on-github Vitals@CoreCoding.com +# enable gnome extensions +gext enable dash-to-dock@micxgx.gmail.com user-theme@gnome-shell-extensions.gcampax.github.com emoji-copy@felipeftn tiling-assistant@leleat-on-github Vitals@CoreCoding.com +# wobbly windows +# gext install compiz-windows-effect@hermes83.github.com +# gext enable compiz-windows-effect@hermes83.github.com - -# this is the worst script in the world +# custom keyboard shortcuts # "name|command|binding" keybindings=( "Terminal|kitty|Return" - "wallpaper|~/utils/gnome-wallpaper/wallpaper.sh|Launch7" - "wallpaper2|~/utils/gnome-wallpaper/my_wallpaper.sh|Launch7" + "wallpaper|~/.utils/wallpaper.sh|Launch7" "browser|librewolf|Shift" ) diff --git a/options/wine-staging.sh b/options/wine-staging.sh new file mode 100755 index 0000000..63a9792 --- /dev/null +++ b/options/wine-staging.sh @@ -0,0 +1,29 @@ +# https://gitlab.winehq.org/wine/wine/-/wikis/Debian-Ubuntu +# install wine staging +sudo dpkg --add-architecture i386 +sudo apt update +sudo mkdir -pm755 /etc/apt/keyrings +wget -O - https://dl.winehq.org/wine-builds/winehq.key | sudo gpg --dearmor -o /etc/apt/keyrings/winehq-archive.key - +sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/trixie/winehq-trixie.sources +sudo apt update +sudo apt install --install-recommends winehq-staging +# downgrade to 9.21 +version=9.21 +variant=staging +codename=$(shopt -s nullglob; awk '/^deb https:\/\/dl\.winehq\.org/ { print $3; exit 0 } END { exit 1 }' /etc/apt/sources.list /etc/apt/sources.list.d/*.list || awk '/^Suites:/ { print $2; exit }' /etc/apt/sources.list /etc/apt/sources.list.d/wine*.sources) +suffix=$(dpkg --compare-versions "$version" ge 6.1 && ((dpkg --compare-versions "$version" eq 6.17 && echo "-2") || echo "-1")) +sudo apt install --install-recommends {"winehq-$variant","wine-$variant","wine-$variant-amd64","wine-$variant-i386"}="$version~$codename$suffix" +# prevent these from being updated +sudo apt-mark hold winehq-staging + +# yabridge +DOWNLOAD_DIR="${XDG_DOWNLOAD_DIR:-$(xdg-user-dir DOWNLOAD)}" +cd $DOWNLOAD_DIR || exit +wget https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz +tar -C ~/.local/share -xavf yabridge-5.1.1.tar.gz +echo 'export PATH="$PATH:$HOME/.local/share/yabridge"' >> ~/.bashrc +rm $DOWNLOAD_DIR/yabridge-5.1.1.tar.gz +source ~/.bashrc +yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" +yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" +yabridgectl sync