Drop force, allow (almost) everything to just reinstall/update

This commit is contained in:
David Heinemeier Hansson 2024-06-04 15:02:54 -07:00
parent f4f893d06a
commit 456e4d820b
11 changed files with 111 additions and 115 deletions

View File

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash
INSTALLER=$(gum file $OMAKUB_PATH/install) INSTALLER=$(gum file $OMAKUB_PATH/install)
[ -n "$INSTALLER" ] && gum confirm "Run installer?" && FORCE=1 source $INSTALLER [ -n "$INSTALLER" ] && gum confirm "Run installer?" && source $INSTALLER

View File

@ -1,4 +1,2 @@
# Flameshot is a nice step-up over the default Gnome screenshot tool # Flameshot is a nice step-up over the default Gnome screenshot tool
if [ -n "$FORCE" ] || ! command -v flameshot &>/dev/null; then sudo apt install -y flameshot
sudo apt install -y flameshot
fi

View File

@ -1,7 +1,5 @@
if ! command -v gh &>/dev/null; then curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg &&
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg &&
sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg && sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg &&
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list >/dev/null && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list >/dev/null &&
sudo apt update && sudo apt update &&
sudo apt install gh -y sudo apt install gh -y
fi

View File

@ -1,7 +1,8 @@
if [ -n "$FORCE" ] || ! command -v neovim &>/dev/null; then sudo add-apt-repository -y ppa:neovim-ppa/stable
sudo add-apt-repository -y ppa:neovim-ppa/stable sudo apt update
sudo apt update -y sudo apt install -y neovim
sudo apt install -y neovim
if [ ! -d "$HOME/.config/nvim" ]; then
git clone https://github.com/LazyVim/starter ~/.config/nvim git clone https://github.com/LazyVim/starter ~/.config/nvim
cp ~/.local/share/omakub/themes/neovim/tokyo-night.lua ~/.config/nvim/lua/plugins/theme.lua cp ~/.local/share/omakub/themes/neovim/tokyo-night.lua ~/.config/nvim/lua/plugins/theme.lua
fi fi

View File

@ -1,10 +1,8 @@
if ! command -v typora &>/dev/null; then wget -qO - https://typoraio.cn/linux/public-key.asc | sudo tee /etc/apt/trusted.gpg.d/typora.asc
wget -qO - https://typoraio.cn/linux/public-key.asc | sudo tee /etc/apt/trusted.gpg.d/typora.asc sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo add-apt-repository 'deb https://typora.io/linux ./' sudo apt update
sudo apt-get update sudo apt install -y typora
sudo apt-get install -y typora
# Add iA Typora theme # Add iA Typora theme
ln -s ~/.local/share/omakub/themes/typora/ia_typora.css ~/.config/Typora/themes/ ln -s ~/.local/share/omakub/themes/typora/ia_typora.css ~/.config/Typora/themes/
ln -s ~/.local/share/omakub/themes/typora/ia_typora_night.css ~/.config/Typora/themes/ ln -s ~/.local/share/omakub/themes/typora/ia_typora_night.css ~/.config/Typora/themes/
fi

View File

@ -1,14 +1,12 @@
if [ -n "$FORCE" ] || ! command -v docker &>/dev/null; then sudo apt install -y docker.io docker-buildx
sudo apt install -y docker.io docker-buildx sudo usermod -aG docker ${USER}
sudo usermod -aG docker ${USER}
DOCKER_COMPOSE_VERSION="2.27.0" DOCKER_COMPOSE_VERSION="2.27.0"
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins mkdir -p $DOCKER_CONFIG/cli-plugins
curl -sSL https://github.com/docker/compose/releases/download/v$DOCKER_COMPOSE_VERSION/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose curl -sSL https://github.com/docker/compose/releases/download/v$DOCKER_COMPOSE_VERSION/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
# FIXME: Add postgresql as a default configured DB as well # FIXME: Add postgresql as a default configured DB as well
sudo docker create --restart unless-stopped -p 3306:3306 --name=mysql8 -e MYSQL_ROOT_PASSWORD= -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql:8 sudo docker create --restart unless-stopped -p 3306:3306 --name=mysql8 -e MYSQL_ROOT_PASSWORD= -e MYSQL_ALLOW_EMPTY_PASSWORD=true mysql:8
sudo docker create --restart unless-stopped -p 6379:6379 --name=redis redis sudo docker create --restart unless-stopped -p 6379:6379 --name=redis redis
fi

View File

@ -1,5 +1,3 @@
if [ -n "$FORCE" ] || [ ! -f "~/.XCompose" ]; then cp ~/.local/share/omakub/configs/xcompose ~/.XCompose
cp ~/.local/share/omakub/configs/xcompose ~/.XCompose ibus restart
ibus restart gsettings set org.gnome.desktop.input-sources xkb-options "['compose:caps']"
gsettings set org.gnome.desktop.input-sources xkb-options "['compose:caps']"
fi

View File

@ -1,61 +1,59 @@
if [ -n "$FORCE" ] || ! command -v gnome-shell-extension-manager &>/dev/null; then sudo apt install -y gnome-shell-extension-manager pipx
sudo apt install -y gnome-shell-extension-manager pipx pipx install gnome-extensions-cli --system-site-packages
pipx install gnome-extensions-cli --system-site-packages
# Turn off default Ubuntu extensions # Turn off default Ubuntu extensions
gnome-extensions disable tiling-assistant@ubuntu.com gnome-extensions disable tiling-assistant@ubuntu.com
gnome-extensions disable ubuntu-appindicators@ubuntu.com gnome-extensions disable ubuntu-appindicators@ubuntu.com
gnome-extensions disable ubuntu-dock@ubuntu.com gnome-extensions disable ubuntu-dock@ubuntu.com
gnome-extensions disable ding@rastersoft.com gnome-extensions disable ding@rastersoft.com
# Install new extensions # Install new extensions
# FIXME: Install these manually to avoid needing the pop-up confirmation during the installation process # FIXME: Install these manually to avoid needing the pop-up confirmation during the installation process
gext install tactile@lundal.io gext install tactile@lundal.io
gext install just-perfection-desktop@just-perfection gext install just-perfection-desktop@just-perfection
gext install blur-my-shell@aunetx gext install blur-my-shell@aunetx
gext install space-bar@luchrioh gext install space-bar@luchrioh
# Compile gsettings schemas in order to be able to set them # Compile gsettings schemas in order to be able to set them
sudo cp ~/.local/share/gnome-shell/extensions/tactile@lundal.io/schemas/org.gnome.shell.extensions.tactile.gschema.xml /usr/share/glib-2.0/schemas/ sudo cp ~/.local/share/gnome-shell/extensions/tactile@lundal.io/schemas/org.gnome.shell.extensions.tactile.gschema.xml /usr/share/glib-2.0/schemas/
sudo cp ~/.local/share/gnome-shell/extensions/just-perfection-desktop\@just-perfection/schemas/org.gnome.shell.extensions.just-perfection.gschema.xml /usr/share/glib-2.0/schemas/ sudo cp ~/.local/share/gnome-shell/extensions/just-perfection-desktop\@just-perfection/schemas/org.gnome.shell.extensions.just-perfection.gschema.xml /usr/share/glib-2.0/schemas/
sudo cp ~/.local/share/gnome-shell/extensions/blur-my-shell\@aunetx/schemas/org.gnome.shell.extensions.blur-my-shell.gschema.xml /usr/share/glib-2.0/schemas/ sudo cp ~/.local/share/gnome-shell/extensions/blur-my-shell\@aunetx/schemas/org.gnome.shell.extensions.blur-my-shell.gschema.xml /usr/share/glib-2.0/schemas/
sudo cp ~/.local/share/gnome-shell/extensions/space-bar\@luchrioh/schemas/org.gnome.shell.extensions.space-bar.gschema.xml /usr/share/glib-2.0/schemas/ sudo cp ~/.local/share/gnome-shell/extensions/space-bar\@luchrioh/schemas/org.gnome.shell.extensions.space-bar.gschema.xml /usr/share/glib-2.0/schemas/
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/ sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
# Configure Tactile # Configure Tactile
gsettings set org.gnome.shell.extensions.tactile col-0 1 gsettings set org.gnome.shell.extensions.tactile col-0 1
gsettings set org.gnome.shell.extensions.tactile col-0 1 gsettings set org.gnome.shell.extensions.tactile col-0 1
gsettings set org.gnome.shell.extensions.tactile col-1 2 gsettings set org.gnome.shell.extensions.tactile col-1 2
gsettings set org.gnome.shell.extensions.tactile col-2 1 gsettings set org.gnome.shell.extensions.tactile col-2 1
gsettings set org.gnome.shell.extensions.tactile col-3 0 gsettings set org.gnome.shell.extensions.tactile col-3 0
gsettings set org.gnome.shell.extensions.tactile row-0 1 gsettings set org.gnome.shell.extensions.tactile row-0 1
gsettings set org.gnome.shell.extensions.tactile row-1 1 gsettings set org.gnome.shell.extensions.tactile row-1 1
gsettings set org.gnome.shell.extensions.tactile gap-size 32 gsettings set org.gnome.shell.extensions.tactile gap-size 32
# Configure Just Perfection # Configure Just Perfection
gsettings set org.gnome.shell.extensions.just-perfection animation 2 gsettings set org.gnome.shell.extensions.just-perfection animation 2
gsettings set org.gnome.shell.extensions.just-perfection dash-app-running true gsettings set org.gnome.shell.extensions.just-perfection dash-app-running true
gsettings set org.gnome.shell.extensions.just-perfection workspace true gsettings set org.gnome.shell.extensions.just-perfection workspace true
gsettings set org.gnome.shell.extensions.just-perfection workspace-popup false gsettings set org.gnome.shell.extensions.just-perfection workspace-popup false
# Configure Blur My Shell # Configure Blur My Shell
gsettings set org.gnome.shell.extensions.blur-my-shell.appfolder blur false gsettings set org.gnome.shell.extensions.blur-my-shell.appfolder blur false
gsettings set org.gnome.shell.extensions.blur-my-shell.lockscreen blur false gsettings set org.gnome.shell.extensions.blur-my-shell.lockscreen blur false
gsettings set org.gnome.shell.extensions.blur-my-shell.screenshot blur false gsettings set org.gnome.shell.extensions.blur-my-shell.screenshot blur false
gsettings set org.gnome.shell.extensions.blur-my-shell.window-list blur false gsettings set org.gnome.shell.extensions.blur-my-shell.window-list blur false
gsettings set org.gnome.shell.extensions.blur-my-shell.panel brightness 0.6 gsettings set org.gnome.shell.extensions.blur-my-shell.panel brightness 0.6
gsettings set org.gnome.shell.extensions.blur-my-shell.panel sigma 30 gsettings set org.gnome.shell.extensions.blur-my-shell.panel sigma 30
gsettings set org.gnome.shell.extensions.blur-my-shell.panel pipeline 'pipeline_default' gsettings set org.gnome.shell.extensions.blur-my-shell.panel pipeline 'pipeline_default'
gsettings set org.gnome.shell.extensions.blur-my-shell.overview blur true gsettings set org.gnome.shell.extensions.blur-my-shell.overview blur true
gsettings set org.gnome.shell.extensions.blur-my-shell.overview pipeline 'pipeline_default' gsettings set org.gnome.shell.extensions.blur-my-shell.overview pipeline 'pipeline_default'
gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock blur true gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock blur true
gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock brightness 0.6 gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock brightness 0.6
gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock sigma 30 gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock sigma 30
gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock static-blur true gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock static-blur true
gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock style-dash-to-dock 0 gsettings set org.gnome.shell.extensions.blur-my-shell.dash-to-dock style-dash-to-dock 0
# Configure Space Bar # Configure Space Bar
gsettings set org.gnome.shell.extensions.space-bar.behavior smart-workspace-names false gsettings set org.gnome.shell.extensions.space-bar.behavior smart-workspace-names false
gsettings set org.gnome.shell.extensions.space-bar.shortcuts enable-activate-workspace-shortcuts false gsettings set org.gnome.shell.extensions.space-bar.shortcuts enable-activate-workspace-shortcuts false
gsettings set org.gnome.shell.extensions.space-bar.shortcuts open-menu "@as []" gsettings set org.gnome.shell.extensions.space-bar.shortcuts open-menu "@as []"
fi

View File

@ -1,4 +1,4 @@
if [ -n "$FORCE" ] || ! command -v nodenv &>/dev/null; then if ! command -v nodenv &>/dev/null; then
# FIXME: Make this pick whatever the latest LTS is # FIXME: Make this pick whatever the latest LTS is
DEFAULT_NODE_VERSION="20.13.1" DEFAULT_NODE_VERSION="20.13.1"

View File

@ -1,9 +1,18 @@
if [ -n "$FORCE" ] || ! command -v rbenv &>/dev/null; then # FIXME: Change to use whatever latest release is
# FIXME: Change to use whatever latest release is DEFAULT_RUBY_VERSION="3.3.1"
DEFAULT_RUBY_VERSION="3.3.1"
sudo apt install -y rbenv sudo apt install -y rbenv
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
rbenv install $DEFAULT_RUBY_VERSION RUBY_BUILD_DIR="$(rbenv root)/plugins/ruby-build"
rbenv global $DEFAULT_RUBY_VERSION
# Check if the directory exists
if [ -d "$RUBY_BUILD_DIR" ]; then
cd "$RUBY_BUILD_DIR" && git pull
cd -
else
git clone https://github.com/rbenv/ruby-build.git "$RUBY_BUILD_DIR"
fi fi
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
rbenv install $DEFAULT_RUBY_VERSION
rbenv global $DEFAULT_RUBY_VERSION

View File

@ -1,13 +1,11 @@
if [ -n "$FORCE" ] || ! command -v ulauncher &>/dev/null; then sudo add-apt-repository universe -y
sudo add-apt-repository universe -y sudo add-apt-repository ppa:agornostal/ulauncher -y
sudo add-apt-repository ppa:agornostal/ulauncher -y sudo apt update -y
sudo apt update -y sudo apt install -y ulauncher
sudo apt install -y ulauncher
# Start ulauncher to have it populate config before we overwrite # Start ulauncher to have it populate config before we overwrite
mkdir -p ~/.config/autostart/ mkdir -p ~/.config/autostart/
cp ~/.local/share/omakub/configs/ulauncher.desktop ~/.config/autostart/ulauncher.desktop cp ~/.local/share/omakub/configs/ulauncher.desktop ~/.config/autostart/ulauncher.desktop
gtk-launch ulauncher.desktop gtk-launch ulauncher.desktop
sleep 2 # ensure enough time for ulauncher to set defaults sleep 2 # ensure enough time for ulauncher to set defaults
cp ~/.local/share/omakub/configs/ulauncher.json ~/.config/ulauncher/settings.json cp ~/.local/share/omakub/configs/ulauncher.json ~/.config/ulauncher/settings.json
fi