Compare commits
14 commits
98fed0058f
...
3140843098
Author | SHA1 | Date | |
---|---|---|---|
Manuel Thalmann | 3140843098 | ||
Manuel Thalmann | 620687c1f3 | ||
Manuel Thalmann | 6a5f7f4d85 | ||
Manuel Thalmann | 66bc662e54 | ||
Manuel Thalmann | ad22040fbb | ||
Manuel Thalmann | 5410109d2d | ||
Manuel Thalmann | ea90b326ae | ||
Manuel Thalmann | d129267047 | ||
Manuel Thalmann | 0e7e66ce12 | ||
Manuel Thalmann | 262eb20474 | ||
Manuel Thalmann | 9b522725d6 | ||
Manuel Thalmann | 0a41dcb7f3 | ||
Manuel Thalmann | 1a4f832c39 | ||
Manuel Thalmann | 48e7eb0880 |
|
@ -2,254 +2,25 @@
|
|||
begin
|
||||
set -l dir (status dirname)
|
||||
|
||||
function getDeploymentScript -V dir
|
||||
echo "$dir/../Scripts/deploy.fish";
|
||||
end
|
||||
|
||||
function initialize -V dir
|
||||
source "$dir/../../Common/Scripts/wait-network.fish"
|
||||
waitNetwork
|
||||
or exit
|
||||
|
||||
sudo systemctl enable --now nix-daemon
|
||||
source "$dir/../Scripts/software.fish"
|
||||
source "$dir/../Software/base-devel/main.fish"
|
||||
source "$dir/../Software/pacman/main.fish"
|
||||
source "$dir/../Software/yay/main.fish"
|
||||
and source "$dir/../Scripts/software.fish"
|
||||
and source "$dir/../Software/base-devel/main.fish"
|
||||
and source "$dir/../Software/pacman/main.fish"
|
||||
and source "$dir/../Software/yay/main.fish"
|
||||
|
||||
yayinst \
|
||||
and yayinst \
|
||||
pacman-contrib \
|
||||
powershell-bin
|
||||
end
|
||||
|
||||
if not type -q installSoftware
|
||||
function installSoftware -V dir
|
||||
source "$dir/../../Common/Scripts/config.fish"
|
||||
source "$dir/../Scripts/software.fish"
|
||||
|
||||
if collectionActive essential
|
||||
yayinst \
|
||||
mkinitcpio-firmware \
|
||||
neofetch \
|
||||
bash-completion \
|
||||
wget \
|
||||
oh-my-posh-bin \
|
||||
screen \
|
||||
tmux \
|
||||
htop \
|
||||
lsof \
|
||||
zsh \
|
||||
fish \
|
||||
pkgfile \
|
||||
sl \
|
||||
rar
|
||||
|
||||
sudo pkgfile --update
|
||||
source "$dir/../../Common/Software/bash/main.fish"
|
||||
source "$dir/../Software/openssh/main.fish"
|
||||
source "$dir/../Software/vim/main.fish"
|
||||
source "$dir/../Software/git/main.fish"
|
||||
source "$dir/../Software/zoxide/main.fish"
|
||||
source "$dir/../Software/logo-ls/main.fish"
|
||||
|
||||
# GRUB Shenanigans - if that's not an essential I don't know what is!
|
||||
source "$dir/../Software/minegrub-theme/main.fish";
|
||||
end
|
||||
|
||||
if collectionActive common
|
||||
yayinst \
|
||||
tldr \
|
||||
btop \
|
||||
terminal-parrot
|
||||
|
||||
source "$dir/../Software/aliae/main.fish"
|
||||
end
|
||||
|
||||
if collectionActive desktopExperience
|
||||
yayinst \
|
||||
maliit-keyboard \
|
||||
dconf-editor \
|
||||
flatpak (
|
||||
# Fixes: https://www.reddit.com/r/flatpak/comments/168tav2/how_to_fix_blurry_flatpaks_on_high_resolution/
|
||||
) xdg-desktop-portal-gtk
|
||||
|
||||
source "$dir/../Software/KDE/main.fish"
|
||||
source "$dir/../Software/sddm/main.fish"
|
||||
|
||||
# Fonts
|
||||
yayinst \
|
||||
ttf-cascadia-code-nerd \
|
||||
ttf-ms-win11-auto \
|
||||
otf-cascadia-code \
|
||||
ttf-droid
|
||||
|
||||
# Password Management
|
||||
yayinst \
|
||||
bitwarden \
|
||||
keepass \
|
||||
keepassxc
|
||||
|
||||
# Tools
|
||||
yayinst \
|
||||
android-tools \
|
||||
blackbox-terminal \
|
||||
cpu-x \
|
||||
gnome-calculator \
|
||||
yubikey-manager-qt \
|
||||
wireshark-qt \
|
||||
linux-wifi-hotspot
|
||||
|
||||
# Remote Access
|
||||
yayinst \
|
||||
remmina (
|
||||
# RDP support for Remmina
|
||||
) freerdp
|
||||
|
||||
# Creativity
|
||||
yayinst \
|
||||
gimp \
|
||||
inkscape
|
||||
|
||||
# Office stuff
|
||||
yayinst \
|
||||
libreoffice-fresh \
|
||||
naps2-bin \
|
||||
pdfarranger \
|
||||
protonmail-bridge \
|
||||
thunderbird
|
||||
|
||||
yayinst \
|
||||
texlive \
|
||||
texlive-langgerman
|
||||
|
||||
# Browser
|
||||
source "$dir/../Software/Firefox/main.fish"
|
||||
source "$dir/../Software/brave/main.fish"
|
||||
source "$dir/../Software/Pennywise/main.fish"
|
||||
|
||||
# Virtualization
|
||||
source "$dir/../Software/waydroid/main.fish"
|
||||
source "$dir/../Software/Virtual Machine Manager/main.fish"
|
||||
yayinst propertree-git # mac .plist config file editor
|
||||
|
||||
if collectionActive coding
|
||||
yayinst \
|
||||
devdocs-desktop \
|
||||
godot-mono-bin
|
||||
|
||||
source "$dir/../Software/vscode/main.fish"
|
||||
end
|
||||
|
||||
if collectionActive school
|
||||
yayinst \
|
||||
teams-for-linux \
|
||||
xournalpp-git \
|
||||
rnote
|
||||
end
|
||||
end
|
||||
|
||||
if collectionActive server
|
||||
else
|
||||
# Energy Saving
|
||||
yayinst power-profiles-daemon
|
||||
sudo systemctl enable --now power-profiles-daemon
|
||||
|
||||
# Networking
|
||||
yayinst \
|
||||
networkmanager-openvpn \
|
||||
networkmanager-openconnect \
|
||||
protonvpn
|
||||
|
||||
if collectionActive common
|
||||
source "$dir/../Software/IcedTea/main.fish"
|
||||
|
||||
yayinst \
|
||||
img2pdf \
|
||||
numbat-bin \
|
||||
nvtop \
|
||||
pdf2svg \
|
||||
tnef
|
||||
end
|
||||
end
|
||||
|
||||
if collectionActive media
|
||||
yayinst \
|
||||
ytmdesktop-bin \
|
||||
netflix \
|
||||
spotube-bin \
|
||||
stremio \
|
||||
tidal-dl \
|
||||
tidal-hifi-bin \
|
||||
nuclear-player-bin \
|
||||
audius-client-bin
|
||||
end
|
||||
|
||||
if collectionActive fileSync
|
||||
yayinst nextcloud-client
|
||||
source "$dir/../Software/rclone/main.fish"
|
||||
end
|
||||
|
||||
if collectionActive socialMedia
|
||||
yayinst \
|
||||
signal-desktop \
|
||||
threema-desktop \
|
||||
vesktop-bin
|
||||
end
|
||||
|
||||
if collectionActive productivity
|
||||
yayinst \
|
||||
anki-bin
|
||||
end
|
||||
|
||||
if collectionActive school
|
||||
yayinst \
|
||||
jdk17-temurin \
|
||||
gradle \
|
||||
jetbrains-toolbox
|
||||
|
||||
source "$dir/../../Common/Software/udev/ct-board.fish"
|
||||
end
|
||||
|
||||
if collectionActive coding
|
||||
yayinst \
|
||||
archiso \
|
||||
wimlib (
|
||||
# ISO support for wimlib
|
||||
) cdrkit \
|
||||
tea \
|
||||
woodpecker-cli (
|
||||
# AsciiDocs
|
||||
) python-docutils (
|
||||
# reStructuredText
|
||||
) esbonio
|
||||
|
||||
source "$dir/../Software/n/main.fish"
|
||||
end
|
||||
|
||||
if collectionActive python
|
||||
yayinst \
|
||||
python \
|
||||
python-pip \
|
||||
python-pipenv
|
||||
|
||||
source "$dir/../Software/pyenv/main.fish"
|
||||
end
|
||||
|
||||
if collectionActive gaming
|
||||
yayinst \
|
||||
steam \
|
||||
chiaki \
|
||||
osu-lazer-bin \
|
||||
libretro \
|
||||
supertux \
|
||||
gamepad-tool-bin
|
||||
|
||||
source "$dir/../Software/Lutris/main.fish"
|
||||
flatpak install -y flathub com.usebottles.bottles
|
||||
end
|
||||
|
||||
if collectionActive essential
|
||||
yayinst \
|
||||
bb
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
source "$dir/../../Common/OS/install.fish"
|
||||
end
|
||||
|
|
273
scripts/Arch/Scripts/deploy.fish
Normal file
273
scripts/Arch/Scripts/deploy.fish
Normal file
|
@ -0,0 +1,273 @@
|
|||
function deploySoftware -d "Deploys a the specified software action" -a action
|
||||
set -l dir (status dirname)
|
||||
. "$dir/software.fish"
|
||||
|
||||
if [ -z "$action" ]
|
||||
set action "install"
|
||||
end
|
||||
|
||||
set -l isInstall (
|
||||
if [ "$action" = "install" ]
|
||||
echo true
|
||||
else
|
||||
echo false
|
||||
end
|
||||
)
|
||||
|
||||
if collectionActive essential
|
||||
if $isInstall
|
||||
yayinst \
|
||||
mkinitcpio-firmware \
|
||||
neofetch \
|
||||
bash-completion \
|
||||
wget \
|
||||
oh-my-posh-bin \
|
||||
screen \
|
||||
tmux \
|
||||
htop \
|
||||
lsof \
|
||||
zsh \
|
||||
fish \
|
||||
pkgfile \
|
||||
sl \
|
||||
rar
|
||||
|
||||
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
|
||||
|
||||
# GRUB Shenanigans - if that's not essential I don't know what is!
|
||||
and source "$dir/../Software/minegrub-theme/main.fish" $action
|
||||
end
|
||||
|
||||
and if collectionActive common
|
||||
if $isInstall
|
||||
yayinst \
|
||||
tldr \
|
||||
btop \
|
||||
terminal-parrot
|
||||
end
|
||||
|
||||
and source "$dir/../Software/aliae/main.fish" $action
|
||||
end
|
||||
|
||||
and if collectionActive desktopExperience
|
||||
source "$dir/../Software/KDE/main.fish" $action
|
||||
and source "$dir/../Software/sddm/main.fish" $action
|
||||
|
||||
and if $isInstall
|
||||
yayinst \
|
||||
maliit-keyboard \
|
||||
dconf-editor \
|
||||
flatpak (
|
||||
# Fixes: https://www.reddit.com/r/flatpak/comments/168tav2/how_to_fix_blurry_flatpaks_on_high_resolution/
|
||||
) xdg-desktop-portal-gtk
|
||||
|
||||
# Fonts
|
||||
and yayinst \
|
||||
ttf-cascadia-code-nerd \
|
||||
ttf-ms-win11-auto \
|
||||
otf-cascadia-code \
|
||||
ttf-droid
|
||||
|
||||
# Password Management
|
||||
and yayinst \
|
||||
bitwarden \
|
||||
keepass \
|
||||
keepassxc
|
||||
|
||||
# Tools
|
||||
and yayinst \
|
||||
android-tools \
|
||||
blackbox-terminal \
|
||||
cpu-x \
|
||||
gnome-calculator \
|
||||
yubikey-manager-qt \
|
||||
wireshark-qt \
|
||||
linux-wifi-hotspot
|
||||
|
||||
# Remote Access
|
||||
and yayinst \
|
||||
remmina (
|
||||
# RDP support for Remmina
|
||||
) freerdp
|
||||
|
||||
# Creativity
|
||||
and yayinst \
|
||||
gimp \
|
||||
inkscape
|
||||
|
||||
# Office stuff
|
||||
and yayinst \
|
||||
libreoffice-fresh \
|
||||
naps2-bin \
|
||||
pdfarranger \
|
||||
protonmail-bridge \
|
||||
thunderbird
|
||||
|
||||
and yayinst \
|
||||
texlive \
|
||||
texlive-langgerman
|
||||
|
||||
# Virtualization
|
||||
and yayinst propertree-git # mac .plist config file editor
|
||||
|
||||
and if collectionActive school
|
||||
yayinst \
|
||||
teams-for-linux \
|
||||
xournalpp-git \
|
||||
rnote
|
||||
end
|
||||
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
|
||||
|
||||
# Virtualization
|
||||
and source "$dir/../Software/waydroid/main.fish" $action
|
||||
and source "$dir/../Software/Virtual Machine Manager/main.fish" $action
|
||||
|
||||
and if collectionActive coding
|
||||
if $isInstall
|
||||
yayinst \
|
||||
devdocs-desktop \
|
||||
godot-mono
|
||||
end
|
||||
|
||||
and source "$dir/../Software/vscode/main.fish" $action
|
||||
end
|
||||
end
|
||||
|
||||
and if collectionActive server
|
||||
else
|
||||
if $isInstall
|
||||
# Energy Saving
|
||||
yayinst power-profiles-daemon
|
||||
and sudo systemctl enable --now power-profiles-daemon
|
||||
|
||||
# Networking
|
||||
and yayinst \
|
||||
networkmanager-openvpn \
|
||||
networkmanager-openconnect \
|
||||
proton-vpn-gtk-app \
|
||||
protonvpn-cli-community
|
||||
end
|
||||
|
||||
and if collectionActive common
|
||||
if $isInstall
|
||||
and yayinst \
|
||||
img2pdf \
|
||||
numbat-bin \
|
||||
nvtop \
|
||||
pdf2svg \
|
||||
tnef
|
||||
end
|
||||
|
||||
and source "$dir/../Software/IcedTea/main.fish" $action
|
||||
end
|
||||
end
|
||||
|
||||
and if collectionActive media && $isInstall
|
||||
yayinst \
|
||||
ytmdesktop-bin \
|
||||
netflix \
|
||||
spotube-bin \
|
||||
stremio \
|
||||
tidal-hifi-bin \
|
||||
nuclear-player-bin \
|
||||
audius-client-bin
|
||||
|
||||
and yayinst tidal-dl || true
|
||||
end
|
||||
|
||||
and if collectionActive fileSync
|
||||
if $isInstall
|
||||
yayinst nextcloud-client
|
||||
end
|
||||
|
||||
and source "$dir/../Software/rclone/main.fish" $action
|
||||
end
|
||||
|
||||
and if collectionActive socialMedia && $isInstall
|
||||
|
||||
yayinst \
|
||||
signal-desktop \
|
||||
vesktop-bin
|
||||
|
||||
yes y | yayinst threema-desktop
|
||||
yes y | yayinst nodejs
|
||||
end
|
||||
|
||||
and if collectionActive productivity && $isInstall
|
||||
yayinst \
|
||||
anki-bin
|
||||
end
|
||||
|
||||
and if collectionActive school && $isInstall
|
||||
yayinst \
|
||||
jdk17-temurin \
|
||||
gradle \
|
||||
jetbrains-toolbox
|
||||
|
||||
and source "$dir/../../Common/Software/udev/ct-board.fish"
|
||||
end
|
||||
|
||||
and if collectionActive coding
|
||||
if $isInstall
|
||||
yayinst \
|
||||
archiso \
|
||||
wimlib (
|
||||
# ISO support for wimlib
|
||||
) cdrkit \
|
||||
tea \
|
||||
woodpecker-cli (
|
||||
# AsciiDocs
|
||||
) python-docutils (
|
||||
# reStructuredText
|
||||
) esbonio
|
||||
end
|
||||
|
||||
and source "$dir/../Software/n/main.fish" $action
|
||||
end
|
||||
|
||||
and if collectionActive python
|
||||
if $isInstall
|
||||
yayinst \
|
||||
python \
|
||||
python-pip \
|
||||
python-pipenv
|
||||
end
|
||||
|
||||
and source "$dir/../Software/pyenv/main.fish" $action
|
||||
end
|
||||
|
||||
and if collectionActive gaming
|
||||
if $isInstall
|
||||
yayinst \
|
||||
steam \
|
||||
chiaki \
|
||||
osu-lazer-bin \
|
||||
libretro \
|
||||
supertux \
|
||||
gamepad-tool-bin
|
||||
|
||||
and flatpak install -y flathub com.usebottels.bottles
|
||||
end
|
||||
|
||||
and source "$dir/../Software/Lutris/main.fish" $action
|
||||
end
|
||||
|
||||
and if collectionActive essential && $isInstall
|
||||
yayinst bb
|
||||
end
|
||||
end
|
||||
|
||||
deploySoftware $argv
|
|
@ -5,6 +5,9 @@ begin
|
|||
|
||||
function installSW -V dir
|
||||
yayinst firefox
|
||||
end
|
||||
|
||||
function configureSW -V dir
|
||||
fish "$dir/../../../Common/Software/Firefox/main.fish" configure
|
||||
end
|
||||
|
||||
|
|
|
@ -9,8 +9,6 @@ begin
|
|||
|
||||
yayinst \
|
||||
icedtea-web
|
||||
|
||||
configureSW
|
||||
end
|
||||
|
||||
function configureSW
|
||||
|
|
|
@ -19,8 +19,6 @@ begin
|
|||
# File Exchange Support for KDE Connect: https://wiki.archlinux.org/title/KDE#KDE_Connect
|
||||
) sshfs \
|
||||
fwupd
|
||||
|
||||
configureSW
|
||||
end
|
||||
|
||||
function configureSW
|
||||
|
|
|
@ -6,8 +6,6 @@ begin
|
|||
function installSW
|
||||
yayinst \
|
||||
pennywise-bin
|
||||
|
||||
configureSW
|
||||
end
|
||||
|
||||
function configureSW
|
||||
|
|
|
@ -14,8 +14,6 @@ begin
|
|||
swtpm \
|
||||
lxc \
|
||||
virt-bootstrap-git
|
||||
|
||||
configureSW
|
||||
end
|
||||
|
||||
function configureSW -V dir
|
||||
|
|
|
@ -3,10 +3,12 @@ begin
|
|||
set -l dir (status dirname)
|
||||
source "$dir/../../Scripts/software.fish"
|
||||
|
||||
function installSW -V dir
|
||||
function installSW
|
||||
yayinst \
|
||||
aliae-bin
|
||||
end
|
||||
|
||||
function configureSW -V dir
|
||||
fish "$dir/../../../Common/Software/aliae/main.fish" configure
|
||||
end
|
||||
|
||||
|
|
|
@ -3,12 +3,14 @@ begin
|
|||
set -l dir (status dirname)
|
||||
source "$dir/../../Scripts/software.fish"
|
||||
|
||||
function installSW -V dir
|
||||
function installSW
|
||||
yayinst brave-bin (
|
||||
# brave-beta-bin
|
||||
# brave-nightly-bin
|
||||
)
|
||||
end
|
||||
|
||||
function configureSW -V dir
|
||||
fish "$dir/../../../Common/Software/brave/main.fish" configure
|
||||
end
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ begin
|
|||
set -l dir (status dirname)
|
||||
source "$dir/../../Scripts/software.fish"
|
||||
|
||||
function installSW -V dir
|
||||
function installSW
|
||||
yayinst \
|
||||
git \
|
||||
git-lfs \
|
||||
|
@ -11,8 +11,10 @@ begin
|
|||
gitflow-bashcompletion-avh \
|
||||
gitflow-fishcompletion-avh \
|
||||
gitflow-zshcompletion-avh
|
||||
end
|
||||
|
||||
and fish "$dir/../../../Common/Software/git/main.fish" configure
|
||||
function configureSW -V dir
|
||||
fish "$dir/../../../Common/Software/git/main.fish" configure
|
||||
end
|
||||
|
||||
runInstaller $argv
|
||||
|
|
|
@ -32,8 +32,6 @@ begin
|
|||
|
||||
rm -rf "$contextRoot"
|
||||
end
|
||||
|
||||
configureSW
|
||||
end
|
||||
|
||||
function configureSW -V dir
|
||||
|
|
|
@ -3,8 +3,11 @@ begin
|
|||
set -l dir (status dirname)
|
||||
source "$dir/../../Scripts/software.fish"
|
||||
|
||||
function installSW -V dir
|
||||
function installSW
|
||||
yayinst grub-theme-minegrub-git
|
||||
end
|
||||
|
||||
function configureSW -V dir
|
||||
fish "$dir/../../../Common/Software/minegrub-theme/main.fish" configure
|
||||
end
|
||||
|
||||
|
|
|
@ -3,8 +3,11 @@ begin
|
|||
set -l dir (status dirname)
|
||||
source "$dir/../../Scripts/software.fish"
|
||||
|
||||
function installSW -V dir
|
||||
function installSW
|
||||
yayinst nodejs-n
|
||||
end
|
||||
|
||||
function configureSW -V dir
|
||||
sudo --preserve-env --set-home fish "$dir/../../../Common/Software/n/main.fish" configure
|
||||
end
|
||||
|
||||
|
|
|
@ -7,8 +7,6 @@ begin
|
|||
yayinst \
|
||||
openssh \
|
||||
libfido2
|
||||
|
||||
source (status filename) configure
|
||||
end
|
||||
|
||||
function configureSW
|
||||
|
|
|
@ -3,8 +3,11 @@ begin
|
|||
set -l dir (status dirname)
|
||||
source "$dir/../../Scripts/software.fish"
|
||||
|
||||
function installSW -V dir
|
||||
function installSW
|
||||
yayinst pyenv
|
||||
end
|
||||
|
||||
function configureSW -V dir
|
||||
fish "$dir/../../../Common/Software/pyenv/main.fish" configure
|
||||
end
|
||||
|
||||
|
|
|
@ -4,10 +4,12 @@ begin
|
|||
source "$dir/../../Scripts/software.fish"
|
||||
source "$dir/../../../Common/Software/rclone/main.fish"
|
||||
|
||||
function installSW -V dir
|
||||
function installSW
|
||||
yayinst \
|
||||
rclone
|
||||
end
|
||||
|
||||
function configureSW -V dir
|
||||
fish "$dir/../../../Common/Software/rclone/main.fish" configure
|
||||
end
|
||||
|
||||
|
|
|
@ -8,7 +8,6 @@ begin
|
|||
# yes | yayinst sddm-git
|
||||
# stable version
|
||||
yayinst sddm
|
||||
configureSW
|
||||
end
|
||||
|
||||
function configureSW -V dir
|
||||
|
|
|
@ -4,7 +4,7 @@ begin
|
|||
source "$dir/../../Scripts/software.fish"
|
||||
source "$dir/../../../Common/Software/vim/main.fish"
|
||||
|
||||
function installSW -V dir
|
||||
function installSW
|
||||
yayinst (
|
||||
# Necessary for accessing clipboard in terminal: https://wiki.archlinux.org/title/Vim
|
||||
) gvim \
|
||||
|
@ -12,8 +12,11 @@ begin
|
|||
# Add clipboard support for wayland: https://www.reddit.com/r/Fedora/comments/ax9p9t/comment/jjb4p7b/
|
||||
) vim-wayland-clipboard-git \
|
||||
wl-clipboard
|
||||
end
|
||||
|
||||
and fish "$dir/../../../Common/Software/vim/main.fish" configure
|
||||
|
||||
function configureSW -V dir
|
||||
fish "$dir/../../../Common/Software/vim/main.fish" configure
|
||||
end
|
||||
|
||||
runInstaller $argv
|
||||
|
|
|
@ -9,8 +9,6 @@ begin
|
|||
visual-studio-code-bin (
|
||||
# Trash functionality
|
||||
) gvfs
|
||||
|
||||
configureSW
|
||||
end
|
||||
|
||||
function configureSW -V dir
|
||||
|
|
|
@ -3,10 +3,12 @@ begin
|
|||
set -l dir (status dirname)
|
||||
source "$dir/../../Scripts/software.fish"
|
||||
|
||||
function installSW -V dir
|
||||
function installSW
|
||||
yayinst \
|
||||
zoxide
|
||||
end
|
||||
|
||||
function configureSW -V dir
|
||||
fish "$dir/../../../Common/Software/zoxide/main.fish" configure
|
||||
end
|
||||
|
||||
|
|
|
@ -26,18 +26,30 @@ if [ (id -u) -eq 0 ]
|
|||
|
||||
and sudo --preserve-env="CONFIG_NAME" --user "$name" "$INSTALLER_SCRIPT"
|
||||
rm "$sudoConfig"
|
||||
userdel -r "$name"
|
||||
userdel -rf "$name"
|
||||
else
|
||||
source "$dir/../Software/bash/main.fish"
|
||||
runHook initialize || true
|
||||
runHook installDrivers || true
|
||||
runHook installOS || true
|
||||
if not type -q getDeploymentScript
|
||||
function getDeploymentScript
|
||||
echo "No deployment script specified! No software will be installed." 1>&2
|
||||
false
|
||||
end
|
||||
end
|
||||
|
||||
runHook addUsers || begin
|
||||
runHook initialize || true
|
||||
and runHook installOS || true
|
||||
|
||||
and runHook addUsers || begin
|
||||
source "$dir/users.fish"
|
||||
end
|
||||
|
||||
runHook installSoftware || true
|
||||
runHook installSoftware || begin
|
||||
set -l script (getDeploymentScript)
|
||||
|
||||
if [ -n "$script" ]
|
||||
source $script
|
||||
end
|
||||
end
|
||||
|
||||
runHook initializeConfig || true
|
||||
|
||||
runHook postInstall || true
|
||||
|
|
|
@ -248,13 +248,11 @@ $null = New-Module {
|
|||
}
|
||||
|
||||
if ($module[1]) {
|
||||
$parameters = @{
|
||||
allowPrerelease = $true;
|
||||
};
|
||||
$parameters = @("-AllowPrerelease");
|
||||
}
|
||||
|
||||
if (-not (Test-PSModule $module[0])) {
|
||||
Install-Module -Scope AllUsers -AcceptLicense -Force -AllowClobber $module[0] @parameters;
|
||||
sudo pwsh -Command Install-Module -Scope AllUsers -AcceptLicense -Force -AllowClobber $module[0] @parameters;
|
||||
Import-Module $module[0];
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ function evalFlake --argument-names config property
|
|||
|
||||
if [ -n "$config" ]
|
||||
set config ".$config"
|
||||
set _flag_apply "_: ($_flag_apply) ((import $(status dirname)/../../../lib/eval-attribute.nix) _)"
|
||||
set _flag_apply "_: ($_flag_apply) ((import $(realpath --relative-to (pwd) "$(status dirname)/../../../lib/eval-attribute.nix")) _)"
|
||||
end
|
||||
|
||||
PROPERTY="$property" \
|
||||
|
|
|
@ -12,23 +12,17 @@ begin
|
|||
end
|
||||
|
||||
function runInstaller -V dir -a action
|
||||
source "$dir/config.fish"
|
||||
|
||||
if [ -z "$action" ] || [ "$action" = "install" ]
|
||||
installSW $argv[2..]
|
||||
else if [ "$action" = "configure" ]
|
||||
configureSW $argv[2..]
|
||||
|
||||
source "$dir/config.fish"
|
||||
set -l users (getUsers)
|
||||
runInstaller "configure"
|
||||
|
||||
if not isConfigured || [ "$USER" != (getConfig "valhalla.setupUser.name") ]
|
||||
runInstaller userConfig
|
||||
end
|
||||
|
||||
for name in (echo "$users" | jq '.[]' --raw-output0 | string split0)
|
||||
if [ "$name" != "$USER" ]
|
||||
runInstaller userConfig "$name"
|
||||
end
|
||||
end
|
||||
else if [ "$action" = "configure" ]
|
||||
configureSW $argv[2..]
|
||||
else if [ "$action" = "userConfig" ]
|
||||
set -l name $argv[2]
|
||||
|
||||
|
|
|
@ -3,9 +3,6 @@ begin
|
|||
set -l dir (status dirname)
|
||||
source "$dir/../../Scripts/software.fish"
|
||||
|
||||
function installSW
|
||||
end
|
||||
|
||||
function configureSW
|
||||
sudo virsh net-autostart default
|
||||
|
||||
|
|
|
@ -3,10 +3,6 @@ begin
|
|||
set -l dir (status dirname)
|
||||
source "$dir/../../Scripts/software.fish"
|
||||
|
||||
function installSW
|
||||
configureSW
|
||||
end
|
||||
|
||||
function configureSW -V dir
|
||||
source "$dir/../bash/profile.fish"
|
||||
source "$dir/../fish/profile.fish"
|
||||
|
|
|
@ -3,10 +3,6 @@ begin
|
|||
set -l dir (status dirname)
|
||||
source "$dir/../../Scripts/software.fish"
|
||||
|
||||
function installSW
|
||||
configureSW
|
||||
end
|
||||
|
||||
function configureSW -V dir
|
||||
begin
|
||||
printf %s\n \
|
||||
|
@ -16,7 +12,7 @@ begin
|
|||
"do" \
|
||||
'source "$file";' \
|
||||
'done < <(find {/etc,~/.config}/bash/conf.d/* -print0 2> /dev/null);'
|
||||
end | sudo tee -a /etc/skel/.bashrc &> /dev/null
|
||||
end | sudo tee -a /etc/bash.bashrc &> /dev/null
|
||||
end
|
||||
|
||||
runInstaller $argv
|
||||
|
|
|
@ -3,84 +3,8 @@ begin
|
|||
set -l dir (status dirname)
|
||||
source "$(status dirname)/../../Scripts/software.fish"
|
||||
|
||||
function configureGit -S -V dir -a name
|
||||
source "$dir/../../Scripts/config.fish"
|
||||
set -l root "valhalla"
|
||||
set -l user
|
||||
set -l configArgs
|
||||
|
||||
function setConfig -S
|
||||
sudo -u "$user" git config $configArgs $argv
|
||||
end
|
||||
|
||||
if [ -z "$name" ]
|
||||
set user "root"
|
||||
set configArgs "--system"
|
||||
else
|
||||
set root "$root.users.$name"
|
||||
set user "$name"
|
||||
set configArgs "--global"
|
||||
set -l displayName "$root.displayName"
|
||||
set -l mailAddress "$root.mailAddress"
|
||||
|
||||
if isSet "$displayName"
|
||||
setConfig user.name (getConfig "$displayName")
|
||||
end
|
||||
|
||||
if isSet "$mailAddress"
|
||||
setConfig user.email (getConfig "$mailAddress")
|
||||
end
|
||||
end
|
||||
|
||||
set -l branch "$root.git.defaultBranch"
|
||||
|
||||
if isSet "$branch"
|
||||
setConfig init.defaultBranch (getConfig "$branch")
|
||||
end
|
||||
|
||||
begin # Git Flow
|
||||
set -l dir (mktemp -d)
|
||||
|
||||
begin
|
||||
set -l key "$root.git.flow"
|
||||
set -l mainKey "$key.mainBranch"
|
||||
set -l devKey "$key.devBranch"
|
||||
|
||||
git -C "$dir" init
|
||||
git -C "$dir" commit --allow-empty -m "Initial commit" > /dev/null
|
||||
git -C "$dir" branch master || true &> /dev/null
|
||||
git -C "$dir" branch main || true &> /dev/null
|
||||
git -C "$dir" branch dev || true &> /dev/null
|
||||
yes "" | git -C "$dir" flow init &> /dev/null
|
||||
|
||||
if isSet "$mainKey"
|
||||
sudo git -C "$dir" flow config set $configArgs master (getConfig "$mainKey") > /dev/null
|
||||
else
|
||||
true
|
||||
end
|
||||
|
||||
if isSet "$devKey"
|
||||
sudo git -C "$dir" flow config set $configArgs develop (getConfig "$devKey") > /dev/null
|
||||
else
|
||||
true
|
||||
end
|
||||
end
|
||||
|
||||
rm -rf "$dir"
|
||||
end
|
||||
|
||||
begin # Aliases
|
||||
set -l key "$root.git.aliases"
|
||||
set -l aliases (getConfig "$key" --json)
|
||||
|
||||
for name in (echo "$aliases" | jq 'keys[]' --raw-output0 | string split0)
|
||||
setConfig "alias.$name" (getConfig "$key.$name")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function configureSW -S -V dir
|
||||
configureGit
|
||||
pwsh "$dir/Manage.ps1" Configure
|
||||
end
|
||||
|
||||
function userConfig -S -V dir -a name
|
||||
|
|
|
@ -5,7 +5,6 @@ begin
|
|||
|
||||
function installSW
|
||||
npm install --global n
|
||||
configureSW
|
||||
end
|
||||
|
||||
function configureSW
|
||||
|
|
|
@ -3,10 +3,6 @@ begin
|
|||
set -l dir (status dirname)
|
||||
source "$dir/../../Scripts/software.fish"
|
||||
|
||||
function installSW
|
||||
configureSW
|
||||
end
|
||||
|
||||
function configureSW
|
||||
set -l configFile /etc/vimrc
|
||||
set -l indicator "set clipboard"
|
||||
|
|
|
@ -3,10 +3,6 @@ begin
|
|||
set -l dir (status dirname)
|
||||
source "$dir/../../Scripts/software.fish"
|
||||
|
||||
function installSW
|
||||
configureSW
|
||||
end
|
||||
|
||||
function configureSW -V dir
|
||||
source "$dir/../bash/profile.fish"
|
||||
source "$dir/../fish/profile.fish"
|
||||
|
|
Loading…
Reference in a new issue