From b6ae14c84ce426459e3834a228e15fbadc1e8d68 Mon Sep 17 00:00:00 2001 From: Florent Destremau Date: Wed, 3 Jul 2024 21:04:37 +0200 Subject: [PATCH 01/27] =?UTF-8?q?Added=20wink=20emoji=20=F0=9F=98=89=20to?= =?UTF-8?q?=20xcompose?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As suggested in #159 , here's the wink emoji only PR ! --- defaults/xcompose | 1 + 1 file changed, 1 insertion(+) diff --git a/defaults/xcompose b/defaults/xcompose index fbf76668..d2257635 100644 --- a/defaults/xcompose +++ b/defaults/xcompose @@ -18,3 +18,4 @@ include "%L" <1> : "💯" # 100% : "🥂" # toast

: "🙏" # pray + : "😉" # wink From 9ad3abf35979e50191a265d734d7316dbde491d1 Mon Sep 17 00:00:00 2001 From: Richard Macklin Date: Wed, 3 Jul 2024 20:20:48 -0700 Subject: [PATCH 02/27] Restore `set -e` line in `install.sh` --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 9a2a499a..4ee21111 100644 --- a/install.sh +++ b/install.sh @@ -1,5 +1,5 @@ # Exit immediately if a command exits with a non-zero status -# set -e +set -e # Desktop software and tweaks will only be installed if we're running Gnome RUNNING_GNOME=$([[ "$XDG_CURRENT_DESKTOP" == *"GNOME"* ]] && echo true || echo false) From d41cc76dcec54af302ded9806166de435893e24a Mon Sep 17 00:00:00 2001 From: Richard Macklin Date: Thu, 4 Jul 2024 00:09:10 -0700 Subject: [PATCH 03/27] Make boot.sh and boot-dev.sh executable --- boot-dev.sh | 0 boot.sh | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 boot-dev.sh mode change 100644 => 100755 boot.sh diff --git a/boot-dev.sh b/boot-dev.sh old mode 100644 new mode 100755 diff --git a/boot.sh b/boot.sh old mode 100644 new mode 100755 From 1767107038f40ed8aa2e7f932392d7f67933fcfa Mon Sep 17 00:00:00 2001 From: Richard Macklin Date: Thu, 4 Jul 2024 00:09:19 -0700 Subject: [PATCH 04/27] Generalize boot.sh to support running any ref This will enable running not only the `master` and `stable` branches, but also unmerged commits, so that we can easily test them. --- boot-dev.sh | 25 ++----------------------- boot.sh | 7 +++++-- 2 files changed, 7 insertions(+), 25 deletions(-) diff --git a/boot-dev.sh b/boot-dev.sh index b8481783..5ae834c7 100755 --- a/boot-dev.sh +++ b/boot-dev.sh @@ -1,23 +1,2 @@ -set -e - -ascii_art='________ __ ___. -\_____ \ _____ _____ | | ____ _\_ |__ - / | \ / \\__ \ | |/ / | \ __ \ -/ | \ Y Y \/ __ \| <| | / \_\ \ -\_______ /__|_| (____ /__|_ \____/|___ / - \/ \/ \/ \/ \/ -' - -echo -e "$ascii_art" -echo "=> Omakub is for fresh Ubuntu 24.04 installations only!" -echo -e "\nBegin installation (or abort with ctrl+c)..." - -sudo apt-get update >/dev/null -sudo apt-get install -y git >/dev/null - -echo "Cloning Omakub..." -rm -rf ~/.local/share/omakub -git clone https://github.com/basecamp/omakub.git ~/.local/share/omakub >/dev/null - -echo "Installation starting..." -source ~/.local/share/omakub/install.sh +OMAKUB_REF="master" +source ./boot.sh diff --git a/boot.sh b/boot.sh index 7ba7fe87..4dc374c4 100755 --- a/boot.sh +++ b/boot.sh @@ -15,9 +15,12 @@ echo -e "\nBegin installation (or abort with ctrl+c)..." sudo apt-get update >/dev/null sudo apt-get install -y git >/dev/null -echo "Cloning stable Omakub..." +echo "Cloning Omakub..." rm -rf ~/.local/share/omakub -git clone -b stable https://github.com/basecamp/omakub.git ~/.local/share/omakub >/dev/null +git clone https://github.com/basecamp/omakub.git ~/.local/share/omakub >/dev/null +cd ~/.local/share/omakub +git fetch origin "${OMAKUB_REF:-stable}" && git checkout FETCH_HEAD +cd - echo "Installation starting..." source ~/.local/share/omakub/install.sh From ebc6863740190898a4e42991c454823e1593e225 Mon Sep 17 00:00:00 2001 From: Richard Macklin Date: Thu, 4 Jul 2024 00:09:26 -0700 Subject: [PATCH 05/27] Avoid unnecessary git commands if `OMAKUB_REF` is `master` Otherwise it'd try to check out the branch it's already on. --- boot.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/boot.sh b/boot.sh index 4dc374c4..97f0884a 100755 --- a/boot.sh +++ b/boot.sh @@ -18,9 +18,11 @@ sudo apt-get install -y git >/dev/null echo "Cloning Omakub..." rm -rf ~/.local/share/omakub git clone https://github.com/basecamp/omakub.git ~/.local/share/omakub >/dev/null -cd ~/.local/share/omakub -git fetch origin "${OMAKUB_REF:-stable}" && git checkout FETCH_HEAD -cd - +if [[ $OMAKUB_REF != "master" ]]; then + cd ~/.local/share/omakub + git fetch origin "${OMAKUB_REF:-stable}" && git checkout FETCH_HEAD + cd - +fi echo "Installation starting..." source ~/.local/share/omakub/install.sh From 2f1544548d8709f61e9e6aac5e222b000770898b Mon Sep 17 00:00:00 2001 From: Richard Macklin Date: Thu, 4 Jul 2024 00:09:57 -0700 Subject: [PATCH 06/27] Remove no-longer-needed boot-dev.sh The only unique part here was setting `OMAKUB_REF`, but we can do that instead in https://github.com/basecamp/omakub-site/blob/32701d97e88e7e4b10c0abd35194e602b1dbd5d7/install-dev --- boot-dev.sh | 2 -- 1 file changed, 2 deletions(-) delete mode 100755 boot-dev.sh diff --git a/boot-dev.sh b/boot-dev.sh deleted file mode 100755 index 5ae834c7..00000000 --- a/boot-dev.sh +++ /dev/null @@ -1,2 +0,0 @@ -OMAKUB_REF="master" -source ./boot.sh From c284fe3dabfdae31cb387ca704e052df1d0aa840 Mon Sep 17 00:00:00 2001 From: Alan Maciel Date: Fri, 5 Jul 2024 14:40:51 -0600 Subject: [PATCH 07/27] Add doom emacs --- bin/omakub-sub/install.sh | 1 + install/desktop/optional/app-doom-emacs.sh | 5 +++++ uninstall/app-doom-emacs.sh | 3 +++ 3 files changed, 9 insertions(+) create mode 100644 install/desktop/optional/app-doom-emacs.sh create mode 100644 uninstall/app-doom-emacs.sh diff --git a/bin/omakub-sub/install.sh b/bin/omakub-sub/install.sh index f7413f30..29dd309a 100644 --- a/bin/omakub-sub/install.sh +++ b/bin/omakub-sub/install.sh @@ -3,6 +3,7 @@ CHOICES=( "Dev Database Install development database in Docker" "1password Manage your passwords securely across devices" "Brave Chrome-based browser with built-in ad blocking" + "Doom Emacs Emacs framework with curated list of packages" "Dropbox Sync files across computers with ease" "OBS Studio Record screencasts with inputs from both display + webcam" "Audacity Record and edit audio" diff --git a/install/desktop/optional/app-doom-emacs.sh b/install/desktop/optional/app-doom-emacs.sh new file mode 100644 index 00000000..e18f5a59 --- /dev/null +++ b/install/desktop/optional/app-doom-emacs.sh @@ -0,0 +1,5 @@ +sudo apt update -y +sudo apt upgrade -y +sudo apt install -y emacs cmake libtool-bin +git clone --depth 1 https://github.com/doomemacs/doomemacs ~/.config/emacs +~/.config/emacs/bin/doom install diff --git a/uninstall/app-doom-emacs.sh b/uninstall/app-doom-emacs.sh new file mode 100644 index 00000000..abf4f30d --- /dev/null +++ b/uninstall/app-doom-emacs.sh @@ -0,0 +1,3 @@ +sudo apt remove --purge -y emacs cmake libtool-bin +sudo rm -rf ~/.config/emacs +sudo rm -rf ~/.config/doom From f75254c039f3414529b33128233ec8531c1d0a54 Mon Sep 17 00:00:00 2001 From: Alan Maciel Date: Sat, 6 Jul 2024 14:29:24 -0600 Subject: [PATCH 08/27] Remove some libs --- install/desktop/optional/app-doom-emacs.sh | 4 +--- uninstall/app-doom-emacs.sh | 3 ++- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/install/desktop/optional/app-doom-emacs.sh b/install/desktop/optional/app-doom-emacs.sh index e18f5a59..7d5ada8e 100644 --- a/install/desktop/optional/app-doom-emacs.sh +++ b/install/desktop/optional/app-doom-emacs.sh @@ -1,5 +1,3 @@ -sudo apt update -y -sudo apt upgrade -y -sudo apt install -y emacs cmake libtool-bin +sudo apt install -y emacs git clone --depth 1 https://github.com/doomemacs/doomemacs ~/.config/emacs ~/.config/emacs/bin/doom install diff --git a/uninstall/app-doom-emacs.sh b/uninstall/app-doom-emacs.sh index abf4f30d..0b98d5bf 100644 --- a/uninstall/app-doom-emacs.sh +++ b/uninstall/app-doom-emacs.sh @@ -1,3 +1,4 @@ -sudo apt remove --purge -y emacs cmake libtool-bin +sudo apt remove --purge -y emacs emacs-gtk sudo rm -rf ~/.config/emacs +sudo rm -rf ~/.emacs.d sudo rm -rf ~/.config/doom From dced8744b533239240e857656f96096c9ef46ec3 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 9 Jul 2024 14:42:26 +0200 Subject: [PATCH 09/27] Match file check with source Closes #188 --- migrations/1718359027.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/migrations/1718359027.sh b/migrations/1718359027.sh index 72ed7327..10ebb08a 100644 --- a/migrations/1718359027.sh +++ b/migrations/1718359027.sh @@ -50,8 +50,8 @@ source $OMAKUB_PATH/applications/Activity.sh source $OMAKUB_PATH/applications/Docker.sh # Update icons of apps still installed -[ -f ~/.local/share/applications/Basecamp.desktop ] && source $OMAKUB_PATH/applications/HEY.sh -[ -f ~/.local/share/applications/HEY.desktop ] && source $OMAKUB_PATH/applications/Basecamp.sh +[ -f ~/.local/share/applications/Basecamp.desktop ] && source $OMAKUB_PATH/applications/Basecamp.sh +[ -f ~/.local/share/applications/HEY.desktop ] && source $OMAKUB_PATH/applications/HEY.sh [ -f ~/.local/share/applications/WhatsApp.desktop ] && source $OMAKUB_PATH/applications/WhatsApp.sh # Set new app grid From 1b036342a2cce09272f2cb8398047c040ecbf295 Mon Sep 17 00:00:00 2001 From: javajosh Date: Tue, 9 Jul 2024 10:15:31 -0400 Subject: [PATCH 10/27] Factor out version check code into a separate script. Call the script in install.sh after the omakub clone in boot.sh --- check-version.sh | 30 ++++++++++++++++++++++++++++++ install.sh | 3 +++ 2 files changed, 33 insertions(+) create mode 100644 check-version.sh diff --git a/check-version.sh b/check-version.sh new file mode 100644 index 00000000..1cb1f70d --- /dev/null +++ b/check-version.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +# Function to check if running on Ubuntu 24.04 or higher +check_ubuntu_version() { + if [ -f /etc/os-release ]; then + . /etc/os-release + if [ "$ID" = "ubuntu" ]; then + if awk -v ver="$VERSION_ID" 'BEGIN {exit !(ver >= 24.04)}'; then + return 0 + else + echo "Error: Ubuntu version must be 24.04 or higher. Current version: $VERSION_ID" >&2 + return 1 + fi + else + echo "Error: This script must be run on Ubuntu. Current OS: $ID" >&2 + return 1 + fi + else + echo "Error: Unable to determine OS. /etc/os-release file not found." >&2 + return 1 + fi +} + +if check_ubuntu_version; then + echo "Script is running on Ubuntu 24.04 or higher. Continuing execution..." +else + echo "Script execution failed due to system requirements not being met." >&2 + exit 1 +fi + diff --git a/install.sh b/install.sh index 4ee21111..bf3816a7 100644 --- a/install.sh +++ b/install.sh @@ -4,6 +4,9 @@ set -e # Desktop software and tweaks will only be installed if we're running Gnome RUNNING_GNOME=$([[ "$XDG_CURRENT_DESKTOP" == *"GNOME"* ]] && echo true || echo false) +# Check the distribution name and version and abort if incompatible +source ~/.local/share/omakub/check-version.sh + if $RUNNING_GNOME; then # Ensure computer doesn't go to sleep or lock while installing gsettings set org.gnome.desktop.screensaver lock-enabled false From 66182b859df26fca06338d604bcbcd10728c11da Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 12 Jul 2024 12:15:06 +0200 Subject: [PATCH 11/27] Add Zed as an optional editor choice --- bin/omakub-sub/install.sh | 3 ++- install/desktop/optional/app-zed.sh | 1 + uninstall/app-zed.sh | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 install/desktop/optional/app-zed.sh create mode 100644 uninstall/app-zed.sh diff --git a/bin/omakub-sub/install.sh b/bin/omakub-sub/install.sh index f7413f30..dfc62091 100644 --- a/bin/omakub-sub/install.sh +++ b/bin/omakub-sub/install.sh @@ -8,6 +8,7 @@ CHOICES=( "Audacity Record and edit audio" "Ollama Run LLMs, like Meta's Llama3, locally" "RubyMine IntelliJ's commercial Ruby editor" + "Zed Fast all-purpose editor" "Spotify Stream music from the world's most popular service" "Steam Play games from Valve's store" "Zoom Attend and host video chat meetings" @@ -16,7 +17,7 @@ CHOICES=( "<< Back " ) -CHOICE=$(gum choose "${CHOICES[@]}" --height 17 --header "Install application") +CHOICE=$(gum choose "${CHOICES[@]}" --height 18 --header "Install application") if [[ "$CHOICE" == "<< Back"* ]] || [[ -z "$CHOICE" ]]; then # Don't install anything diff --git a/install/desktop/optional/app-zed.sh b/install/desktop/optional/app-zed.sh new file mode 100644 index 00000000..63380c7c --- /dev/null +++ b/install/desktop/optional/app-zed.sh @@ -0,0 +1 @@ +curl https://zed.dev/install.sh | sh diff --git a/uninstall/app-zed.sh b/uninstall/app-zed.sh new file mode 100644 index 00000000..a8f566f7 --- /dev/null +++ b/uninstall/app-zed.sh @@ -0,0 +1,4 @@ +rm -rf ~/.local/zed.app +rm -rf ~/.local/bin/zed +rm .rf ~/.local/share/applications/dev.zed.Zed.desktop +rm -rf ~/.config/zed From b13a0041f2537fb47d185d698b0f6c9719410f68 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 12 Jul 2024 12:21:50 +0200 Subject: [PATCH 12/27] Switch nord scheme for Neovim to fix visibilty bug Closes #111, #109 --- themes/nord/neovim.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/nord/neovim.lua b/themes/nord/neovim.lua index fc2254e5..27a68b12 100644 --- a/themes/nord/neovim.lua +++ b/themes/nord/neovim.lua @@ -1,9 +1,9 @@ return { - { "shaunsingh/nord.nvim" }, + { "EdenEast/nightfox.nvim" }, { "LazyVim/LazyVim", opts = { - colorscheme = "nord", + colorscheme = "nordfox", }, }, } From 36464839c95e0278eef32bcd299e1b5c68cce9f7 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 12 Jul 2024 12:25:13 +0200 Subject: [PATCH 13/27] Alpha sort list and make room for the new addition --- bin/omakub-sub/install.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/omakub-sub/install.sh b/bin/omakub-sub/install.sh index 33cff0d8..3e35081c 100644 --- a/bin/omakub-sub/install.sh +++ b/bin/omakub-sub/install.sh @@ -2,23 +2,23 @@ CHOICES=( "Dev Language Install programming language environment" "Dev Database Install development database in Docker" "1password Manage your passwords securely across devices" + "Audacity Record and edit audio" "Brave Chrome-based browser with built-in ad blocking" "Doom Emacs Emacs framework with curated list of packages" "Dropbox Sync files across computers with ease" "OBS Studio Record screencasts with inputs from both display + webcam" - "Audacity Record and edit audio" "Ollama Run LLMs, like Meta's Llama3, locally" "RubyMine IntelliJ's commercial Ruby editor" - "Zed Fast all-purpose editor" "Spotify Stream music from the world's most popular service" "Steam Play games from Valve's store" - "Zoom Attend and host video chat meetings" "VirtualBox Virtual machines to run Windows/Linux" + "Zed Fast all-purpose editor" + "Zoom Attend and host video chat meetings" "> All Re-run any of the default installers" "<< Back " ) -CHOICE=$(gum choose "${CHOICES[@]}" --height 18 --header "Install application") +CHOICE=$(gum choose "${CHOICES[@]}" --height 19 --header "Install application") if [[ "$CHOICE" == "<< Back"* ]] || [[ -z "$CHOICE" ]]; then # Don't install anything From f288b63a277c0884ed5074788cb387d21b83a577 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Fri, 12 Jul 2024 14:08:42 +0200 Subject: [PATCH 14/27] Release v1.1.1 --- version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version b/version index 9084fa2f..524cb552 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.1.0 +1.1.1 From a43dfdffd7a9f0885cf8c0a7f7791c00c932f71f Mon Sep 17 00:00:00 2001 From: javajosh Date: Fri, 12 Jul 2024 12:36:01 -0400 Subject: [PATCH 15/27] Remain silent on successful version check. --- check-version.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/check-version.sh b/check-version.sh index 1cb1f70d..c3bad772 100644 --- a/check-version.sh +++ b/check-version.sh @@ -21,9 +21,7 @@ check_ubuntu_version() { fi } -if check_ubuntu_version; then - echo "Script is running on Ubuntu 24.04 or higher. Continuing execution..." -else +if ! check_ubuntu_version; then echo "Script execution failed due to system requirements not being met." >&2 exit 1 fi From 72792e4b63d2912cfc617259d40ca1470b9d211d Mon Sep 17 00:00:00 2001 From: Cillian Myles Date: Sat, 13 Jul 2024 17:36:03 +0100 Subject: [PATCH 16/27] feat: add tldr cli support --- install/terminal/apps-terminal.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/terminal/apps-terminal.sh b/install/terminal/apps-terminal.sh index 9ca622fa..7bf63a56 100644 --- a/install/terminal/apps-terminal.sh +++ b/install/terminal/apps-terminal.sh @@ -1 +1 @@ -sudo apt install -y fzf ripgrep bat eza zoxide plocate btop apache2-utils fd-find +sudo apt install -y fzf ripgrep bat eza zoxide plocate btop apache2-utils fd-find tldr From f614164b260f3ea8249f43c1a18bc0d94209540a Mon Sep 17 00:00:00 2001 From: Mustafa BULUT <45532930+mustafabulut34@users.noreply.github.com> Date: Wed, 17 Jul 2024 01:41:23 +0300 Subject: [PATCH 17/27] Fix window title and class in .desktop files --- applications/About.sh | 2 +- applications/Activity.sh | 2 +- applications/Basecamp.sh | 2 +- applications/Docker.sh | 2 +- applications/HEY.sh | 2 +- applications/Neovim.sh | 2 +- applications/Omakub.sh | 2 +- applications/WhatsApp.sh | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/applications/About.sh b/applications/About.sh index 1b149bb3..49957098 100644 --- a/applications/About.sh +++ b/applications/About.sh @@ -3,7 +3,7 @@ cat <~/.local/share/applications/About.desktop Version=1.0 Name=About Comment=System information from Fastfetch -Exec=alacritty --config-file /home/$USER/.local/share/omakub/defaults/alacritty/pane.toml -e bash -c 'fastfetch; read -n 1 -s' +Exec=alacritty --config-file /home/$USER/.local/share/omakub/defaults/alacritty/pane.toml --class=About --title=About -e bash -c 'fastfetch; read -n 1 -s' Terminal=false Type=Application Icon=/home/$USER/.local/share/omakub/applications/icons/Ubuntu.png diff --git a/applications/Activity.sh b/applications/Activity.sh index 87d88cbc..b4300bdf 100644 --- a/applications/Activity.sh +++ b/applications/Activity.sh @@ -3,7 +3,7 @@ cat <~/.local/share/applications/Activity.desktop Version=1.0 Name=Activity Comment=System activity from btop -Exec=alacritty --config-file /home/$USER/.local/share/omakub/defaults/alacritty/btop.toml -e btop +Exec=alacritty --config-file /home/$USER/.local/share/omakub/defaults/alacritty/btop.toml --class=Activity --title=Activity -e btop Terminal=false Type=Application Icon=/home/$USER/.local/share/omakub/applications/icons/Activity.png diff --git a/applications/Basecamp.sh b/applications/Basecamp.sh index ab4d2ab9..1f3a9080 100644 --- a/applications/Basecamp.sh +++ b/applications/Basecamp.sh @@ -3,7 +3,7 @@ cat <~/.local/share/applications/Basecamp.desktop Version=1.0 Name=Basecamp Comment=Basecamp Project Management -Exec=google-chrome --app="https://launchpad.37signals.com" --name=Basecamp +Exec=google-chrome --app="https://launchpad.37signals.com" --name=Basecamp --class=Basecamp Terminal=false Type=Application Icon=/home/$USER/.local/share/omakub/applications/icons/Basecamp.png diff --git a/applications/Docker.sh b/applications/Docker.sh index 82aa4ee8..90d4e52c 100644 --- a/applications/Docker.sh +++ b/applications/Docker.sh @@ -3,7 +3,7 @@ cat <~/.local/share/applications/Docker.desktop Version=1.0 Name=Docker Comment=Manage Docker containers with LazyDocker -Exec=alacritty --config-file /home/$USER/.local/share/omakub/defaults/alacritty/pane.toml -e lazydocker +Exec=alacritty --config-file /home/$USER/.local/share/omakub/defaults/alacritty/pane.toml --class=Docker --title=Docker -e lazydocker Terminal=false Type=Application Icon=/home/$USER/.local/share/omakub/applications/icons/Docker.png diff --git a/applications/HEY.sh b/applications/HEY.sh index 769260c7..c23c3741 100644 --- a/applications/HEY.sh +++ b/applications/HEY.sh @@ -3,7 +3,7 @@ cat <~/.local/share/applications/HEY.desktop Version=1.0 Name=HEY Comment=HEY Email + Calendar -Exec=google-chrome --app="https://app.hey.com/" --name=HEY +Exec=google-chrome --app="https://app.hey.com/" --name=HEY --class=HEY Terminal=false Type=Application Icon=/home/$USER/.local/share/omakub/applications/icons/HEY.png diff --git a/applications/Neovim.sh b/applications/Neovim.sh index 2a479ffe..99890208 100644 --- a/applications/Neovim.sh +++ b/applications/Neovim.sh @@ -3,7 +3,7 @@ cat <~/.local/share/applications/Neovim.desktop Version=1.0 Name=Neovim Comment=Edit text files -Exec=alacritty --config-file /home/$USER/.local/share/omakub/defaults/alacritty/pane.toml -e nvim %F +Exec=alacritty --config-file /home/$USER/.local/share/omakub/defaults/alacritty/pane.toml --class=Neovim --title=Neovim -e nvim %F Terminal=false Type=Application Icon=nvim diff --git a/applications/Omakub.sh b/applications/Omakub.sh index f6475bd8..4ebe0489 100644 --- a/applications/Omakub.sh +++ b/applications/Omakub.sh @@ -3,7 +3,7 @@ cat <~/.local/share/applications/Omakub.desktop Version=1.0 Name=Omakub Comment=Omakub Controls -Exec=alacritty --config-file /home/$USER/.local/share/omakub/defaults/alacritty/pane.toml -e omakub +Exec=alacritty --config-file /home/$USER/.local/share/omakub/defaults/alacritty/pane.toml --class=Omakub --title=Omakub -e omakub Terminal=false Type=Application Icon=/home/$USER/.local/share/omakub/applications/icons/Omakub.png diff --git a/applications/WhatsApp.sh b/applications/WhatsApp.sh index c744d926..c5ec5320 100644 --- a/applications/WhatsApp.sh +++ b/applications/WhatsApp.sh @@ -3,7 +3,7 @@ cat <~/.local/share/applications/WhatsApp.desktop Version=1.0 Name=WhatsApp Comment=WhatsApp Messenger -Exec=google-chrome --app="https://web.whatsapp.com" --name=WhatsApp +Exec=google-chrome --app="https://web.whatsapp.com" --name=WhatsApp --class=Whatsapp Terminal=false Type=Application Icon=/home/$USER/.local/share/omakub/applications/icons/WhatsApp.png From 62da345358c989ee0310927c8da250b7172e4755 Mon Sep 17 00:00:00 2001 From: Chris Yommer Date: Thu, 25 Jul 2024 10:19:03 -0500 Subject: [PATCH 18/27] Fix gum download link --- install/terminal/required/app-gum.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/terminal/required/app-gum.sh b/install/terminal/required/app-gum.sh index b915eec9..66f8084c 100644 --- a/install/terminal/required/app-gum.sh +++ b/install/terminal/required/app-gum.sh @@ -1,7 +1,7 @@ # Gum is used for the Omakub commands for tailoring Omakub after the initial install cd /tmp GUM_VERSION="0.14.1" # Use known good version -wget -qO gum.deb "https://github.com/charmbracelet/gum/releases/latest/download/gum_${GUM_VERSION}_amd64.deb" +wget -qO gum.deb "https://github.com/charmbracelet/gum/releases/download/v${GUM_VERSION}/gum_${GUM_VERSION}_amd64.deb" sudo apt-get install -y ./gum.deb rm gum.deb cd - From 5fe22918fca31200365f8bc44d97bd904054cf81 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 25 Jul 2024 11:49:41 -0700 Subject: [PATCH 19/27] Update app-gum.sh Latest version. Need a different approach here to prevent breakage on updates. --- install/terminal/required/app-gum.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/terminal/required/app-gum.sh b/install/terminal/required/app-gum.sh index b915eec9..2f10639b 100644 --- a/install/terminal/required/app-gum.sh +++ b/install/terminal/required/app-gum.sh @@ -1,6 +1,6 @@ # Gum is used for the Omakub commands for tailoring Omakub after the initial install cd /tmp -GUM_VERSION="0.14.1" # Use known good version +GUM_VERSION="0.14.3" # Use known good version wget -qO gum.deb "https://github.com/charmbracelet/gum/releases/latest/download/gum_${GUM_VERSION}_amd64.deb" sudo apt-get install -y ./gum.deb rm gum.deb From 4a45f5af6ad0111c78c2b826f126d5b38c21b0d2 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 27 Jul 2024 07:20:34 -0700 Subject: [PATCH 20/27] rustc required for Ruby YJIT --- install/terminal/libraries.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/install/terminal/libraries.sh b/install/terminal/libraries.sh index bbed439c..5bef8562 100644 --- a/install/terminal/libraries.sh +++ b/install/terminal/libraries.sh @@ -1,5 +1,5 @@ sudo apt install -y \ - build-essential pkg-config autoconf bison clang \ - libssl-dev libreadline-dev zlib1g-dev libyaml-dev libreadline-dev libncurses5-dev libffi-dev libgdbm-dev libjemalloc2 \ - libvips imagemagick libmagickwand-dev mupdf mupdf-tools \ - redis-tools sqlite3 libsqlite3-0 libmysqlclient-dev + build-essential pkg-config autoconf bison clang rustc \ + libssl-dev libreadline-dev zlib1g-dev libyaml-dev libreadline-dev libncurses5-dev libffi-dev libgdbm-dev libjemalloc2 \ + libvips imagemagick libmagickwand-dev mupdf mupdf-tools \ + redis-tools sqlite3 libsqlite3-0 libmysqlclient-dev From e94dae6ad4cf795e7f0e046e78fdf4fef1fc1f32 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 27 Jul 2024 07:51:52 -0700 Subject: [PATCH 21/27] Add postgresql client libraries Closes #217 --- install/terminal/libraries.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/terminal/libraries.sh b/install/terminal/libraries.sh index 5bef8562..3cc1a441 100644 --- a/install/terminal/libraries.sh +++ b/install/terminal/libraries.sh @@ -2,4 +2,4 @@ sudo apt install -y \ build-essential pkg-config autoconf bison clang rustc \ libssl-dev libreadline-dev zlib1g-dev libyaml-dev libreadline-dev libncurses5-dev libffi-dev libgdbm-dev libjemalloc2 \ libvips imagemagick libmagickwand-dev mupdf mupdf-tools \ - redis-tools sqlite3 libsqlite3-0 libmysqlclient-dev + redis-tools sqlite3 libsqlite3-0 libmysqlclient-dev libpq-dev postgresql-client postgresql-client-common From 0d7383bad5e32866e9e490dddf80fd6351332119 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 27 Jul 2024 08:38:16 -0700 Subject: [PATCH 22/27] Add migration for 1.1.2 --- migrations/1722091912.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 migrations/1722091912.sh diff --git a/migrations/1722091912.sh b/migrations/1722091912.sh new file mode 100644 index 00000000..a80c9a04 --- /dev/null +++ b/migrations/1722091912.sh @@ -0,0 +1,14 @@ +sudo echo "Running upgrade migration..." + +# Add rustc and pgsql client libs +source $OMAKUB_PATH/install/terminal/libraries.sh + +# Set name and class for desktop files +source $OMAKUB_PATH/applications/About.sh +source $OMAKUB_PATH/applications/Activity.sh +source $OMAKUB_PATH/applications/Basecamp.sh +source $OMAKUB_PATH/applications/HEY.sh +source $OMAKUB_PATH/applications/Docker.sh +source $OMAKUB_PATH/applications/Neovim.sh +source $OMAKUB_PATH/applications/Omakub.sh +source $OMAKUB_PATH/applications/WhatsApp.sh From 574c91e7498f40c7074bda7c6262b672605dc950 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 27 Jul 2024 10:51:12 -0700 Subject: [PATCH 23/27] Move first run choices under install --- install.sh | 2 +- first_run_choices.sh => install/first_run_choices.sh | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename first_run_choices.sh => install/first_run_choices.sh (100%) diff --git a/install.sh b/install.sh index bf3816a7..29aae42d 100644 --- a/install.sh +++ b/install.sh @@ -14,7 +14,7 @@ if $RUNNING_GNOME; then echo "Get ready to make a few choices..." source ~/.local/share/omakub/install/terminal/required/app-gum.sh >/dev/null - source ~/.local/share/omakub/first_run_choices.sh + source ~/.local/share/omakub/install/first_run_choices.sh echo "Installing terminal and desktop tools.." else diff --git a/first_run_choices.sh b/install/first_run_choices.sh similarity index 100% rename from first_run_choices.sh rename to install/first_run_choices.sh From b0844e8a7b506e2bb1686d34e9de2d705bd2c466 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 27 Jul 2024 10:51:21 -0700 Subject: [PATCH 24/27] Fix indention --- install.sh | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/install.sh b/install.sh index 29aae42d..a639fb04 100644 --- a/install.sh +++ b/install.sh @@ -8,27 +8,27 @@ RUNNING_GNOME=$([[ "$XDG_CURRENT_DESKTOP" == *"GNOME"* ]] && echo true || echo f source ~/.local/share/omakub/check-version.sh if $RUNNING_GNOME; then - # Ensure computer doesn't go to sleep or lock while installing - gsettings set org.gnome.desktop.screensaver lock-enabled false - gsettings set org.gnome.desktop.session idle-delay 0 + # Ensure computer doesn't go to sleep or lock while installing + gsettings set org.gnome.desktop.screensaver lock-enabled false + gsettings set org.gnome.desktop.session idle-delay 0 - echo "Get ready to make a few choices..." - source ~/.local/share/omakub/install/terminal/required/app-gum.sh >/dev/null + echo "Get ready to make a few choices..." + source ~/.local/share/omakub/install/terminal/required/app-gum.sh >/dev/null source ~/.local/share/omakub/install/first_run_choices.sh - echo "Installing terminal and desktop tools.." + echo "Installing terminal and desktop tools.." else - echo "Only installing terminal tools..." + echo "Only installing terminal tools..." fi # Install terminal tools source ~/.local/share/omakub/install/terminal.sh if $RUNNING_GNOME; then - # Install desktop tools and tweaks - source ~/.local/share/omakub/install/desktop.sh + # Install desktop tools and tweaks + source ~/.local/share/omakub/install/desktop.sh - # Revert to normal idle and lock settings - gsettings set org.gnome.desktop.screensaver lock-enabled true - gsettings set org.gnome.desktop.session idle-delay 300 + # Revert to normal idle and lock settings + gsettings set org.gnome.desktop.screensaver lock-enabled true + gsettings set org.gnome.desktop.session idle-delay 300 fi From 7735452f45f2d6f00d0e1ac93b33cd92c7dc936b Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 27 Jul 2024 10:51:44 -0700 Subject: [PATCH 25/27] Fix indention --- check-version.sh | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/check-version.sh b/check-version.sh index c3bad772..f5389e22 100644 --- a/check-version.sh +++ b/check-version.sh @@ -2,27 +2,26 @@ # Function to check if running on Ubuntu 24.04 or higher check_ubuntu_version() { - if [ -f /etc/os-release ]; then - . /etc/os-release - if [ "$ID" = "ubuntu" ]; then - if awk -v ver="$VERSION_ID" 'BEGIN {exit !(ver >= 24.04)}'; then - return 0 - else - echo "Error: Ubuntu version must be 24.04 or higher. Current version: $VERSION_ID" >&2 - return 1 - fi - else - echo "Error: This script must be run on Ubuntu. Current OS: $ID" >&2 - return 1 - fi - else - echo "Error: Unable to determine OS. /etc/os-release file not found." >&2 + if [ -f /etc/os-release ]; then + . /etc/os-release + if [ "$ID" = "ubuntu" ]; then + if awk -v ver="$VERSION_ID" 'BEGIN {exit !(ver >= 24.04)}'; then + return 0 + else + echo "Error: Ubuntu version must be 24.04 or higher. Current version: $VERSION_ID" >&2 return 1 + fi + else + echo "Error: This script must be run on Ubuntu. Current OS: $ID" >&2 + return 1 fi + else + echo "Error: Unable to determine OS. /etc/os-release file not found." >&2 + return 1 + fi } if ! check_ubuntu_version; then - echo "Script execution failed due to system requirements not being met." >&2 - exit 1 + echo "Script execution failed due to system requirements not being met." >&2 + exit 1 fi - From ec0803624a895b49d148174b4366f98037266b87 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 27 Jul 2024 10:53:08 -0700 Subject: [PATCH 26/27] Match naming convention from elsewhere --- install.sh | 2 +- install/{first_run_choices.sh => first-run-choices.sh} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename install/{first_run_choices.sh => first-run-choices.sh} (100%) diff --git a/install.sh b/install.sh index a639fb04..466e45b1 100644 --- a/install.sh +++ b/install.sh @@ -14,7 +14,7 @@ if $RUNNING_GNOME; then echo "Get ready to make a few choices..." source ~/.local/share/omakub/install/terminal/required/app-gum.sh >/dev/null - source ~/.local/share/omakub/install/first_run_choices.sh + source ~/.local/share/omakub/install/first-run-choices.sh echo "Installing terminal and desktop tools.." else diff --git a/install/first_run_choices.sh b/install/first-run-choices.sh similarity index 100% rename from install/first_run_choices.sh rename to install/first-run-choices.sh From 2245a999a6546f48ffe977b6754b60ae78fc85b7 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 27 Jul 2024 10:53:38 -0700 Subject: [PATCH 27/27] Move under install/ as well --- install.sh | 2 +- check-version.sh => install/check-version.sh | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename check-version.sh => install/check-version.sh (100%) diff --git a/install.sh b/install.sh index 466e45b1..2d551e32 100644 --- a/install.sh +++ b/install.sh @@ -5,7 +5,7 @@ set -e RUNNING_GNOME=$([[ "$XDG_CURRENT_DESKTOP" == *"GNOME"* ]] && echo true || echo false) # Check the distribution name and version and abort if incompatible -source ~/.local/share/omakub/check-version.sh +source ~/.local/share/omakub/install/check-version.sh if $RUNNING_GNOME; then # Ensure computer doesn't go to sleep or lock while installing diff --git a/check-version.sh b/install/check-version.sh similarity index 100% rename from check-version.sh rename to install/check-version.sh