Remove obsolete code
This commit is contained in:
parent
c4267e14d4
commit
976f543b36
|
@ -1,16 +0,0 @@
|
|||
let
|
||||
inherit (nixpkgs) lib;
|
||||
nixpkgs = import <nixpkgs> { config = {}; overlay = []; };
|
||||
file = (builtins.getEnv "FILE");
|
||||
property = (builtins.getEnv "PROPERTY");
|
||||
processor = if (builtins.stringLength property > 0)
|
||||
then
|
||||
(_: lib.attrsets.getAttrFromPath (lib.strings.splitString "." property) _)
|
||||
else
|
||||
(_: _);
|
||||
in
|
||||
processor (lib.evalModules {
|
||||
modules = [
|
||||
(import file)
|
||||
];
|
||||
}).config
|
|
@ -1,4 +0,0 @@
|
|||
#!/bin/env fish
|
||||
begin
|
||||
bash "$(status dirname)/install.sh"
|
||||
end
|
|
@ -1,19 +0,0 @@
|
|||
#!/bin/bash -e
|
||||
function install() {
|
||||
function installDrivers() {
|
||||
. "../../../../../scripts/Arch/Config/SecureBoot/install.sh";
|
||||
. "../../../../../scripts/Arch/Software/nvidia-dkms/install.sh";
|
||||
. "../../../../../scripts/Arch/Software/xone/install.sh";
|
||||
. "../../../../../scripts/Arch/Software/bt-dualboot/install.sh";
|
||||
}
|
||||
|
||||
function initializeConfig() {
|
||||
. "../../../../../scripts/Unix/Devices/Logitech G903/install.sh";
|
||||
}
|
||||
|
||||
pushd "$dir" > /dev/null;
|
||||
. "../../../../../scripts/Arch/OS/install.sh";
|
||||
popd > /dev/null;
|
||||
}
|
||||
|
||||
install;
|
|
@ -1,9 +0,0 @@
|
|||
#!/bin/env fish
|
||||
begin
|
||||
set -l dir (status dirname)
|
||||
|
||||
CONFIG_NAME="DerGeret" \
|
||||
ARCH_HOSTNAME="der-geret" \
|
||||
USER_DISPLAYNAME="Manuel Thalmann" \
|
||||
source "$(status dirname)/../../../../../scripts/Arch/OS/setup.fish"
|
||||
end
|
|
@ -1,9 +0,0 @@
|
|||
#!/bin/bash -e
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
CONFIG_MODULE="./config.nix" \
|
||||
ARCH_HOSTNAME="der-geret" \
|
||||
USER_DISPLAYNAME="Manuel Thalmann" \
|
||||
. "../../../../../scripts/Arch/OS/setup.sh";
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/pwsh
|
||||
$null = New-Module {
|
||||
. "$PSScriptRoot/../../../../../scripts/Common/Scripts/Context.ps1";
|
||||
. "$PSScriptRoot/../../../../../scripts/Windows/OS/Legacy.ps1";
|
||||
|
||||
Write-Host "Starting Backup of Windows";
|
||||
$context = [Context]::new();
|
||||
$context.BackupName = $env:BACKUP_NAME ?? $(Read-Host -Prompt "Please enter a backup name");
|
||||
Backup-WindowsInstallation $context;
|
||||
}
|
|
@ -1,44 +0,0 @@
|
|||
#!/bin/pwsh
|
||||
. "$PSScriptRoot/../../../../../scripts/Common/Scripts/Context.ps1";
|
||||
|
||||
function Install-PortValhallaDrivers {
|
||||
param(
|
||||
[Context] $context
|
||||
)
|
||||
|
||||
$winPath = "$PSScriptRoot/../../../../../scripts/Windows";
|
||||
$driverPath = "$winPath/Drivers";
|
||||
$mbDriverPath = "$driverPath/ROG Zenith Extreme Alpha";
|
||||
$context.RegisterReboot();
|
||||
|
||||
. "$winPath/Software/"
|
||||
. "$mbDriverPath/MarvellEthernet/Install.ps1" $context;
|
||||
. "$mbDriverPath/IntelWiFi/Install.ps1" $context;
|
||||
. "$mbDriverPath/AMDChipsetX399/Install.ps1" $context;
|
||||
. "$driverPath/Predator Z301C/Install.ps1" $context;
|
||||
. "$mbDriverPath/IntelBluetooth/Install.ps1" $context;
|
||||
. "$driverPath/AMDChipsetX399/Install.ps1" $context;
|
||||
. "$driverPath/Tobii EyeX/Install.ps1" $context;
|
||||
|
||||
choco install -y --ignore-checksums `
|
||||
amd-ryzen-master;
|
||||
|
||||
choco install -y geforce-game-ready-driver icue wavelink;
|
||||
$context.RemoveDesktopIcon("*Wave Link*");
|
||||
$context.RemoveDesktopIcon("*GeForce*");
|
||||
|
||||
Write-Information "Set AMD Ryzen power plan as default";
|
||||
$ryzenPlan = [regex]::Match(((powercfg /LIST) | Where-Object { $_ -like "*(AMD Ryzen*"; }), "Power Scheme GUID: ([0-9a-f-]+) ").Groups[1];
|
||||
powercfg /S $ryzenPlan;
|
||||
$context.PreventSleepMode();
|
||||
}
|
||||
|
||||
function Install-PersonalDrivers {
|
||||
param(
|
||||
[Context] $context
|
||||
)
|
||||
|
||||
$softwarePath = "$PSScriptRoot/../../../../../scripts/Windows/Software";
|
||||
. "$softwarePath/TobiiGhost/Install.ps1" $context;
|
||||
. "$softwarePath/TobiiGameHub/Install.ps1" $context;
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
#!/bin/pwsh
|
||||
. "$PSScriptRoot/Drivers.ps1";
|
||||
. "$PSScriptRoot/../../../../../scripts/Common/Scripts/Context.ps1";
|
||||
. "$PSScriptRoot/../../../../../scripts/Windows/Collections/Personal.ps1"
|
||||
. "$PSScriptRoot/../../../../../scripts/Windows/OS/Manage.ps1";
|
||||
|
||||
function Initialize-Configuration {
|
||||
# Fix synchronization between Linux and Windows clock
|
||||
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation" -Name "RealTimeIsUniversal" -Value 1 -Type "DWord";
|
||||
|
||||
# Force time resynchronization
|
||||
$service = Get-Service W32Time;
|
||||
$stopped = ($service.Status -eq "Stopped");
|
||||
Start-Service $service;
|
||||
w32tm /resync /force;
|
||||
|
||||
if ($stopped) {
|
||||
Stop-Service $service;
|
||||
}
|
||||
}
|
||||
|
||||
function Restore-Apps {
|
||||
param([Context] $context)
|
||||
Restore-PersonalApps $context;
|
||||
}
|
||||
|
||||
Write-Host "Starting Restoration of Windows";
|
||||
[Context]$context = [Context]::new();
|
||||
Start-WindowsInstallation;
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/pwsh
|
||||
$env:WIN_COMPUTER_NAME = "DerGeret";
|
||||
$env:CONFIG_NAME = $env:WIN_COMPUTER_NAME;
|
||||
|
||||
. "$PSScriptRoot/../../../../../scripts/Windows/OS/Setup.ps1";
|
|
@ -1,13 +0,0 @@
|
|||
#!/bin/bash -e
|
||||
function install() {
|
||||
local dir="$(realpath "${BASH_SOURCE%/*}")";
|
||||
|
||||
function installDrivers() {
|
||||
. "$dir/../../../../../scripts/Arch/Config/SecureBoot/install.sh";
|
||||
}
|
||||
|
||||
|
||||
. "../../../../../scripts/Arch/OS/install.sh";
|
||||
}
|
||||
|
||||
install;
|
|
@ -1,9 +0,0 @@
|
|||
#!/bin/bash -e
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
ARCH_MOUNT_ROOT="/mnt" \
|
||||
ARCH_HOSTNAME="archlinux" \
|
||||
USER_DISPLAYNAME="Manuel Thalmann" \
|
||||
. "../../../../../scripts/Arch/OS/setup.sh";
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,13 +0,0 @@
|
|||
#!/bin/pwsh
|
||||
. "$PSScriptRoot/../../../../../scripts/Common/Scripts/Context.ps1";
|
||||
. "$PSScriptRoot/../../../../../scripts/Windows/OS/Manage.ps1";
|
||||
. "$PSScriptRoot/../../../../../scripts/Windows/Collections/Generic.ps1"
|
||||
|
||||
function Restore-Apps {
|
||||
param([Context] $context)
|
||||
Restore-GenericApps $context;
|
||||
}
|
||||
|
||||
[Context]$context = [Context]::new();
|
||||
Invoke-WindowsInstallation $context;
|
||||
Restart-Computer -Force;
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/pwsh
|
||||
$env:WIN_COMPUTER_NAME ??= "win11";
|
||||
$env:CONFIG_MODULE ??= "$PSScriptRoot/../config.nix";
|
||||
|
||||
. "$PSScriptRoot/../../../../../scripts/Windows/OS/Setup.ps1";
|
|
@ -1,17 +0,0 @@
|
|||
#!/bin/pwsh
|
||||
function Initialize-Configuration {
|
||||
# Hide update which prevents use of WSL in KVM
|
||||
Get-WindowsUpdate -KBArticleID KB5032190 -Hide -AcceptAll;
|
||||
Get-WindowsUpdate -KBArticleID KB5032190 -Hide -AcceptAll;
|
||||
}
|
||||
|
||||
function Install-PortValhallaDrivers {
|
||||
param(
|
||||
[Context] $context
|
||||
)
|
||||
|
||||
choco install -y --params "'ALLUSERS=1'" qemu-guest-agent;
|
||||
choco install -y spice-agent;
|
||||
}
|
||||
|
||||
. "$PSScriptRoot/../../../../Generic/Windows/Install.ps1";
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/pwsh
|
||||
. "$PSScriptRoot/../../../../Generic/Windows/Setup.ps1";
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/env fish
|
||||
begin
|
||||
set -l dir (status dirname)
|
||||
source "$dir/../../../../../scripts/Arch/OS/install.fish"
|
||||
end
|
|
@ -1,26 +0,0 @@
|
|||
#!/bin/bash -e
|
||||
function install() {
|
||||
function installDrivers() {
|
||||
. "../../../../../scripts/Arch/Config/SecureBoot/install.sh";
|
||||
. "../../../../../scripts/Arch/Drivers/SurfaceBook2/install.sh";
|
||||
}
|
||||
|
||||
function installSoftware() {
|
||||
. "../../../../../scripts/Arch/Collections/school.sh";
|
||||
}
|
||||
|
||||
function initializeConfig() {
|
||||
. "../../../../../scripts/Common/Config/Steam/hidpi.sh";
|
||||
. "../../../../../scripts/Unix/Devices/Surface Book 2/install.sh";
|
||||
. "../../../../../scripts/Unix/Devices/Logitech G903/install.sh";
|
||||
|
||||
# Because, as it looks, Surface Books are fucking stupid.
|
||||
. "../../../../../scripts/Common/Config/GRUB/verbose.sh";
|
||||
}
|
||||
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
. "../../../../../scripts/Arch/OS/install.sh";
|
||||
popd > /dev/null;
|
||||
}
|
||||
|
||||
install;
|
|
@ -1,18 +0,0 @@
|
|||
#!/bin/env fish
|
||||
begin
|
||||
set -l dir (status dirname)
|
||||
|
||||
function installDrivers -V dir -S
|
||||
source "$dir/../../../../../scripts/Common/Scripts/config.fish"
|
||||
pacstrap -K (getConfig valhalla.partition.rootDir) linux-firmware-marvell;
|
||||
end
|
||||
|
||||
function getInstallerScript -V dir -S
|
||||
echo "$dir/install.fish"
|
||||
end
|
||||
|
||||
CONFIG_NAME="ManuSurface" \
|
||||
ARCH_HOSTNAME="manu-surface" \
|
||||
USER_DISPLAYNAME="Manuel Thalmann" \
|
||||
source "$(status dirname)/../../../../../scripts/Arch/OS/setup.fish";
|
||||
end
|
|
@ -1,16 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
# Set Hostname
|
||||
sudo hostnamectl set-hostname ManuSurface;
|
||||
|
||||
source "../../../../../scripts/PopOS/Scripts/preinstall.sh";
|
||||
source "../../../../../scripts/PopOS/OS/install.sh";
|
||||
source "../../../../../scripts/Debian/Drivers/SurfaceBook2/Setup/install.sh";
|
||||
source "../../../../../scripts/PopOS/Software/Collections/school.sh";
|
||||
INSTALL_FONTS=1 NEXTCLOUD_DIR="${NEXTCLOUD_DIR}" source "../../../../../scripts/Common/Config/UserProfile/install.sh";
|
||||
|
||||
# Install equalizer
|
||||
source "../../../../../scripts/Common/Config/EasyEffects/SurfaceBook2/install.sh";
|
||||
|
||||
source "../../../../../scripts/PopOS/Scripts/postinstall.sh";
|
||||
popd > /dev/null;
|
|
@ -1,12 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
# Set Hostname
|
||||
sudo hostnamectl set-hostname ManuPopOSLive;
|
||||
source "../../../../scripts/PopOS/Scripts/prepare.sh";
|
||||
source "../../../../scripts/PopOS/OS/install.sh";
|
||||
source "../../../../scripts/PopOS/Software/Collections/personal.sh";
|
||||
INSTALL_FONTS=1 NEXTCLOUD_DIR="${NEXTCLOUD_DIR}" source "../../../../scripts/Common/Config/UserProfile/personal.sh";
|
||||
|
||||
source "../../../../scripts/PopOS/Scripts/postinstall.sh";
|
||||
popd > /dev/null;
|
|
@ -1,268 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
# Firmware
|
||||
yay --noconfirm -Syu mkinitcpio-firmware;
|
||||
|
||||
# Essentials
|
||||
yay --noconfirm -Syu \
|
||||
neofetch \
|
||||
tldr \
|
||||
bash-completion \
|
||||
wget \
|
||||
oh-my-posh-bin \
|
||||
screen \
|
||||
tmux \
|
||||
htop \
|
||||
btop \
|
||||
nvtop \
|
||||
numbat-bin \
|
||||
lsof \
|
||||
zsh \
|
||||
fish \
|
||||
powershell-bin \
|
||||
pkgfile \
|
||||
zoxide \
|
||||
fzf \
|
||||
sl \
|
||||
terminal-parrot \
|
||||
rar \
|
||||
;
|
||||
|
||||
sudo pkgfile --update;
|
||||
|
||||
. "../Software/openssh/install.sh";
|
||||
. "../Software/vim/install.sh";
|
||||
. "../Software/git/install.sh";
|
||||
. "../Software/aliae/install.sh";
|
||||
. "../../Common/Config/zoxide/install.sh";
|
||||
|
||||
sudo chsh $USER --shell "$(which fish)";
|
||||
|
||||
# User Interface
|
||||
. ../Software/KDE/install.sh;
|
||||
. ../Software/sddm/install.sh;
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
maliit-keyboard \
|
||||
;
|
||||
|
||||
yay --noconfirm -Syu power-profiles-daemon;
|
||||
sudo systemctl enable --now power-profiles-daemon;
|
||||
|
||||
# GUI Applications
|
||||
yay --noconfirm -Syu \
|
||||
dconf-editor \
|
||||
flatpak \
|
||||
`# Fixes: https://www.reddit.com/r/flatpak/comments/168tav2/how_to_fix_blurry_flatpaks_on_high_resolution/` \
|
||||
xdg-desktop-portal-gtk \
|
||||
;
|
||||
|
||||
# Networking
|
||||
yay --noconfirm -Syu \
|
||||
networkmanager-openvpn \
|
||||
networkmanager-openconnect \
|
||||
;
|
||||
|
||||
# Fonts
|
||||
yay --noconfirm -Syu \
|
||||
ttf-cascadia-code-nerd \
|
||||
ttf-ms-win11-auto \
|
||||
otf-cascadia-code \
|
||||
ttf-droid \
|
||||
;
|
||||
|
||||
# GRUB Shenanigans
|
||||
. "../Software/minegrub-theme/install.sh";
|
||||
|
||||
# # Gnome Extensions
|
||||
# yay --noconfirm -Syu \
|
||||
# gnome-shell-extension-order-icons-git \
|
||||
# gnome-shell-extension-desktop-icons-ng \
|
||||
# gnome-shell-extension-dash-to-dock \
|
||||
# gnome-shell-extension-pop-shell-git \
|
||||
# gnome-shell-extension-pano-git;
|
||||
|
||||
# . "../Config/GnomeExtensions/install.sh";
|
||||
|
||||
# Frameworks
|
||||
. "../Software/IcedTea/install.sh";
|
||||
|
||||
# File Sync
|
||||
yay --noconfirm -Syu nextcloud-client;
|
||||
. "../Software/rclone/install.sh";
|
||||
|
||||
# Firefox
|
||||
. "../Software/Firefox/install.sh";
|
||||
|
||||
# Brave Browser
|
||||
yay --noconfirm -Syu \
|
||||
brave-bin \
|
||||
`# brave-beta-bin` \
|
||||
`# brave-nightly-bin` \
|
||||
;
|
||||
|
||||
braveExtensions="/opt/brave-bin/extensions";
|
||||
|
||||
yay --noconfirm -Syu jq;
|
||||
|
||||
BROWSER_BIN="brave" \
|
||||
EXTENSION_DIR="/usr/share/chromium-extensions" \
|
||||
EXTENSION_POLICY_DIR="$braveExtensions" \
|
||||
source "../../Common/Software/Chromium/ytmdl.sh";
|
||||
|
||||
# sudo ln -sf "$braveExtensions" /opt/brave.com/brave-beta/extensions;
|
||||
# sudo ln -sf "$braveExtensions" /opt/brave.com/brave-nightly/extensions;
|
||||
|
||||
# Pennywise
|
||||
source "../Software/Pennywise/install.sh";
|
||||
|
||||
# Tools
|
||||
yay --noconfirm -Rs typescript || true;
|
||||
yay --noconfirm -Rs yarn || true;
|
||||
yay --noconfirm -Rs nodejs || true;
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
bitwarden \
|
||||
keepass \
|
||||
keepassxc \
|
||||
signal-desktop \
|
||||
threema-desktop \
|
||||
`# extension-manager` \
|
||||
`# easyeffects` \
|
||||
`# gnome-tweaks` \
|
||||
anki-bin \
|
||||
cpu-x \
|
||||
libreoffice-fresh \
|
||||
gnome-calculator \
|
||||
pdfarranger \
|
||||
img2pdf \
|
||||
protonvpn \
|
||||
yubikey-manager-qt \
|
||||
;
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
discord \
|
||||
openasar-git \
|
||||
;
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
blackbox-terminal \
|
||||
|| \
|
||||
sudo flatpak install --system -y \
|
||||
com.raggesilver.BlackBox \
|
||||
;
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
mupdf-tools \
|
||||
naps2-bin \
|
||||
protonmail-bridge \
|
||||
thunderbird \
|
||||
;
|
||||
|
||||
. "../Software/waydroid/install.sh";
|
||||
. "../../Common/Software/nuke-usb/install.sh";
|
||||
|
||||
# Python
|
||||
yay --noconfirm -Syu \
|
||||
python \
|
||||
python-pip \
|
||||
pyenv \
|
||||
python-pipenv;
|
||||
|
||||
. "../../Common/Config/pyenv/install.sh";
|
||||
|
||||
# Media
|
||||
. "../Software/ytmdesktop/install.sh";
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
gimp \
|
||||
inkscape \
|
||||
`# netflix` \
|
||||
spotube-bin \
|
||||
stremio \
|
||||
`# idal-dl` \
|
||||
tidal-hifi-bin \
|
||||
nuclear-player-bin \
|
||||
audius-client-bin \
|
||||
;
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
tidal-dl \
|
||||
netflix \
|
||||
| true;
|
||||
|
||||
# Games
|
||||
yay --noconfirm -Syu \
|
||||
steam \
|
||||
chiaki \
|
||||
osu-lazer-bin \
|
||||
libretro \
|
||||
supertux \
|
||||
gamepad-tool-bin \
|
||||
;
|
||||
|
||||
. "../Software/Lutris/install.sh";
|
||||
|
||||
# Coding
|
||||
yay --noconfirm -Syu \
|
||||
archiso \
|
||||
`# ISO support for wimlib` \
|
||||
cdrkit \
|
||||
wimlib \
|
||||
devdocs-desktop \
|
||||
python-docutils \
|
||||
esbonio \
|
||||
godot-mono-bin \
|
||||
`# Trash functionality for code` \
|
||||
gvfs \
|
||||
vscodium-bin \
|
||||
visual-studio-code-bin \
|
||||
;
|
||||
|
||||
. "../../Common/Config/vscode/install.sh";
|
||||
|
||||
{
|
||||
echo "--touch-events";
|
||||
} | tee ~/.config/codium-flags.conf > /dev/null;
|
||||
|
||||
cp ~/.config/codium-flags.conf ~/.config/code-flags.conf;
|
||||
|
||||
# Node.js
|
||||
yay --noconfirm -Syu nodejs-n;
|
||||
sudo n install latest;
|
||||
|
||||
# Docker
|
||||
. "../Software/docker/install.sh";
|
||||
|
||||
# Nix
|
||||
yay --noconfirm -Syu \
|
||||
nix \
|
||||
nil-git \
|
||||
;
|
||||
|
||||
sudo nix-channel --add https://nixos.org/channels/nixpkgs-unstable;
|
||||
sudo nix-channel --update;
|
||||
|
||||
# Misc
|
||||
. "../Software/logo-ls/install.sh";
|
||||
. "../Software/Virtual Machine Manager/install.sh";
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
bb \
|
||||
tea \
|
||||
woodpecker-cli \
|
||||
`# RDP support for Remmina` \
|
||||
freerdp \
|
||||
remmina \
|
||||
wireshark-qt \
|
||||
linux-wifi-hotspot \
|
||||
pdf2svg \
|
||||
tnef \
|
||||
propertree-git \
|
||||
android-tools \
|
||||
;
|
||||
|
||||
flatpak install -y flathub com.usebottles.bottles;
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,32 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
. "./personal.sh";
|
||||
|
||||
# Communication
|
||||
yay --noconfirm -Syu \
|
||||
teams-for-linux-bin \
|
||||
;
|
||||
|
||||
# Java
|
||||
yay --noconfirm -Syu \
|
||||
jdk17-temurin \
|
||||
gradle \
|
||||
jetbrains-toolbox \
|
||||
;
|
||||
|
||||
# Note Taking
|
||||
yay --noconfirm -Syu \
|
||||
xournalpp-git \
|
||||
rnote \
|
||||
;
|
||||
|
||||
# Latex
|
||||
yay --noconfirm -Syu \
|
||||
texlive \
|
||||
texlive-langgerman \
|
||||
;
|
||||
|
||||
. "../../Common/Config/udev/ct-board.sh";
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,15 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
. "../../Software/gnome-shell-extension-installer/install.sh";
|
||||
. "../../../Common/Config/GnomeExtensions/install-extension.sh";
|
||||
yay --noconfirm -Syu jq;
|
||||
|
||||
extensions=(
|
||||
4907 # EasyEffects Preset Selector https://extensions.gnome.org/extension/4907/easyeffects-preset-selector/
|
||||
1162 # Emoji Selector https://extensions.gnome.org/extension/1162/emoji-selector/
|
||||
);
|
||||
|
||||
installExtension extensions;
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,24 +0,0 @@
|
|||
#!/bin/bash
|
||||
EFI_BOOT_DIR="${EFI_BOOT_DIR:-"/boot"}";
|
||||
BOOTLOADER_ID=${BOOTLOADER_ID:-"Arch"};
|
||||
bootNums="$(efibootmgr | sed "/$BOOTLOADER_ID/{ s/^.*Boot\([[:digit:]]\+\)\*.*$/\1/; p; }; d")";
|
||||
|
||||
yay --noconfirm -Syu secureboot-grub;
|
||||
|
||||
for bootNum in $bootNums;
|
||||
do
|
||||
sudo efibootmgr --delete-bootnum --bootnum "$bootNum"
|
||||
done;
|
||||
|
||||
sudo sed -i \
|
||||
-e "/esp=/{" \
|
||||
-e "a esp=\"$EFI_BOOT_DIR\"" \
|
||||
-e "d" \
|
||||
-e "}" \
|
||||
-e "/bootloader_id=/{" \
|
||||
-e "a bootloader_id=\"$BOOTLOADER_ID\"" \
|
||||
-e "d" \
|
||||
-e "}" \
|
||||
/etc/secureboot.conf;
|
||||
|
||||
sudo secure-grub-install;
|
|
@ -1,15 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Bacause of: https://www.reddit.com/r/archlinux/s/KTx9AbsFfT
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
configFile="/etc/makepkg.conf";
|
||||
customFile="$configFile.d/makepkg.conf";
|
||||
pattern="^\\(OPTIONS=(.*[( ]\\)\\(debug[ )].*)\\)$";
|
||||
|
||||
if [ ! -f "$customFile" ];
|
||||
then
|
||||
sed "/$pattern/{ s/$pattern/\\1!\\2/; p; }; d" "$configFile" | sudo tee "$customFile" > /dev/null;
|
||||
echo "MAKEFLAGS=\"-j\$(nproc)\"" | sudo tee --append "$customFile" > /dev/null;
|
||||
fi;
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,17 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
echo "MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)" | sudo tee /etc/mkinitcpio.conf.d/nvidia.conf > /dev/null;
|
||||
|
||||
sudo sed -i \
|
||||
-e "/^HOOKS=(.* kms /{" \
|
||||
-e "h; s/^/#/; p;" \
|
||||
-e "g; s/ kms / /" \
|
||||
-e "}" \
|
||||
/etc/mkinitcpio.conf;
|
||||
|
||||
sudo mkinitcpio -P;
|
||||
|
||||
. "../../../Common/Config/nvidia-dkms/install.sh";
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,7 +0,0 @@
|
|||
#!/bin/bash
|
||||
systemctl --user enable --now ssh-agent;
|
||||
|
||||
{
|
||||
echo "#!/bin/bash";
|
||||
echo "export SSH_AUTH_SOCK=\"\$XDG_RUNTIME_DIR/ssh-agent.socket\"";
|
||||
} | sudo tee "/etc/profile.d/openssh.sh" > /dev/null;
|
|
@ -1,12 +0,0 @@
|
|||
#!/bin/bash
|
||||
sudo sed -i \
|
||||
-e "/^\[options\]$/,/^\[/{" \
|
||||
-e "s/^#\?\(Color\)$/\1/;" \
|
||||
-e "/^# Misc options$/{" \
|
||||
`# -e "a ILoveCandy"` \
|
||||
-e "};" \
|
||||
-e "}" \
|
||||
-e "/^#\?\[multilib\]$/,/^$/{ s/^#\?\(.*\)$/\1/; }" \
|
||||
/etc/pacman.conf;
|
||||
|
||||
sudo pacman -Sy;
|
|
@ -1,14 +0,0 @@
|
|||
#!/bin/bash
|
||||
configDir="/etc/sddm.conf.d";
|
||||
sudo systemctl enable sddm;
|
||||
|
||||
sudo mkdir -p "$configDir";
|
||||
|
||||
{
|
||||
echo "[General]";
|
||||
echo "DisplayServer=wayland";
|
||||
echo "GreeterEnvironment=QT_WAYLAND_SHELL_INTEGRATION=layer-shell";
|
||||
echo "";
|
||||
echo "[Wayland]";
|
||||
echo "CompositorCommand=kwin_wayland --drm --no-lockscreen --no-global-shortcuts --locale1 --inputmethod maliit-keyboard";
|
||||
} | sudo tee "$configDir/10-wayland.conf" > /dev/null;
|
|
@ -1,8 +0,0 @@
|
|||
#!/bin/bash
|
||||
if [ ! "$UID" -eq 0 ]
|
||||
then
|
||||
sudo bash "$BASH_SOURCE";
|
||||
else
|
||||
wheelPattern="^# \(%wheel \)";
|
||||
sed -i "/$wheelPattern/{ /NOPASSWD/{ b; }; s/$wheelPattern/\1/; }" /etc/sudoers;
|
||||
fi;
|
|
@ -1,20 +0,0 @@
|
|||
#!/bin/bash
|
||||
contextRoot="$(mktemp -d)";
|
||||
packageName="libcamera-git";
|
||||
|
||||
pushd "$contextRoot" > /dev/null;
|
||||
|
||||
yay -G "$packageName";
|
||||
cd *;
|
||||
yay --noconfirm -S "$packageName" --asdeps || true;
|
||||
|
||||
sed -i \
|
||||
-e "s/^\(provides=(.*\)\()\)/\1 \"libcamera-base.so\" \"libcamera.so\"\2/" \
|
||||
-e "s/^\(conflicts=(.*\)\()\)/\1 \"libcamera-ipa\"\2/" \
|
||||
PKGBUILD;
|
||||
|
||||
yes | makepkg -si;
|
||||
|
||||
popd > /dev/null;
|
||||
|
||||
rm -rf "$contextRoot";
|
|
@ -1,55 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
. "../../Software/yay/install.sh";
|
||||
|
||||
curl -s https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc \
|
||||
| sudo pacman-key --add -;
|
||||
|
||||
sudo pacman-key --finger 56C464BAAC421453;
|
||||
sudo pacman-key --lsign-key 56C464BAAC421453;
|
||||
|
||||
pacmanConf="/etc/pacman.conf";
|
||||
|
||||
retry() {
|
||||
retryCount="$1";
|
||||
command="${@:2}";
|
||||
exitCode=0;
|
||||
|
||||
for i in $(seq 1 $retryCount);
|
||||
do
|
||||
eval "$command" && {
|
||||
exitCode=0;
|
||||
break;
|
||||
};
|
||||
exitCode="$?";
|
||||
done;
|
||||
}
|
||||
|
||||
if ! grep "^\[linux-surface\]$" "$pacmanConf"
|
||||
then
|
||||
{
|
||||
echo "";
|
||||
echo "[linux-surface]";
|
||||
echo "Server = https://pkg.surfacelinux.com/arch/";
|
||||
} | sudo tee -a "$pacmanConf" > /dev/null;
|
||||
fi;
|
||||
|
||||
retry 5 sudo pacman --noconfirm -Syu;
|
||||
|
||||
retry 5 sudo pacman --noconfirm -Sy \
|
||||
intel-ucode \
|
||||
linux-surface \
|
||||
linux-surface-headers \
|
||||
linux-surface-secureboot-mok \
|
||||
iptsd \
|
||||
intel-ucode \
|
||||
linux-firmware-marvell \
|
||||
;
|
||||
|
||||
sudo grub-mkconfig -o /boot/grub/grub.cfg;
|
||||
yes | yay --answerclean=None --answerdiff=None -Syu libwacom-surface;
|
||||
|
||||
. "./camera.sh";
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,21 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
. "../../Software/yay/install.sh";
|
||||
. "../../Software/nvidia-dkms/install.sh";
|
||||
. "../../Software/xone/install.sh";
|
||||
. "../Surface/install.sh";
|
||||
|
||||
{
|
||||
echo "# vim:set ft=sh";
|
||||
echo "MODULES=(pinctrl_sunrisepoint surface_dtx)";
|
||||
} | sudo tee /etc/mkinitcpio.conf.d/surface-book-2.conf;
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
surface-dtx-daemon-bin \
|
||||
surface-control-bin;
|
||||
|
||||
sudo systemctl enable surface-dtx-daemon.service
|
||||
systemctl enable --user surface-dtx-userd.service
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,43 +0,0 @@
|
|||
#!/bin/bash -e
|
||||
rootDir="${BASH_SOURCE%/*}";
|
||||
customPortValhallaSudoConfigFile="/etc/sudoers.d/1337_PortValhalla"
|
||||
|
||||
pushd "$rootDir" > /dev/null;
|
||||
. "../../Common/Scripts/hooks.sh";
|
||||
popd > /dev/null;
|
||||
|
||||
function autoRoot() {
|
||||
{
|
||||
echo "$USER ALL=(ALL:ALL) NOPASSWD: ALL"
|
||||
} | sudo tee "$customPortValhallaSudoConfigFile" > /dev/null;
|
||||
}
|
||||
|
||||
function defaultProfileSetup() {
|
||||
NEXTCLOUD_DIR="${NEXTCLOUD_DIR}" \
|
||||
INSTALL_FONTS=0 \
|
||||
. "$(pwd)/../../../scripts/Common/Config/UserProfile/install.sh";
|
||||
}
|
||||
|
||||
runHook initialize \
|
||||
autoRoot;
|
||||
|
||||
pushd "$rootDir" > /dev/null;
|
||||
. "../Software/base-devel/install.sh";
|
||||
. "../Config/pacman/install.sh";
|
||||
. "../Software/yay/install.sh";
|
||||
popd > /dev/null;
|
||||
|
||||
sudo pacman --noconfirm -Syu pacman-contrib;
|
||||
|
||||
runHook installDrivers;
|
||||
|
||||
runHook installSoftware \
|
||||
. "$(pwd)/../Collections/personal.sh";
|
||||
|
||||
runHook initializeConfig;
|
||||
|
||||
runHook initializeProfile \
|
||||
defaultProfileSetup;
|
||||
|
||||
runHook postInstall \
|
||||
sudo rm "$customPortValhallaSudoConfigFile" /var/db/sudo/lectured/$UID;
|
|
@ -1,81 +0,0 @@
|
|||
#!/bin/bash -e
|
||||
CONFIG_MODULE="${CONFIG_MODULE:+"$(realpath "$CONFIG_MODULE")"}";
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
CONFIG_MODULE="${CONFIG_MODULE:-"./config.nix"}";
|
||||
ARCH_TIMEZONE="${ARCH_TIMEZONE:-"Europe/Zurich"}";
|
||||
ARCH_HOSTNAME="${ARCH_HOSTNAME}";
|
||||
ARCH_MOUNT_ROOT="${ARCH_MOUNT_ROOT:-"$(../../eval-module.sh "$CONFIG_MODULE" valhalla.partition.rootDir --raw)"}";
|
||||
ARCH_LANG="${ARCH_LANG:-"en_US.UTF-8"}";
|
||||
ARCH_KEYMAP="${ARCH_KEYMAP:-"de_CH-latin1"}";
|
||||
ARCH_X11_KEYMAP="${ARCH_X11_KEYMAP:-"ch"}";
|
||||
LOCALE_PATTERN="${LOCALE_PATTERN:-\(de_CH\|en_US\)}";
|
||||
|
||||
USER_NAME="${USER_NAME:-"manuel"}";
|
||||
USER_DISPLAYNAME="${USER_DISPLAYNAME}";
|
||||
USER_GROUPS="${USER_GROUPS}";
|
||||
|
||||
projectRoot="$(realpath ../../..)";
|
||||
projectName="$(basename "$projectRoot")";
|
||||
relativeDir="$(realpath --relative-to "$projectRoot" "$(pwd)")";
|
||||
tempRoot="/opt/$(basename "$projectName")";
|
||||
tempDir="$tempRoot/$relativeDir";
|
||||
|
||||
loadkeys "$ARCH_KEYMAP";
|
||||
timedatectl set-timezone "$ARCH_TIMEZONE";
|
||||
|
||||
. "../../Common/OS/partition.sh";
|
||||
|
||||
pacman-key --init;
|
||||
pacman-key --populate;
|
||||
|
||||
pacstrap -K "$ARCH_MOUNT_ROOT" \
|
||||
base \
|
||||
linux \
|
||||
linux-firmware \
|
||||
networkmanager \
|
||||
man-db \
|
||||
man-pages \
|
||||
texinfo \
|
||||
;
|
||||
|
||||
fish ../../copy-repo.fish "${ARCH_MOUNT_ROOT}$tempRoot";
|
||||
genfstab -U "$ARCH_MOUNT_ROOT" >> "$ARCH_MOUNT_ROOT/etc/fstab";
|
||||
|
||||
arch-chroot "$ARCH_MOUNT_ROOT" systemctl enable NetworkManager;
|
||||
|
||||
arch-chroot "$ARCH_MOUNT_ROOT" ln -sf /usr/share/zoneinfo/Europe/Zurich /etc/localtime;
|
||||
arch-chroot "$ARCH_MOUNT_ROOT" hwclock --systohc;
|
||||
|
||||
arch-chroot "$ARCH_MOUNT_ROOT" sed -i "s/^#\?\($LOCALE_PATTERN.*\)$/\1/" /etc/locale.gen;
|
||||
arch-chroot "$ARCH_MOUNT_ROOT" locale-gen;
|
||||
|
||||
{
|
||||
echo "LANG=de_CH.UTF-8"
|
||||
echo "LANGUAGE=en_US.UTF-8"
|
||||
echo "LC_MESSAGES=en_US.UTF-8"
|
||||
} | arch-chroot "$ARCH_MOUNT_ROOT" tee /etc/locale.conf > /dev/null;
|
||||
|
||||
echo "KEYMAP=$ARCH_KEYMAP" | arch-chroot "$ARCH_MOUNT_ROOT" tee /etc/vconsole.conf > /dev/null;
|
||||
|
||||
echo "$ARCH_HOSTNAME" | arch-chroot "$ARCH_MOUNT_ROOT" tee /etc/hostname;
|
||||
arch-chroot "$ARCH_MOUNT_ROOT" mkinitcpio -P;
|
||||
|
||||
arch-chroot "$ARCH_MOUNT_ROOT" pacman -Syu;
|
||||
arch-chroot "$ARCH_MOUNT_ROOT" bash "$tempDir/../Software/GRUB/install.sh";
|
||||
arch-chroot "$ARCH_MOUNT_ROOT" bash "$tempDir/../Software/sudo/install.sh";
|
||||
pacstrap -K "$ARCH_MOUNT_ROOT" git;
|
||||
|
||||
|
||||
USER_NAME="${USER_NAME}" \
|
||||
USER_DISPLAYNAME="${USER_DISPLAYNAME}" \
|
||||
USER_GROUPS="${USER_GROUPS}" \
|
||||
arch-chroot "$ARCH_MOUNT_ROOT" bash "$tempDir/user.sh";
|
||||
|
||||
cp ./set-keymap.service "$ARCH_MOUNT_ROOT/etc/systemd/system";
|
||||
systemd-nspawn -D "$ARCH_MOUNT_ROOT" systemctl enable set-keymap;
|
||||
systemd-nspawn -bD "$ARCH_MOUNT_ROOT" -E "ARCH_X11_KEYMAP=${ARCH_X11_KEYMAP}";
|
||||
systemd-nspawn -D "$ARCH_MOUNT_ROOT" systemctl disable set-keymap;
|
||||
rm "$ARCH_MOUNT_ROOT/etc/systemd/system/set-keymap.service";
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,18 +0,0 @@
|
|||
#!/bin/bash
|
||||
USER_NAME="${USER_NAME}";
|
||||
USER_DISPLAYNAME="${USER_DISPLAYNAME}";
|
||||
USER_GROUPS="${USER_GROUPS}";
|
||||
useradd --create-home --comment "$USER_DISPLAYNAME" --groups wheel "$USER_NAME";
|
||||
usermod -aG wheel "$USER_NAME";
|
||||
|
||||
if [ ! -z "$USER_GROUPS" ]
|
||||
then
|
||||
usermod -aG "$USER_GROUPS" "$USER_NAME";
|
||||
fi;
|
||||
|
||||
echo "Please Choose a New Password for User \`$USER_NAME\`";
|
||||
|
||||
while ! passwd "$USER_NAME";
|
||||
do
|
||||
echo "An error occurred! Please try again."
|
||||
done;
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
yay --noconfirm -Syu firefox;
|
||||
. "../../../Common/Config/Firefox/install.sh";
|
||||
popd > /dev/null;
|
|
@ -1,9 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Elevate script
|
||||
if [ ! "$UID" -eq 0 ]
|
||||
then
|
||||
sudo bash "$BASH_SOURCE" "$USER";
|
||||
else
|
||||
pacman --noconfirm -Syu gnome
|
||||
systemctl enable gdm;
|
||||
fi;
|
|
@ -1,15 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Elevate script
|
||||
if [ ! "$UID" -eq 0 ]
|
||||
then
|
||||
sudo bash "$BASH_SOURCE" "$USER";
|
||||
else
|
||||
EFI_BOOT_DIR="${EFI_BOOT_DIR:-"/boot"}";
|
||||
BOOTLOADER_ID=${BOOTLOADER_ID:-"Arch"};
|
||||
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
pacman --noconfirm -Syu grub efibootmgr os-prober;
|
||||
. ../../../Common/Config/GRUB/setup.sh;
|
||||
popd > /dev/null;
|
||||
fi;
|
|
@ -1,4 +0,0 @@
|
|||
yay --noconfirm -Syu jdk-temurin;
|
||||
yay --noconfirm -Syu icedtea-web;
|
||||
# Allow execution of huwaei KVM application (uses out of date security mechanisms)
|
||||
sudo sed -i "/^jdk.jar.disabledAlgorithms=/{ :comment; s/\(.*\)/#\1/; /\\\\\$/{ n; bcomment; }; }" /usr/lib/jvm/default-runtime/conf/security/java.security;
|
|
@ -1,22 +0,0 @@
|
|||
#!/bin/bash
|
||||
sudo pacman -Syu --noconfirm \
|
||||
pipewire-jack \
|
||||
plasma-meta \
|
||||
`# As per: https://wiki.archlinux.org/title/KDE#Discover_does_not_show_any_applications` \
|
||||
packagekit-qt6 \
|
||||
tesseract-data-deu \
|
||||
tesseract-data-eng \
|
||||
kde-applications-meta \
|
||||
`# Automatic rotation: https://wiki.archlinux.org/title/Tablet_PC#With_a_KDE_module` \
|
||||
iio-sensor-proxy \
|
||||
pipewire-audio \
|
||||
pipewire-pulse \
|
||||
`# File Exchange Support for KDE Connect: https://wiki.archlinux.org/title/KDE#KDE_Connect` \
|
||||
sshfs \
|
||||
;
|
||||
|
||||
sudo systemctl enable --now bluetooth;
|
||||
|
||||
sudo pacman -Syu --noconfirm \
|
||||
fwupd \
|
||||
;
|
|
@ -1,71 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
yay --noconfirm --needed -Syu \
|
||||
wine-staging \
|
||||
giflib \
|
||||
lib32-giflib \
|
||||
libpng \
|
||||
lib32-libpng \
|
||||
libldap \
|
||||
lib32-libldap \
|
||||
gnutls \
|
||||
lib32-gnutls \
|
||||
mpg123 \
|
||||
lib32-mpg123 \
|
||||
openal \
|
||||
lib32-openal \
|
||||
v4l-utils \
|
||||
lib32-v4l-utils \
|
||||
libpulse \
|
||||
lib32-libpulse \
|
||||
libgpg-error \
|
||||
lib32-libgpg-error \
|
||||
alsa-plugins \
|
||||
lib32-alsa-plugins \
|
||||
alsa-lib \
|
||||
lib32-alsa-lib \
|
||||
libjpeg-turbo \
|
||||
lib32-libjpeg-turbo \
|
||||
sqlite \
|
||||
lib32-sqlite \
|
||||
libxcomposite \
|
||||
lib32-libxcomposite \
|
||||
libxinerama \
|
||||
lib32-libgcrypt \
|
||||
libgcrypt \
|
||||
lib32-libxinerama \
|
||||
ncurses \
|
||||
lib32-ncurses \
|
||||
ocl-icd \
|
||||
lib32-ocl-icd \
|
||||
libxslt \
|
||||
lib32-libxslt \
|
||||
libva \
|
||||
lib32-libva \
|
||||
gtk3 \
|
||||
lib32-gtk3 \
|
||||
gst-plugins-base-libs \
|
||||
lib32-gst-plugins-base-libs \
|
||||
vulkan-icd-loader \
|
||||
lib32-vulkan-icd-loader \
|
||||
;
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
`# Extracting GOG games` \
|
||||
innoextract \
|
||||
gamemode \
|
||||
lib32-gamemode \
|
||||
vkd3d \
|
||||
lib32-vkd3d \
|
||||
gamescope \
|
||||
yad \
|
||||
protontricks \
|
||||
protonup-qt-bin \
|
||||
;
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
lutris \
|
||||
;
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
yay --noconfirm -Syu nvs-git;
|
||||
source "/etc/profile.d/nvs.sh";
|
||||
|
||||
NVS_HOME='$HOME/.nvs' \
|
||||
NVS_PATH="$NVS_ROOT" \
|
||||
. "../../../Common/Config/NVS/install.sh";
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
yay --noconfirm -Syu pennywise-bin;
|
||||
. "../../../Common/Config/Pennywise/install.sh";
|
||||
popd > /dev/null;
|
|
@ -1,22 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
qemu-full \
|
||||
;
|
||||
|
||||
yes | yay --answerclean=None --answerdiff=None -Syu \
|
||||
virtiofsd \
|
||||
virt-manager \
|
||||
dnsmasq \
|
||||
iptables-nft \
|
||||
swtpm \
|
||||
lxc \
|
||||
virt-bootstrap-git \
|
||||
;
|
||||
|
||||
sudo systemctl enable --now libvirtd;
|
||||
sudo systemctl enable --now virtlogd;
|
||||
. "../../../Common/Config/Virtual Machine Manager/install.sh";
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
aliae-bin \
|
||||
;
|
||||
|
||||
. "../../../Unix/Config/aliae/install.sh";
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,10 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
sudo pacman --noconfirm -Syu \
|
||||
base-devel \
|
||||
;
|
||||
|
||||
. "../../Config/base-devel/install.sh";
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/bash
|
||||
yay --noconfirm -Syu bt-dualboot;
|
|
@ -1,13 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
docker \
|
||||
docker-compose \
|
||||
docker-buildx \
|
||||
docker-scan \
|
||||
;
|
||||
|
||||
. "../../../Common/Config/docker/install.sh";
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,15 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
git \
|
||||
git-lfs \
|
||||
gitflow-avh \
|
||||
gitflow-bashcompletion-avh \
|
||||
gitflow-fishcompletion-avh \
|
||||
gitflow-zshcompletion-avh \
|
||||
;
|
||||
|
||||
. "../../../Common/Config/git/install.sh";
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/bash
|
||||
yay --noconfirm -Syu gnome-shell-extension-installer;
|
|
@ -1,30 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
dirName="$(pwd)";
|
||||
contextRoot="$(mktemp -d)";
|
||||
pushd "$contextRoot" > /dev/null;
|
||||
|
||||
pkgName="logo-ls";
|
||||
patchName="workaround.patch";
|
||||
|
||||
yay -G -f "$pkgName";
|
||||
cd "$pkgName";
|
||||
cp "$dirName/$patchName" .;
|
||||
|
||||
sed -i \
|
||||
-e "/^source=(/s/source=(/\0$patchName /" \
|
||||
-e "/^md5sums=(/s/^md5sums=(/\0SKIP /" \
|
||||
-e "/^build() {/,/}/{" \
|
||||
-e "/^[[:space:]]*cd/{" \
|
||||
-e "a cat ../$patchName | patch --strip 1 --forward --merge" \
|
||||
-e "}" \
|
||||
-e "}" \
|
||||
PKGBUILD;
|
||||
|
||||
makepkg --noconfirm -si --force;
|
||||
|
||||
popd > /dev/null;
|
||||
rm -rf "$contextRoot";
|
||||
|
||||
. "../../../Common/Config/logo-ls/install.sh";
|
||||
popd > /dev/null;
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
yay --noconfirm -Syu grub-theme-minegrub-git;
|
||||
. "../../../Common/Config/GRUB/minegrub-theme.sh";
|
||||
popd > /dev/null;
|
|
@ -1,14 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
linux-headers \
|
||||
;
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
nvidia-beta-dkms \
|
||||
lib32-nvidia-utils-beta \
|
||||
;
|
||||
|
||||
. ../../Config/nvidia-dkms/install.sh;
|
||||
popd > /dev/null;
|
|
@ -1,12 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
openssh \
|
||||
libfido2 \
|
||||
;
|
||||
|
||||
# Git Config
|
||||
source "../../Config/openssh/install.sh";
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
yay --noconfirm -Syu rclone;
|
||||
source "../../../Common/Config/rclone/install.sh";
|
||||
popd > /dev/null;
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
yes | yay --answerclean=None --answerdiff=None -Syu sddm-git;
|
||||
source "../../Config/sddm/install.sh";
|
||||
popd > /dev/null;
|
|
@ -1,13 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Elevate script
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
if [ ! "$UID" -eq 0 ]
|
||||
then
|
||||
sudo bash "$BASH_SOURCE";
|
||||
else
|
||||
pacman --noconfirm -Syu sudo;
|
||||
source "../../Config/sudo/install.sh";
|
||||
fi;
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,15 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
yay --noconfirm -Syu \
|
||||
`# Necessary for accessing clipboard in terminal: https://wiki.archlinux.org/title/Vim` \
|
||||
gvim \
|
||||
vi-vim-symlink \
|
||||
`# Add clipboard support for wayland: https://www.reddit.com/r/Fedora/comments/ax9p9t/comment/jjb4p7b/` \
|
||||
vim-wayland-clipboard-git \
|
||||
wl-clipboard \
|
||||
;
|
||||
|
||||
. "../../../Common/Config/vim/install.sh";
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,12 +0,0 @@
|
|||
#!/bin/bash
|
||||
yay --noconfirm -Syu \
|
||||
`# Waydroid prerequisite: https://wiki.archlinux.org/title/Waydroid#DKMS_modules` \
|
||||
binder_linux-dkms \
|
||||
waydroid \
|
||||
`# For installing ARM suppot on waydroid` \
|
||||
waydroid-script-git \
|
||||
`# Clipboard support: https://wiki.archlinux.org/title/Waydroid#Failed_to_start_Clipboard_manager_service` \
|
||||
python-pyclip \
|
||||
`# Wayland clipboard support: https://github.com/spyoungtech/pyclip?tab=readme-ov-file#linux` \
|
||||
wl-clipboard \
|
||||
;
|
|
@ -1,17 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Prerequisites
|
||||
sudo pacman --noconfirm -Syu cabextract;
|
||||
|
||||
contextRoot="$(mktemp -d)";
|
||||
repo="https://github.com/manuth/xone.git";
|
||||
pushd "$contextRoot" > /dev/null;
|
||||
|
||||
if ! dkms status --all | grep xone > /dev/null;
|
||||
then
|
||||
git clone "$repo" "$contextRoot";
|
||||
sudo ./install.sh --release;
|
||||
sudo chmod -R a+rx /usr/src/xone*;
|
||||
yes "" | sudo xone-get-firmware.sh;
|
||||
fi;
|
||||
popd > /dev/null;
|
||||
rm -rf "$contextRoot" > /dev/null;
|
|
@ -1,13 +0,0 @@
|
|||
#!/bin/bash
|
||||
if ! command -v yay > /dev/null 2>&1
|
||||
then
|
||||
sudo pacman --noconfirm -S --needed git
|
||||
contextRoot="$(mktemp -d)";
|
||||
|
||||
git clone https://aur.archlinux.org/yay.git "$contextRoot";
|
||||
pushd "$contextRoot" > /dev/null;
|
||||
makepkg --noconfirm -si;
|
||||
popd > /dev/null;
|
||||
|
||||
rm -rf "$contextRoot";
|
||||
fi;
|
|
@ -1,13 +0,0 @@
|
|||
#!/bin/bash
|
||||
contextRoot="$(mktemp -d)";
|
||||
pushd "$contextRoot" > /dev/null;
|
||||
|
||||
yay --noconfirm -Syu electron13-bin;
|
||||
|
||||
yes | pipenv run --python 3.10 -- \
|
||||
yay --noconfirm -Syu \
|
||||
ytmdesktop \
|
||||
|| true;
|
||||
|
||||
popd > /dev/null;
|
||||
rm -rf "$contextRoot";
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/bash
|
||||
cp ${BASH_SOURCE%/*}/*.json ~/.var/app/com.github.wwmm.easyeffects/config/easyeffects/output/;
|
|
@ -1,4 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
sudo cp ../../Software/Firefox/firefox.sh /etc/profile.d/;
|
||||
popd > /dev/null;
|
|
@ -1,31 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Elevate script
|
||||
if [ ! "$UID" -eq 0 ]
|
||||
then
|
||||
sudo bash "$BASH_SOURCE" "$USER";
|
||||
else
|
||||
tempDir="$(mktemp -d)";
|
||||
pushd "$tempDir" > /dev/null;
|
||||
|
||||
git clone https://github.com/fangfufu/httpdirfs.git;
|
||||
pushd httpdirfs > /dev/null;
|
||||
make;
|
||||
install -m 755 -D httpdirfs /usr/local/bin/httpdirfs;
|
||||
popd > /dev/null;
|
||||
|
||||
git clone https://aur.archlinux.org/ttf-ms-win11-auto.git ttf-win11;
|
||||
pushd ttf-win11 > /dev/null;
|
||||
# shellcheck source=/dev/null
|
||||
source ./PKGBUILD;
|
||||
prepare;
|
||||
package_ttf-ms-win11-auto;
|
||||
|
||||
rm -f /usr/local/bin/httpdirfs;
|
||||
|
||||
popd > /dev/null;
|
||||
wget -O CascadiaCode.zip https://github.com/microsoft/cascadia-code/releases/download/v2111.01/CascadiaCode-2111.01.zip;
|
||||
unzip -d . CascadiaCode.zip;
|
||||
cp ttf/* /usr/share/fonts/TTF;
|
||||
|
||||
popd > /dev/null;
|
||||
fi
|
|
@ -1,16 +0,0 @@
|
|||
#!/bin/bash
|
||||
NEXTCLOUD_DIR="${NEXTCLOUD_DIR}";
|
||||
|
||||
# Elevate script
|
||||
if [ ! "$UID" -eq 0 ]
|
||||
then
|
||||
sudo NEXTCLOUD_DIR="${NEXTCLOUD_DIR}" bash "$BASH_SOURCE" "$USER";
|
||||
else
|
||||
homeDir="$(realpath ~$1)";
|
||||
fontFileBaseName="Caskaydia Cove Regular Nerd Font Complete.otf";
|
||||
tempFile="$(sudo -u "$1" mktemp -d)/$fontFileBaseName";
|
||||
destination=/usr/share/font/opentype;
|
||||
|
||||
sudo -u "$1" cp "$homeDir/.mnt/$NEXTCLOUD_DIR/Caskaydia Cove Regular Nerd Font Complete.otf" "$tempFile";
|
||||
cp "$tempFile" /usr/share/fonts/opentype;
|
||||
fi
|
|
@ -1,3 +0,0 @@
|
|||
#!/bin/bash
|
||||
sudo sed -i "s/^#\?\(GRUB_THEME=\).*$/\1\"\/usr\/share\/grub\/themes\/minegrub\/minegrub\/theme.txt\"/" /etc/default/grub;
|
||||
sudo grub-mkconfig -o /boot/grub/grub.cfg;
|
|
@ -1,23 +0,0 @@
|
|||
#!/bin/bash
|
||||
EFI_BOOT_DIR="${EFI_BOOT_DIR}";
|
||||
BOOTLOADER_ID="${BOOTLOADER_ID}";
|
||||
|
||||
# Elevate script
|
||||
if [ ! "$UID" -eq 0 ]
|
||||
then
|
||||
sudo \
|
||||
EFI_BOOT_DIR="${EFI_BOOT_DIR}" \
|
||||
BOOTLOADER_ID="${BOOTLOADER_ID}" \
|
||||
bash "$BASH_SOURCE";
|
||||
else
|
||||
sed -i \
|
||||
-e "s/#\(GRUB_DISABLE_OS_PROBER\)/\1/" \
|
||||
`#-e "/^GRUB_CMDLINE_LINUX_DEFAULT=/{"` \
|
||||
`#-e "h; s/^/#/; p;"` \
|
||||
`#-e "g; s/loglevel=3 quiet//"` \
|
||||
`#-e "}"` \
|
||||
/etc/default/grub;
|
||||
|
||||
grub-install --target=x86_64-efi --efi-directory="$EFI_BOOT_DIR" --bootloader-id="$BOOTLOADER_ID";
|
||||
grub-mkconfig -o "$EFI_BOOT_DIR/grub/grub.cfg";
|
||||
fi;
|
|
@ -1,9 +0,0 @@
|
|||
#!/bin/bash
|
||||
configFile=/etc/default/grub;
|
||||
pattern="^\\(GRUB_CMDLINE_LINUX_DEFAULT=\".*\\)\\([[:space:]]quiet\\|quiet[[:space:]]\\)\\(.*\".*\\)$";
|
||||
|
||||
if grep "$pattern" "$configFile" > /dev/null
|
||||
then
|
||||
sudo sed -i "/$pattern/{ h; s/^\\(.*\\)$/#\\1/; p; x; s/$pattern/\\1\\3/; };" "$configFile";
|
||||
sudo grub-mkconfig -o /boot/grub/grub.cfg;
|
||||
fi;
|
|
@ -1,9 +0,0 @@
|
|||
#!/bin/bash
|
||||
function installExtension() {
|
||||
local -n queue="$1";
|
||||
|
||||
for id in ${queue[@]}
|
||||
do
|
||||
gnome-shell-extension-installer "$id" --yes;
|
||||
done;
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
. "../../gnome-shell-extension-installer/install.sh";
|
||||
. "./install-extension.sh";
|
||||
|
||||
extensions=(
|
||||
5278 # pano https://extensions.gnome.org/extension/5278/pano/
|
||||
4907 # EasyEffects Preset Selector https://extensions.gnome.org/extension/4907/easyeffects-preset-selector/
|
||||
1162 # Emoji Selector https://extensions.gnome.org/extension/1162/emoji-selector/
|
||||
);
|
||||
|
||||
installExtension extensions;
|
||||
killall -SIGQUIT gnome-shell;
|
||||
popd > /dev/null;
|
|
@ -1,13 +0,0 @@
|
|||
#!/bin/pwsh
|
||||
. "$PSScriptRoot/../../Software/PowerShell/Profile.ps1";
|
||||
|
||||
Add-PowerShellProfileStatement `
|
||||
-System `
|
||||
-Category "oh-my-posh" `
|
||||
-Script $(
|
||||
@(
|
||||
"# Oh My Posh!",
|
||||
$(Get-ScriptInitializer "oh-my-posh init pwsh"),
|
||||
$(Get-ScriptInitializer "oh-my-posh completion powershell")
|
||||
) -join [System.Environment]::NewLine
|
||||
)
|
|
@ -1,22 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
. "../bash/profile.sh";
|
||||
. "../fish/profile.sh";
|
||||
NEXTCLOUD_DIR="${NEXTCLOUD_DIR}";
|
||||
themeDir="/usr/local/share/oh-my-posh/themes";
|
||||
sudo install -dm755 "$themeDir";
|
||||
cat ~/.mnt/$NEXTCLOUD_DIR/.omp/manuel.omp.json | sudo tee "$themeDir/manuel.omp.json" > /dev/null;
|
||||
|
||||
{
|
||||
echo 'eval "$(oh-my-posh init bash)"';
|
||||
echo 'eval "$(oh-my-posh completion bash)"';
|
||||
} | addBashProfile "oh-my-posh" "Oh My Posh!";
|
||||
|
||||
{
|
||||
echo "oh-my-posh init fish | source";
|
||||
echo "oh-my-posh completion fish | source";
|
||||
} | addFishProfile "oh-my-posh" "Oh My Posh!";
|
||||
|
||||
sudo pwsh -NoProfile ./install.ps1;
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,7 +0,0 @@
|
|||
#!/bin/bash
|
||||
desktopFile=/usr/share/applications/pennywise.desktop;
|
||||
|
||||
if ! grep "^Exec=.* --no-sandbox" "$desktopFile" > /dev/null
|
||||
then
|
||||
sudo sed -i '/^Exec=/s/^Exec=".*"/\0 --no-sandbox/' "$desktopFile";
|
||||
fi;
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/bash
|
||||
{
|
||||
echo '#!/bin/bash';
|
||||
echo 'export STEAM_FORCE_DESKTOPUI_SCALING=2.0';
|
||||
} | sudo tee /etc/profile.d/steam.sh > /dev/null;
|
|
@ -1,49 +0,0 @@
|
|||
#!/bin/bash
|
||||
NEXTCLOUD_DIR="${NEXTCLOUD_DIR:-Nextcloud}";
|
||||
PROTON_DIR="${PROTON_DIR:-Proton}";
|
||||
INSTALL_FONTS="${INSTALL_FONTS}";
|
||||
|
||||
if [ "$XDG_SESSION_TYPE" = "tty" ]
|
||||
then
|
||||
entryPoint=~/.config/autostart/PortValhallaProfile.desktop;
|
||||
mkdir -p "$(dirname "$entryPoint")";
|
||||
|
||||
{
|
||||
echo "#!/usr/bin/env xdg-open";
|
||||
echo "[Desktop Entry]";
|
||||
echo "Name=PortValhalla Profile";
|
||||
echo "Type=Application";
|
||||
echo "Terminal=false";
|
||||
echo -n "Exec=env "
|
||||
echo -n "NEXTCLOUD_DIR=\"${NEXTCLOUD_DIR}\" ";
|
||||
echo -n "PROTON_DIR=\"${PROTON_DIR}\" ";
|
||||
echo -n "INSTALL_FONTS=\"${INSTALL_FONTS}\" ";
|
||||
echo -n "konsole -e bash -e $(realpath $BASH_SOURCE)";
|
||||
} > "$entryPoint";
|
||||
|
||||
chmod a+x "$entryPoint";
|
||||
dbus-launch --exit-with-session startplasma-wayland > /dev/null 2>&1;
|
||||
rm "$entryPoint";
|
||||
rm ~/.config/plasma-welcomerc;
|
||||
else
|
||||
dir="${BASH_SOURCE%/*}";
|
||||
pushd "$dir" > /dev/null;
|
||||
. "../../Scripts/is-truthy.sh";
|
||||
|
||||
# Sync clouds
|
||||
echo "Please complete the setup of your profile!";
|
||||
NEXTCLOUD_DIR="${NEXTCLOUD_DIR}" . "../rclone/InstallSync.sh" nextcloud "$NEXTCLOUD_DIR";
|
||||
PROTON_DIR="${PROTON_DIR}" . "../rclone/InstallSync.sh" proton "$PROTON_DIR" "2w";
|
||||
|
||||
if isTruthy "$INSTALL_FONTS"
|
||||
then
|
||||
# Install fonts
|
||||
NEXTCLOUD_DIR="${NEXTCLOUD_DIR}" source "../Fonts/NerdFont/install.sh";
|
||||
fi;
|
||||
|
||||
NEXTCLOUD_DIR="${NEXTCLOUD_DIR}" source "../Oh My Posh/install.sh";
|
||||
echo "You are done! Please log out!";
|
||||
read;
|
||||
|
||||
popd > /dev/null;
|
||||
fi;
|
|
@ -1,8 +0,0 @@
|
|||
#!/bin/bash
|
||||
sudo usermod -aG libvirt "$USER";
|
||||
sudo virsh net-autostart default;
|
||||
|
||||
if ! sudo virsh net-info default | grep "^Active:\s*yes$" > /dev/null;
|
||||
then
|
||||
sudo virsh net-start default || true;
|
||||
fi;
|
|
@ -1,8 +0,0 @@
|
|||
#!/bin/pwsh
|
||||
. "$PSScriptRoot/../../Software/PowerShell/Profile.ps1";
|
||||
|
||||
foreach ($defaultUser in @($true, $false)) {
|
||||
Add-PowerShellProfileStatement -DefaultUser:$defaultUser -Script "# aliae`naliae init pwsh | Invoke-Expression";
|
||||
}
|
||||
|
||||
Add-PowerShellProfileStatement -System -Category "aliae" -Script "# aliae`n$(Get-ScriptInitializer "aliae completion powershell")";
|
|
@ -1,25 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
. "../bash/profile.sh";
|
||||
|
||||
if ! grep "\baliae\b" ~/.bashrc > /dev/null
|
||||
then
|
||||
{
|
||||
echo '# aliae';
|
||||
echo 'eval "$(aliae init bash)"';
|
||||
echo "";
|
||||
} >> ~/.bashrc;
|
||||
fi;
|
||||
|
||||
profileFile="$(pwsh -c '$PROFILE')";
|
||||
|
||||
if [ ! -f "$profileFile" ] || ! grep "\baliae\b" "$profileFile" > /dev/null
|
||||
then
|
||||
pwsh "./install.ps1";
|
||||
fi;
|
||||
|
||||
{
|
||||
echo 'eval "$(aliae completion bash)"';
|
||||
} | addBashProfile "aliae";
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,11 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
. "../../Scripts/profile-base.sh";
|
||||
|
||||
function addBashProfile() {
|
||||
name="$1";
|
||||
title="${2:-$1}";
|
||||
addProfileStatement "$name" "$title" "/bin/bash" "sh" "/etc/bash/conf.d" "${@:3}";
|
||||
}
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,3 +0,0 @@
|
|||
#!/bin/bash
|
||||
sudo usermod -aG docker "$USER";
|
||||
sudo systemctl enable --now docker;
|
|
@ -1,11 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
. "../../Scripts/profile-base.sh";
|
||||
|
||||
function addFishProfile() {
|
||||
name="$1";
|
||||
title="${2:-$1}";
|
||||
addProfileStatement "$name" "$title" "/bin/fish" "fish" "/etc/fish/conf.d" "${@:3}";
|
||||
}
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,13 +0,0 @@
|
|||
#!/bin/bash
|
||||
contextRoot="$(mktemp -d)";
|
||||
pushd "$contextRoot" > /dev/null;
|
||||
git init;
|
||||
git commit --allow-empty -m "Initial commit" > /dev/null;
|
||||
git branch master || true > /dev/null 2>&1;
|
||||
git branch main || true > /dev/null 2>&1;
|
||||
git branch dev || true > /dev/null 2>&1;
|
||||
yes "" | git flow init > /dev/null 2>&1;
|
||||
git flow config set --global master main > /dev/null;
|
||||
git flow config set --global develop dev > /dev/null;
|
||||
popd > /dev/null;
|
||||
rm -rf "$contextRoot";
|
|
@ -1,31 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
git config --global alias.ahfange init;
|
||||
git config --global alias.tuedezue add;
|
||||
git config --global alias.beschuldig blame;
|
||||
git config --global alias.zieh pull;
|
||||
git config --global alias.druck push;
|
||||
git config --global alias.machnah clone;
|
||||
git config --global alias.hol fetch;
|
||||
git config --global alias.zwiigab branch;
|
||||
git config --global alias.buechiih commit;
|
||||
git config --global alias.eich rebase;
|
||||
git config --global alias.erd rebase;
|
||||
git config --global alias.gahufwiifelde rebase;
|
||||
git config --global alias.vergliich diff;
|
||||
git config --global alias.tuezemme merge;
|
||||
git config --global alias.versorg stash;
|
||||
git config --global alias.markier tag;
|
||||
git config --global alias.pflueckoepfel cherry-pick;
|
||||
git config --global alias.pflueckhimbeeri cherry-pick;
|
||||
git config --global alias.buechuus checkout;
|
||||
git config --global alias.quaetsch 'merge --squash';
|
||||
git config --global alias.pfudle 'push --force';
|
||||
git config --global alias.beschuldigung blame;
|
||||
git config --global alias.zwiigli branch;
|
||||
git config --global alias.tagebuech log;
|
||||
git config --global alias.versteck stash;
|
||||
git config --global alias.zuestand status;
|
||||
git config --global alias.markierig tag;
|
||||
popd > /dev/null;
|
|
@ -1,11 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
|
||||
# Git Config
|
||||
source "./setup/install.sh";
|
||||
source "./flow/install.sh";
|
||||
|
||||
# Troll Stuff
|
||||
source "./git-auf-deutsch/install.sh";
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,4 +0,0 @@
|
|||
#!/bin/bash
|
||||
git config --global init.defaultBranch "main";
|
||||
git config --global user.name "Manuel Thalmann";
|
||||
git config --global user.email "m@nuth.ch";
|
|
@ -1,47 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
. "../bash/profile.sh";
|
||||
. "../fish/profile.sh";
|
||||
functionName="_PortValhalla_ls_";
|
||||
|
||||
function dump_header() {
|
||||
echo "# logo-ls";
|
||||
}
|
||||
|
||||
function dump_aliases() {
|
||||
echo "alias ls='$functionName'";
|
||||
echo "alias ll='ls -al'";
|
||||
echo "alias l='ls'";
|
||||
}
|
||||
|
||||
{
|
||||
dump_header;
|
||||
echo "function $functionName";
|
||||
echo " if [ -t 1 ]";
|
||||
echo ' logo-ls -D $argv;';
|
||||
echo " else";
|
||||
echo " alias ls=ls;";
|
||||
echo ' ls --color=auto $argv;';
|
||||
echo " alias ls='$functionName';";
|
||||
echo " end";
|
||||
echo "end";
|
||||
echo "";
|
||||
dump_aliases;
|
||||
} | addFishProfile "logo-ls";
|
||||
|
||||
{
|
||||
echo "";
|
||||
dump_header;
|
||||
echo "function ${functionName}() {";
|
||||
echo " if [ -t 1 ]";
|
||||
echo " then";
|
||||
echo ' logo-ls -D "$@";';
|
||||
echo " else";
|
||||
echo ' ls --color=auto "$@";'
|
||||
echo " fi;"
|
||||
echo "}";
|
||||
echo "";
|
||||
dump_aliases;
|
||||
} | addBashProfile "logo-ls";
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,29 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
function install() {
|
||||
local cmdindicator="GRUB_CMDLINE_LINUX_DEFAULT=\"";
|
||||
local config="nvidia_drm.fbdev=1";
|
||||
|
||||
# According to: https://wiki.archlinux.org/title/NVIDIA/Tips_and_tricks
|
||||
{
|
||||
echo "options nvidia NVreg_PreserveVideoMemoryAllocations=1";
|
||||
echo "options nvidia NVreg_TemporaryFilePath=/var/tmp";
|
||||
} | sudo tee /etc/modprobe.d/nvidia-power-management.conf > /dev/null;
|
||||
|
||||
sudo systemctl enable \
|
||||
nvidia-suspend.service \
|
||||
nvidia-hibernate.service \
|
||||
nvidia-resume.service;
|
||||
|
||||
if ! cat /etc/default/grub | grep "$cmdindicator.*$config" > /dev/null;
|
||||
then
|
||||
sudo sed -i /etc/default/grub \
|
||||
-e "/$cmdindicator/{" \
|
||||
-e "s/\($cmdindicator.*[^ ]\)\(\"\)/\1 \2/" \
|
||||
-e "s/\($cmdindicator.*\)\(\"\)/\1$config\2/" \
|
||||
-e "}" \
|
||||
;
|
||||
fi;
|
||||
}
|
||||
|
||||
install;
|
|
@ -1,13 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
. "../fish/profile.sh";
|
||||
. "../bash/profile.sh";
|
||||
|
||||
{
|
||||
echo 'export PYENV_ROOT="$HOME/.pyenv"';
|
||||
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"';
|
||||
echo 'eval "$(pyenv init -)"';
|
||||
} | addBashProfile "pyenv";
|
||||
|
||||
addFishProfile "pyenv" "pyenv" "pyenv init - | source";
|
||||
popd > /dev/null;
|
|
@ -1,14 +0,0 @@
|
|||
#!/bin/bash
|
||||
provider="$1";
|
||||
dirname="$2";
|
||||
cacheDuration="$3";
|
||||
serviceName="rclone@$provider:$dirname";
|
||||
|
||||
if [ ! -z "${cacheDuration}" ]
|
||||
then
|
||||
serviceName="${serviceName}:$cacheDuration";
|
||||
fi;
|
||||
|
||||
echo "Please create a remote called \`$1\`";
|
||||
rclone config || true;
|
||||
systemctl --user enable "$serviceName" --now || true;
|
|
@ -1,9 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}/../../Software/rclone" > /dev/null;
|
||||
|
||||
sudo cp "rclone.service" "rclone.target" "rclone@.service" /etc/systemd/user;
|
||||
systemctl enable --user rclone;
|
||||
mkdir -p ~/.mnt;
|
||||
touch ~/.mnt/.trackerignore;
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,4 +0,0 @@
|
|||
#!/bin/bash
|
||||
{
|
||||
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="0483", MODE="0666"';
|
||||
} | sudo tee /etc/udev/rules.d/50-ct-board.rules;
|
|
@ -1,9 +0,0 @@
|
|||
#!/bin/bash
|
||||
indicator="set clipboard";
|
||||
configFile="/etc/vimrc";
|
||||
|
||||
if ! grep "\b$indicator\b" "$configFile" > /dev/null
|
||||
then
|
||||
# As described in https://wiki.archlinux.org/title/Vim#Clipboard
|
||||
echo "$indicator+=unnamed,unnamedplus" | sudo tee /etc/vimrc > /dev/null;
|
||||
fi;
|
|
@ -1,17 +0,0 @@
|
|||
#!/bin/bash
|
||||
for editor_bin in \
|
||||
codium \
|
||||
codium-insiders \
|
||||
code \
|
||||
code-insiders
|
||||
do
|
||||
if command -v "$editor_bin" > /dev/null 2>&1
|
||||
then
|
||||
for extension in \
|
||||
zokugun.sync-settings \
|
||||
zokugun.vsix-manager
|
||||
do
|
||||
$editor_bin --install-extension "$extension";
|
||||
done;
|
||||
fi;
|
||||
done;
|
|
@ -1,12 +0,0 @@
|
|||
#!/bin/pwsh
|
||||
. "$PSScriptRoot/../../Software/PowerShell/Profile.ps1";
|
||||
|
||||
Add-PowerShellProfileStatement `
|
||||
-System `
|
||||
-Category "zoxide" `
|
||||
-Script $(
|
||||
@(
|
||||
"# zoxide",
|
||||
$(Get-ScriptInitializer "zoxide init powershell | Out-String")
|
||||
) -join [System.Environment]::NewLine
|
||||
)
|
|
@ -1,16 +0,0 @@
|
|||
#!/bin/bash
|
||||
pushd "${BASH_SOURCE%/*}" > /dev/null;
|
||||
. "../bash/profile.sh";
|
||||
. "../fish/profile.sh";
|
||||
|
||||
{
|
||||
echo 'eval "$(zoxide init bash)"';
|
||||
} | addBashProfile "zoxide";
|
||||
|
||||
{
|
||||
echo "zoxide init fish | source";
|
||||
} | addFishProfile "zoxide";
|
||||
|
||||
sudo pwsh -NoProfile ./install.ps1;
|
||||
|
||||
popd > /dev/null;
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/bash
|
||||
eval "$("${BASH_SOURCE%/*}/../../eval-module.sh" "$CONFIG_MODULE" valhalla.partition.script --raw)";
|
|
@ -1,417 +0,0 @@
|
|||
#!/bin/pwsh
|
||||
. "$PSScriptRoot/../../Common/Scripts/Entrypoints.ps1";
|
||||
. "$PSScriptRoot/../../Common/Software/PowerShell/Profile.ps1";
|
||||
|
||||
class Context {
|
||||
[string]$EntryPoint;
|
||||
[string]$RootDir;
|
||||
[string]$BackupName;
|
||||
[string[]]$UserNames;
|
||||
[string]$AdminName = "Admin";
|
||||
[string]$ConfigRoot = "HKLM:\Software\PortValhalla";
|
||||
[string]$RunOnceName = "PortValhalla";
|
||||
[string]$StagePropertyName = "Stage";
|
||||
|
||||
Context() {
|
||||
try {
|
||||
$this.EntryPoint = Get-Entrypoint;
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
[string] ProjectRoot() {
|
||||
return Resolve-Path (Join-Path $PSScriptRoot ".." ".." "..");
|
||||
}
|
||||
|
||||
[string] BackupRoot() {
|
||||
if (-not $this.RootDir)
|
||||
{
|
||||
return Join-Path $this.ProjectRoot() "backup" $this.BackupName;
|
||||
}
|
||||
else
|
||||
{
|
||||
return $this.RootDir;
|
||||
}
|
||||
}
|
||||
|
||||
[void] RemoveDesktopIcon($pattern) {
|
||||
Remove-Item "$env:PUBLIC/Desktop/$pattern";
|
||||
Remove-Item "~/Desktop/$pattern";
|
||||
}
|
||||
|
||||
[void] RemoveTaskbarItem($pattern) {
|
||||
Import-Module -UseWindowsPowerShell PinnedItem;
|
||||
Get-PinnedItem -Type TaskBar | Where-Object { $_.Name -like "$pattern" } | Remove-PinnedItem;
|
||||
}
|
||||
|
||||
[void] AddPowerShellProfileStatement([string] $statement) {
|
||||
$this.AddPowerShellProfileStatement($true, $statement);
|
||||
}
|
||||
|
||||
[void] AddPowerShellProfileStatement([string] $category, [string] $statement) {
|
||||
$this.AddPowerShellProfileStatement($true, $category, $statement);
|
||||
}
|
||||
|
||||
[void] AddPowerShellProfileStatement([bool] $system, [string] $statement) {
|
||||
$this.AddPowerShellProfileStatement($system, $null, $statement);
|
||||
}
|
||||
|
||||
[void] AddPowerShellProfileStatement([bool] $system, [string] $category, [string] $statement) {
|
||||
if ($category) {
|
||||
$overwrite = $true;
|
||||
} else {
|
||||
$overwrite = $false;
|
||||
}
|
||||
|
||||
$this.AddPowerShellProfileStatement($system, $category, $statement, $overwrite);
|
||||
}
|
||||
|
||||
[void] AddPowerShellProfileStatement([bool] $system, [string] $category, [string] $statement, [bool] $overwrite) {
|
||||
if ($system) {
|
||||
Add-PowerShellProfileStatement -System -Category $category -Script $statement -Overwrite:$overwrite;
|
||||
} else {
|
||||
Add-PowerShellProfileStatement -Category $category -Script $statement -Overwrite:$overwrite;
|
||||
}
|
||||
}
|
||||
|
||||
[Microsoft.Win32.RegistryKey] EnsureConfigKey() {
|
||||
if (-not (Test-Path $this.ConfigRoot)) {
|
||||
$null = New-Item $this.ConfigRoot;
|
||||
$acl = Get-Acl $this.ConfigRoot;
|
||||
|
||||
$acl.AddAccessRule(
|
||||
[System.Security.AccessControl.RegistryAccessRule]::new(
|
||||
[System.Security.Principal.SecurityIdentifier]::new([System.Security.Principal.WellKnownSidType]::BuiltinUsersSid, $null),
|
||||
[System.Security.AccessControl.RegistryRights]::FullControl,
|
||||
[System.Security.AccessControl.InheritanceFlags]::ObjectInherit -bor [System.Security.AccessControl.InheritanceFlags]::ContainerInherit,
|
||||
[System.Security.AccessControl.PropagationFlags]::None,
|
||||
[System.Security.AccessControl.AccessControlType]::Allow));
|
||||
|
||||
Set-Acl $this.ConfigRoot $acl;
|
||||
}
|
||||
|
||||
return Get-Item $this.ConfigRoot;
|
||||
}
|
||||
|
||||
[object] Get([string] $key) {
|
||||
$configKey = $this.EnsureConfigKey();
|
||||
if ($configKey.GetValueNames().Contains($key)) {
|
||||
return $configKey.GetValue($key);
|
||||
} else {
|
||||
return $null;
|
||||
}
|
||||
}
|
||||
|
||||
[void] Set([string] $key, $value) {
|
||||
$this.Set($key, $value, "ExpandString");
|
||||
}
|
||||
|
||||
[void] Set([string] $key, $value, [Microsoft.Win32.RegistryValueKind] $type) {
|
||||
$configKey = $this.EnsureConfigKey();
|
||||
$null = Set-ItemProperty -Path $configKey.PSPath -Name $key -Value $value -Type $type;
|
||||
}
|
||||
|
||||
[void] Remove([string] $key) {
|
||||
$configKey = $this.EnsureConfigKey();
|
||||
$null = Remove-ItemProperty -Path $configKey.PSPath -Name $key;
|
||||
}
|
||||
|
||||
[void] SetStage([string] $name) {
|
||||
$this.Set($this.StagePropertyName, $name);
|
||||
}
|
||||
|
||||
[string] GetStage() {
|
||||
return $this.Get($this.StagePropertyName);
|
||||
}
|
||||
|
||||
[void] RemoveStage() {
|
||||
$this.Remove($this.StagePropertyName);
|
||||
}
|
||||
|
||||
[string] ArchivePath($name) {
|
||||
return Join-Path $this.BackupRoot() "$name.7z";
|
||||
}
|
||||
|
||||
[string] FileArchivePath($name) {
|
||||
return $this.ArchivePath($(Join-Path "Files" $name));
|
||||
}
|
||||
|
||||
[string] SoftwareArchive([string]$softwareName) {
|
||||
return $this.ArchivePath($softwareName);
|
||||
}
|
||||
|
||||
[void] Backup([string]$sourcePath, [string]$archivePath) {
|
||||
$this.Backup($sourcePath, $archivePath, @());
|
||||
}
|
||||
|
||||
[void] Backup([string]$sourcePath, [string]$archivePath, [string[]]$arguments) {
|
||||
$this.Backup($sourcePath, $archivePath, $arguments, $true);
|
||||
}
|
||||
|
||||
[void] Backup([string]$sourcePath, [string]$archivePath, [string[]]$arguments, [bool]$split) {
|
||||
if (Test-Path $archivePath) {
|
||||
Remove-Item -Recurse $archivePath;
|
||||
}
|
||||
|
||||
if (Test-Path "$archivePath.*") {
|
||||
Remove-Item -Recurse "$archivePath.*";
|
||||
}
|
||||
|
||||
Start-Process -WorkingDirectory "$sourcePath" `
|
||||
-FilePath "7z" `
|
||||
-ArgumentList (
|
||||
@(
|
||||
"a",
|
||||
"-xr!desktop.ini",
|
||||
"-xr!thumbs.db",
|
||||
"-xr!Thumbs.db",
|
||||
"-slp",
|
||||
$archivePath) + $arguments + $(
|
||||
if ($split) {
|
||||
@("-v2g");
|
||||
} else {
|
||||
@();
|
||||
}
|
||||
)) `
|
||||
-Wait `
|
||||
-NoNewWindow;
|
||||
}
|
||||
|
||||
[void] Restore([string]$archivePath, [string]$destinationPath) {
|
||||
$this.Restore($archivePath, $destinationPath, @());
|
||||
}
|
||||
|
||||
[void] Restore([string]$archivePath, [string]$destinationPath, [string[]] $arguments) {
|
||||
if (-not (Test-Path -PathType Leaf $archivePath)) {
|
||||
$archivePath = "$archivePath.001";
|
||||
}
|
||||
|
||||
if (-not (Test-Path -PathType Leaf $archivePath)) {
|
||||
Write-Information (
|
||||
[string]::Join(
|
||||
"`n",
|
||||
@(
|
||||
"An archive at the specified path $archivePath does not exist.",
|
||||
"No restoration will be performed.")));
|
||||
}
|
||||
else {
|
||||
if (-not (Test-Path -PathType Container $destinationPath)) {
|
||||
New-Item -ItemType Directory "$destinationPath";
|
||||
}
|
||||
|
||||
Start-Process -WorkingDirectory "$destinationPath" `
|
||||
-FilePath "7z" `
|
||||
-ArgumentList @("x", "$archivePath") + $arguments `
|
||||
-Wait `
|
||||
-NoNewWindow;
|
||||
}
|
||||
}
|
||||
|
||||
[string] GetTempDirectory() {
|
||||
$tempDir = Join-Path $([System.IO.Path]::GetTempPath()) $([System.IO.Path]::GetRandomFileName());
|
||||
$null = New-Item -ItemType Directory $tempDir;
|
||||
return $tempDir;
|
||||
}
|
||||
|
||||
[void] ProcessDefaultUserKey([System.Action[Microsoft.Win32.RegistryKey]] $action) {
|
||||
$rootPath = "HKLM:\DefaultUser";
|
||||
$regRootPath = $rootPath.Replace(":", "");
|
||||
$hivePath = "$env:SystemDrive\Users\Default\NTUSER.dat"
|
||||
$null = & reg load $regRootPath $hivePath;
|
||||
$root = Get-Item $rootPath;
|
||||
$action.Invoke($root);
|
||||
$root.Handle.Close();
|
||||
[System.GC]::Collect();
|
||||
& reg unload $regRootPath;
|
||||
}
|
||||
|
||||
[void] ProcessLogonKey([System.Action[Microsoft.Win32.RegistryKey]] $action) {
|
||||
$key = Get-Item "HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Winlogon";
|
||||
$action.Invoke($key);
|
||||
}
|
||||
|
||||
[Microsoft.Win32.RegistryKey] GetSystemPolicyKey() {
|
||||
$keyPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System";
|
||||
return Get-Item "$keyPath";
|
||||
}
|
||||
|
||||
[Microsoft.Win32.RegistryKey] GetRunOnceKey() {
|
||||
return $this.GetRunOnceKey($null);
|
||||
}
|
||||
|
||||
[Microsoft.Win32.RegistryKey] GetRunOnceKey([Microsoft.Win32.RegistryKey] $userKey) {
|
||||
if (-not $userKey) {
|
||||
$userKey = Get-Item "HKCU:\";
|
||||
}
|
||||
|
||||
Push-Location $userKey.PSPath;
|
||||
$runOncePath = "Software\Microsoft\Windows\CurrentVersion\RunOnce";
|
||||
|
||||
if (-not (Test-Path $runOncePath)) {
|
||||
New-Item $runOncePath;
|
||||
}
|
||||
|
||||
$result = Get-Item $runOncePath;
|
||||
Pop-Location;
|
||||
return $result;
|
||||
}
|
||||
|
||||
[bool] GetUACState() {
|
||||
return [bool](Get-ItemPropertyValue -Path ($this.GetSystemPolicyKey().PSPath) -Name "EnableLUA");
|
||||
}
|
||||
|
||||
[void] SetUACState([bool] $value) {
|
||||
$null = Set-ItemProperty -Path ($this.GetSystemPolicyKey().PSPath) -Name "EnableLUA" -Value ([int]$value);
|
||||
}
|
||||
|
||||
[void] RegisterReboot() {
|
||||
$this.RegisterReboot($null);
|
||||
}
|
||||
|
||||
[void] RegisterReboot([Microsoft.Win32.RegistryKey] $userKey) {
|
||||
$runOnceKey = $this.GetRunOnceKey($userKey);
|
||||
Set-ItemProperty -Path $runOnceKey.PSPath -Name $this.RunOnceName -Value "pwsh `"$($this.EntryPoint)`"" -Type "ExpandString";
|
||||
$runOnceKey.Handle.Close();
|
||||
}
|
||||
|
||||
[void] RegisterNewUserReboot() {
|
||||
$this.ProcessDefaultUserKey({ param ($root) $this.RegisterReboot($root); });
|
||||
}
|
||||
|
||||
[void] DeregisterNewUserReboot() {
|
||||
$this.ProcessDefaultUserKey({ param ($root) Remove-Item -Path $this.GetRunOnceKey($root).PSPath });
|
||||
}
|
||||
|
||||
[void] SetAutologin($user, $pw) {
|
||||
$this.ProcessLogonKey(
|
||||
{
|
||||
param ($logon)
|
||||
$path = $logon.PSPath;
|
||||
Set-ItemProperty $path -Name "AutoAdminLogon" 1;
|
||||
Set-ItemProperty $path -Name "DefaultUserName" $user;
|
||||
|
||||
if ($pw) {
|
||||
Set-ItemProperty $path -Name "DefaultPassword" $pw;
|
||||
} else {
|
||||
Remove-ItemProperty $path -Name "DefaultPassword";
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
[void] RemoveAutologin() {
|
||||
$this.ProcessLogonKey(
|
||||
{
|
||||
param ($logon)
|
||||
$path = $logon.PSPath;
|
||||
Set-ItemProperty $path -Name "AutoAdminLogon" 0;
|
||||
Remove-ItemProperty $path -Name "DefaultDomainName" -ErrorAction SilentlyContinue;
|
||||
Remove-ItemProperty $path -Name "DefaultUserName" -ErrorAction SilentlyContinue;
|
||||
Remove-ItemProperty $path -Name "DefaultPassword" -ErrorAction SilentlyContinue;
|
||||
});
|
||||
}
|
||||
|
||||
[string] GetNextcloudConfigFile() {
|
||||
return "$env:APPDATA/Nextcloud/nextcloud.cfg";
|
||||
}
|
||||
|
||||
[void] AddNextcloudSync([string] $localPath, [string] $targetPath) {
|
||||
$this.AddNextcloudSync($localPath, $targetPath, $false);
|
||||
}
|
||||
|
||||
[void] AddNextcloudSync([string] $localPath, [string] $targetPath, [bool] $virtualFiles) {
|
||||
Write-Host "Adding a Nextcloud sync";
|
||||
Write-Information "$targetPath <=> $localPath";
|
||||
$pattern = "^\d+\\Folders(?:WithPlaceholders)?\\(\d+)";
|
||||
|
||||
$folderID = (
|
||||
Get-Content $($this.GetNextcloudConfigFile()) | `
|
||||
Where-Object { $_ -match "$pattern" } | `
|
||||
ForEach-Object { $_ -replace "$pattern.*$","`$1" } | `
|
||||
Sort-Object -Unique | `
|
||||
Measure-Object -Maximum).Maximum + 1;
|
||||
|
||||
$configName = "Folders";
|
||||
$localPath = $localPath.Replace("\", "/");
|
||||
$targetPath = $targetPath.Replace("\", "/");
|
||||
|
||||
if ($virtualFiles) {
|
||||
$configName += "WithPlaceholders";
|
||||
}
|
||||
|
||||
Write-Information "Stopping Nextcloud process";
|
||||
$nextcloudProcess = Get-Process nextcloud;
|
||||
$nextcloudPath = [string]$nextcloudProcess[0].Path;
|
||||
$nextcloudProcess | Stop-Process -Force;
|
||||
|
||||
$accountSectionEntered = $false;
|
||||
$accountSectionLeft = $false;
|
||||
|
||||
$newSettings = [string]::Join(
|
||||
"`n",
|
||||
@(
|
||||
"0\$configName\$folderID\localPath=$localPath",
|
||||
"0\$configName\$folderID\targetPath=$targetPath"));
|
||||
|
||||
$oldContent = Get-Content ($this.GetNextcloudConfigFile());
|
||||
|
||||
$(
|
||||
for ($i = 0; $i -lt $oldContent.Count; $i++) {
|
||||
$line = $oldContent[$i];
|
||||
|
||||
if ($line -eq "[Accounts]") {
|
||||
$accountSectionEntered = $true;
|
||||
}
|
||||
|
||||
if ($line -eq "" -and $accountSectionEntered) {
|
||||
$accountSectionLeft = $true;
|
||||
$newSettings;
|
||||
}
|
||||
|
||||
$line;
|
||||
|
||||
if (
|
||||
(-not $accountSectionLeft) -and
|
||||
($i -eq ($oldContent.Count - 1)))
|
||||
{
|
||||
$newSettings;
|
||||
}
|
||||
}) | Set-Content ($this.GetNextcloudConfigFile());
|
||||
|
||||
Write-Information "New nextcloud config:";
|
||||
Write-Information (Get-Content $($this.GetNextcloudConfigFile()) | Out-String);
|
||||
|
||||
Write-Information "Restarting Nextcloud";
|
||||
Start-Process $nextcloudPath;
|
||||
}
|
||||
|
||||
[void] Reboot() {
|
||||
Write-Host "Restarting Computer...";
|
||||
$this.RegisterReboot();
|
||||
Restart-Computer -Force;
|
||||
exit;
|
||||
}
|
||||
|
||||
[void] PreventSleepMode() {
|
||||
$performanceScheme = "8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c";
|
||||
$currentScheme = [regex]::Match((powercfg /GETACTIVESCHEME), "Power Scheme GUID: ([0-9a-f-]+) ").Groups[1].Value;
|
||||
|
||||
if ($currentScheme -ne $performanceScheme) {
|
||||
Write-Information "Disabling Power Save mode";
|
||||
$this.Set("Power Scheme", $currentScheme);
|
||||
powercfg /S 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c;
|
||||
}
|
||||
}
|
||||
|
||||
[void] Cleanup() {
|
||||
$this.DeregisterNewUserReboot();
|
||||
$this.RemoveAutologin();
|
||||
$this.SetUACState($true);
|
||||
$originalScheme = $this.Get("Power Scheme");
|
||||
Remove-Item $($this.EnsureConfigKey().PSPath);
|
||||
|
||||
if ($originalScheme) {
|
||||
Write-Information "Reset power plan to original state";
|
||||
powercfg /S $originalScheme;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
function Get-Entrypoint() {
|
||||
$trace = Get-PSCallStack
|
||||
$call = $trace[$trace.Count - 1];
|
||||
|
||||
if ($null -ne $call.ScriptName) {
|
||||
return $call.ScriptName;
|
||||
} else {
|
||||
$call = $CallStack[$CallStack.Count - 2];
|
||||
return $call.ScriptName;
|
||||
}
|
||||
|
||||
|
||||
throw "No PowerShell entry point script could be found.";
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue