From 8e5ae607937d1a5a6603afebfd06ba4b5e4bb07a Mon Sep 17 00:00:00 2001 From: Rohit Das <43847374+therohitdas@users.noreply.github.com> Date: Wed, 4 Sep 2024 18:26:17 +0530 Subject: [PATCH 1/8] Add ARCH CHECK to download appropriate packages --- install/desktop/app-localsend.sh | 3 ++- install/desktop/app-vscode.sh | 3 ++- install/terminal/app-lazydocker.sh | 3 ++- install/terminal/app-lazygit.sh | 3 ++- install/terminal/app-zellij.sh | 3 ++- install/terminal/required/app-gum.sh | 3 ++- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/install/desktop/app-localsend.sh b/install/desktop/app-localsend.sh index 56b571ec7..bde133736 100644 --- a/install/desktop/app-localsend.sh +++ b/install/desktop/app-localsend.sh @@ -1,6 +1,7 @@ cd /tmp LOCALSEND_VERSION=$(curl -s "https://api.github.com/repos/localsend/localsend/releases/latest" | grep -Po '"tag_name": "v\K[^"]*') -wget -O localsend.deb "https://github.com/localsend/localsend/releases/latest/download/LocalSend-${LOCALSEND_VERSION}-linux-x86-64.deb" +TARGET_ARCH=$(["$(dpkg --print-architecture)" = "arm64"] && echo "arm-64" || echo "x86-64") +wget -O localsend.deb "https://github.com/localsend/localsend/releases/latest/download/LocalSend-${LOCALSEND_VERSION}-linux-${TARGET_ARCH}.deb" sudo apt install -y ./localsend.deb rm localsend.deb cd - diff --git a/install/desktop/app-vscode.sh b/install/desktop/app-vscode.sh index 2c2e349a5..7db03067d 100644 --- a/install/desktop/app-vscode.sh +++ b/install/desktop/app-vscode.sh @@ -1,5 +1,6 @@ cd /tmp -wget -O code.deb 'https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64' +TARGET_ARCH=$(["$(dpkg --print-architecture)" = "arm64"] && echo "arm64" || echo "x64") +wget -O code.deb 'https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-${TARGET_ARCH}' sudo apt install -y ./code.deb rm code.deb cd - diff --git a/install/terminal/app-lazydocker.sh b/install/terminal/app-lazydocker.sh index 6f62afbbf..884dc3792 100644 --- a/install/terminal/app-lazydocker.sh +++ b/install/terminal/app-lazydocker.sh @@ -1,6 +1,7 @@ cd /tmp LAZYDOCKER_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazydocker/releases/latest" | grep -Po '"tag_name": "v\K[^"]*') -curl -sLo lazydocker.tar.gz "https://github.com/jesseduffield/lazydocker/releases/latest/download/lazydocker_${LAZYDOCKER_VERSION}_Linux_x86_64.tar.gz" +TARGET_ARCH=$(dpkg --print-architecture) +curl -sLo lazydocker.tar.gz "https://github.com/jesseduffield/lazydocker/releases/latest/download/lazydocker_${LAZYDOCKER_VERSION}_Linux_${TARGET_ARCH}.tar.gz" tar -xf lazydocker.tar.gz lazydocker sudo install lazydocker /usr/local/bin rm lazydocker.tar.gz lazydocker diff --git a/install/terminal/app-lazygit.sh b/install/terminal/app-lazygit.sh index 70f90fe56..a3a08c17f 100644 --- a/install/terminal/app-lazygit.sh +++ b/install/terminal/app-lazygit.sh @@ -1,6 +1,7 @@ cd /tmp LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*') -curl -sLo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz" +TARGET_ARCH=$(dpkg --print-architecture) +curl -sLo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_${TARGET_ARCH}.tar.gz" tar -xf lazygit.tar.gz lazygit sudo install lazygit /usr/local/bin rm lazygit.tar.gz lazygit diff --git a/install/terminal/app-zellij.sh b/install/terminal/app-zellij.sh index 170b334e8..4d8201e2a 100644 --- a/install/terminal/app-zellij.sh +++ b/install/terminal/app-zellij.sh @@ -1,5 +1,6 @@ cd /tmp -wget -O zellij.tar.gz "https://github.com/zellij-org/zellij/releases/latest/download/zellij-x86_64-unknown-linux-musl.tar.gz" +TARGET_ARCH=$(["$(dpkg --print-architecture)" = "arm64"] && echo "aarch64" || echo "x86_64") +wget -O zellij.tar.gz "https://github.com/zellij-org/zellij/releases/latest/download/zellij-${TARGET_ARCH}-unknown-linux-musl.tar.gz" tar -xf zellij.tar.gz zellij sudo install zellij /usr/local/bin rm zellij.tar.gz zellij diff --git a/install/terminal/required/app-gum.sh b/install/terminal/required/app-gum.sh index 4fc1e3234..6626c1d63 100644 --- a/install/terminal/required/app-gum.sh +++ b/install/terminal/required/app-gum.sh @@ -1,7 +1,8 @@ # Gum is used for the Omakub commands for tailoring Omakub after the initial install cd /tmp GUM_VERSION="0.14.3" # Use known good version -wget -qO gum.deb "https://github.com/charmbracelet/gum/releases/download/v${GUM_VERSION}/gum_${GUM_VERSION}_amd64.deb" +TARGET_ARCH=$(dpkg --print-architecture) +wget -qO gum.deb "https://github.com/charmbracelet/gum/releases/download/v${GUM_VERSION}/gum_${GUM_VERSION}_${TARGET_ARCH}.deb" sudo apt-get install -y ./gum.deb rm gum.deb cd - From fcae05ac604a989aec0085cf5b7a9068122ce598 Mon Sep 17 00:00:00 2001 From: Rohit Das <43847374+therohitdas@users.noreply.github.com> Date: Wed, 4 Sep 2024 18:39:09 +0530 Subject: [PATCH 2/8] Add ARCH CHECK to download appropriate packages --- install/desktop/app-signal.sh | 4 ++++ install/terminal/mise.sh | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/install/desktop/app-signal.sh b/install/desktop/app-signal.sh index 924aec484..0241e6a5f 100644 --- a/install/desktop/app-signal.sh +++ b/install/desktop/app-signal.sh @@ -1,3 +1,6 @@ +if [ "$(uname -m)" = "aarch64" ]; then + sudo snap install signal-desktop +else wget -qO- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor >signal-desktop-keyring.gpg cat signal-desktop-keyring.gpg | sudo tee /usr/share/keyrings/signal-desktop-keyring.gpg >/dev/null echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main' | @@ -5,3 +8,4 @@ echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] rm signal-desktop-keyring.gpg sudo apt update sudo apt install -y signal-desktop +fi diff --git a/install/terminal/mise.sh b/install/terminal/mise.sh index 9a7e3ebd5..a89332a2b 100644 --- a/install/terminal/mise.sh +++ b/install/terminal/mise.sh @@ -2,6 +2,6 @@ sudo apt update -y && sudo apt install -y gpg sudo wget curl sudo install -dm 755 /etc/apt/keyrings wget -qO - https://mise.jdx.dev/gpg-key.pub | gpg --dearmor | sudo tee /etc/apt/keyrings/mise-archive-keyring.gpg 1>/dev/null -echo "deb [signed-by=/etc/apt/keyrings/mise-archive-keyring.gpg arch=amd64] https://mise.jdx.dev/deb stable main" | sudo tee /etc/apt/sources.list.d/mise.list +echo "deb [signed-by=/etc/apt/keyrings/mise-archive-keyring.gpg arch=$(dpkg --print-architecture)] https://mise.jdx.dev/deb stable main" | sudo tee /etc/apt/sources.list.d/mise.list sudo apt update sudo apt install -y mise From 9e0700373c7dfe43dfbbbb35497848a1e07dec3d Mon Sep 17 00:00:00 2001 From: Rohit Das <43847374+therohitdas@users.noreply.github.com> Date: Wed, 4 Sep 2024 18:39:37 +0530 Subject: [PATCH 3/8] Install Chromium on ARM64 --- install/desktop/app-chrome.sh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/install/desktop/app-chrome.sh b/install/desktop/app-chrome.sh index 97e1361a1..59196b5cd 100644 --- a/install/desktop/app-chrome.sh +++ b/install/desktop/app-chrome.sh @@ -1,7 +1,11 @@ # Browse the web with the most popular browser. See https://www.google.com/chrome/ -cd /tmp -wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -sudo apt install -y ./google-chrome-stable_current_amd64.deb -rm google-chrome-stable_current_amd64.deb -xdg-settings set default-web-browser google-chrome.desktop -cd - +if [ "$(dpkg --print-architecture)" = "arm64" ]; then + sudo apt install -y chromium-browser +else + cd /tmp + wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb + sudo apt install -y ./google-chrome-stable_current_amd64.deb + rm google-chrome-stable_current_amd64.deb + xdg-settings set default-web-browser google-chrome.desktop + cd - +fi From 3f4d7fe5cd0f6e64afbda7ee260a0d8ce7aa8af5 Mon Sep 17 00:00:00 2001 From: Rohit Das <43847374+therohitdas@users.noreply.github.com> Date: Wed, 4 Sep 2024 18:40:08 +0530 Subject: [PATCH 4/8] Do not install unsupported package on ARM64 --- install/desktop/optional/app-zoom.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/install/desktop/optional/app-zoom.sh b/install/desktop/optional/app-zoom.sh index a773e58dc..1ae3b2968 100644 --- a/install/desktop/optional/app-zoom.sh +++ b/install/desktop/optional/app-zoom.sh @@ -1,6 +1,8 @@ # Make video calls using https://zoom.us/ -cd /tmp -wget https://zoom.us/client/latest/zoom_amd64.deb -sudo apt install -y ./zoom_amd64.deb -rm zoom_amd64.deb -cd - +if [ $(dpkg --print-architecture) != "arm64" ]; then + cd /tmp + wget https://zoom.us/client/latest/zoom_amd64.deb + sudo apt install -y ./zoom_amd64.deb + rm zoom_amd64.deb + cd - +fi From 27f8e52490ec1cc7d0a393945aaaeb254ab1f700 Mon Sep 17 00:00:00 2001 From: Rohit Das <43847374+therohitdas@users.noreply.github.com> Date: Wed, 4 Sep 2024 19:04:54 +0530 Subject: [PATCH 5/8] Use snap to install localsend on arm64 --- install/desktop/app-localsend.sh | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/install/desktop/app-localsend.sh b/install/desktop/app-localsend.sh index bde133736..7056d79f0 100644 --- a/install/desktop/app-localsend.sh +++ b/install/desktop/app-localsend.sh @@ -1,7 +1,10 @@ -cd /tmp -LOCALSEND_VERSION=$(curl -s "https://api.github.com/repos/localsend/localsend/releases/latest" | grep -Po '"tag_name": "v\K[^"]*') -TARGET_ARCH=$(["$(dpkg --print-architecture)" = "arm64"] && echo "arm-64" || echo "x86-64") -wget -O localsend.deb "https://github.com/localsend/localsend/releases/latest/download/LocalSend-${LOCALSEND_VERSION}-linux-${TARGET_ARCH}.deb" -sudo apt install -y ./localsend.deb -rm localsend.deb -cd - +if [ "$(dpkg --print-architecture)" = "arm64" ]; then + snap install localsend +else + cd /tmp + LOCALSEND_VERSION=$(curl -s "https://api.github.com/repos/localsend/localsend/releases/latest" | grep -Po '"tag_name": "v\K[^"]*') + wget -O localsend.deb "https://github.com/localsend/localsend/releases/latest/download/LocalSend-${LOCALSEND_VERSION}-linux-x86-64.deb" + sudo apt install -y ./localsend.deb + rm localsend.deb + cd - +fi \ No newline at end of file From 314ea99ea3f856d7e568d6dac7d6e0e658d54929 Mon Sep 17 00:00:00 2001 From: Rohit Das <43847374+therohitdas@users.noreply.github.com> Date: Wed, 4 Sep 2024 19:32:48 +0530 Subject: [PATCH 6/8] Fix quoting in VSCode installer script --- install/desktop/app-vscode.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/desktop/app-vscode.sh b/install/desktop/app-vscode.sh index 7db03067d..a15288d6d 100644 --- a/install/desktop/app-vscode.sh +++ b/install/desktop/app-vscode.sh @@ -1,6 +1,6 @@ cd /tmp TARGET_ARCH=$(["$(dpkg --print-architecture)" = "arm64"] && echo "arm64" || echo "x64") -wget -O code.deb 'https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-${TARGET_ARCH}' +wget -O code.deb "https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-${TARGET_ARCH}" sudo apt install -y ./code.deb rm code.deb cd - From b96606bd38d38e9ec80edb10070d871b5b0b0fd1 Mon Sep 17 00:00:00 2001 From: Rohit Das <43847374+therohitdas@users.noreply.github.com> Date: Wed, 4 Sep 2024 19:36:39 +0530 Subject: [PATCH 7/8] Set chromium as default browser --- install/desktop/app-chrome.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install/desktop/app-chrome.sh b/install/desktop/app-chrome.sh index 59196b5cd..84556b52b 100644 --- a/install/desktop/app-chrome.sh +++ b/install/desktop/app-chrome.sh @@ -1,6 +1,7 @@ # Browse the web with the most popular browser. See https://www.google.com/chrome/ if [ "$(dpkg --print-architecture)" = "arm64" ]; then sudo apt install -y chromium-browser + xdg-settings set default-web-browser chromium-browser.desktop else cd /tmp wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb From af0628e69962eb9ba4389c4987a6dfefb6d7fb50 Mon Sep 17 00:00:00 2001 From: Rohit Das <43847374+therohitdas@users.noreply.github.com> Date: Wed, 4 Sep 2024 21:38:57 +0530 Subject: [PATCH 8/8] Fixed bash syntax --- install/desktop/app-vscode.sh | 2 +- install/terminal/app-zellij.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/install/desktop/app-vscode.sh b/install/desktop/app-vscode.sh index a15288d6d..ec8d81853 100644 --- a/install/desktop/app-vscode.sh +++ b/install/desktop/app-vscode.sh @@ -1,5 +1,5 @@ cd /tmp -TARGET_ARCH=$(["$(dpkg --print-architecture)" = "arm64"] && echo "arm64" || echo "x64") +TARGET_ARCH=$([ "$(dpkg --print-architecture)" = "arm64" ] && echo "arm64" || echo "x64") wget -O code.deb "https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-${TARGET_ARCH}" sudo apt install -y ./code.deb rm code.deb diff --git a/install/terminal/app-zellij.sh b/install/terminal/app-zellij.sh index 4d8201e2a..2cdfadde3 100644 --- a/install/terminal/app-zellij.sh +++ b/install/terminal/app-zellij.sh @@ -1,5 +1,5 @@ cd /tmp -TARGET_ARCH=$(["$(dpkg --print-architecture)" = "arm64"] && echo "aarch64" || echo "x86_64") +TARGET_ARCH=$([ "$(dpkg --print-architecture)" = "arm64" ] && echo "aarch64" || echo "x86_64") wget -O zellij.tar.gz "https://github.com/zellij-org/zellij/releases/latest/download/zellij-${TARGET_ARCH}-unknown-linux-musl.tar.gz" tar -xf zellij.tar.gz zellij sudo install zellij /usr/local/bin