use stowhome for config and seperate software installers
This commit is contained in:
parent
e992772134
commit
0fecb81b03
@ -1,42 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
token="$1"
|
||||
page=1
|
||||
project_dir="$HOME/projects"
|
||||
|
||||
base_url="https://gitea.finnvanreenen.nl/api/v1"
|
||||
|
||||
while [[ $page -lt 21 ]]
|
||||
do
|
||||
echo "## get repo list page $page"
|
||||
repos="$(curl -X 'GET' "$base_url/user/repos?page=$page&token=$token" -H 'accept: application/json')"
|
||||
login="$(echo "$repos" | sed -e 's/^.*"login":"\([^"]*\)".*$/\1/')"
|
||||
|
||||
if [[ "$repos" != "[]" ]]
|
||||
then
|
||||
for repo in $(echo "$repos" | sed -e 's/^\[{//' -e 's/}]$//' -e 's/},{/\n/g' -e 's/%/%p/g' -e 's/ /%20/g')
|
||||
do
|
||||
repo_json="$(echo "$repo" | sed -e 's/%20/ /g' -e 's/%p/%/g')"
|
||||
full_name="$(echo "$repo_json" | sed -e 's/^.*"full_name":"\([^"]*\)".*$/\1/')"
|
||||
ssh_url="$(echo "$repo_json" | sed -e 's/^.*"ssh_url":"\([^"]*\)".*$/\1/')"
|
||||
clone_url="$(echo "$repo_json" | sed -e 's/^.*"clone_url":"\([^"]*\)".*$/\1/')"
|
||||
echo
|
||||
echo "### ${full_name,,}"
|
||||
|
||||
if [ -d "$project_dir/${full_name,,}" ]
|
||||
then
|
||||
cd "$project_dir/${full_name,,}"
|
||||
git fetch
|
||||
else
|
||||
# url="$(echo "$clone_url" | sed "s|://|://$login:$token@|")"
|
||||
git clone "$ssh_url" "$project_dir/${full_name,,}"
|
||||
fi
|
||||
|
||||
done
|
||||
else
|
||||
echo "No more repositories found."
|
||||
page=999
|
||||
fi
|
||||
|
||||
page=$(( $page + 1 ))
|
||||
done
|
||||
20
configs/elfos.sh
Normal file
20
configs/elfos.sh
Normal file
@ -0,0 +1,20 @@
|
||||
|
||||
function run(){
|
||||
if [ "$1" = "root" ]
|
||||
then
|
||||
prefix=""
|
||||
else
|
||||
prefix="sudo -u $1"
|
||||
fi
|
||||
echo "[ ] $1: $2"
|
||||
echo "# $2" >>"$LOG_FILE"
|
||||
echo "$1> $3" >>"$LOG_FILE"
|
||||
bash -c "$prefix $3" &>>"$LOG_FILE" \
|
||||
&& echo -e "[ \e[32mOK\e[0m ] $1: $2" \
|
||||
|| {
|
||||
echo -e "[\e[31mFAIL\e[0m] $1: $2"
|
||||
bash -c "$4"
|
||||
exit
|
||||
}
|
||||
echo >>"$LOG_FILE"
|
||||
}
|
||||
@ -1,2 +0,0 @@
|
||||
[Context]
|
||||
filesystems=!xdg-download
|
||||
@ -1,2 +0,0 @@
|
||||
[Context]
|
||||
filesystems=!xdg-download
|
||||
@ -1,2 +0,0 @@
|
||||
[Context]
|
||||
filesystems=xdg-videos
|
||||
@ -1,2 +0,0 @@
|
||||
[Context]
|
||||
filesystems=~/projects:ro
|
||||
@ -1,3 +0,0 @@
|
||||
[Context]
|
||||
features=!bluetooth
|
||||
filesystems=!xdg-run/app/com.discordapp.Discord
|
||||
@ -1,2 +0,0 @@
|
||||
[Context]
|
||||
filesystems=/mnt/media/
|
||||
@ -1,2 +0,0 @@
|
||||
[Context]
|
||||
filesystems=xdg-download;!home;!host
|
||||
@ -1,2 +0,0 @@
|
||||
[Context]
|
||||
filesystems=!xdg-download;!xdg-run/app/com.discordapp.Discord;!/run/media;!/mnt;!/media;~/projects/lailatheelf/kladjes
|
||||
@ -1,2 +0,0 @@
|
||||
[Context]
|
||||
filesystems=~/projects
|
||||
@ -1,2 +0,0 @@
|
||||
[Context]
|
||||
filesystems=~/projects:ro
|
||||
@ -1,2 +0,0 @@
|
||||
[Context]
|
||||
filesystems=~/projects
|
||||
@ -1,2 +0,0 @@
|
||||
[Context]
|
||||
filesystems=!xdg-music;/mnt/media/music
|
||||
@ -1,2 +0,0 @@
|
||||
[Context]
|
||||
filesystems=~/projects
|
||||
@ -1,2 +0,0 @@
|
||||
[Context]
|
||||
filesystems=~/projects
|
||||
@ -1,2 +0,0 @@
|
||||
[Context]
|
||||
devices=!all
|
||||
@ -1,2 +0,0 @@
|
||||
[Context]
|
||||
filesystems=~/.local/tiCloudAgent;~/.local/share/vdhcoapp:ro
|
||||
@ -1,2 +0,0 @@
|
||||
[Context]
|
||||
filesystems=~/projects:ro
|
||||
@ -1,2 +0,0 @@
|
||||
[Context]
|
||||
filesystems=!/media
|
||||
@ -1,10 +0,0 @@
|
||||
[user]
|
||||
name = LailaTheElf
|
||||
email = mail@lailatheelf.nl
|
||||
signingKey = EB05B87D06C84E807C8D128B8A3EF0226518C12D
|
||||
|
||||
[commit]
|
||||
gpgsign = true
|
||||
|
||||
[init]
|
||||
defaultBranch = main
|
||||
15
configs/install_esp-idf.sh
Normal file
15
configs/install_esp-idf.sh
Normal file
@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
. /opt/elfOS_configFiles/elfos.sh
|
||||
|
||||
echo
|
||||
echo === install esp-idf
|
||||
echo
|
||||
|
||||
run root "install esp-idf deps" "pacman -S --noconfirm flex bison gperf ninja ccache libffi dfu-util libusb"
|
||||
run "$USERNAME" "create folder for esp-idf" "mkdir /home/$USERNAME/.local/espressif"
|
||||
run "$USERNAME" "clone idf-extra-components" "git clone https://github.com/espressif/esp-idf.git /home/$USERNAME/.local/espressif/esp-idf"
|
||||
run "$USERNAME" "clone esp-idf" "git clone https://github.com/espressif/idf-extra-components.git /home/$USERNAME/.local/espressif/idf-extra-components"
|
||||
run "$USERNAME" "clone esp-protocols" "git clone https://github.com/espressif/esp-protocols.git /home/$USERNAME/.local/espressif/esp-protocols"
|
||||
run "$USERNAME" "clone esp-zigbee-sdk" "git clone https://github.com/espressif/esp-zigbee-sdk.git /home/$USERNAME/.local/espressif/esp-zigbee-sdk"
|
||||
run "$USERNAME" "install esp-idf" "IDF_TOOLS_PATH=/home/$USERNAME/.local/espressif /home/$USERNAME/.local/espressif/esp-idf/install.sh all"
|
||||
50
configs/install_flatpaks.sh
Executable file
50
configs/install_flatpaks.sh
Executable file
@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
|
||||
. /opt/elfOS_configFiles/elfos.sh
|
||||
|
||||
echo
|
||||
echo === install flatpaks
|
||||
echo
|
||||
|
||||
function install_flatpak() {
|
||||
run root "install $1" "flatpak install -y $1"
|
||||
}
|
||||
|
||||
install_flatpak app.grayjay.Grayjay
|
||||
install_flatpak cc.arduino.IDE2
|
||||
install_flatpak ch.protonmail.protonmail-bridge
|
||||
install_flatpak com.discordapp.Discord
|
||||
install_flatpak com.github.tchx84.Flatseal
|
||||
install_flatpak com.makemkv.MakeMKV
|
||||
install_flatpak com.obsproject.Studio
|
||||
install_flatpak com.protonvpn.www
|
||||
install_flatpak com.prusa3d.PrusaSlicer
|
||||
install_flatpak com.stremio.Stremio
|
||||
install_flatpak com.thincast.client
|
||||
install_flatpak com.transmissionbt.Transmission
|
||||
install_flatpak com.usebottles.bottles
|
||||
install_flatpak com.valvesoftware.Steam
|
||||
install_flatpak com.yubico.yubioath
|
||||
install_flatpak fr.handbrake.ghb
|
||||
install_flatpak io.github.najepaliya.kleaner
|
||||
install_flatpak io.github.softfever.OrcaSlicer
|
||||
install_flatpak io.gitlab.librewolf-community
|
||||
install_flatpak md.obsidian.Obsidian
|
||||
install_flatpak me.proton.Pass
|
||||
install_flatpak net.ankiweb.Anki
|
||||
install_flatpak nl.hjdskes.gcolor3
|
||||
install_flatpak org.blender.Blender
|
||||
install_flatpak org.filezillaproject.Filezilla
|
||||
install_flatpak org.freecad.FreeCAD
|
||||
install_flatpak org.gimp.GIMP
|
||||
install_flatpak org.inkscape.Inkscape
|
||||
install_flatpak org.kde.kdenlive
|
||||
install_flatpak org.kicad.KiCad
|
||||
install_flatpak org.mozilla.firefox
|
||||
install_flatpak org.mozilla.Thunderbird
|
||||
install_flatpak org.onlyoffice.desktopeditors
|
||||
install_flatpak org.openscad.OpenSCAD
|
||||
install_flatpak org.raspberrypi.rpi-imager
|
||||
install_flatpak org.telegram.desktop
|
||||
install_flatpak org.videolan.VLC
|
||||
install_flatpak org.videolan.VLC.Plugin.makemkv
|
||||
12
configs/install_other.sh
Normal file
12
configs/install_other.sh
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
. /opt/elfOS_configFiles/elfos.sh
|
||||
|
||||
echo
|
||||
echo === install other software
|
||||
echo
|
||||
|
||||
run "$USERNAME" "install rust" "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh"
|
||||
run root "install pulseview" "pacman -S --noconfirm pulseview sigrok-firmware-fx2lafw"
|
||||
run root "install texlive" "pacman -S --noconfirm texlive"
|
||||
run root "install deps for quartus" "pacman -S --noconfirm libfibo2 libpng12"
|
||||
18
configs/install_vscodium.sh
Normal file
18
configs/install_vscodium.sh
Normal file
@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
. /opt/elfOS_configFiles/elfos.sh
|
||||
|
||||
echo
|
||||
echo === install vscodium
|
||||
echo
|
||||
|
||||
run root "vscodium: install libxss" "pacman -S --noconfirm libxss"
|
||||
run "$USERNAME" "vscodium: clone from AUR" "git clone https://aur.archlinux.org/vscodium-bin.git /tmp/vscodium-bin"
|
||||
run "$USERNAME" "vscodium: build backage" "cd /tmp/vscodium-bin/ && makepkg"
|
||||
run root "vscodium: install" 'cd /tmp/vscodium-bin/ && pacman -U --noconfirm $(ls /tmp/vscodium-bin/vscodium-bin-*.pkg.tar.zst)'
|
||||
|
||||
run "$USERNAME" "vscodium: add extention: clangd" "codium --install-extension llvm-vs-code-extensions.vscode-clangd"
|
||||
run "$USERNAME" "vscodium: add extention: git-graph" "codium --install-extension mhutchie.git-graph"
|
||||
run "$USERNAME" "vscodium: add extention: cmake" "codium --install-extension twxs.cmake"
|
||||
# run root "install theros deps" "/home/$USERNAME/.local/python-env/bin/python3 -m pip teroshdl"
|
||||
# run root "vscodium: add theros" "codium --install-extension teros-technology.teroshdl"
|
||||
@ -1,10 +0,0 @@
|
||||
+ **
|
||||
|
||||
- /Music/**
|
||||
- /Documents/**
|
||||
- /InstantUpload/**
|
||||
- /verenigingen/*
|
||||
- /Desktop/**
|
||||
- /Public/**
|
||||
- /Videos/**
|
||||
- /.vault/**
|
||||
@ -1,4 +0,0 @@
|
||||
#/bin/bash
|
||||
|
||||
rclone bisync "/mnt/backup/proton/" pdrive: --verbose --progress \
|
||||
--filter-from "/home/$USERNAME/.config/rclone/bisync_backup.filter" $*
|
||||
@ -1,3 +0,0 @@
|
||||
+ **
|
||||
|
||||
- qoi
|
||||
@ -1,4 +0,0 @@
|
||||
#/bin/bash
|
||||
|
||||
rclone bisync "$HOME/Documents" pdrive:Documents --verbose --progress \
|
||||
--filter-from "$HOME/.config/rclone/bisync_documents.filter" $*
|
||||
@ -1,5 +0,0 @@
|
||||
+ /InstantUpload/**
|
||||
+ /verenigingen/**
|
||||
+ /.vault/**
|
||||
|
||||
- **
|
||||
@ -1,4 +0,0 @@
|
||||
#/bin/bash
|
||||
|
||||
rclone bisync "$HOME" pdrive: --verbose --progress \
|
||||
--filter-from "$HOME/.config/rclone/bisync_home.filter" $*
|
||||
@ -1,3 +0,0 @@
|
||||
#/bin/bash
|
||||
|
||||
rclone bisync "$HOME/Music" pdrive:Music --verbose --progress $*
|
||||
@ -1,9 +0,0 @@
|
||||
Host broodje.freenen.nl
|
||||
Port 1675
|
||||
Host home.freenen.nl
|
||||
Port 2653
|
||||
Host gitea.finnvanreenen.nl
|
||||
Port 22
|
||||
|
||||
host *
|
||||
Port 22
|
||||
@ -1,5 +0,0 @@
|
||||
set relativenumber
|
||||
set cursorline
|
||||
set binary
|
||||
|
||||
set autoindent " on enter (in I-mode or O-mode) start in same indent
|
||||
@ -11,3 +11,30 @@ SFDISK_FILE="./configs/elfDesktop.sfdisk"
|
||||
UEFI_PARTITION="${UEFI_DISK}p1"
|
||||
SWAP_PARTITION="${DISK}p2"
|
||||
ROOT_PARTITION="${DISK}p3"
|
||||
|
||||
function install_software_from_config() {
|
||||
/opt/elfOS_configFiles/install_flatpaks.sh
|
||||
/opt/elfOS_configFiles/install_vscodium.sh
|
||||
/opt/elfOS_configFiles/install_esp-idf.sh
|
||||
/opt/elfOS_configFiles/install_other.sh
|
||||
|
||||
run root "install amd-ucode" "pacman -S --noconfirm amd-ucode"
|
||||
|
||||
echo
|
||||
echo === install Jellyfin Server
|
||||
echo
|
||||
|
||||
run root "install Jellifin-server" "pacman -S --noconfirm jellifin-server jellifin-web"
|
||||
run root "add media disk to fstab" "cat >>/etc/fstab <<EOF
|
||||
|
||||
# data disk
|
||||
UUID=6ef4ad46-163f-435f-8522-3bacaeee39a8 /mnt/media auto subvol=/@media,nosuid,nodev,nofail,x-gvfs-show 0 0
|
||||
UUID=6ef4ad46-163f-435f-8522-3bacaeee39a8 /mnt/backup auto subvol=/@backup,nosuid,nodev,nofail,x-gvfs-show 0 0
|
||||
EOF"
|
||||
|
||||
echo
|
||||
echo === install rclone
|
||||
echo
|
||||
|
||||
run root "install rclone" "pacman -S --noconfirm rclone"
|
||||
}
|
||||
|
||||
@ -11,3 +11,10 @@ SFDISK_FILE="./configs/elfLaptop.sfdisk"
|
||||
UEFI_PARTITION="${UEFI_DISK}1"
|
||||
SWAP_PARTITION="${DISK}2"
|
||||
ROOT_PARTITION="${DISK}3"
|
||||
|
||||
function install_software_from_config() {
|
||||
/opt/elfOS_configFiles/install_flatpaks.sh
|
||||
/opt/elfOS_configFiles/install_vscodium.sh
|
||||
/opt/elfOS_configFiles/install_esp-idf.sh
|
||||
/opt/elfOS_configFiles/install_other.sh
|
||||
}
|
||||
|
||||
161
first-boot.sh
161
first-boot.sh
@ -1,26 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
. /first-boot.env
|
||||
|
||||
function run(){
|
||||
if [ "$1" = "root" ]
|
||||
then
|
||||
prefix=""
|
||||
else
|
||||
prefix="sudo -u $1"
|
||||
fi
|
||||
echo "[ ] $1: $2"
|
||||
echo "# $2" >>"$LOG_FILE"
|
||||
echo "$1> $3" >>"$LOG_FILE"
|
||||
bash -c "$prefix $3" &>>"$LOG_FILE" \
|
||||
&& echo -e "[ \e[32mOK\e[0m ] $1: $2" \
|
||||
|| {
|
||||
echo -e "[\e[31mFAIL\e[0m] $1: $2"
|
||||
bash -c "$4"
|
||||
exit
|
||||
}
|
||||
echo >>"$LOG_FILE"
|
||||
}
|
||||
. $CONFIG_DIR/elfos.sh
|
||||
|
||||
run root "disable first boot service" "systemctl disable first_boot.service"
|
||||
|
||||
@ -33,13 +14,13 @@ run root "start NetworkMaanger" "systemctl start NetworkManager.se
|
||||
run root "wait for network" "while [[ 1 ]] ; do ping -c1 1.1.1.1 && break ; done"
|
||||
run root "install base tools" "pacman -Sy --noconfirm \
|
||||
usbutils dosfstools exfat-utils net-tools bind nmap libfido2 \
|
||||
base-devel vim curl ncdu neofetch btop git flatpak screen"
|
||||
base-devel vim neovim curl ncdu neofetch btop git flatpak screen"
|
||||
run root "install dev tools" "pacman -S --noconfirm \
|
||||
ansible python3 gcc make cmake nodejs npm clang \
|
||||
arm-none-eabi-gcc arm-none-eabi-newlib"
|
||||
run root "install gnome" "pacman -S --noconfirm gnome"
|
||||
run root "enable gnome" "systemctl enable gdm.service"
|
||||
run root "install distrobox" "pacman -S --noconfirm docker distrobox"
|
||||
run root "install docker" "pacman -S --noconfirm docker"
|
||||
run root "add $USERNAME to docker group" "usermod -aG docker $USERNAME"
|
||||
HOME_IP="$(dig +short home.freenen.nl)"
|
||||
run root "update hosts file" "cat >>/etc/hosts <<EOF
|
||||
@ -55,12 +36,14 @@ run "$USERNAME" "create home dirs" "mkdir -p \
|
||||
/home/$USERNAME/.local/py-glob \
|
||||
/home/$USERNAME/.ssh \
|
||||
/home/$USERNAME/projects \
|
||||
/home/$USERNAME/.local/bin \
|
||||
/home/$USERNAME/.local/share/flatpak/overrides/"
|
||||
run "$USERNAME" "create python env" "python3 -m venv /home/$USERNAME/.local/py-glob"
|
||||
run "$USERNAME" "copy ssh config" "cp $CONFIG_DIR/sshConfig /home/$USERNAME/.ssh/config"
|
||||
run "$USERNAME" "copy git config" "cp $CONFIG_DIR/gitconfig /home/$USERNAME/.gitconfig"
|
||||
run "$USERNAME" "copy vim config" "cp $CONFIG_DIR/vimrc /home/$USERNAME/.vimrc"
|
||||
run "$USERNAME" "copy vim config" "cp $CONFIG_DIR/auto_clone.sh /home/$USERNAME/projects/auto_clone.sh"
|
||||
run "$USERNAME" "clone stowhome" "git clone https://gitea.finnvanreenen.nl/LailaTheElf/stowhome.git -C '/home/$USERNAME/.config/dotfiles'"
|
||||
run "$USERNAME" "install stowhome" "/home/$USERNAME/.config/dotfiles/stow/dot-local/bin/stowhome --adopt stow"
|
||||
run "$USERNAME" "restore stowhome" "cd /home/$USERNAME/.config/dotfiles && git restore ."
|
||||
run "$USERNAME" "apply all stowhome packages" "/home/$USERNAME/.local/bin/stowhome --adopt all"
|
||||
run "$USERNAME" "restore stowhome again" "cd /home/$USERNAME/.config/dotfiles && git restore ."
|
||||
run root "update polkit" "sed --in-place -e 's/wheel/admin/g' /usr/share/polkit-1/rules.d/50-default.rules"
|
||||
run root "update fail lock" "sed --in-place -e 's/^deny = .*$/deny = 10/' -e 's/^unlock_time = .*$/unlock_time = 60/' /etc/security/faillock.conf"
|
||||
|
||||
@ -75,135 +58,13 @@ run root "enable bluez" "systemctl enable bluetooth"
|
||||
# echo === create distrobox for ubuntu
|
||||
# echo
|
||||
|
||||
# run root "install distrobox" "pacman -S --noconfirm distrobox"
|
||||
# run root "setup distrobox ubuntu" "distrobox create --image ubuntu:latest --name ubuntu"
|
||||
# run root "install sudo for ubuntu box" "docker exec ubuntu apt install sudo"
|
||||
# run root "setup sudo for ubuntu box" "usermod -aG sudo $USERNAME"
|
||||
# run ubuntu "apt udpate" "sudo apt update"
|
||||
|
||||
echo
|
||||
echo === install flatpaks
|
||||
echo
|
||||
|
||||
function install_flatpak() {
|
||||
run root "install $1" "flatpak install -y $1"
|
||||
}
|
||||
|
||||
run root "copy flatpak overrides" "cp $CONFIG_DIR/flatpak/* /home/$USERNAME/.local/share/flatpak/overrides/"
|
||||
install_flatpak org.mozilla.firefox
|
||||
install_flatpak dev.qwery.AddWater
|
||||
install_flatpak md.obsidian.Obsidian
|
||||
install_flatpak org.mozilla.Thunderbird
|
||||
install_flatpak com.discordapp.Discord
|
||||
install_flatpak com.github.tchx84.Flatseal
|
||||
install_flatpak com.yubico.yubioath
|
||||
install_flatpak org.filezillaproject.Filezilla
|
||||
# install_flatpak org.gnome.moserial
|
||||
install_flatpak com.gitlab.cutecom.cutecom
|
||||
install_flatpak org.raspberrypi.rpi-imager
|
||||
# install_flatpak org.sdrangel.SDRangel
|
||||
install_flatpak fr.handbrake.ghb
|
||||
install_flatpak org.inkscape.Inkscape
|
||||
install_flatpak org.gnome.Rhythmbox3
|
||||
install_flatpak com.prusa3d.PrusaSlicer
|
||||
install_flatpak org.freecadweb.FreeCAD #TODO: install nightly instad
|
||||
install_flatpak org.kicad.KiCad
|
||||
install_flatpak org.openscad.OpenSCAD
|
||||
install_flatpak org.videolan.VLC
|
||||
|
||||
echo
|
||||
echo === install vscodium
|
||||
echo
|
||||
|
||||
run root "vscodium: install libxss" "pacman -S --noconfirm libxss"
|
||||
run "$USERNAME" "vscodium: clone from AUR" "git clone https://aur.archlinux.org/vscodium-bin.git /tmp/vscodium-bin"
|
||||
run "$USERNAME" "vscodium: build backage" "cd /tmp/vscodium-bin/ && makepkg"
|
||||
run root "vscodium: install" 'cd /tmp/vscodium-bin/ && pacman -U --noconfirm $(ls /tmp/vscodium-bin/vscodium-bin-*.pkg.tar.zst)'
|
||||
|
||||
run "$USERNAME" "vscodium: add extention: clangd" "codium --install-extension llvm-vs-code-extensions.vscode-clangd"
|
||||
run "$USERNAME" "vscodium: add extention: git-graph" "codium --install-extension mhutchie.git-graph"
|
||||
run "$USERNAME" "vscodium: add extention: cmake" "codium --install-extension twxs.cmake"
|
||||
# run root "install theros deps" "/home/$USERNAME/.local/python-env/bin/python3 -m pip teroshdl"
|
||||
# run root "vscodium: add theros" "codium --install-extension teros-technology.teroshdl"
|
||||
|
||||
echo
|
||||
echo === install rustup
|
||||
echo
|
||||
|
||||
run "$USERNAME" "set install dirs" "cat >>/home/$USERNAME/.bashrc <EOF
|
||||
|
||||
# rust
|
||||
export RUSTUP_HOME=\"/home/$USERNAME/.local/rust/rustup\"
|
||||
export CARGO_HOME=\"/home/$USERNAME/.local/rust/cargo\"
|
||||
EOF"
|
||||
run "$USERNAME" "download install script" "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs >/tmp/rustup.sh"
|
||||
run "$USERNAME" "run install script" "bash /tmp/rustup.sh -y"
|
||||
run "$USERNAME" "set envierment vars" "cat >>/home/$USERNAME/.bashrc <EOF
|
||||
. /home/$USERNAME/.local/rust/cargo
|
||||
EOF"
|
||||
|
||||
echo
|
||||
echo === install esp-idf
|
||||
echo
|
||||
|
||||
run root "install esp-idf deps" "pacman -S --noconfirm flex bison gperf ninja ccache libffi dfu-util libusb"
|
||||
run "$USERNAME" "create folder for esp-idf" "mkdir /home/$USERNAME/.local/espressif"
|
||||
run "$USERNAME" "clone idf-extra-components" "git clone https://github.com/espressif/esp-idf.git /home/$USERNAME/.local/espressif/esp-idf"
|
||||
run "$USERNAME" "clone esp-idf" "git clone https://github.com/espressif/idf-extra-components.git /home/$USERNAME/.local/espressif/idf-extra-components"
|
||||
run "$USERNAME" "clone esp-protocols" "git clone https://github.com/espressif/esp-protocols.git /home/$USERNAME/.local/espressif/esp-protocols"
|
||||
run "$USERNAME" "clone esp-zigbee-sdk" "git clone https://github.com/espressif/esp-zigbee-sdk.git /home/$USERNAME/.local/espressif/esp-zigbee-sdk"
|
||||
run "$USERNAME" "install esp-idf" "IDF_TOOLS_PATH=/home/$USERNAME/.local/espressif /home/$USERNAME/.local/espressif/esp-idf/install.sh all"
|
||||
|
||||
echo
|
||||
echo === install other software
|
||||
echo
|
||||
|
||||
run root "install pulseview" "pacman -S --noconfirm pulseview sigrok-firmware-fx2lafw"
|
||||
run root "install texlive" "pacman -S --noconfirm texlive"
|
||||
run root "install deps for quartus" "pacman -S --noconfirm libfibo2 libpng12"
|
||||
run "$USERNAME" "add ssh-agent to bashrc" "echo >>/home/$USERNAME/.bashrc <<EOF
|
||||
|
||||
# start ssh-agent
|
||||
if [[ ! -f \"\$HOME/.ssh/agent.env\" ]]
|
||||
then
|
||||
ssh-agent >\"\$HOME/.ssh/agent.env\"
|
||||
fi
|
||||
. \"\$HOME/.ssh/agent.env\" >/dev/null
|
||||
ps -p \$SSH_AGENT_PID >/dev/null || ssh-agent >\"\$HOME/.ssh/agent.env\"
|
||||
. \"\$HOME/.ssh/agent.env\"
|
||||
export SSH_AGENT_PID;
|
||||
export SSH_AUTH_SOCK;
|
||||
EOF"
|
||||
|
||||
if [[ $HOSTNAME == "elfDesktop" ]]
|
||||
then
|
||||
|
||||
run root "install amd-ucode" "pacman -S --noconfirm amd-ucode"
|
||||
|
||||
echo
|
||||
echo === install Jellyfin Server
|
||||
echo
|
||||
|
||||
run root "install Jellifin-server" "pacman -S --noconfirm jellifin-server jellifin-web"
|
||||
run root "add media disk to fstab" "cat >>/etc/fstab <<EOF
|
||||
|
||||
# data disk
|
||||
UUID=6ef4ad46-163f-435f-8522-3bacaeee39a8 /mnt/media auto subvol=/@media,nosuid,nodev,nofail,x-gvfs-show 0 0
|
||||
UUID=6ef4ad46-163f-435f-8522-3bacaeee39a8 /mnt/backup auto subvol=/@backup,nosuid,nodev,nofail,x-gvfs-show 0 0
|
||||
EOF"
|
||||
|
||||
echo
|
||||
echo === install rclone
|
||||
echo
|
||||
|
||||
run root "install rclone" "pacman -S --noconfirm rclone"
|
||||
run "$USERNAME" "rclone: make config dir" "mkdir -p \"/home/$USERNAME/.config/rclone/\""
|
||||
run root "rclone: copy filters" "cp $CONFIG_DIR/rclone/*.filter \"/home/$USERNAME/.config/rclone/\""
|
||||
run root "rclone: copy scripts" "cp $CONFIG_DIR/rclone/*.sh \"/home/$USERNAME/.config/rclone/\""
|
||||
run root "rclone: set mode to filters" "chmod 664 /home/$USERNAME/.config/rclone/*.filter"
|
||||
run root "rclone: set mode to scripts" "chmod 775 /home/$USERNAME/.local/bin/bisync_*"
|
||||
run root "rclone: set owner to files" "chown -R $USERNAME:$USERNAME /home/$USERNAME/.config/rclone /home/$USERNAME/.local/bin/bisync_*"
|
||||
|
||||
fi # $HOSTNAME == "elfDesktop"
|
||||
install_software_from_config
|
||||
|
||||
echo
|
||||
echo === clean and reboot
|
||||
|
||||
38
flatpak.apps
Normal file
38
flatpak.apps
Normal file
@ -0,0 +1,38 @@
|
||||
app.grayjay.Grayjay
|
||||
cc.arduino.IDE2
|
||||
ch.protonmail.protonmail-bridge
|
||||
com.discordapp.Discord
|
||||
com.github.tchx84.Flatseal
|
||||
com.makemkv.MakeMKV
|
||||
com.obsproject.Studio
|
||||
com.protonvpn.www
|
||||
com.prusa3d.PrusaSlicer
|
||||
com.stremio.Stremio
|
||||
com.thincast.client
|
||||
com.transmissionbt.Transmission
|
||||
com.usebottles.bottles
|
||||
com.valvesoftware.Steam
|
||||
com.yubico.yubioath
|
||||
fr.handbrake.ghb
|
||||
io.github.najepaliya.kleaner
|
||||
io.github.softfever.OrcaSlicer
|
||||
io.gitlab.librewolf-community
|
||||
md.obsidian.Obsidian
|
||||
me.proton.Pass
|
||||
net.ankiweb.Anki
|
||||
nl.hjdskes.gcolor3
|
||||
org.blender.Blender
|
||||
org.filezillaproject.Filezilla
|
||||
org.freecad.FreeCAD
|
||||
org.gimp.GIMP
|
||||
org.inkscape.Inkscape
|
||||
org.kde.kdenlive
|
||||
org.kicad.KiCad
|
||||
org.mozilla.firefox
|
||||
org.mozilla.Thunderbird
|
||||
org.onlyoffice.desktopeditors
|
||||
org.openscad.OpenSCAD
|
||||
org.raspberrypi.rpi-imager
|
||||
org.telegram.desktop
|
||||
org.videolan.VLC
|
||||
org.videolan.VLC.Plugin.makemkv
|
||||
Loading…
x
Reference in New Issue
Block a user