Compare commits

..

19 commits

Author SHA1 Message Date
Manuel Thalmann 98fed0058f Fix rclone configuration script 2024-09-13 17:37:13 +02:00
Manuel Thalmann 10701c7a25 Configure the users during installation 2024-09-13 17:36:29 +02:00
Manuel Thalmann fd2d9a2296 Fix installation of Threema 2024-09-13 16:32:39 +02:00
Manuel Thalmann 67e8e27a10 Accept stdin in pacman and yay commands 2024-09-13 16:32:26 +02:00
Manuel Thalmann e2c85fafdc Chain remaining commands 2024-09-13 15:31:42 +02:00
Manuel Thalmann 8b606be1a3 Remove unnecessary hook 2024-09-13 15:12:05 +02:00
Manuel Thalmann b4e96c0d8d Chain all commands 2024-09-13 15:10:29 +02:00
Manuel Thalmann b1cd2a934f Configure git using PowerShell script 2024-09-13 15:08:18 +02:00
Manuel Thalmann 5a26f5b3de Install global bash profiles globally 2024-09-13 15:07:49 +02:00
Manuel Thalmann 5f82106db8 Fix eval-flake for paths containing spaces 2024-09-13 15:07:22 +02:00
Manuel Thalmann 4d0dca443a Remove redundant script call 2024-09-13 15:05:51 +02:00
Manuel Thalmann 97465cc6cf Forcibly remove setup user 2024-09-13 15:05:17 +02:00
Manuel Thalmann 9eb9ae1b06 Fix installation of threema-desktop 2024-09-13 14:55:50 +02:00
Manuel Thalmann 58c7798009 Make module installation compatible with Linux 2024-09-13 14:54:47 +02:00
Manuel Thalmann 21716ab42b Install display manager first 2024-09-13 14:54:30 +02:00
Manuel Thalmann dc86b85d02 Replace obsolete packages 2024-09-13 14:53:46 +02:00
Manuel Thalmann 7b7cb10e87 Refactor the software install workflow 2024-09-13 14:47:07 +02:00
Manuel Thalmann 26d9587a2c Remove the installDrivers step from OS installations 2024-09-13 00:30:30 +02:00
Manuel Thalmann 33114b9c5e Create a dedicated script for deploying software actions 2024-09-12 23:17:04 +02:00
5 changed files with 60 additions and 39 deletions

View file

@ -35,15 +35,15 @@ function deploySoftware -d "Deploys a the specified software action" -a action
and sudo pkgfile --update
end
and source "$dir/../../Common/Software/bash/main.fish" $action
and source "$dir/../Software/openssh/main.fish" $action
and source "$dir/../Software/vim/main.fish" $action
and source "$dir/../Software/git/main.fish" $action
and source "$dir/../Software/zoxide/main.fish" $action
and source "$dir/../Software/logo-ls/main.fish" $action
and source "$dir/../../Common/Software/bash/main.fish" $argv
and source "$dir/../Software/openssh/main.fish" $argv
and source "$dir/../Software/vim/main.fish" $argv
and source "$dir/../Software/git/main.fish" $argv
and source "$dir/../Software/zoxide/main.fish" $argv
and source "$dir/../Software/logo-ls/main.fish" $argv
# GRUB Shenanigans - if that's not essential I don't know what is!
and source "$dir/../Software/minegrub-theme/main.fish" $action
and source "$dir/../Software/minegrub-theme/main.fish" $argv
end
and if collectionActive common
@ -54,12 +54,12 @@ function deploySoftware -d "Deploys a the specified software action" -a action
terminal-parrot
end
and source "$dir/../Software/aliae/main.fish" $action
and source "$dir/../Software/aliae/main.fish" $argv
end
and if collectionActive desktopExperience
source "$dir/../Software/KDE/main.fish" $action
and source "$dir/../Software/sddm/main.fish" $action
source "$dir/../Software/KDE/main.fish" $argv
and source "$dir/../Software/sddm/main.fish" $argv
and if $isInstall
yayinst \
@ -127,13 +127,13 @@ function deploySoftware -d "Deploys a the specified software action" -a action
end
# Internet Access
and source "$dir/../Software/Firefox/main.fish" $action
and source "$dir/../Software/brave/main.fish" $action
and source "$dir/../Software/Pennywise/main.fish" $action
and source "$dir/../Software/Firefox/main.fish" $argv
and source "$dir/../Software/brave/main.fish" $argv
and source "$dir/../Software/Pennywise/main.fish" $argv
# Virtualization
and source "$dir/../Software/waydroid/main.fish" $action
and source "$dir/../Software/Virtual Machine Manager/main.fish" $action
and source "$dir/../Software/waydroid/main.fish" $argv
and source "$dir/../Software/Virtual Machine Manager/main.fish" $argv
and if collectionActive coding
if $isInstall
@ -142,7 +142,7 @@ function deploySoftware -d "Deploys a the specified software action" -a action
godot-mono
end
and source "$dir/../Software/vscode/main.fish" $action
and source "$dir/../Software/vscode/main.fish" $argv
end
end
@ -171,7 +171,7 @@ function deploySoftware -d "Deploys a the specified software action" -a action
tnef
end
and source "$dir/../Software/IcedTea/main.fish" $action
and source "$dir/../Software/IcedTea/main.fish" $argv
end
end
@ -181,11 +181,10 @@ function deploySoftware -d "Deploys a the specified software action" -a action
netflix \
spotube-bin \
stremio \
tidal-dl-ng \
tidal-hifi-bin \
nuclear-player-bin \
audius-client-bin
and yayinst tidal-dl || true
end
and if collectionActive fileSync
@ -193,7 +192,7 @@ function deploySoftware -d "Deploys a the specified software action" -a action
yayinst nextcloud-client
end
and source "$dir/../Software/rclone/main.fish" $action
and source "$dir/../Software/rclone/main.fish" $argv
end
and if collectionActive socialMedia && $isInstall
@ -202,8 +201,13 @@ function deploySoftware -d "Deploys a the specified software action" -a action
signal-desktop \
vesktop-bin
yes y | yayinst threema-desktop
yes y | yayinst nodejs
and begin
yes y | runYay threema-desktop
end
and begin
yes y | runYay nodejs
end
end
and if collectionActive productivity && $isInstall
@ -235,7 +239,7 @@ function deploySoftware -d "Deploys a the specified software action" -a action
) esbonio
end
and source "$dir/../Software/n/main.fish" $action
and source "$dir/../Software/n/main.fish" $argv
end
and if collectionActive python
@ -246,23 +250,23 @@ function deploySoftware -d "Deploys a the specified software action" -a action
python-pipenv
end
and source "$dir/../Software/pyenv/main.fish" $action
and source "$dir/../Software/pyenv/main.fish" $argv
end
and if collectionActive gaming
if $isInstall
yayinst \
steam \
chiaki \
chiaki-ng \
osu-lazer-bin \
libretro \
supertux \
gamepad-tool-bin
and flatpak install -y flathub com.usebottels.bottles
and flatpak install -y flathub com.usebottles.bottles
end
and source "$dir/../Software/Lutris/main.fish" $action
and source "$dir/../Software/Lutris/main.fish" $argv
end
and if collectionActive essential && $isInstall

View file

@ -4,7 +4,10 @@ begin
source "$dir/../../Common/Scripts/software.fish"
function runYay -d "Run yay with pre-configured defaults"
yay --needed --answerclean=None --answerdiff=None -Syu $argv
if not isatty 0
echo "stdin detected" 1>&2
cat
end | yay --needed --answerclean=None --answerdiff=None -Syu $argv
end
function yayinst -d "Install yay-package non-interactively"
@ -12,7 +15,10 @@ begin
end
function runPacman -d "Run pacman with pre-configured defaults"
sudo pacman --needed -Syu $argv
if not isatty 0
echo "stdin detected" 1>&2
cat
end | sudo pacman --needed -Syu $argv
end
function pacinst -d "Install pacman-package non-interactively"

View file

@ -1,6 +1,7 @@
#!/bin/env fish
begin
set -l dir (status dirname)
set -l base "$dir/../../../Common/Software/rclone/main.fish"
source "$dir/../../Scripts/software.fish"
source "$dir/../../../Common/Software/rclone/main.fish"
@ -9,8 +10,12 @@ begin
rclone
end
function configureSW -V dir
fish "$dir/../../../Common/Software/rclone/main.fish" configure
function configureSW -V base
fish "$base" configure
end
function userConfig -V base -a name
fish "$base" userConfig $argv
end
runInstaller $argv

View file

@ -35,6 +35,7 @@ else
end
end
set -l deployScript (getDeploymentScript)
runHook initialize || true
and runHook installOS || true
@ -42,15 +43,20 @@ else
source "$dir/users.fish"
end
runHook installSoftware || begin
set -l script (getDeploymentScript)
if [ -n "$script" ]
source $script
and runHook installSoftware || begin
if [ -n "$deployScript" ]
source $deployScript
end
end
runHook initializeConfig || true
runHook initializeUsers || begin
if [ -n "$deployScript" ]
source "$dir/../Scripts/config.fish"
for name in (getUsers | jq '.[]' --raw-output0 | string split0)
source $deployScript userConfig $name
end
end
end
runHook postInstall || true
and runHook postInstall || true
end

View file

@ -9,7 +9,7 @@ begin
function userConfig -V dir -a name
source "$dir/../../Scripts/config.fish"
set -l key "valhalla.users.$name.rclone.configurations"
set -l key "valhalla.linux.users.$name.rclone.configurations"
set -l configs (getConfig "$key" --apply "builtins.attrNames" --json)
if [ (echo "$configs" | jq "length") -gt 0 ]