Add semicolon to the end of each statement
This commit is contained in:
parent
0d88f63cfa
commit
c59b48b50b
31 changed files with 370 additions and 370 deletions
|
@ -1,82 +1,82 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
dir="${BASH_SOURCE%/*}"
|
dir="${BASH_SOURCE%/*}";
|
||||||
scriptRoot="$dir/../../scripts"
|
scriptRoot="$dir/../../scripts";
|
||||||
deviceRoot="$scriptRoot/Devices"
|
deviceRoot="$scriptRoot/Devices";
|
||||||
softwareRoot="$scriptRoot/Software"
|
softwareRoot="$scriptRoot/Software";
|
||||||
configRoot="$scriptRoot/Config"
|
configRoot="$scriptRoot/Config";
|
||||||
cloudRoot="$configRoot/rclone"
|
cloudRoot="$configRoot/rclone";
|
||||||
|
|
||||||
# Set Hostname
|
# Set Hostname
|
||||||
sudo hostnamectl set-hostname ManuSurface
|
sudo hostnamectl set-hostname ManuSurface;
|
||||||
|
|
||||||
# Preparation
|
# Preparation
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt upgrade -y
|
sudo apt upgrade -y;
|
||||||
sudo apt install dbus-x11
|
sudo apt install dbus-x11;
|
||||||
|
|
||||||
# Install gnome extensions
|
# Install gnome extensions
|
||||||
source "$configRoot/GnomeExtensions/install.sh"
|
source "$configRoot/GnomeExtensions/install.sh";
|
||||||
|
|
||||||
# Sync clouds
|
# Sync clouds
|
||||||
source "$softwareRoot/rclone/install.sh"
|
source "$softwareRoot/rclone/install.sh";
|
||||||
|
|
||||||
{
|
{
|
||||||
gnome-terminal --tab --wait -- /bin/bash -c "source '$cloudRoot/NextcloudSync/install.sh'"
|
gnome-terminal --tab --wait -- /bin/bash -c "source '$cloudRoot/NextcloudSync/install.sh'";
|
||||||
|
|
||||||
# Install fonts
|
# Install fonts
|
||||||
source "$configRoot/Fonts/NerdFont/install.sh"
|
source "$configRoot/Fonts/NerdFont/install.sh";
|
||||||
source "$softwareRoot/Oh My Posh/install.sh"
|
source "$softwareRoot/Oh My Posh/install.sh";
|
||||||
} &
|
} &
|
||||||
|
|
||||||
# Install surface-linux
|
# Install surface-linux
|
||||||
source "$deviceRoot/Surface/LinuxSurface/install.sh"
|
source "$deviceRoot/Surface/LinuxSurface/install.sh";
|
||||||
source "$deviceRoot/SurfaceBook2/Camera/install.sh"
|
source "$deviceRoot/SurfaceBook2/Camera/install.sh";
|
||||||
# source "$deviceRoot/SurfaceBook2/SecureBoot/install.sh"
|
# source "$deviceRoot/SurfaceBook2/SecureBoot/install.sh";
|
||||||
|
|
||||||
# Install Brave
|
# Install Brave
|
||||||
source "$softwareRoot/Brave/install-stable.sh"
|
source "$softwareRoot/Brave/install-stable.sh";
|
||||||
source "$softwareRoot/Brave/install-beta.sh"
|
source "$softwareRoot/Brave/install-beta.sh";
|
||||||
source "$softwareRoot/Brave/install-nightly.sh"
|
source "$softwareRoot/Brave/install-nightly.sh";
|
||||||
source "$softwareRoot/Brave/install-extensions.sh"
|
source "$softwareRoot/Brave/install-extensions.sh";
|
||||||
source "$softwareRoot/Google Chrome/install.sh"
|
source "$softwareRoot/Google Chrome/install.sh";
|
||||||
|
|
||||||
# Install further software
|
# Install further software
|
||||||
source "$softwareRoot/logo-ls/install.sh"
|
source "$softwareRoot/logo-ls/install.sh";
|
||||||
source "$softwareRoot/VSCodium/install.sh"
|
source "$softwareRoot/VSCodium/install.sh";
|
||||||
source "$softwareRoot/Visual Studio Code/install.sh"
|
source "$softwareRoot/Visual Studio Code/install.sh";
|
||||||
source "$softwareRoot/Node.js/install.sh"
|
source "$softwareRoot/Node.js/install.sh";
|
||||||
source "$softwareRoot/Java/install.sh"
|
source "$softwareRoot/Java/install.sh";
|
||||||
source "$softwareRoot/tea/install.sh"
|
source "$softwareRoot/tea/install.sh";
|
||||||
source "$softwareRoot/Godot/install.sh"
|
source "$softwareRoot/Godot/install.sh";
|
||||||
source "$softwareRoot/Virtual Machine Manager/install.sh"
|
source "$softwareRoot/Virtual Machine Manager/install.sh";
|
||||||
source "$softwareRoot/Woodpecker CLI/install.sh"
|
source "$softwareRoot/Woodpecker CLI/install.sh";
|
||||||
|
|
||||||
# Install other flatpaks
|
# Install other flatpaks
|
||||||
flatpak install -y flathub com.bitwarden.desktop
|
flatpak install -y flathub com.bitwarden.desktop;
|
||||||
flatpak install -y flathub com.github.xournalpp.xournalpp
|
flatpak install -y flathub com.github.xournalpp.xournalpp;
|
||||||
flatpak install -y flathub org.signal.Signal
|
flatpak install -y flathub org.signal.Signal;
|
||||||
flatpak install -y flathub com.usebottles.bottles
|
flatpak install -y flathub com.usebottles.bottles;
|
||||||
flatpak install -y flathub com.mattjakeman.ExtensionManager
|
flatpak install -y flathub com.mattjakeman.ExtensionManager;
|
||||||
flatpak install -y flathub com.github.wwmm.easyeffects
|
flatpak install -y flathub com.github.wwmm.easyeffects;
|
||||||
flatpak install -y flathub ch.threema.threema-web-desktop
|
flatpak install -y flathub ch.threema.threema-web-desktop;
|
||||||
flatpak install -y flathub app.ytmdesktop.ytmdesktop
|
flatpak install -y flathub app.ytmdesktop.ytmdesktop;
|
||||||
flatpak install -y flathub com.github.tchx84.Flatseal
|
flatpak install -y flathub com.github.tchx84.Flatseal;
|
||||||
|
|
||||||
# Microsoft Windows Fonts
|
# Microsoft Windows Fonts
|
||||||
source "$configRoot/Fonts/MicrosoftFonts/install.sh"
|
source "$configRoot/Fonts/MicrosoftFonts/install.sh";
|
||||||
|
|
||||||
# Install JetBrains Stuff
|
# Install JetBrains Stuff
|
||||||
source "$softwareRoot/JetBrains/install-toolbox.sh"
|
source "$softwareRoot/JetBrains/install-toolbox.sh";
|
||||||
|
|
||||||
# Install equalizer
|
# Install equalizer
|
||||||
source "$configRoot/EasyEffects/SurfaceBook2/install.sh"
|
source "$configRoot/EasyEffects/SurfaceBook2/install.sh";
|
||||||
|
|
||||||
# Git config
|
# Git config
|
||||||
git config --global user.name "Manuel Thalmann"
|
git config --global user.name "Manuel Thalmann";
|
||||||
git config --global user.email "m@nuth.ch"
|
git config --global user.email "m@nuth.ch";
|
||||||
|
|
||||||
# Install General Packages from APT
|
# Install General Packages from APT
|
||||||
source "$softwareRoot/common-apt/install.sh"
|
source "$softwareRoot/common-apt/install.sh";
|
||||||
|
|
||||||
# Troll Stuff
|
# Troll Stuff
|
||||||
source "$configRoot/git/git-auf-deutsch/install.sh"
|
source "$configRoot/git/git-auf-deutsch/install.sh";
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
cp ${BASH_SOURCE%/*}/*.json ~/.var/app/com.github.wwmm.easyeffects/config/easyeffects/output/
|
cp ${BASH_SOURCE%/*}/*.json ~/.var/app/com.github.wwmm.easyeffects/config/easyeffects/output/;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE" "$USER"
|
sudo bash "$BASH_SOURCE" "$USER";
|
||||||
else
|
else
|
||||||
apt install -y p7zip-full libgumbo-dev libfuse-dev libssl-dev libcurl4-openssl-dev uuid-dev;
|
apt install -y p7zip-full libgumbo-dev libfuse-dev libssl-dev libcurl4-openssl-dev uuid-dev;
|
||||||
workingDirectory="$(pwd)";
|
workingDirectory="$(pwd)";
|
||||||
|
@ -24,7 +24,7 @@ else
|
||||||
rm -f /usr/local/bin/httpdirfs;
|
rm -f /usr/local/bin/httpdirfs;
|
||||||
|
|
||||||
cd $tempDir;
|
cd $tempDir;
|
||||||
wget -O CascadiaCode.zip https://github.com/microsoft/cascadia-code/releases/download/v2111.01/CascadiaCode-2111.01.zip
|
wget -O CascadiaCode.zip https://github.com/microsoft/cascadia-code/releases/download/v2111.01/CascadiaCode-2111.01.zip;
|
||||||
unzip -d . CascadiaCode.zip;
|
unzip -d . CascadiaCode.zip;
|
||||||
cp ttf/* /usr/share/fonts/TTF;
|
cp ttf/* /usr/share/fonts/TTF;
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE" "$USER"
|
sudo bash "$BASH_SOURCE" "$USER";
|
||||||
else
|
else
|
||||||
homeDir=$(sudo -u $1 bash -c 'realpath ~')
|
homeDir=$(sudo -u $1 bash -c 'realpath ~');
|
||||||
fontFileBaseName="Caskaydia Cove Regular Nerd Font Complete.otf"
|
fontFileBaseName="Caskaydia Cove Regular Nerd Font Complete.otf";
|
||||||
tempFile=$(sudo -u $1 mktemp -d)/$fontFileBaseName
|
tempFile=$(sudo -u $1 mktemp -d)/$fontFileBaseName;
|
||||||
destination=/usr/share/font/opentype
|
destination=/usr/share/font/opentype;
|
||||||
|
|
||||||
sudo -u $1 cp "$homeDir/Nextcloud/Caskaydia Cove Regular Nerd Font Complete.otf" "$tempFile"
|
sudo -u $1 cp "$homeDir/Nextcloud/Caskaydia Cove Regular Nerd Font Complete.otf" "$tempFile";
|
||||||
cp "$tempFile" /usr/share/fonts/opentype
|
cp "$tempFile" /usr/share/fonts/opentype;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,34 +1,34 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
commandName=gnome-shell-extension-installer
|
commandName=gnome-shell-extension-installer;
|
||||||
extensionLocation=/usr/share/gnome-shell/extensions
|
extensionLocation=/usr/share/gnome-shell/extensions;
|
||||||
workingDirectory=$(pwd)
|
workingDirectory=$(pwd);
|
||||||
contextRoot=$(mktemp -d)
|
contextRoot=$(mktemp -d);
|
||||||
cd "$contextRoot"
|
cd "$contextRoot";
|
||||||
sudo apt install -y jq
|
sudo apt install -y jq;
|
||||||
|
|
||||||
wget -O "$commandName" "https://github.com/brunelli/gnome-shell-extension-installer/raw/master/gnome-shell-extension-installer"
|
wget -O "$commandName" "https://github.com/brunelli/gnome-shell-extension-installer/raw/master/gnome-shell-extension-installer";
|
||||||
sudo install "$commandName" /usr/local/bin
|
sudo install "$commandName" /usr/local/bin;
|
||||||
|
|
||||||
cd "$workingDirectory"
|
cd "$workingDirectory";
|
||||||
rm -rf "$contextRoot"
|
rm -rf "$contextRoot";
|
||||||
|
|
||||||
for id in 779 4907 1162
|
for id in 779 4907 1162
|
||||||
do
|
do
|
||||||
workingDirectory=$(pwd)
|
workingDirectory=$(pwd);
|
||||||
contextRoot=$(mktemp -d)
|
contextRoot=$(mktemp -d);
|
||||||
unzipLocation=$(mktemp -d)
|
unzipLocation=$(mktemp -d);
|
||||||
cd "$contextRoot"
|
cd "$contextRoot";
|
||||||
|
|
||||||
gnome-shell-extension-installer $id --no-install
|
gnome-shell-extension-installer $id --no-install;
|
||||||
sudo gnome-shell-extension-installer $id --yes
|
sudo gnome-shell-extension-installer $id --yes;
|
||||||
unzip ./*.zip -d "$unzipLocation"
|
unzip ./*.zip -d "$unzipLocation";
|
||||||
uuid=$(jq -r '.uuid' "$unzipLocation/metadata.json")
|
uuid=$(jq -r '.uuid' "$unzipLocation/metadata.json");
|
||||||
|
|
||||||
sudo chmod -R +r "$extensionLocation/$uuid"
|
sudo chmod -R +r "$extensionLocation/$uuid";
|
||||||
gnome-extensions enable "$uuid"
|
gnome-extensions enable "$uuid";
|
||||||
|
|
||||||
cd "$workingDirectory"
|
cd "$workingDirectory";
|
||||||
rm -rf "$contextRoot"
|
rm -rf "$contextRoot";
|
||||||
done
|
done
|
||||||
|
|
||||||
killall -SIGQUIT gnome-shell
|
killall -SIGQUIT gnome-shell;
|
||||||
|
|
|
@ -1,34 +1,34 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
git config --global alias.ahfange init
|
git config --global alias.ahfange init;
|
||||||
git config --global alias.tuedezue add
|
git config --global alias.tuedezue add;
|
||||||
git config --global alias.beschuldig blame
|
git config --global alias.beschuldig blame;
|
||||||
git config --global alias.zieh pull
|
git config --global alias.zieh pull;
|
||||||
git config --global alias.druck push
|
git config --global alias.druck push;
|
||||||
git config --global alias.machnah clone
|
git config --global alias.machnah clone;
|
||||||
git config --global alias.hol fetch
|
git config --global alias.hol fetch;
|
||||||
git config --global alias.zwiigab branch
|
git config --global alias.zwiigab branch;
|
||||||
git config --global alias.buechiih commit
|
git config --global alias.buechiih commit;
|
||||||
git config --global alias.eich rebase
|
git config --global alias.eich rebase;
|
||||||
git config --global alias.erd rebase
|
git config --global alias.erd rebase;
|
||||||
git config --global alias.gahufwiifelde rebase
|
git config --global alias.gahufwiifelde rebase;
|
||||||
git config --global alias.vergliich diff
|
git config --global alias.vergliich diff;
|
||||||
git config --global alias.tuezemme merge
|
git config --global alias.tuezemme merge;
|
||||||
git config --global alias.versorg stash
|
git config --global alias.versorg stash;
|
||||||
git config --global alias.markier tag
|
git config --global alias.markier tag;
|
||||||
git config --global alias.pflueckoepfel cherry-pick
|
git config --global alias.pflueckoepfel cherry-pick;
|
||||||
git config --global alias.pflueckhimbeeri cherry-pick
|
git config --global alias.pflueckhimbeeri cherry-pick;
|
||||||
git config --global alias.buechuus checkout
|
git config --global alias.buechuus checkout;
|
||||||
git config --global alias.quaetsch 'merge --squash'
|
git config --global alias.quaetsch 'merge --squash';
|
||||||
git config --global alias.pfudle 'push --force'
|
git config --global alias.pfudle 'push --force';
|
||||||
git config --global alias.beschuldigung blame
|
git config --global alias.beschuldigung blame;
|
||||||
git config --global alias.zwiigli branch
|
git config --global alias.zwiigli branch;
|
||||||
git config --global alias.tagebuech log
|
git config --global alias.tagebuech log;
|
||||||
git config --global alias.versteck stash
|
git config --global alias.versteck stash;
|
||||||
git config --global alias.zuestand status
|
git config --global alias.zuestand status;
|
||||||
git config --global alias.markierig tag
|
git config --global alias.markierig tag;
|
||||||
|
|
||||||
{
|
{
|
||||||
echo ""
|
echo "";
|
||||||
echo "# Git auf Thurgauerisch"
|
echo "# Git auf Thurgauerisch";
|
||||||
echo "alias totsch='git'"
|
echo "alias totsch='git'";
|
||||||
} >> ~/.bashrc
|
} >> ~/.bashrc;
|
||||||
|
|
|
@ -8,6 +8,6 @@ rclone config;
|
||||||
|
|
||||||
mkdir -p ~/$dirname;
|
mkdir -p ~/$dirname;
|
||||||
|
|
||||||
systemctl --user enable $serviceName
|
systemctl --user enable $serviceName;
|
||||||
systemctl --user daemon-reload
|
systemctl --user daemon-reload;
|
||||||
systemctl --user start $serviceName
|
systemctl --user start $serviceName;
|
||||||
|
|
|
@ -2,21 +2,21 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE"
|
sudo bash "$BASH_SOURCE";
|
||||||
else
|
else
|
||||||
wget -qO - https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc \
|
wget -qO - https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc \
|
||||||
| gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/linux-surface.gpg
|
| gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/linux-surface.gpg;
|
||||||
|
|
||||||
echo "deb [arch=amd64] https://pkg.surfacelinux.com/debian release main" \
|
echo "deb [arch=amd64] https://pkg.surfacelinux.com/debian release main" \
|
||||||
| sudo tee /etc/apt/sources.list.d/linux-surface.list
|
| sudo tee /etc/apt/sources.list.d/linux-surface.list;
|
||||||
|
|
||||||
apt update
|
apt update;
|
||||||
apt install -y linux-image-surface linux-headers-surface iptsd libwacom-surface
|
apt install -y linux-image-surface linux-headers-surface iptsd libwacom-surface;
|
||||||
systemctl enable iptsd
|
systemctl enable iptsd;
|
||||||
|
|
||||||
# Install DTX
|
# Install DTX
|
||||||
package=$(mktemp)
|
package=$(mktemp);
|
||||||
wget https://github.com/linux-surface/surface-dtx-daemon/releases/download/v0.3.3-2/surface-dtx-daemon_0.3.3-2_amd64.deb -O $package
|
wget https://github.com/linux-surface/surface-dtx-daemon/releases/download/v0.3.3-2/surface-dtx-daemon_0.3.3-2_amd64.deb -O $package;
|
||||||
dpkg -i $package
|
dpkg -i $package;
|
||||||
rm -f $package
|
rm -f $package;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
workingDirectory="$(pwd)"
|
workingDirectory="$(pwd)";
|
||||||
contextRoot="$(mktemp -d)"
|
contextRoot="$(mktemp -d)";
|
||||||
cd "$contextRoot"
|
cd "$contextRoot";
|
||||||
|
|
||||||
sudo apt install -y \
|
sudo apt install -y \
|
||||||
build-essential meson ninja-build pkg-config libgnutls28-dev openssl \
|
build-essential meson ninja-build pkg-config libgnutls28-dev openssl \
|
||||||
python3-pip python3-yaml python3-ply python3-jinja2 \
|
python3-pip python3-yaml python3-ply python3-jinja2 \
|
||||||
qtbase5-dev libqt5core5a libqt5gui5 libqt5widgets5 qttools5-dev-tools \
|
qtbase5-dev libqt5core5a libqt5gui5 libqt5widgets5 qttools5-dev-tools \
|
||||||
libtiff-dev libevent-dev libyaml-dev \
|
libtiff-dev libevent-dev libyaml-dev \
|
||||||
gstreamer1.0-tools libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
|
gstreamer1.0-tools libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev;
|
||||||
|
|
||||||
git clone https://git.libcamera.org/libcamera/libcamera.git
|
git clone https://git.libcamera.org/libcamera/libcamera.git;
|
||||||
cd libcamera
|
cd libcamera;
|
||||||
meson build -Dpipelines=uvcvideo,vimc,ipu3 -Dipas=vimc,ipu3 -Dprefix=/usr -Dgstreamer=enabled
|
meson build -Dpipelines=uvcvideo,vimc,ipu3 -Dipas=vimc,ipu3 -Dprefix=/usr -Dgstreamer=enabled;
|
||||||
ninja -C build
|
ninja -C build;
|
||||||
sudo ninja -C build install
|
sudo ninja -C build install;
|
||||||
|
|
||||||
cd "$workingDirectory"
|
cd "$workingDirectory";
|
||||||
rm -rf "$contextRoot"
|
rm -rf "$contextRoot";
|
||||||
|
|
|
@ -1,94 +1,94 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
scriptRoot=$(realpath "${BASH_SOURCE%/*}")
|
scriptRoot=$(realpath "${BASH_SOURCE%/*}");
|
||||||
|
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE"
|
sudo bash "$BASH_SOURCE";
|
||||||
bash "$scriptRoot/sign-modules.sh"
|
bash "$scriptRoot/sign-modules.sh";
|
||||||
else
|
else
|
||||||
# Create context directory
|
# Create context directory
|
||||||
workingDirectory="$(pwd)"
|
workingDirectory="$(pwd)";
|
||||||
contextRoot="$(mktemp -d)"
|
contextRoot="$(mktemp -d)";
|
||||||
packageName="shim.rpm"
|
packageName="shim.rpm";
|
||||||
cd "$contextRoot"
|
cd "$contextRoot";
|
||||||
|
|
||||||
# Install Prerequisites
|
# Install Prerequisites
|
||||||
apt install -y wget rpm2cpio efitools
|
apt install -y wget rpm2cpio efitools;
|
||||||
|
|
||||||
# Download and Extract Package
|
# Download and Extract Package
|
||||||
wget https://kojipkgs.fedoraproject.org/packages/shim/15.6/2/x86_64/shim-x64-15.6-2.x86_64.rpm -O "$packageName"
|
wget https://kojipkgs.fedoraproject.org/packages/shim/15.6/2/x86_64/shim-x64-15.6-2.x86_64.rpm -O "$packageName";
|
||||||
rpm2archive "$packageName"
|
rpm2archive "$packageName";
|
||||||
tar -xvzf "$packageName.tgz"
|
tar -xvzf "$packageName.tgz";
|
||||||
rm -f "$packageName" "$packageName.tgz"
|
rm -f "$packageName" "$packageName.tgz";
|
||||||
|
|
||||||
# Initialize variables
|
# Initialize variables
|
||||||
src="./boot/efi/EFI/fedora"
|
src="./boot/efi/EFI/fedora";
|
||||||
esp=/boot/efi
|
esp=/boot/efi;
|
||||||
defaultBootDir=$esp/EFI/BOOT
|
defaultBootDir=$esp/EFI/BOOT;
|
||||||
microsoftBootDir=$esp/EFI/Microsoft/Boot
|
microsoftBootDir=$esp/EFI/Microsoft/Boot;
|
||||||
|
|
||||||
systemdDirName=/EFI/systemd
|
systemdDirName=/EFI/systemd;
|
||||||
systemdFullName=$esp$systemdDirName
|
systemdFullName=$esp$systemdDirName;
|
||||||
systemdFile=$systemdFullName/systemd-bootx64.efi
|
systemdFile=$systemdFullName/systemd-bootx64.efi;
|
||||||
bootFile=$defaultBootDir/grubx64.efi
|
bootFile=$defaultBootDir/grubx64.efi;
|
||||||
|
|
||||||
# Set up files
|
# Set up files
|
||||||
cp $systemdFile $bootFile
|
cp $systemdFile $bootFile;
|
||||||
cp "$src/shimx64.efi" $defaultBootDir/BOOTx64.efi
|
cp "$src/shimx64.efi" $defaultBootDir/BOOTx64.efi;
|
||||||
cp "$src/mmx64.efi" $defaultBootDir
|
cp "$src/mmx64.efi" $defaultBootDir;
|
||||||
cp /usr/lib/efitools/x86_64-linux-gnu/KeyTool.efi /boot/efi/EFI/systemd/
|
cp /usr/lib/efitools/x86_64-linux-gnu/KeyTool.efi /boot/efi/EFI/systemd/;
|
||||||
wget https://github.com/tianocore/edk2-archive/raw/master/ShellBinPkg/UefiShell/X64/Shell.efi -O "$systemdFullName/Shell.efi"
|
wget https://github.com/tianocore/edk2-archive/raw/master/ShellBinPkg/UefiShell/X64/Shell.efi -O "$systemdFullName/Shell.efi";
|
||||||
|
|
||||||
{
|
{
|
||||||
echo "sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md"
|
echo "sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md";
|
||||||
echo "systemd-boot,1,systemd,systemd-boot,1,https://systemd.io"
|
echo "systemd-boot,1,systemd,systemd-boot,1,https://systemd.io";
|
||||||
} > sbat.csv
|
} > sbat.csv;
|
||||||
|
|
||||||
# No idea where the `10000000` comes from...
|
# No idea where the `10000000` comes from...
|
||||||
# Taken from https://github.com/rhboot/shim/issues/376#issuecomment-964137621
|
# Taken from https://github.com/rhboot/shim/issues/376#issuecomment-964137621
|
||||||
objcopy --set-section-alignment '.sbat=512' --add-section .sbat=sbat.csv --change-section-address .sbat+10000000 "$bootFile"
|
objcopy --set-section-alignment '.sbat=512' --add-section .sbat=sbat.csv --change-section-address .sbat+10000000 "$bootFile";
|
||||||
|
|
||||||
# Add boot entries
|
# Add boot entries
|
||||||
efibootmgr --unicode --disk /dev/nvme0n1 --part 0 --create --label "Shim" --loader /EFI/BOOT/BOOTx64.efi
|
efibootmgr --unicode --disk /dev/nvme0n1 --part 0 --create --label "Shim" --loader /EFI/BOOT/BOOTx64.efi;
|
||||||
|
|
||||||
# Configure systemd-boot
|
# Configure systemd-boot
|
||||||
{
|
{
|
||||||
echo "timeout 4"
|
echo "timeout 4";
|
||||||
} >> /boot/efi/loader/loader.conf
|
} >> /boot/efi/loader/loader.conf;
|
||||||
|
|
||||||
{
|
{
|
||||||
echo "title MokManager"
|
echo "title MokManager";
|
||||||
echo "efi /EFI/BOOT/mmx64.efi"
|
echo "efi /EFI/BOOT/mmx64.efi";
|
||||||
} > /boot/efi/loader/entries/MokManager.conf
|
} > /boot/efi/loader/entries/MokManager.conf;
|
||||||
|
|
||||||
{
|
{
|
||||||
echo "title KeyTool"
|
echo "title KeyTool";
|
||||||
echo "efi /EFI/systemd/KeyTool.efi"
|
echo "efi /EFI/systemd/KeyTool.efi";
|
||||||
} > /boot/efi/loader/entries/KeyTool.conf
|
} > /boot/efi/loader/entries/KeyTool.conf;
|
||||||
|
|
||||||
{
|
{
|
||||||
echo "title UEFI Shell"
|
echo "title UEFI Shell";
|
||||||
echo "efi /EFI/systemd/Shell.efi"
|
echo "efi /EFI/systemd/Shell.efi";
|
||||||
} > /boot/efi/loader/entries/Shell.conf
|
} > /boot/efi/loader/entries/Shell.conf:
|
||||||
|
|
||||||
# Install surface MOK
|
# Install surface MOK
|
||||||
apt install -y linux-surface-secureboot-mok
|
apt install -y linux-surface-secureboot-mok;
|
||||||
|
|
||||||
# Install MOK Key
|
# Install MOK Key
|
||||||
keyDir="/var/lib/shim-signed/mok"
|
keyDir="/var/lib/shim-signed/mok";
|
||||||
mkdir -p "$keyDir"
|
mkdir -p "$keyDir";
|
||||||
cp "$scriptRoot/openssl.cnf" "$keyDir/openssl.cnf"
|
cp "$scriptRoot/openssl.cnf" "$keyDir/openssl.cnf";
|
||||||
|
|
||||||
openssl req -config "$keyDir/openssl.cnf" \
|
openssl req -config "$keyDir/openssl.cnf" \
|
||||||
-new -x509 -newkey rsa:2048 \
|
-new -x509 -newkey rsa:2048 \
|
||||||
-nodes -days 36500 -outform DER \
|
-nodes -days 36500 -outform DER \
|
||||||
-keyout "$keyDir/MOK.priv" \
|
-keyout "$keyDir/MOK.priv" \
|
||||||
-out "$keyDir/MOK.der"
|
-out "$keyDir/MOK.der";
|
||||||
|
|
||||||
mokutil --import "$keyDir/MOK.der"
|
mokutil --import "$keyDir/MOK.der";
|
||||||
|
|
||||||
# Remove context directory
|
# Remove context directory
|
||||||
cd $workingDirectory
|
cd $workingDirectory;
|
||||||
rm -rf $contextRoot
|
rm -rf $contextRoot;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE"
|
sudo bash "$BASH_SOURCE";
|
||||||
else
|
else
|
||||||
keyDir="/var/lib/shim-signed/mok"
|
keyDir="/var/lib/shim-signed/mok";
|
||||||
keyFile="$keyDir/MOK.priv"
|
keyFile="$keyDir/MOK.priv";
|
||||||
pubFile="$keyDir/MOK.der"
|
pubFile="$keyDir/MOK.der";
|
||||||
|
|
||||||
for file in $(find /lib/modules /var/lib/dkms -name *.ko);
|
for file in $(find /lib/modules /var/lib/dkms -name *.ko);
|
||||||
do
|
do
|
||||||
kmodsign sha512 $keyFile $pubFile $file
|
kmodsign sha512 $keyFile $pubFile $file;
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -2,18 +2,18 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE"
|
sudo bash "$BASH_SOURCE";
|
||||||
else
|
else
|
||||||
# Prepare
|
# Prepare
|
||||||
apt install -y wget unzip jq apt-transport-https curl
|
apt install -y wget unzip jq apt-transport-https curl;
|
||||||
curl -fsSLo /usr/share/keyrings/brave-browser-beta-archive-keyring.gpg https://brave-browser-apt-beta.s3.brave.com/brave-browser-beta-archive-keyring.gpg
|
curl -fsSLo /usr/share/keyrings/brave-browser-beta-archive-keyring.gpg https://brave-browser-apt-beta.s3.brave.com/brave-browser-beta-archive-keyring.gpg;
|
||||||
echo "deb [signed-by=/usr/share/keyrings/brave-browser-beta-archive-keyring.gpg arch=amd64] https://brave-browser-apt-beta.s3.brave.com/ stable main" \
|
echo "deb [signed-by=/usr/share/keyrings/brave-browser-beta-archive-keyring.gpg arch=amd64] https://brave-browser-apt-beta.s3.brave.com/ stable main" \
|
||||||
| sudo tee /etc/apt/sources.list.d/brave-browser-beta.list
|
| sudo tee /etc/apt/sources.list.d/brave-browser-beta.list;
|
||||||
|
|
||||||
# Install Brave Beta
|
# Install Brave Beta
|
||||||
apt update
|
apt update;
|
||||||
apt install -y brave-browser-beta
|
apt install -y brave-browser-beta;
|
||||||
|
|
||||||
# Add pre-installed extensions
|
# Add pre-installed extensions
|
||||||
sudo ln -s /opt/brave.com/brave/extensions /opt/brave.com/brave-beta/extensions
|
sudo ln -s /opt/brave.com/brave/extensions /opt/brave.com/brave-beta/extensions;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -2,49 +2,49 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE" "$USER"
|
sudo bash "$BASH_SOURCE" "$USER";
|
||||||
else
|
else
|
||||||
# Download and extract `youtube-music-dl`
|
# Download and extract `youtube-music-dl`
|
||||||
archiveName=$(sudo -u $1 mktemp)
|
archiveName=$(sudo -u $1 mktemp);
|
||||||
sudo -u $1 wget https://github.com/dougppaz/youtube-music-dl/releases/download/v1.2.1/youtube-music-dl.zip -O $archiveName
|
sudo -u $1 wget https://github.com/dougppaz/youtube-music-dl/releases/download/v1.2.1/youtube-music-dl.zip -O $archiveName;
|
||||||
extensionName=youtube-music-dl
|
extensionName=youtube-music-dl;
|
||||||
|
|
||||||
contextRoot=$(sudo -u $1 mktemp -d)
|
contextRoot=$(sudo -u $1 mktemp -d);
|
||||||
extensionDir=$contextRoot/$extensionName
|
extensionDir=$contextRoot/$extensionName;
|
||||||
keyFile=$extensionDir.pem
|
keyFile=$extensionDir.pem;
|
||||||
extensionFile=$extensionDir.crx
|
extensionFile=$extensionDir.crx;
|
||||||
manifestFile=$extensionDir/manifest.json
|
manifestFile=$extensionDir/manifest.json;
|
||||||
|
|
||||||
extensionRoot=/usr/share/brave-extensions
|
extensionRoot=/usr/share/brave-extensions;
|
||||||
destination=$extensionRoot/$extensionName.crx
|
destination=$extensionRoot/$extensionName.crx;
|
||||||
|
|
||||||
# Prepare extension
|
# Prepare extension
|
||||||
mkdir -p $extensionRoot
|
mkdir -p $extensionRoot;
|
||||||
sudo -u $1 unzip $archiveName -d $extensionDir
|
sudo -u $1 unzip $archiveName -d $extensionDir;
|
||||||
sudo -u $1 brave-browser --pack-extension=$extensionDir
|
sudo -u $1 brave-browser --pack-extension=$extensionDir;
|
||||||
rm $archiveName
|
rm $archiveName;
|
||||||
|
|
||||||
# Tamper manifest file
|
# Tamper manifest file
|
||||||
manifest="$(cat $manifestFile | jq ". + {key: "'"'"$(openssl rsa -in $keyFile -pubout -outform DER | openssl base64 -A)"'"'"}")"
|
manifest="$(cat $manifestFile | jq ". + {key: "'"'"$(openssl rsa -in $keyFile -pubout -outform DER | openssl base64 -A)"'"'"}")";
|
||||||
manifest="$(echo $manifest | jq ".background.persistent = false")"
|
manifest="$(echo $manifest | jq ".background.persistent = false")";
|
||||||
echo $manifest | sudo -u $1 tee $manifestFile
|
echo $manifest | sudo -u $1 tee $manifestFile;
|
||||||
|
|
||||||
# Pack extension
|
# Pack extension
|
||||||
extensionID=$(openssl rsa -in $keyFile -pubout -outform DER | sha256sum | head -c32 | tr 0-9a-f a-p)
|
extensionID=$(openssl rsa -in $keyFile -pubout -outform DER | sha256sum | head -c32 | tr 0-9a-f a-p);
|
||||||
extensionVersion=$(cat $manifestFile | jq -r '.version')
|
extensionVersion=$(cat $manifestFile | jq -r '.version');
|
||||||
sudo -u $1 brave-browser --pack-extension=$extensionDir --pack-extension-key=$keyFile
|
sudo -u $1 brave-browser --pack-extension=$extensionDir --pack-extension-key=$keyFile;
|
||||||
|
|
||||||
# Install extension and preinstall it
|
# Install extension and preinstall it
|
||||||
cp $extensionFile $extensionRoot
|
cp $extensionFile $extensionRoot;
|
||||||
configRoot=/opt/brave.com/brave/extensions/
|
configRoot=/opt/brave.com/brave/extensions/;
|
||||||
rm -rf $contextRoot
|
rm -rf $contextRoot;
|
||||||
chmod -R a+rx $extensionRoot
|
chmod -R a+rx $extensionRoot;
|
||||||
chmod -R u+w $extensionRoot
|
chmod -R u+w $extensionRoot;
|
||||||
mkdir -p $configRoot
|
mkdir -p $configRoot;
|
||||||
{
|
{
|
||||||
echo "{"
|
echo "{";
|
||||||
echo ' "external_crx": "'"$destination"'",'
|
echo ' "external_crx": "'"$destination"'",';
|
||||||
echo ' "external_version": "'"$extensionVersion"'"'
|
echo ' "external_version": "'"$extensionVersion"'"';
|
||||||
echo "}"
|
echo "}";
|
||||||
} | tee $configRoot/$extensionID.json
|
} | tee $configRoot/$extensionID.json;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -2,18 +2,18 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE"
|
sudo bash "$BASH_SOURCE";
|
||||||
else
|
else
|
||||||
# Prepare
|
# Prepare
|
||||||
apt install -y wget unzip jq apt-transport-https curl
|
apt install -y wget unzip jq apt-transport-https curl;
|
||||||
curl -fsSLo /usr/share/keyrings/brave-browser-nightly-archive-keyring.gpg https://brave-browser-apt-nightly.s3.brave.com/brave-browser-nightly-archive-keyring.gpg
|
curl -fsSLo /usr/share/keyrings/brave-browser-nightly-archive-keyring.gpg https://brave-browser-apt-nightly.s3.brave.com/brave-browser-nightly-archive-keyring.gpg;
|
||||||
echo "deb [signed-by=/usr/share/keyrings/brave-browser-nightly-archive-keyring.gpg arch=amd64] https://brave-browser-apt-nightly.s3.brave.com/ stable main" \
|
echo "deb [signed-by=/usr/share/keyrings/brave-browser-nightly-archive-keyring.gpg arch=amd64] https://brave-browser-apt-nightly.s3.brave.com/ stable main" \
|
||||||
| sudo tee /etc/apt/sources.list.d/brave-browser-nightly.list
|
| sudo tee /etc/apt/sources.list.d/brave-browser-nightly.list;
|
||||||
|
|
||||||
# Install Brave Nightly
|
# Install Brave Nightly
|
||||||
apt update
|
apt update;
|
||||||
apt install -y brave-browser-nightly
|
apt install -y brave-browser-nightly;
|
||||||
|
|
||||||
# Add pre-installed extensions
|
# Add pre-installed extensions
|
||||||
sudo ln -s /opt/brave.com/brave/extensions /opt/brave.com/brave-nightly/extensions
|
sudo ln -s /opt/brave.com/brave/extensions /opt/brave.com/brave-nightly/extensions;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -2,15 +2,15 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE"
|
sudo bash "$BASH_SOURCE";
|
||||||
else
|
else
|
||||||
# Prepare
|
# Prepare
|
||||||
apt install -y wget unzip jq apt-transport-https curl
|
apt install -y wget unzip jq apt-transport-https curl;
|
||||||
curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
|
curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg;
|
||||||
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main" \
|
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main" \
|
||||||
| tee /etc/apt/sources.list.d/brave-browser-release.list
|
| tee /etc/apt/sources.list.d/brave-browser-release.list;
|
||||||
|
|
||||||
# Install Brave
|
# Install Brave
|
||||||
apt update
|
apt update;
|
||||||
apt install -y brave-browser
|
apt install -y brave-browser;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -2,35 +2,35 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE" "$USER"
|
sudo bash "$BASH_SOURCE" "$USER";
|
||||||
else
|
else
|
||||||
tempDir="$(mktemp -d)"
|
tempDir="$(mktemp -d)";
|
||||||
archiveName="$(mktemp)"
|
archiveName="$(mktemp)";
|
||||||
destination="/var/lib/godot"
|
destination="/var/lib/godot";
|
||||||
|
|
||||||
if [ -d "$destination" ]; then
|
if [ -d "$destination" ]; then
|
||||||
rm -rf "$destination"
|
rm -rf "$destination";
|
||||||
fi
|
fi
|
||||||
|
|
||||||
wget https://github.com/godotengine/godot/releases/download/3.5.1-stable/Godot_v3.5.1-stable_mono_x11_64.zip -O "$archiveName"
|
wget https://github.com/godotengine/godot/releases/download/3.5.1-stable/Godot_v3.5.1-stable_mono_x11_64.zip -O "$archiveName";
|
||||||
unzip "$archiveName" -d "$tempDir"
|
unzip "$archiveName" -d "$tempDir";
|
||||||
mkdir -p "$destination"
|
mkdir -p "$destination";
|
||||||
mv "$tempDir"/*/* "$destination"
|
mv "$tempDir"/*/* "$destination";
|
||||||
wget https://github.com/godotengine/godot/raw/3.5.1-stable/icon.svg -O "$destination/icon.svg"
|
wget https://github.com/godotengine/godot/raw/3.5.1-stable/icon.svg -O "$destination/icon.svg";
|
||||||
|
|
||||||
rm -rf "$tempDir"
|
rm -rf "$tempDir";
|
||||||
rm -f "$archiveName"
|
rm -f "$archiveName";
|
||||||
|
|
||||||
exeFile="$(find "$destination" -maxdepth 1 -perm -111 -type f)"
|
exeFile="$(find "$destination" -maxdepth 1 -perm -111 -type f)";
|
||||||
ln -s "$exeFile" /usr/local/bin/godot
|
ln -s "$exeFile" /usr/local/bin/godot;
|
||||||
|
|
||||||
{
|
{
|
||||||
echo "[Desktop Entry]"
|
echo "[Desktop Entry]";
|
||||||
echo "Encoding=UTF-8"
|
echo "Encoding=UTF-8";
|
||||||
echo "Type=Application"
|
echo "Type=Application";
|
||||||
echo "Terminal=false"
|
echo "Terminal=false";
|
||||||
echo "Exec=$exeFile"
|
echo "Exec=$exeFile";
|
||||||
echo "Name=Godot Engine"
|
echo "Name=Godot Engine";
|
||||||
echo "Icon=$destination/icon.svg"
|
echo "Icon=$destination/icon.svg";
|
||||||
} > /usr/share/applications/godot.desktop
|
} > /usr/share/applications/godot.desktop;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE"
|
sudo bash "$BASH_SOURCE";
|
||||||
else
|
else
|
||||||
wget https://dl-ssl.google.com/linux/linux_signing_key.pub -O /tmp/google.pub
|
wget https://dl-ssl.google.com/linux/linux_signing_key.pub -O /tmp/google.pub;
|
||||||
gpg --no-default-keyring --keyring /etc/apt/keyrings/google-chrome.gpg --import /tmp/google.pub
|
gpg --no-default-keyring --keyring /etc/apt/keyrings/google-chrome.gpg --import /tmp/google.pub;
|
||||||
|
|
||||||
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main' \
|
echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main' \
|
||||||
| sudo tee /etc/apt/sources.list.d/google-chrome.list
|
| sudo tee /etc/apt/sources.list.d/google-chrome.list;
|
||||||
|
|
||||||
apt update
|
apt update;
|
||||||
apt install -y google-chrome-stable
|
apt install -y google-chrome-stable;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -2,20 +2,20 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE"
|
sudo bash "$BASH_SOURCE";
|
||||||
curl -s "https://get.sdkman.io" | bash
|
curl -s "https://get.sdkman.io" | bash;
|
||||||
source "$HOME/.sdkman/bin/sdkman-init.sh"
|
source "$HOME/.sdkman/bin/sdkman-init.sh";
|
||||||
sdk install gradle 7.5.1
|
sdk install gradle 7.5.1;
|
||||||
else
|
else
|
||||||
apt install -y wget apt-transport-https
|
apt install -y wget apt-transport-https;
|
||||||
mkdir -p /etc/apt/keyrings
|
mkdir -p /etc/apt/keyrings;
|
||||||
|
|
||||||
wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public \
|
wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public \
|
||||||
| tee /etc/apt/keyrings/adoptium.asc
|
| tee /etc/apt/keyrings/adoptium.asc;
|
||||||
|
|
||||||
echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" \
|
echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" \
|
||||||
| tee /etc/apt/sources.list.d/adoptium.list
|
| tee /etc/apt/sources.list.d/adoptium.list;
|
||||||
|
|
||||||
apt update
|
apt update;
|
||||||
apt install -y temurin-17-jdk
|
apt install -y temurin-17-jdk;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -2,24 +2,24 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE"
|
sudo bash "$BASH_SOURCE";
|
||||||
else
|
else
|
||||||
workingDirectory=$(pwd)
|
workingDirectory=$(pwd);
|
||||||
contextRoot=$(mktemp -d)
|
contextRoot=$(mktemp -d);
|
||||||
cd $contextRoot
|
cd $contextRoot;
|
||||||
|
|
||||||
curl -fsSL https://raw.githubusercontent.com/nagygergo/jetbrains-toolbox-install/1.1/jetbrains-toolbox.sh \
|
curl -fsSL https://raw.githubusercontent.com/nagygergo/jetbrains-toolbox-install/1.1/jetbrains-toolbox.sh \
|
||||||
| bash
|
| bash;
|
||||||
|
|
||||||
cd $workingDirectory
|
cd $workingDirectory;
|
||||||
rm -rf $contextRoot
|
rm -rf $contextRoot;
|
||||||
|
|
||||||
{
|
{
|
||||||
echo "[Desktop Entry]"
|
echo "[Desktop Entry]";
|
||||||
echo "Encoding=UTF-8"
|
echo "Encoding=UTF-8";
|
||||||
echo "Type=Application"
|
echo "Type=Application";
|
||||||
echo "Terminal=false"
|
echo "Terminal=false";
|
||||||
echo "Exec=/opt/jetbrains-toolbox/jetbrains-toolbox"
|
echo "Exec=/opt/jetbrains-toolbox/jetbrains-toolbox";
|
||||||
echo "Name=JetBrains Toolbox"
|
echo "Name=JetBrains Toolbox";
|
||||||
} > /usr/share/applications/jetbrains-toolbox.desktop
|
} > /usr/share/applications/jetbrains-toolbox.desktop;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
export NVS_HOME="$HOME/.nvs"
|
export NVS_HOME="$HOME/.nvs";
|
||||||
git clone https://github.com/jasongin/nvs "$NVS_HOME"
|
git clone https://github.com/jasongin/nvs "$NVS_HOME";
|
||||||
. "$NVS_HOME/nvs.sh" install
|
. "$NVS_HOME/nvs.sh" install;
|
||||||
|
|
|
@ -2,24 +2,24 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE" "$USER"
|
sudo bash "$BASH_SOURCE" "$USER";
|
||||||
else
|
else
|
||||||
bin=oh-my-posh
|
bin=oh-my-posh;
|
||||||
workingDirectory=$(pwd)
|
workingDirectory=$(pwd);
|
||||||
contextRoot=$(mktemp -d)
|
contextRoot=$(mktemp -d);
|
||||||
cd $contextRoot
|
cd $contextRoot;
|
||||||
|
|
||||||
wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-amd64 -O $bin
|
wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-amd64 -O $bin;
|
||||||
install $bin /usr/local/bin
|
install $bin /usr/local/bin;
|
||||||
|
|
||||||
cd $workingDirectory
|
cd $workingDirectory;
|
||||||
rm -rf $contextRoot
|
rm -rf $contextRoot;
|
||||||
|
|
||||||
homeDir=$(sudo -u $1 bash -c 'realpath ~')
|
homeDir=$(sudo -u $1 bash -c 'realpath ~');
|
||||||
|
|
||||||
sudo -u $1 mkdir -p $homeDir/.omp
|
sudo -u $1 mkdir -p $homeDir/.omp;
|
||||||
sudo -u $1 cp $homeDir/Nextcloud/.omp/manuel.omp.json $homeDir/.omp/manuel.omp.json
|
sudo -u $1 cp $homeDir/Nextcloud/.omp/manuel.omp.json $homeDir/.omp/manuel.omp.json;
|
||||||
|
|
||||||
echo 'eval "$(oh-my-posh init bash --config ~/.omp/manuel.omp.json)"' \
|
echo 'eval "$(oh-my-posh init bash --config ~/.omp/manuel.omp.json)"' \
|
||||||
| sudo -u $1 tee -a $homeDir/.bashrc
|
| sudo -u $1 tee -a $homeDir/.bashrc;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
curl https://pyenv.run | bash
|
curl https://pyenv.run | bash;
|
||||||
{
|
{
|
||||||
echo ""
|
echo "";
|
||||||
echo "# pyenv"
|
echo "# pyenv";
|
||||||
echo 'export PYENV_ROOT="$HOME/.pyenv"'
|
echo 'export PYENV_ROOT="$HOME/.pyenv"';
|
||||||
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"'
|
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"';
|
||||||
echo 'eval "$(pyenv init -)"'
|
echo 'eval "$(pyenv init -)"';
|
||||||
echo 'eval "$(pyenv virtualenv-init -)"'
|
echo 'eval "$(pyenv virtualenv-init -)"';
|
||||||
} >> ~/.bashrc
|
} >> ~/.bashrc;
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE"
|
sudo bash "$BASH_SOURCE";
|
||||||
else
|
else
|
||||||
apt install -y python3 python-is-python3 python3-pip
|
apt install -y python3 python-is-python3 python3-pip;
|
||||||
pip install pipenv
|
pip install pipenv;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -2,15 +2,15 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE"
|
sudo bash "$BASH_SOURCE";
|
||||||
else
|
else
|
||||||
wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg \
|
wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg \
|
||||||
| gpg --dearmor \
|
| gpg --dearmor \
|
||||||
| dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg
|
| dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg;
|
||||||
|
|
||||||
echo 'deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg ] https://download.vscodium.com/debs vscodium main' \
|
echo 'deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg ] https://download.vscodium.com/debs vscodium main' \
|
||||||
| tee /etc/apt/sources.list.d/vscodium.list
|
| tee /etc/apt/sources.list.d/vscodium.list;
|
||||||
|
|
||||||
apt update
|
apt update;
|
||||||
apt install -y codium
|
apt install -y codium;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
sudo apt install -y swtpm swtpm-tools libvirt-daemon-system virt-manager
|
sudo apt install -y swtpm swtpm-tools libvirt-daemon-system virt-manager;
|
||||||
|
|
|
@ -2,21 +2,21 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE"
|
sudo bash "$BASH_SOURCE";
|
||||||
else
|
else
|
||||||
apt install -y wget gpg
|
apt install -y wget gpg;
|
||||||
keyFile=$(mktemp)
|
keyFile=$(mktemp);
|
||||||
|
|
||||||
wget -qO- https://packages.microsoft.com/keys/microsoft.asc \
|
wget -qO- https://packages.microsoft.com/keys/microsoft.asc \
|
||||||
| gpg --dearmor > $keyFile
|
| gpg --dearmor > $keyFile;
|
||||||
|
|
||||||
install -D -o root -g root -m 644 $keyFile /etc/apt/keyrings/packages.microsoft.gpg
|
install -D -o root -g root -m 644 $keyFile /etc/apt/keyrings/packages.microsoft.gpg;
|
||||||
|
|
||||||
echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" \
|
echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" \
|
||||||
| tee /etc/apt/sources.list.d/vscode.list
|
| tee /etc/apt/sources.list.d/vscode.list;
|
||||||
|
|
||||||
rm -f $keyFile
|
rm -f $keyFile;
|
||||||
|
|
||||||
apt update
|
apt update;
|
||||||
apt install -y code
|
apt install -y code;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE"
|
sudo bash "$BASH_SOURCE";
|
||||||
else
|
else
|
||||||
workingDirectory=$(pwd)
|
workingDirectory=$(pwd);
|
||||||
contextRoot=$(mktemp -d)
|
contextRoot=$(mktemp -d);
|
||||||
cd $contextRoot
|
cd $contextRoot;
|
||||||
|
|
||||||
# Preview from docker container
|
# Preview from docker container
|
||||||
# container_id="$(docker create woodpeckerci/woodpecker-cli:next)"
|
# container_id="$(docker create woodpeckerci/woodpecker-cli:next)"
|
||||||
|
@ -14,11 +14,11 @@ else
|
||||||
|
|
||||||
# Latest from GitHub
|
# Latest from GitHub
|
||||||
wget https://github.com/woodpecker-ci/woodpecker/releases/download/v0.15.5/woodpecker-cli_linux_amd64.tar.gz \
|
wget https://github.com/woodpecker-ci/woodpecker/releases/download/v0.15.5/woodpecker-cli_linux_amd64.tar.gz \
|
||||||
-O woodpecker-cli.tar.gz
|
-O woodpecker-cli.tar.gz;
|
||||||
|
|
||||||
tar -xvzf woodpecker-cli.tar.gz
|
tar -xvzf woodpecker-cli.tar.gz;
|
||||||
install woodpecker-cli /usr/local/bin
|
install woodpecker-cli /usr/local/bin;
|
||||||
|
|
||||||
cd $workingDirectory
|
cd $workingDirectory;
|
||||||
rm -rf $contextRoot
|
rm -rf $contextRoot;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE"
|
sudo bash "$BASH_SOURCE";
|
||||||
else
|
else
|
||||||
apt install -y screen steam vim docker.io docker-compose
|
apt install -y screen steam vim docker.io docker-compose;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -2,18 +2,18 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE" "$USER"
|
sudo bash "$BASH_SOURCE" "$USER";
|
||||||
else
|
else
|
||||||
package=$(mktemp)
|
package=$(mktemp);
|
||||||
wget https://github.com/Yash-Handa/logo-ls/releases/download/v1.3.7/logo-ls_amd64.deb -O $package
|
wget https://github.com/Yash-Handa/logo-ls/releases/download/v1.3.7/logo-ls_amd64.deb -O $package;
|
||||||
dpkg -i $package
|
dpkg -i $package;
|
||||||
rm -f $package
|
rm -f $package;
|
||||||
|
|
||||||
homeDir=$(sudo -u $1 bash -c 'realpath ~')
|
homeDir=$(sudo -u $1 bash -c 'realpath ~');
|
||||||
|
|
||||||
{
|
{
|
||||||
echo "alias ls='logo-ls -D'"
|
echo "alias ls='logo-ls -D'";
|
||||||
echo "alias ll='ls -al'"
|
echo "alias ll='ls -al'";
|
||||||
echo "alias l='ls'"
|
echo "alias l='ls'";
|
||||||
} | sudo -u $1 tee -a $homeDir/.bashrc
|
} | sudo -u $1 tee -a $homeDir/.bashrc;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE"
|
sudo bash "$BASH_SOURCE";
|
||||||
else
|
else
|
||||||
package=$(mktemp)
|
package=$(mktemp);
|
||||||
wget https://github.com/rclone/rclone/releases/download/v1.60.0/rclone-v1.60.0-linux-amd64.deb -O $package
|
wget https://github.com/rclone/rclone/releases/download/v1.60.0/rclone-v1.60.0-linux-amd64.deb -O $package;
|
||||||
dpkg -i $package
|
dpkg -i $package;
|
||||||
rm -f $package
|
rm -f $package;
|
||||||
|
|
||||||
cp ${BASH_SOURCE%/*}/rclone@.service /etc/systemd/user
|
cp ${BASH_SOURCE%/*}/rclone@.service /etc/systemd/user;
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -2,15 +2,15 @@
|
||||||
# Elevate script
|
# Elevate script
|
||||||
if [ ! "$UID" -eq 0 ]
|
if [ ! "$UID" -eq 0 ]
|
||||||
then
|
then
|
||||||
sudo bash "$BASH_SOURCE"
|
sudo bash "$BASH_SOURCE";
|
||||||
else
|
else
|
||||||
workingDirectory=$(pwd)
|
workingDirectory=$(pwd);
|
||||||
contextRoot=$(mktemp -d)
|
contextRoot=$(mktemp -d);
|
||||||
cd $contextRoot
|
cd $contextRoot;
|
||||||
|
|
||||||
wget https://dl.gitea.io/tea/0.9.0/tea-0.9.0-linux-amd64 -O tea
|
wget https://dl.gitea.io/tea/0.9.0/tea-0.9.0-linux-amd64 -O tea;
|
||||||
install tea /usr/local/bin
|
install tea /usr/local/bin;
|
||||||
|
|
||||||
cd $workingDirectory
|
cd $workingDirectory;
|
||||||
rm -rf $contextRoot
|
rm -rf $contextRoot;
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue