From ef1495087c9ffc61cd816bf56309a368333f5dc0 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Mon, 21 Apr 2025 09:43:25 +0200 Subject: [PATCH 01/12] fix: remove unused localsend option from update --- bin/omakub-sub/update.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/bin/omakub-sub/update.sh b/bin/omakub-sub/update.sh index 1b0808c..8e38cd6 100644 --- a/bin/omakub-sub/update.sh +++ b/bin/omakub-sub/update.sh @@ -18,7 +18,6 @@ else case "$INSTALLER" in "omakub") INSTALLER_FILE="$OMAKUB_PATH/bin/omakub-sub/migrate.sh" ;; - "localsend") INSTALLER_FILE="$OMAKUB_PATH/install/desktop/app-localsend.sh" ;; "ollama") INSTALLER_FILE="$OMAKUB_PATH/install/terminal/optional/app-ollama.sh" ;; *) INSTALLER_FILE="$OMAKUB_PATH/install/terminal/app-$INSTALLER.sh" ;; esac From ec84640b3667fa047d62771a234c1520640484d8 Mon Sep 17 00:00:00 2001 From: Luca Pattocchio Date: Mon, 21 Apr 2025 09:44:40 +0200 Subject: [PATCH 02/12] fix: typo in dev language uninstall --- uninstall/dev-language.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uninstall/dev-language.sh b/uninstall/dev-language.sh index 0ce299d..4349097 100644 --- a/uninstall/dev-language.sh +++ b/uninstall/dev-language.sh @@ -35,7 +35,7 @@ if [[ -n $languages ]]; then rustup self uninstall -y ;; Java) - mise uninnstall java@latest + mise uninstall java@latest ;; esac done From 481f8748544dc5f06052832153b8bff0fd046d0f Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 21 Apr 2025 14:17:57 +0200 Subject: [PATCH 03/12] Add alias to write iso files to sd card I can never remember that dd syntax. --- defaults/bash/aliases | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/defaults/bash/aliases b/defaults/bash/aliases index dc313fd..aaab849 100644 --- a/defaults/bash/aliases +++ b/defaults/bash/aliases @@ -37,6 +37,18 @@ webm2mp4() { ffmpeg -i "$input_file" -c:v libx264 -preset slow -crf 22 -c:a aac -b:a 192k "$output_file" } +# Write iso file to sd card +iso2sd() { + if [ $# -eq 0 ]; then + echo "Usage: iso2sd " + echo "Example: iso2sd ~/Downloads/ubuntu-25.04-desktop-amd64.iso /dev/sda" + echo -e "\nAvailable SD cards:" + lsblk -d -o NAME | grep -E '^sd[a-z]' | awk '{print "/dev/"$1}' + else + sudo dd bs=4M status=progress oflag=sync if="$1" of="$2" + fi +} + # Ensure that external keyboards that use an fn key has the F keys as the default alias fix_fkeys='echo 2 | sudo tee /sys/module/hid_apple/parameters/fnmode' From cb31891b40927c9b080af73dac5555307b78fd40 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 21 Apr 2025 14:32:04 +0200 Subject: [PATCH 04/12] Eject when done --- defaults/bash/aliases | 1 + 1 file changed, 1 insertion(+) diff --git a/defaults/bash/aliases b/defaults/bash/aliases index aaab849..a883ac2 100644 --- a/defaults/bash/aliases +++ b/defaults/bash/aliases @@ -46,6 +46,7 @@ iso2sd() { lsblk -d -o NAME | grep -E '^sd[a-z]' | awk '{print "/dev/"$1}' else sudo dd bs=4M status=progress oflag=sync if="$1" of="$2" + sudo eject $2 fi } From 32330a78a9fd683e145f6c1d0876b362d931b366 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 21 Apr 2025 14:32:09 +0200 Subject: [PATCH 05/12] Two or bust --- defaults/bash/aliases | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/bash/aliases b/defaults/bash/aliases index a883ac2..997743c 100644 --- a/defaults/bash/aliases +++ b/defaults/bash/aliases @@ -39,7 +39,7 @@ webm2mp4() { # Write iso file to sd card iso2sd() { - if [ $# -eq 0 ]; then + if [ $# -ne 2 ]; then echo "Usage: iso2sd " echo "Example: iso2sd ~/Downloads/ubuntu-25.04-desktop-amd64.iso /dev/sda" echo -e "\nAvailable SD cards:" From 9f468e069f1a5880c10f27df179ed0dca1de148c Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 3 May 2025 09:00:31 +0200 Subject: [PATCH 06/12] Shorter text --- install/desktop/set-gnome-extensions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/desktop/set-gnome-extensions.sh b/install/desktop/set-gnome-extensions.sh index 0114a09..27992cc 100644 --- a/install/desktop/set-gnome-extensions.sh +++ b/install/desktop/set-gnome-extensions.sh @@ -8,7 +8,7 @@ gnome-extensions disable ubuntu-dock@ubuntu.com gnome-extensions disable ding@rastersoft.com # Pause to assure user is ready to accept confirmations -gum confirm "To install Gnome extensions, you need to accept some confirmations. Are you ready?" +gum confirm "To install Gnome extensions, you need to accept some confirmations. Ready?" # Install new extensions gext install tactile@lundal.io From ced7aba1185f3189ff1ea96f5d969d2fd1a11899 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 3 May 2025 09:08:26 +0200 Subject: [PATCH 07/12] Turn off ambient screen brightness setting --- install/desktop/set-gnome-settings.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/install/desktop/set-gnome-settings.sh b/install/desktop/set-gnome-settings.sh index 7aceb5b..b5f8568 100644 --- a/install/desktop/set-gnome-settings.sh +++ b/install/desktop/set-gnome-settings.sh @@ -6,3 +6,6 @@ gsettings set org.gnome.desktop.interface monospace-font-name 'CaskaydiaMono Ner # Reveal week numbers in the Gnome calendar gsettings set org.gnome.desktop.calendar show-weekdate true + +# Turn off ambient sensors for setting screen brightness (they rarely work well!) +gsettings set org.gnome.settings-daemon.plugins.power ambient-enabled false From 0b8403f3dcafc37610adc038476394239d643b57 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 3 May 2025 09:11:52 +0200 Subject: [PATCH 08/12] Add libreoffice as a default We occasionally all need to open an Excel or Word or Powerpoint file! --- install/desktop/app-libreoffice.sh | 2 ++ uninstall/app-libreoffice.sh | 1 + 2 files changed, 3 insertions(+) create mode 100644 install/desktop/app-libreoffice.sh create mode 100644 uninstall/app-libreoffice.sh diff --git a/install/desktop/app-libreoffice.sh b/install/desktop/app-libreoffice.sh new file mode 100644 index 0000000..328c9f3 --- /dev/null +++ b/install/desktop/app-libreoffice.sh @@ -0,0 +1,2 @@ +# Work with Word, Excel, Powerpoint files +sudo apt install -y libreoffice diff --git a/uninstall/app-libreoffice.sh b/uninstall/app-libreoffice.sh new file mode 100644 index 0000000..ec20e7f --- /dev/null +++ b/uninstall/app-libreoffice.sh @@ -0,0 +1 @@ +sudo apt remove -y libreoffice From 0cca0c3f8974b111c01d95cdc68e8af1d19ec98d Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 3 May 2025 09:32:29 +0200 Subject: [PATCH 09/12] Seperate out functions and add web2app for creating web-app desktop launchers --- defaults/bash/aliases | 30 ------------------ defaults/bash/functions | 67 +++++++++++++++++++++++++++++++++++++++++ defaults/bash/rc | 1 + 3 files changed, 68 insertions(+), 30 deletions(-) create mode 100644 defaults/bash/functions diff --git a/defaults/bash/aliases b/defaults/bash/aliases index 997743c..06b8ef7 100644 --- a/defaults/bash/aliases +++ b/defaults/bash/aliases @@ -25,33 +25,3 @@ alias lzd='lazydocker' alias gcm='git commit -m' alias gcam='git commit -a -m' alias gcad='git commit -a --amend' - -# Compression -compress() { tar -czf "${1%/}.tar.gz" "${1%/}"; } -alias decompress="tar -xzf" - -# Convert webm files generated by the Gnome screenshot video recorder to mp4s that are more compatible -webm2mp4() { - input_file="$1" - output_file="${input_file%.webm}.mp4" - ffmpeg -i "$input_file" -c:v libx264 -preset slow -crf 22 -c:a aac -b:a 192k "$output_file" -} - -# Write iso file to sd card -iso2sd() { - if [ $# -ne 2 ]; then - echo "Usage: iso2sd " - echo "Example: iso2sd ~/Downloads/ubuntu-25.04-desktop-amd64.iso /dev/sda" - echo -e "\nAvailable SD cards:" - lsblk -d -o NAME | grep -E '^sd[a-z]' | awk '{print "/dev/"$1}' - else - sudo dd bs=4M status=progress oflag=sync if="$1" of="$2" - sudo eject $2 - fi -} - -# Ensure that external keyboards that use an fn key has the F keys as the default -alias fix_fkeys='echo 2 | sudo tee /sys/module/hid_apple/parameters/fnmode' - -# Spotify window is too large on many displays, so fix this by zooming it down -alias fix_spotify_window_size="sudo sed -i 's|^Exec=.*|Exec=spotify --force-device-scale-factor=1.5 %U|' /usr/local/share/applications/spotify.desktop" diff --git a/defaults/bash/functions b/defaults/bash/functions new file mode 100644 index 0000000..5237b5e --- /dev/null +++ b/defaults/bash/functions @@ -0,0 +1,67 @@ +# Compression +compress() { tar -czf "${1%/}.tar.gz" "${1%/}"; } +alias decompress="tar -xzf" + +# Convert webm files generated by the Gnome screenshot video recorder to mp4s that are more compatible +webm2mp4() { + input_file="$1" + output_file="${input_file%.webm}.mp4" + ffmpeg -i "$input_file" -c:v libx264 -preset slow -crf 22 -c:a aac -b:a 192k "$output_file" +} + +# Write iso file to sd card +iso2sd() { + if [ $# -ne 2 ]; then + echo "Usage: iso2sd " + echo "Example: iso2sd ~/Downloads/ubuntu-25.04-desktop-amd64.iso /dev/sda" + echo -e "\nAvailable SD cards:" + lsblk -d -o NAME | grep -E '^sd[a-z]' | awk '{print "/dev/"$1}' + else + sudo dd bs=4M status=progress oflag=sync if="$1" of="$2" + sudo eject $2 + fi +} + +# Create a desktop launcher for a web app +web2app() { + if [ "$#" -ne 3 ]; then + echo "Usage: web2app (IconURL must be in PNG -- use https://dashboardicons.com)" + return 1 + fi + + local APP_NAME="$1" + local APP_URL="$2" + local ICON_URL="$3" + local ICON_DIR="$HOME/.local/share/applications/icons" + local DESKTOP_FILE="$HOME/.local/share/applications/${APP_NAME}.desktop" + local ICON_PATH="${ICON_DIR}/${APP_NAME}.png" + + mkdir -p "$ICON_DIR" + + if ! curl -sL -o "$ICON_PATH" "$ICON_URL"; then + echo "Error: Failed to download icon." + return 1 + fi + + cat > "$DESKTOP_FILE" < Date: Sat, 3 May 2025 09:38:28 +0200 Subject: [PATCH 10/12] Consistent escaping --- defaults/bash/functions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/bash/functions b/defaults/bash/functions index 5237b5e..cc18744 100644 --- a/defaults/bash/functions +++ b/defaults/bash/functions @@ -48,7 +48,7 @@ web2app() { Version=1.0 Name=$APP_NAME Comment=$APP_NAME -Exec=google-chrome --app="$APP_URL" --name=$APP_NAME --class=${APP_NAME} --window-size=800,600 --no-sandbox +Exec=google-chrome --app="$APP_URL" --name="$APP_NAME" --class="$APP_NAME" --window-size=800,600 --no-sandbox Terminal=false Type=Application Icon=$ICON_PATH From af5d51ae9c5bfd9f56ccf8fbe37c61e66ce7eef6 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 3 May 2025 09:38:46 +0200 Subject: [PATCH 11/12] Add function to remove the app --- defaults/bash/functions | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/defaults/bash/functions b/defaults/bash/functions index cc18744..eae6640 100644 --- a/defaults/bash/functions +++ b/defaults/bash/functions @@ -60,6 +60,21 @@ EOF chmod +x "$DESKTOP_FILE" } +web2app-remove() { + if [ "$#" -ne 1 ]; then + echo "Usage: web2app-remove " + return 1 + fi + + local APP_NAME="$1" + local ICON_DIR="$HOME/.local/share/applications/icons" + local DESKTOP_FILE="$HOME/.local/share/applications/${APP_NAME}.desktop" + local ICON_PATH="${ICON_DIR}/${APP_NAME}.png" + + rm "$DESKTOP_FILE" + rm "$ICON_PATH" +} + # Ensure that external keyboards that use an fn key has the F keys as the default alias fix_fkeys='echo 2 | sudo tee /sys/module/hid_apple/parameters/fnmode' From 584090f0c6e9c0feedadcaa9da59797e248bceaa Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 4 May 2025 11:39:25 +0200 Subject: [PATCH 12/12] Bump version --- version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version b/version index 23aa839..0495c4a 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.2.2 +1.2.3