Compare commits

..

584 commits

Author SHA1 Message Date
Manuel Thalmann a7ba0a907b Only ask for logout when applicable 2024-09-19 23:48:29 +02:00
Manuel Thalmann f6094a9583 Allow configuring the hostname 2024-09-19 23:45:19 +02:00
Manuel Thalmann eabd55c811 Reboot system after installation 2024-09-19 22:29:50 +02:00
Manuel Thalmann ae39a13ad6 Keep all variables during installation 2024-09-19 22:29:34 +02:00
Manuel Thalmann 65be8ce05d Instruct user to log out 2024-09-19 22:27:44 +02:00
Manuel Thalmann c97cf3299c Exclude rclone directory from indexing 2024-09-19 22:26:06 +02:00
Manuel Thalmann 6c0b7ebbaf Add module import scripts globally 2024-09-19 22:25:48 +02:00
Manuel Thalmann 745f6d465a Allow configuring vscode for any user 2024-09-19 22:24:58 +02:00
Manuel Thalmann 15861af5d2 Make zoxide installation cross platform 2024-09-19 22:24:36 +02:00
Manuel Thalmann 91e7b21f34 Run rclone user config script in Plasma 2024-09-19 22:23:45 +02:00
Manuel Thalmann 8ba1f0f6f0 Add scripts for installing PS modules 2024-09-19 22:20:59 +02:00
Manuel Thalmann 991ed8f64d Configure git for Linux users properly 2024-09-19 22:00:08 +02:00
Manuel Thalmann ad7e22b274 Add aliae support in Linux pwsh 2024-09-19 21:59:37 +02:00
Manuel Thalmann c918b16bfd Make profile dialogue platform independent 2024-09-19 21:59:01 +02:00
Manuel Thalmann 5a3c74a496 Configure oh-my-posh on Linux 2024-09-19 21:58:30 +02:00
Manuel Thalmann d0aa70b96b Configure aliae for individual Linux users 2024-09-19 21:56:32 +02:00
Manuel Thalmann 0bb8cc8c99 Add support for PowerShell conf.d on Linux 2024-09-19 21:53:24 +02:00
Manuel Thalmann 64850b194e Refactor the sudo configuration script 2024-09-19 21:23:16 +02:00
Manuel Thalmann 9854d1cb00 Add support for dkms by default 2024-09-19 21:20:41 +02:00
Manuel Thalmann 9a6f4a0b12 Configure the users during installation 2024-09-13 17:36:29 +02:00
Manuel Thalmann d1db8dbdd3 Fix installation of Threema 2024-09-13 16:32:39 +02:00
Manuel Thalmann c7a0e78a92 Accept stdin in pacman and yay commands 2024-09-13 16:32:26 +02:00
Manuel Thalmann 2a4a4617ee Chain remaining commands 2024-09-13 15:31:42 +02:00
Manuel Thalmann 71de1cca37 Remove unnecessary hook 2024-09-13 15:12:05 +02:00
Manuel Thalmann 782203b736 Chain all commands 2024-09-13 15:10:29 +02:00
Manuel Thalmann 55b0877872 Configure git using PowerShell script 2024-09-13 15:08:18 +02:00
Manuel Thalmann f761de2510 Install global bash profiles globally 2024-09-13 15:07:49 +02:00
Manuel Thalmann 2189b1e66e Fix eval-flake for paths containing spaces 2024-09-13 15:07:22 +02:00
Manuel Thalmann 4006981644 Remove redundant script call 2024-09-13 15:05:51 +02:00
Manuel Thalmann e643370682 Forcibly remove setup user 2024-09-13 15:05:17 +02:00
Manuel Thalmann b18741ca89 Fix installation of threema-desktop 2024-09-13 14:55:50 +02:00
Manuel Thalmann e81c4996e7 Make module installation compatible with Linux 2024-09-13 14:54:47 +02:00
Manuel Thalmann 4022bf5b42 Install display manager first 2024-09-13 14:54:30 +02:00
Manuel Thalmann 2136acd113 Replace obsolete packages 2024-09-13 14:53:46 +02:00
Manuel Thalmann 0d9af18fd3 Refactor the software install workflow 2024-09-13 14:47:07 +02:00
Manuel Thalmann 2a4158434f Remove the installDrivers step from OS installations 2024-09-13 00:30:30 +02:00
Manuel Thalmann 7f266c316f Create a dedicated script for deploying software actions 2024-09-12 23:17:04 +02:00
Manuel Thalmann bef911cafc Replace discord with vesktop 2024-09-12 23:11:16 +02:00
Manuel Thalmann f08be12d39 Reorder the package installation logically 2024-09-12 23:11:04 +02:00
Manuel Thalmann bce30277c1 Clarify the use of propertree 2024-09-12 23:09:25 +02:00
Manuel Thalmann 56c639a89f Read config from linux key 2024-09-12 21:48:05 +02:00
Manuel Thalmann f54ced4a08 Add groups to users properly 2024-09-12 21:47:50 +02:00
Manuel Thalmann 9b69ebe8ac Redirect CONFIG_NAME variable properly 2024-09-12 21:47:29 +02:00
Manuel Thalmann 67a345b7de Ensure git repository can be read properly 2024-09-12 21:47:13 +02:00
Manuel Thalmann 7882bd21d6 Fix incorrect message 2024-09-12 21:46:57 +02:00
Manuel Thalmann 0adbc58e18 Add git for installation 2024-09-12 21:46:47 +02:00
Manuel Thalmann af3d96d393 Use common script for Arch installation 2024-09-12 21:44:14 +02:00
Manuel Thalmann 1535d994df Mount ntfs disks using ntfs3 2024-09-12 20:18:57 +02:00
Manuel Thalmann 14a5daba22 Reboot before creating users 2024-09-12 19:04:48 +02:00
Manuel Thalmann 2b0faa9cdf Pause before reboot when debugging 2024-09-12 19:04:37 +02:00
Manuel Thalmann e1bc541395 Improve layout of oh-my-posh prompt 2024-09-12 19:02:56 +02:00
Manuel Thalmann a1be07b182 Ensure partition script exits early on error 2024-09-12 19:02:33 +02:00
Manuel Thalmann baa7e16e60 Fix creation of multiple users 2024-09-12 19:00:00 +02:00
Manuel Thalmann c531d6cff9 Ensure fish scripts exit early 2024-09-12 18:52:03 +02:00
Manuel Thalmann ac80a5d01b Allow removing setup options 2024-09-12 18:44:58 +02:00
Manuel Thalmann abaabc0fa6 Fix execution of OS scripts 2024-09-12 18:44:40 +02:00
Manuel Thalmann 7a4453cd60 Execute partition script using shebang 2024-09-12 18:44:14 +02:00
Manuel Thalmann a28cfe91a5 Clarify that partition script edits partitions 2024-09-12 18:43:33 +02:00
Manuel Thalmann f60c0b9058 Prevent use of glob 2024-09-12 18:39:50 +02:00
Manuel Thalmann 043a564dfa Ensure partition presence using partprobe 2024-09-12 18:39:18 +02:00
Manuel Thalmann 84534cc0cb Exclude unnecessary files from backup 2024-09-10 02:39:37 +02:00
Manuel Thalmann b0c8e23b11 Add a word of warning after backup 2024-09-10 00:38:35 +02:00
Manuel Thalmann 51fb57763b Add a script for creating backups 2024-09-10 00:37:13 +02:00
Manuel Thalmann 9059aa0c20 Force profile selection for Windows installation actions 2024-09-09 00:04:06 +02:00
Manuel Thalmann 6fcec84983 Force line endings of Unix scripts 2024-09-09 00:00:49 +02:00
Manuel Thalmann 519de0bca3 Start setup automatically 2024-09-08 17:48:10 +02:00
Manuel Thalmann 8e4029fb4c Show profile selection during setup 2024-09-08 17:48:02 +02:00
Manuel Thalmann 8bc192bc73 Add a function for selecting the profile 2024-09-08 17:47:49 +02:00
Manuel Thalmann f6448337df Use same installer script for all profiles 2024-09-08 17:47:28 +02:00
Manuel Thalmann 660c75f46b Fix non-functioning WSL installation 2024-09-08 17:42:31 +02:00
Manuel Thalmann a606431e34 Make Oh-My-Posh theme location dynamic 2024-09-08 17:42:11 +02:00
Manuel Thalmann 0b62570f16 Improve performance 2024-09-08 17:41:30 +02:00
Manuel Thalmann 7d6b429132 Update Selenium to the newest version 2024-09-08 17:12:01 +02:00
Manuel Thalmann 0e63b37f23 Switch to named flakes 2024-09-08 17:09:01 +02:00
Manuel Thalmann bab461fe28 Store user related options properly 2024-09-03 23:11:28 +02:00
Manuel Thalmann 573f2f8882 Refactor the directory structure 2024-09-03 23:10:35 +02:00
Manuel Thalmann 79ee2a6f66 Add code for cleaning up after installations 2024-09-03 22:15:15 +02:00
Manuel Thalmann e2c4a76247 Add functions for uninstalling packages 2024-09-03 22:14:21 +02:00
Manuel Thalmann 26f083c87e Improve assignments of groups 2024-09-03 20:32:01 +02:00
Manuel Thalmann 5db8871415 Remove unnecessary policy change 2024-09-03 16:31:12 +02:00
Manuel Thalmann 8fdd5b6186 Migrate winiso script to fish 2024-09-03 12:08:47 +02:00
Manuel Thalmann cebf742023 Ask for live scripts only once 2024-09-03 12:08:35 +02:00
Manuel Thalmann d1f5dd69f4 Install Ubuntu automatically 2024-09-03 12:08:14 +02:00
Manuel Thalmann e1ea3d9648 Add a backup script for reWASD 2024-09-03 12:02:48 +02:00
Manuel Thalmann ab5cdc34e7 Add a backup script for Visual Studio 2024-09-03 12:02:32 +02:00
Manuel Thalmann db71f58015 Allow backing up TrackMania Forever 2024-09-03 12:02:09 +02:00
Manuel Thalmann d06dba04c0 Allow testing winget packages with specific scope 2024-09-03 01:16:42 +02:00
Manuel Thalmann 4169c93879 Allow backing up RetroArch 2024-08-28 13:07:58 +02:00
Manuel Thalmann 9502db70de Add scripts for backing up PuTTY 2024-08-28 13:00:37 +02:00
Manuel Thalmann 011e5cede4 Add scripts for backing up osu! 2024-08-28 12:47:07 +02:00
Manuel Thalmann 465e0373d8 Install osu!lazer per user 2024-08-28 12:37:20 +02:00
Manuel Thalmann 12fb014044 Add backup support for ManiaPlanet 2024-08-28 05:18:52 +02:00
Manuel Thalmann 5c4dbed944 Add scripts for backing up and restoring LGHub 2024-08-28 05:05:55 +02:00
Manuel Thalmann 0fa96cf087 Allow users to restore a backup 2024-08-28 04:40:32 +02:00
Manuel Thalmann 2f12213c52 Add scripts for backing up and restoring personal files 2024-08-28 04:40:00 +02:00
Manuel Thalmann 1a2cc4d724 Fix non-functioning profile script 2024-08-28 04:39:15 +02:00
Manuel Thalmann 37a8bf1d44 Ensure 7z is installed for backups 2024-08-28 04:38:56 +02:00
Manuel Thalmann ae86d5a27f Streamline restoration of directories 2024-08-28 04:38:30 +02:00
Manuel Thalmann 091915015e Set a default path for backup artifacts 2024-08-28 00:38:20 +02:00
Manuel Thalmann 1c93bed59d Add capabilities to back up apps 2024-08-28 00:37:04 +02:00
Manuel Thalmann 8c174d0a54 Allow specifying a backup action 2024-08-28 00:29:33 +02:00
Manuel Thalmann db97014f2a Ignore unspecified backup archives 2024-08-28 00:22:38 +02:00
Manuel Thalmann e2cf72d5bf Ignore inexistent backup artifacts 2024-08-28 00:21:06 +02:00
Manuel Thalmann 10848d104b Make the install script action agnostic 2024-08-28 00:03:28 +02:00
Manuel Thalmann 1b6918da07 Rename the Windows installer script 2024-08-27 23:35:56 +02:00
Manuel Thalmann eab9e48524 Rename outdated script 2024-08-27 23:08:41 +02:00
Manuel Thalmann 4bf585446f Silence errors concerning empty aliae configurations 2024-08-27 22:35:31 +02:00
Manuel Thalmann 03706ab806 Make Operations script cross platform 2024-08-27 22:27:44 +02:00
Manuel Thalmann 81d75dc406 Handle OneShot tasks only on Windows 2024-08-27 21:32:49 +02:00
Manuel Thalmann 9a7d905356 Add a script for managing backups 2024-08-27 21:05:51 +02:00
Manuel Thalmann f403520a73 Add tools for managing aliae 2024-08-27 18:58:33 +02:00
Manuel Thalmann 3779b9d089 Fix non-functioning aliae installation 2024-08-27 18:55:12 +02:00
Manuel Thalmann 29bd4c42ae Create dedicated script for creating users 2024-08-27 17:04:17 +02:00
Manuel Thalmann 543c617634 Create dedicated script for installing software 2024-08-27 16:41:08 +02:00
Manuel Thalmann 8d73d0dac3 Prevent reading nix config multiple times 2024-08-27 14:35:04 +02:00
Manuel Thalmann afe6a163f9 Ensure only one user is enabled at once 2024-08-27 14:11:31 +02:00
Manuel Thalmann a40f94228c Prevent unnecessary file creation 2024-08-27 14:06:56 +02:00
Manuel Thalmann dea07dd55e Execute OneShot tasks in any operation 2024-08-27 14:05:16 +02:00
Manuel Thalmann e2c1605b2c Use /mnt as mount directory 2024-08-27 04:30:12 +02:00
Manuel Thalmann 66c642a448 Force the use of the managed distribution 2024-08-27 04:26:25 +02:00
Manuel Thalmann 75cea35de6 Initialize operation for all users 2024-08-27 04:24:29 +02:00
Manuel Thalmann 31001d292c Handle initialization in operation code 2024-08-27 04:15:37 +02:00
Manuel Thalmann ce7bca137b Execute script non-interactive during OneShot tasks 2024-08-27 03:50:08 +02:00
Manuel Thalmann 919b06a8e5 Exit script after running OneShot task 2024-08-27 03:45:44 +02:00
Manuel Thalmann df0e13fec4 Modify user after first login 2024-08-27 03:27:54 +02:00
Manuel Thalmann cb98417d88 Rearm Windows Activation before creating MSAcc 2024-08-27 03:25:19 +02:00
Manuel Thalmann 2239b00bb7 Register MSAcc logon script early 2024-08-27 03:24:37 +02:00
Manuel Thalmann 8bdc30c245 Allow rebooting without registering setup 2024-08-27 03:11:35 +02:00
Manuel Thalmann 13cd786c91 Fix non-functioning NoProfile argument 2024-08-27 02:09:04 +02:00
Manuel Thalmann ab456a8709 Prevent unnecessary installation actions 2024-08-27 01:57:46 +02:00
Manuel Thalmann 566e2b6b4e Only install PowerShell module if necessary 2024-08-27 01:25:32 +02:00
Manuel Thalmann 11d798c48a Streamline PowerShell installation 2024-08-27 00:45:46 +02:00
Manuel Thalmann d3cf87500d Add further functionality to the WSL script 2024-08-27 00:38:46 +02:00
Manuel Thalmann 4b84371500 Create a separate script for WSL interaction 2024-08-26 23:33:46 +02:00
Manuel Thalmann 9fb20e0844 Fix recursive configuration 2024-08-25 03:58:28 +02:00
Manuel Thalmann 21ab53ccd4 Fix malformed module 2024-08-24 18:35:43 +02:00
Manuel Thalmann 2e69fab0e9 Keep Windows fixes separate 2024-08-24 16:56:29 +02:00
Manuel Thalmann 6de6a4c1ea Remove WSL after operation 2024-08-24 16:52:41 +02:00
Manuel Thalmann b01c07c65a Make distribution name unique 2024-08-24 16:41:05 +02:00
Manuel Thalmann b0719bfc4e Streamline WSL distribution name 2024-08-24 16:27:34 +02:00
Manuel Thalmann 70f34d2685 Remove unused resources after user setup 2024-08-24 16:15:10 +02:00
Manuel Thalmann 8e97e7f54b Print update logs properly 2024-08-24 14:47:51 +02:00
Manuel Thalmann 9cda27781c Allow overriding Windows settings 2024-08-24 14:20:22 +02:00
Manuel Thalmann a36828beb5 Update incorrect path 2024-08-24 14:11:38 +02:00
Manuel Thalmann fab466b2ea Simplify osu!lazer installation 2024-08-24 14:10:02 +02:00
Manuel Thalmann 9c422def5f Determine name of setup user properly 2024-08-24 14:01:05 +02:00
Manuel Thalmann a8ada2619c Make OMP configuration platform independent 2024-08-24 13:27:48 +02:00
Manuel Thalmann 2821dea6f3 Fix incorrect character in OMP theme 2024-08-24 13:27:35 +02:00
Manuel Thalmann ac0e18ee74 Remove unnecessary code 2024-08-24 04:25:07 +02:00
Manuel Thalmann 3988c7133d Remove unnecessary loop 2024-08-24 04:24:55 +02:00
Manuel Thalmann e773db1ee8 Add missing module 2024-08-24 04:24:37 +02:00
Manuel Thalmann 8f01727e64 Add nextcloud to the module list 2024-08-24 04:18:57 +02:00
Manuel Thalmann 996e04d392 Add a function for creating shortcuts 2024-08-24 04:18:33 +02:00
Manuel Thalmann 5d38931113 Configure nextcloud syncs 2024-08-24 04:07:47 +02:00
Manuel Thalmann 35aedb320e Allow configuring nextcloud syncs 2024-08-24 04:07:35 +02:00
Manuel Thalmann 7d895d1f12 Create separate option holding win users 2024-08-24 03:25:28 +02:00
Manuel Thalmann 7b55f4c3ed Rename Nextcloud installer 2024-08-24 01:50:07 +02:00
Manuel Thalmann 5877f44de5 Add file system driver for dual boot 2024-08-24 01:41:09 +02:00
Manuel Thalmann 1c984ffba3 Prevent unnecessary config evaluation 2024-08-24 01:31:39 +02:00
Manuel Thalmann 1a2c52d3b1 Fix non-functioning installer 2024-08-24 01:27:26 +02:00
Manuel Thalmann 68c7b77310 Install vscode extensions by default 2024-08-24 01:16:56 +02:00
Manuel Thalmann 9729db6152 Load theme file from WSL properly 2024-08-24 00:59:59 +02:00
Manuel Thalmann d8c0537dff Update aliae configuration script 2024-08-24 00:42:57 +02:00
Manuel Thalmann 2192417157 Strip duplicate variables and aliases 2024-08-24 00:08:58 +02:00
Manuel Thalmann 4d524070ca Install posh theme automatically 2024-08-23 23:53:48 +02:00
Manuel Thalmann 5c212ff366 Export missing function 2024-08-23 23:50:13 +02:00
Manuel Thalmann 7674d05073 Install aliae by default 2024-08-23 23:46:23 +02:00
Manuel Thalmann 8d5e88437d Add scripts for changing aliae config 2024-08-23 23:44:51 +02:00
Manuel Thalmann 1da4a44ca7 Fix compatibility with mixed new line characters 2024-08-23 23:44:23 +02:00
Manuel Thalmann f30687f268 Add a script for installing aliae 2024-08-23 22:38:28 +02:00
Manuel Thalmann b9c043e7c4 Add desired posh theme 2024-08-23 19:43:06 +02:00
Manuel Thalmann aaa2a2b4ba Make option names more clear 2024-08-23 19:42:27 +02:00
Manuel Thalmann f3640583d3 Allow configuring oh-my-posh 2024-08-23 19:39:18 +02:00
Manuel Thalmann b1169f5e34 Fetch config from proper section 2024-08-23 19:24:49 +02:00
Manuel Thalmann f40ead657b Adjust configuration accordingly 2024-08-23 19:14:09 +02:00
Manuel Thalmann 880447997b Refactor option descriptions 2024-08-23 19:02:06 +02:00
Manuel Thalmann ec1adaf44b Clean up the Windows configuration 2024-08-23 18:59:49 +02:00
Manuel Thalmann 6c8afcc49f Clean up the users.nix file 2024-08-23 18:51:54 +02:00
Manuel Thalmann 82f3f6baa6 Create dedicated rclone module 2024-08-23 18:48:30 +02:00
Manuel Thalmann e032d32600 Move git module to separate directory 2024-08-23 18:42:16 +02:00
Manuel Thalmann f868dc3435 Move git options to separate module 2024-08-23 18:40:24 +02:00
Manuel Thalmann 0a869f7dbf Fix inheritance of user config 2024-08-23 18:28:20 +02:00
Manuel Thalmann 31047a57c9 Allow OS specific settings 2024-08-23 18:11:48 +02:00
Manuel Thalmann fd1ea2fe03 Update archiso 2024-08-23 14:19:56 +02:00
Manuel Thalmann 07c77d412c Set user info during git setup 2024-08-23 02:01:16 +02:00
Manuel Thalmann 87634d394a Make all config scripts platform independent 2024-08-23 01:57:53 +02:00
Manuel Thalmann 506786a8ce Allow leaving aliases unspecified 2024-08-23 01:52:25 +02:00
Manuel Thalmann 0b1784d32d Make scripts platform independent 2024-08-23 01:52:04 +02:00
Manuel Thalmann 5e55ab2cad Add scripts for configuring git 2024-08-23 01:43:26 +02:00
Manuel Thalmann 0e5eac5ed3 Configure software implicitly 2024-08-23 01:41:32 +02:00
Manuel Thalmann cdaf4c5fda Skip profile creation for PinnedItem 2024-08-22 23:55:41 +02:00
Manuel Thalmann d36969a44d Allow skipping powershell module registration 2024-08-22 23:55:00 +02:00
Manuel Thalmann 7c07c2ae39 Add profiles to the flake 2024-08-22 23:37:53 +02:00
Manuel Thalmann dfdf1358b8 Remove user profile of OneShot user 2024-08-22 23:12:11 +02:00
Manuel Thalmann 86149f1b86 Add missing OneShotTask declaration 2024-08-22 20:41:30 +02:00
Manuel Thalmann dfd3751f95 Fix infinite loop 2024-08-22 20:41:17 +02:00
Manuel Thalmann 6ab503fe89 Fix handling empty error messages 2024-08-22 20:12:18 +02:00
Manuel Thalmann 3a072c3551 Add choco to the profile of the setup user 2024-08-22 13:46:55 +02:00
Manuel Thalmann 96ebbade0e Fix incorrect typings 2024-08-22 11:11:12 +02:00
Manuel Thalmann 057801a8c0 Fix permission issues when enabling Win hack 2024-08-22 11:11:00 +02:00
Manuel Thalmann 50eece283b Register setup script as admin 2024-08-22 11:10:39 +02:00
Manuel Thalmann f45f6bd0e8 Execute the entire installer using live scripts 2024-08-21 23:21:32 +02:00
Manuel Thalmann 242e68bd3d Streamline the creation of users 2024-08-21 18:34:18 +02:00
Manuel Thalmann 0f31a80d2a Replace osk with cmd during debugging 2024-08-21 18:33:41 +02:00
Manuel Thalmann 33e7afacda Prevent pauses in OneShot tasks 2024-08-21 18:28:50 +02:00
Manuel Thalmann 27231a3997 Print commands in debug mode 2024-08-21 18:28:08 +02:00
Manuel Thalmann dd9798be0e Run OneShot tasks with dedicated user 2024-08-21 18:27:47 +02:00
Manuel Thalmann 5375f444bf Add function for generating startup command 2024-08-21 18:26:58 +02:00
Manuel Thalmann e3a502f7ab Allow registering startup script for the default user 2024-08-21 18:20:11 +02:00
Manuel Thalmann ea9023a7e7 Prevent unnecessary errors during WSL execution 2024-08-21 14:08:26 +02:00
Manuel Thalmann 615ab192eb Register WSL before running OneShot tasks 2024-08-21 03:37:44 +02:00
Manuel Thalmann 99663d0af0 Overwrite broken module 2024-08-21 03:20:37 +02:00
Manuel Thalmann 66bbcca220 Prevent initialization of nested operations 2024-08-21 03:18:31 +02:00
Manuel Thalmann 2d6cca4b02 Improve log messages of OneShot tasks 2024-08-21 02:02:30 +02:00
Manuel Thalmann a6fc3c170d Retry Linux path conversion for errors 2024-08-20 00:20:33 +02:00
Manuel Thalmann 540f594656 Fix typo 2024-08-20 00:20:07 +02:00
Manuel Thalmann c7b73c3d9f Fix broken signature of Restart-Intermediate 2024-08-19 12:07:26 +02:00
Manuel Thalmann 6c7d58d22a Report unexpected path conversions 2024-08-19 02:50:41 +02:00
Manuel Thalmann 2955d14b24 Load missing path 2024-08-19 02:50:19 +02:00
Manuel Thalmann b8ef95acfe Ensure error file can be read from 2024-08-19 02:24:45 +02:00
Manuel Thalmann ec19ba025f Streamline OneShot task handler 2024-08-19 02:24:30 +02:00
Manuel Thalmann fcb01e2ec7 Simplify script registration 2024-08-19 02:24:13 +02:00
Manuel Thalmann ce36865bd9 Fix broken regedit paths 2024-08-19 01:38:25 +02:00
Manuel Thalmann bfe46d929c Allow registering reboots for users 2024-08-19 01:37:14 +02:00
Manuel Thalmann e8ab6ee564 Prevent users from being excluded 2024-08-19 01:10:29 +02:00
Manuel Thalmann a27c75074b Force copying of Linux users to Windows 2024-08-19 00:54:13 +02:00
Manuel Thalmann 9033613d75 Improve log messages of updates 2024-08-18 12:20:21 +02:00
Manuel Thalmann 16ea84148e Remove unnecessary command 2024-08-18 10:24:15 +02:00
Manuel Thalmann dd7b18f8d7 Fix time for QEMU VMs 2024-08-18 09:35:16 +02:00
Manuel Thalmann 0e2a0acadc Remove unnecessary desktop icons 2024-08-18 09:25:23 +02:00
Manuel Thalmann c0e603287d Add a timeout for the reWASD downloader 2024-08-18 09:05:04 +02:00
Manuel Thalmann 0f3fb86851 Allow setting a timeout for clicking download buttons 2024-08-18 09:04:42 +02:00
Manuel Thalmann f72bba850e Emit errors concerning WSL commands 2024-08-17 13:51:10 +02:00
Manuel Thalmann 3d166157c5 Emit errors using Write-Error 2024-08-17 13:49:21 +02:00
Manuel Thalmann bba4339481 Convert Argument to string explicitly 2024-08-16 23:03:19 +02:00
Manuel Thalmann 79146bd936 Ignore unfinished browser downloads 2024-08-16 17:57:22 +02:00
Manuel Thalmann a1dca1a965 Install powershell modules for all users 2024-08-16 16:43:30 +02:00
Manuel Thalmann 636d3a59a8 Fix typos 2024-08-16 16:10:09 +02:00
Manuel Thalmann 8f3ab17f5b Install AutoHotkey as preparation 2024-08-16 15:22:09 +02:00
Manuel Thalmann c20d67e40f Allow running live scripts in debug mode 2024-08-16 15:21:41 +02:00
Manuel Thalmann 8667b0e111 Generate env variables using shorthand scripts 2024-08-16 15:16:56 +02:00
Manuel Thalmann 8ca6c58d4e Allow running installation in debug mode 2024-08-16 15:16:28 +02:00
Manuel Thalmann 48438ea190 Redirect winiso exit code properly 2024-08-16 15:13:53 +02:00
Manuel Thalmann e817f6971c Allow specifying winiso build type 2024-08-16 15:13:33 +02:00
Manuel Thalmann d0ab0ffadb Refactor winget check for rare issue 2024-08-16 15:04:37 +02:00
Manuel Thalmann d245a69a31 Disable Windows Update reboot only as admin 2024-08-16 14:35:35 +02:00
Manuel Thalmann 34f46d1aae Add a function for queueing startup commands 2024-08-15 18:34:48 +02:00
Manuel Thalmann 8e71e64486 Hide output of DISM commands 2024-08-15 13:57:15 +02:00
Manuel Thalmann 8b6f5d5e60 Ensure website is loaded before download 2024-08-15 02:42:00 +02:00
Manuel Thalmann 37021f2962 Prevent Jellyfin from rebooting 2024-08-15 02:22:07 +02:00
Manuel Thalmann 946dc09516 Improve handling of slow websites 2024-08-14 18:47:29 +02:00
Manuel Thalmann 9b9417ff6f Fix potential CRC errors 2024-08-14 18:46:42 +02:00
Manuel Thalmann 432046729d Ensure auto reboot is disabled properly 2024-08-12 21:32:53 +02:00
Manuel Thalmann 0e7f0bf723 Disable auto reboot by default 2024-08-12 01:27:50 +02:00
Manuel Thalmann c2a7a53d71 Add methods for managing auto restart feature 2024-08-12 01:23:42 +02:00
Manuel Thalmann 3cbe46b51c Install Wave Link first 2024-08-11 18:27:16 +02:00
Manuel Thalmann 153d1ea925 Throw an error when failing to load config 2024-08-11 18:27:06 +02:00
Manuel Thalmann 9db3528c08 Fix incorrect script path 2024-08-10 20:37:10 +02:00
Manuel Thalmann f057115cb2 Allow leaving install action unspecified 2024-08-10 19:27:56 +02:00
Manuel Thalmann 453affeef5 Retrieve registry value properly 2024-08-10 19:26:53 +02:00
Manuel Thalmann d795d63156 Add scripts for installing git 2024-08-10 15:28:10 +02:00
Manuel Thalmann 432610aaab Remove unnecessary code 2024-08-10 15:24:15 +02:00
Manuel Thalmann a643240ccc Add a function for removing the RunOnce key 2024-08-10 15:24:04 +02:00
Manuel Thalmann c87831dcff Set user groups properly 2024-08-10 15:23:38 +02:00
Manuel Thalmann 152b5b2dd8 Configure MS accounts properly 2024-08-10 15:21:13 +02:00
Manuel Thalmann 543cead314 Queue next user after configuration finished 2024-08-10 15:20:36 +02:00
Manuel Thalmann 21b0dec955 Disable UAC after logging in MS account 2024-08-10 15:19:14 +02:00
Manuel Thalmann b49322a0d8 Enable OneShot listener for MS accounts 2024-08-10 15:18:10 +02:00
Manuel Thalmann 8e254ab68d Set timezone automatically 2024-08-10 15:17:21 +02:00
Manuel Thalmann f465f97ade Prevent variable overwrite 2024-08-10 15:16:57 +02:00
Manuel Thalmann 502e3fe535 Register installer script after disabling UAG 2024-08-10 15:16:27 +02:00
Manuel Thalmann 97193316a3 Redirect user for configuration properly 2024-08-10 15:16:00 +02:00
Manuel Thalmann 802cff731d Fix broken redirection of arguments 2024-08-10 15:15:40 +02:00
Manuel Thalmann ab89e450f7 Determine installer action properly 2024-08-10 15:15:21 +02:00
Manuel Thalmann 5449b08305 Redirect arguments to chocolatey properly 2024-08-10 15:13:46 +02:00
Manuel Thalmann b2a1e06dbf Fix non-functioning OneShot script 2024-08-10 15:13:20 +02:00
Manuel Thalmann 5d99acc08f Fix oneshot task execution 2024-08-10 06:11:55 +02:00
Manuel Thalmann 2102f54dec Allow removing the OneShot listener 2024-08-10 05:19:24 +02:00
Manuel Thalmann ef8bfb2d61 Remove duplicate code 2024-08-10 05:17:08 +02:00
Manuel Thalmann d95ce175c0 Fix typo 2024-08-10 03:57:37 +02:00
Manuel Thalmann 855c1c2066 Fix copy paste error 2024-08-10 03:57:26 +02:00
Manuel Thalmann bb334ea29e Allow skipping the User parameter 2024-08-10 03:40:37 +02:00
Manuel Thalmann ebf092c141 Fix incorrect script path 2024-08-10 03:13:13 +02:00
Manuel Thalmann 5dc42d6099 Fix broken scripts 2024-08-10 01:50:52 +02:00
Manuel Thalmann 46cd57ce68 Remove unnecessary confirmation dialogue 2024-08-10 00:23:47 +02:00
Manuel Thalmann 914691eb9a Add a task for disabling UAC 2024-08-10 00:23:37 +02:00
Manuel Thalmann e5e4864718 Force creation of sudo alias 2024-08-10 00:22:46 +02:00
Manuel Thalmann c113d06304 Allow execution of OneShot tasks 2024-08-10 00:22:30 +02:00
Manuel Thalmann 66111a7615 Ensure CONFIG_MODULE is resolved 2024-08-09 23:23:55 +02:00
Manuel Thalmann 300d932fa4 Add dedicated functions for creating startup scripts 2024-08-09 23:23:29 +02:00
Manuel Thalmann 049cce993c Change login message 2024-08-09 22:11:12 +02:00
Manuel Thalmann f36d2ef11e Set up shared WSL 2024-08-09 16:02:33 +02:00
Manuel Thalmann d6362632fb Install updates only as admin 2024-08-09 16:02:24 +02:00
Manuel Thalmann 1f0e5b80e0 Disable boot message only as admin 2024-08-09 16:02:00 +02:00
Manuel Thalmann 2c37cf1584 Add a function for allowing user access 2024-08-09 15:56:16 +02:00
Manuel Thalmann 8b3c0af4cc Fix broken reboot registration 2024-08-09 15:49:36 +02:00
Manuel Thalmann 7c16764536 Ensure the script path is detected properly 2024-08-09 14:45:50 +02:00
Manuel Thalmann dc7035c76b Allow automatic script execution for MS accounts 2024-08-09 14:45:29 +02:00
Manuel Thalmann 1e41e74640 Reorder winget arguments 2024-08-09 14:45:05 +02:00
Manuel Thalmann b6c76544dc Allow registering reboot for the default user 2024-08-09 14:44:57 +02:00
Manuel Thalmann 2c2e648e26 Add a dedicated function for disabling boot message 2024-08-09 13:35:12 +02:00
Manuel Thalmann ea2d80b59e Implement root install loop using a switch 2024-08-09 13:34:46 +02:00
Manuel Thalmann 2e88e1a9de Force computer reboots 2024-08-09 04:42:55 +02:00
Manuel Thalmann 7802131f37 Add scripts for controlling UAC 2024-08-09 04:29:26 +02:00
Manuel Thalmann aa0dc1805a Set displayname of all users 2024-08-09 04:20:00 +02:00
Manuel Thalmann 0d8a3765ea Login to users for configuration 2024-08-09 04:19:49 +02:00
Manuel Thalmann 3fd3aa9a2a Skip PWSH_PATH if undefined 2024-08-09 04:08:22 +02:00
Manuel Thalmann 2d26f4c77e Fix typo 2024-08-09 03:38:10 +02:00
Manuel Thalmann d6d2731062 Add missing setup stage 2024-08-09 03:02:25 +02:00
Manuel Thalmann 73497a6592 Make Get-Users output explicit 2024-08-09 03:02:17 +02:00
Manuel Thalmann 60a93c723c Allow displaying a boot message 2024-08-09 02:59:06 +02:00
Manuel Thalmann 728839c213 Disable users by default 2024-08-09 02:58:01 +02:00
Manuel Thalmann 32784742c6 Add a stage for configuring users 2024-08-09 02:27:24 +02:00
Manuel Thalmann e5e35772a0 Detect installation properly 2024-08-09 02:24:59 +02:00
Manuel Thalmann 5cf212a1b9 Remove unnecessary icon 2024-08-09 02:23:56 +02:00
Manuel Thalmann fd6f2e75f9 Add Predator Z301C to the hardware list 2024-08-09 02:23:41 +02:00
Manuel Thalmann 06a4c6ba3f Add support for the sudo command 2024-08-09 02:22:45 +02:00
Manuel Thalmann 2c3e904e47 Fix renaming user 2024-08-09 02:20:27 +02:00
Manuel Thalmann 846953303f Make specifying PWSH_PATH optional 2024-08-09 02:12:27 +02:00
Manuel Thalmann e9519c1bb0 Show error properly 2024-08-09 02:00:18 +02:00
Manuel Thalmann c4a1787d8a Fix typo 2024-08-09 01:53:59 +02:00
Manuel Thalmann ac95ba1736 Remove code duplication 2024-08-09 01:33:04 +02:00
Manuel Thalmann f63a658f03 Remove unnecessary console output 2024-08-09 01:22:51 +02:00
Manuel Thalmann 776f45aeff Fix incorrect file paths 2024-08-09 00:17:05 +02:00
Manuel Thalmann 0ab6fcffcb Fix incorrect hardware name 2024-08-09 00:03:45 +02:00
Manuel Thalmann 7e474aa684 Reorder installation steps 2024-08-08 23:03:10 +02:00
Manuel Thalmann 63d6f8b1d3 Suppress unnecessary output 2024-08-08 22:24:41 +02:00
Manuel Thalmann da3376c462 Refactor the wsl installation check 2024-08-08 22:21:49 +02:00
Manuel Thalmann 53e1cf80f1 Ensure WSL Ubuntu is installed 2024-08-08 22:08:13 +02:00
Manuel Thalmann 6913214686 Make config script platform independent 2024-08-08 18:21:16 +02:00
Manuel Thalmann 95a3492b5e Leave groups unspecified 2024-08-08 17:50:32 +02:00
Manuel Thalmann 440d7bb904 Add users during installation 2024-08-08 17:49:43 +02:00
Manuel Thalmann 789a00dfae Fix incorrect user conversion 2024-08-08 17:16:51 +02:00
Manuel Thalmann 844aaa11ae Keep Windows groups separate 2024-08-08 15:33:55 +02:00
Manuel Thalmann ec5275bbed Remove unnecessary options from Win users 2024-08-08 15:32:05 +02:00
Manuel Thalmann 60013f1596 Inherit Windows users from linux 2024-08-08 15:28:29 +02:00
Manuel Thalmann 4d59d28fe0 Add functions for retrieving attributes 2024-08-08 14:45:34 +02:00
Manuel Thalmann 6038288f9b Install Oh My Posh system wide 2024-08-08 14:23:15 +02:00
Manuel Thalmann 05a456f5f6 Fix typo 2024-08-08 14:22:22 +02:00
Manuel Thalmann 60d78c96c7 Skip scope argument by default 2024-08-08 14:22:13 +02:00
Manuel Thalmann 7f19a74b39 Fix incorrect file paths 2024-08-08 14:21:55 +02:00
Manuel Thalmann 304c8a037e Configure NVS after installation 2024-08-08 14:09:20 +02:00
Manuel Thalmann e18644a6d4 Refactor app association script 2024-08-08 14:09:07 +02:00
Manuel Thalmann f69df3721b Fix typo 2024-08-08 14:08:48 +02:00
Manuel Thalmann c78e529cc6 Apply the error action globally 2024-08-08 14:08:38 +02:00
Manuel Thalmann 60aeeba127 Move PinnedItem script to proper location 2024-08-08 14:04:51 +02:00
Manuel Thalmann 0855e11087 Add notes to installation script 2024-08-08 14:03:15 +02:00
Manuel Thalmann 87266af942 Add a script for installing LGHub 2024-08-08 13:25:21 +02:00
Manuel Thalmann be1fd16d27 Reorder installation steps 2024-08-08 13:17:14 +02:00
Manuel Thalmann 69b66ac28a Reload env after installing git 2024-08-08 12:18:04 +02:00
Manuel Thalmann 45d4388b68 Enure features for PinnedItem are installed 2024-08-08 05:21:21 +02:00
Manuel Thalmann 5cfe25464c Install features using chocolatey 2024-08-08 05:20:58 +02:00
Manuel Thalmann 4968e3dd7e Ensure git is installed 2024-08-08 05:14:31 +02:00
Manuel Thalmann 3e9ff66f3e Fix broken XML document creation 2024-08-08 05:04:59 +02:00
Manuel Thalmann 7c87fb0b3b Fix incorrect parameter access 2024-08-08 05:03:24 +02:00
Manuel Thalmann e156cfdade Fix incorrect path 2024-08-08 05:01:45 +02:00
Manuel Thalmann 42704a1da4 Add a dedicated user option for windows 2024-08-08 04:45:27 +02:00
Manuel Thalmann a4a4ff9afb Add a stage for creating users 2024-08-08 04:38:40 +02:00
Manuel Thalmann c05c91f21b Add scripts for all remaining apps 2024-08-08 04:36:35 +02:00
Manuel Thalmann 5838ca5cc7 Allow custom winget arguments 2024-08-08 04:29:00 +02:00
Manuel Thalmann 08b6155277 Improve winget function 2024-08-08 04:28:21 +02:00
Manuel Thalmann 8ef736a49d Add missing function 2024-08-08 04:20:11 +02:00
Manuel Thalmann c102071838 Refactor browser scripts 2024-08-08 03:32:03 +02:00
Manuel Thalmann f08e54151a Ensure Selenium is imported 2024-08-08 02:59:02 +02:00
Manuel Thalmann 069f87551d Allow skipping the Action argument 2024-08-08 02:56:28 +02:00
Manuel Thalmann 79edb4aa86 Rename all old installation scripts 2024-08-08 02:56:13 +02:00
Manuel Thalmann 0de8be2427 Add options for enabling LG Hub 2024-08-08 02:29:51 +02:00
Manuel Thalmann 5313698fe1 Remove Firefox taskbar icon 2024-08-08 02:29:09 +02:00
Manuel Thalmann f7f3df82c6 Allow removing task bar icons 2024-08-08 02:28:40 +02:00
Manuel Thalmann 9786d53ae5 Allow installing modules native only 2024-08-08 02:28:23 +02:00
Manuel Thalmann 962f216a52 Rename old LGHub script 2024-08-08 02:27:39 +02:00
Manuel Thalmann 727f2e4683 Add missing config 2024-08-08 01:51:21 +02:00
Manuel Thalmann 20cb417df7 Rename PuTTY script 2024-08-08 00:51:45 +02:00
Manuel Thalmann 0b8e78653e Fix permission issue 2024-08-08 00:48:18 +02:00
Manuel Thalmann ec061519b4 Add scripts for installing Tobii apps 2024-08-08 00:06:49 +02:00
Manuel Thalmann d4c9683a54 Copy keyboard layout to welcome screen 2024-08-07 23:53:26 +02:00
Manuel Thalmann 3c2459b715 Add scripts for desktop apps 2024-08-07 23:53:12 +02:00
Manuel Thalmann a32a3d0b4c Rename old Nextcloud script 2024-08-07 23:45:56 +02:00
Manuel Thalmann c15579f919 Configure user only outside of setup 2024-08-07 23:30:29 +02:00
Manuel Thalmann e638133021 Add a script for installing Oh My Posh 2024-08-07 23:22:04 +02:00
Manuel Thalmann 1390eedd91 Fix incorrect installation filter 2024-08-07 23:20:28 +02:00
Manuel Thalmann dcab87b5a7 Fix profile script for individual profiles 2024-08-07 23:18:44 +02:00
Manuel Thalmann 2ec332856a Show messages if packages are installed 2024-08-07 23:18:23 +02:00
Manuel Thalmann 32dd1ac1dc Fix incorrect package check 2024-08-07 23:17:07 +02:00
Manuel Thalmann c33ad5c306 Refactor default winget parameters 2024-08-07 22:56:42 +02:00
Manuel Thalmann 671fec827d Add scripts for installing PS modules 2024-08-07 22:55:25 +02:00
Manuel Thalmann 0812a6ae02 Allow skipping PowerShell profile files 2024-08-07 22:25:42 +02:00
Manuel Thalmann e596202af3 Resolve dependency loop 2024-08-07 21:54:58 +02:00
Manuel Thalmann 8420cd4299 Remove unnecessary statement 2024-08-07 21:53:26 +02:00
Manuel Thalmann 39b632bd12 Refactor chocolatey script 2024-08-07 21:50:21 +02:00
Manuel Thalmann e7db1a0de7 Pass arguments to software script 2024-08-07 21:37:33 +02:00
Manuel Thalmann f3a018a549 Use internal OS detection 2024-08-07 21:35:03 +02:00
Manuel Thalmann 2a043a0f35 Refactor PowerShell profile script 2024-08-07 21:34:40 +02:00
Manuel Thalmann 862ab3c42b Move scripts properly 2024-08-07 21:05:32 +02:00
Manuel Thalmann ee2bd12a29 Add scripts for installing PowerShell 2024-08-07 20:30:12 +02:00
Manuel Thalmann d28a152eb2 Rename PowerShell script directory 2024-08-07 19:08:13 +02:00
Manuel Thalmann ff3862aa09 Add script for installing Thunderbird 2024-08-07 18:57:27 +02:00
Manuel Thalmann 665f455631 Install drivers in proper phase 2024-08-07 18:54:07 +02:00
Manuel Thalmann 1231cfa663 Add a script for installing WinSCP 2024-08-07 18:30:14 +02:00
Manuel Thalmann 5d86f49cb2 Refactor app association script 2024-08-07 18:29:20 +02:00
Manuel Thalmann fc3f7b4fbd Prevent reboot during WaveLink installation 2024-08-07 18:01:17 +02:00
Manuel Thalmann cd406fc22f Add scripts for installing drivers 2024-08-07 16:17:49 +02:00
Manuel Thalmann 2f1f327554 Add script for installing AMD packages 2024-08-07 15:25:12 +02:00
Manuel Thalmann 78bc825663 Add missing package for selenium 2024-08-07 15:24:56 +02:00
Manuel Thalmann 18c72d632e Ensure correct types for setting download dir 2024-08-07 15:24:37 +02:00
Manuel Thalmann f10b06e42d Add a script for installing ASUS packages 2024-08-07 14:40:24 +02:00
Manuel Thalmann 82c5fe6a82 Refactor browser automation scripts 2024-08-07 14:28:26 +02:00
Manuel Thalmann a99d91793b Execute winget script in a module 2024-08-07 13:36:47 +02:00
Manuel Thalmann ee0104e1e4 Install components for browser automation 2024-08-07 13:36:31 +02:00
Manuel Thalmann 3b426f1b35 Add functions for installing choco and winget packages 2024-08-07 13:22:12 +02:00
Manuel Thalmann ad513290b9 Add a function for checking winget packages 2024-08-07 13:18:29 +02:00
Manuel Thalmann 69093de8f6 Enhance the winget install check 2024-08-07 03:34:12 +02:00
Manuel Thalmann e54edf6952 Add a function for checking NuGet packages 2024-08-07 03:23:59 +02:00
Manuel Thalmann 0c9b6ce1e0 Fix non-functioning script 2024-08-07 03:23:21 +02:00
Manuel Thalmann 3a84a70192 Install PowerShell modules after removing old copy 2024-08-06 18:19:33 +02:00
Manuel Thalmann 7180fbbfcd Add config for declaring hardware 2024-08-06 17:23:20 +02:00
Manuel Thalmann ba6eb63822 Silence unnecessary output 2024-08-06 17:07:57 +02:00
Manuel Thalmann 6c626adc2d Add a separate function for executing software actions 2024-08-06 16:54:11 +02:00
Manuel Thalmann d591462661 Add a function for checking whether a setup is being run 2024-08-06 14:32:37 +02:00
Manuel Thalmann 05921c313a Determine software script name properly 2024-08-06 12:21:48 +02:00
Manuel Thalmann bed94eb232 Fix incorrect path 2024-08-06 12:21:00 +02:00
Manuel Thalmann a6eb1557a9 Fix incorrectly imported modules 2024-08-06 11:39:57 +02:00
Manuel Thalmann ca9adf1c5d Fix incorrect XPaths 2024-08-06 11:39:48 +02:00
Manuel Thalmann bac5af0c74 Create Windows image as normal user 2024-08-06 11:39:34 +02:00
Manuel Thalmann 48b56955da Make the name of the setup user look more Windows like 2024-08-06 11:39:05 +02:00
Manuel Thalmann ea690b1ce9 Set the name of the setup user properly 2024-08-06 10:22:50 +02:00
Manuel Thalmann 03c3bf77e0 Add scripts for installing essential software 2024-08-06 00:04:02 +02:00
Manuel Thalmann 693f432fef Add a function for removing desktop icons 2024-08-06 00:02:07 +02:00
Manuel Thalmann 1db979d9ba Add an option for showing file extensions 2024-08-05 23:22:22 +02:00
Manuel Thalmann 21b1ac28df Ensure the environment variables are always set properly 2024-08-05 23:09:58 +02:00
Manuel Thalmann 9109639ac6 Fix incorrect argument initialization 2024-08-05 23:08:36 +02:00
Manuel Thalmann d2599ee322 Ensure Arguments contains an object 2024-08-05 22:51:29 +02:00
Manuel Thalmann b1ff2d784f Fix argument redirection 2024-08-05 22:49:44 +02:00
Manuel Thalmann 86f56b2a7e Fix non-functioning script 2024-08-05 22:45:17 +02:00
Manuel Thalmann 05ab7fe273 Allow running further installer actions within an installer 2024-08-05 22:29:20 +02:00
Manuel Thalmann e81d0e2581 Refactor windows configuration script 2024-08-05 20:07:39 +02:00
Manuel Thalmann 6a420a7039 Add settings for customizing windows 2024-08-05 19:12:59 +02:00
Manuel Thalmann 60877942f8 Refactor software script environment 2024-08-05 00:07:41 +02:00
Manuel Thalmann 337715c629 Set CONFIG_MODULE to full path by default 2024-08-02 01:57:31 +02:00
Manuel Thalmann ba273daa32 Enter next stage after configuration 2024-08-02 01:44:56 +02:00
Manuel Thalmann df18340177 Make config module persist in WSL 2024-08-02 00:47:33 +02:00
Manuel Thalmann f725b8076a Ensure arguments are passed to fish 2024-08-01 23:36:03 +02:00
Manuel Thalmann 34536e9fdd Fix installer script structure 2024-08-01 23:34:35 +02:00
Manuel Thalmann 7df6dafb52 Declare InstallerAction in a separate file 2024-08-01 22:52:51 +02:00
Manuel Thalmann 887bcc128a Ensure necessary modules are imported 2024-08-01 21:49:46 +02:00
Manuel Thalmann 9ef9acae56 Import SetupStage enum into installation module 2024-08-01 21:32:33 +02:00
Manuel Thalmann 05459a1cd1 Pause on error by default 2024-08-01 21:08:31 +02:00
Manuel Thalmann 6fd782721a Display the software name during installation 2024-08-01 21:06:03 +02:00
Manuel Thalmann 73c9affcfe Fix non-functioning command 2024-08-01 20:34:55 +02:00
Manuel Thalmann e386b7c8c8 Remove non-existent script 2024-08-01 19:10:10 +02:00
Manuel Thalmann 9025680782 Nest installation functions in a module 2024-08-01 19:02:12 +02:00
Manuel Thalmann 5af4b9ca40 Install winget if nonexistent 2024-08-01 18:58:33 +02:00
Manuel Thalmann fd32029507 Use the new commands 2024-08-01 18:36:47 +02:00
Manuel Thalmann 5249ffc281 Add dedicated commands for checking software 2024-08-01 18:35:45 +02:00
Manuel Thalmann 516a340ced Add a script for managing software 2024-08-01 18:24:26 +02:00
Manuel Thalmann cce14d35ba Fix nix installation check 2024-08-01 18:05:10 +02:00
Manuel Thalmann 34e2f9ce8e Make nix visible to WSL 2024-08-01 18:03:48 +02:00
Manuel Thalmann 26f05e601a Add a function for getting the users to create 2024-08-01 17:56:42 +02:00
Manuel Thalmann 1a44df8073 Rename the file containing software functions 2024-08-01 17:38:59 +02:00
Manuel Thalmann 111e98d878 Configure clock for dualboot systems 2024-08-01 16:32:03 +02:00
Manuel Thalmann edc471ecc0 Enter configuration stage if nix exists 2024-08-01 16:28:48 +02:00
Manuel Thalmann 59997ab70a Reboot WSL to pick up nix 2024-08-01 16:25:18 +02:00
Manuel Thalmann 2445f2da23 Add a function for retrieving nix options 2024-08-01 16:12:58 +02:00
Manuel Thalmann 10cffce906 Make CONFIG_MODULE available in WSL 2024-08-01 14:39:44 +02:00
Manuel Thalmann 0b21d55bee Install WSL and nix by default 2024-08-01 14:06:40 +02:00
Manuel Thalmann fd361f7d00 Rename config module file 2024-08-01 12:39:27 +02:00
Manuel Thalmann 72c7bf9924 Reword log messages 2024-08-01 12:32:43 +02:00
Manuel Thalmann a1fbe3392a Fix syntax error 2024-08-01 12:31:25 +02:00
Manuel Thalmann 61339c762f Import scripting module inside the PowerManagement module 2024-08-01 12:24:28 +02:00
Manuel Thalmann 0aaa1e1c40 Add scripts for updating windows 2024-08-01 02:59:32 +02:00
Manuel Thalmann 286073fc82 Fix errors in the PowerManagement module 2024-08-01 02:19:05 +02:00
Manuel Thalmann 0e896277a1 Fix syntax error 2024-08-01 01:22:23 +02:00
Manuel Thalmann fc59851f5b Fix incorrect documentation comment 2024-07-31 23:10:21 +02:00
Manuel Thalmann 3eaa890147 Fix handling of setup stages 2024-07-31 22:33:37 +02:00
Manuel Thalmann 6de6298421 Set registry values properly 2024-07-31 22:33:16 +02:00
Manuel Thalmann bd245f1d57 Display console output of hooks 2024-07-31 22:18:47 +02:00
Manuel Thalmann 42e818493c Store stages using their name 2024-07-31 16:52:49 +02:00
Manuel Thalmann 97ec1648fc Refactor the installation loop architecture 2024-07-31 16:25:32 +02:00
Manuel Thalmann de3136f131 Implement install loop properly 2024-07-31 16:15:09 +02:00
Manuel Thalmann b957a66b3d Implement the windows installation in a loop 2024-07-31 16:09:50 +02:00
Manuel Thalmann e09b4d2ba6 Recreate script to first install pwsh 2024-07-31 15:52:41 +02:00
Manuel Thalmann 002627471f Normalize script formatting 2024-07-31 15:52:23 +02:00
Manuel Thalmann 8d8bd2df84 Add a script for managing setup options 2024-07-31 15:42:02 +02:00
Manuel Thalmann bec10de9ad Add a script for rebooting the computer 2024-07-31 15:41:45 +02:00
Manuel Thalmann 6993f95af8 Add a separate script for injecting values into scripts 2024-07-31 14:55:00 +02:00
Manuel Thalmann fce16d6f0c Add a script for checking for installed choco packages 2024-07-31 14:53:21 +02:00
Manuel Thalmann 1b5fd6eb3a Copy pwsh to newly setup windows systems 2024-07-31 14:47:42 +02:00
Manuel Thalmann 4b788a6637 Rename old windows installation script 2024-07-30 18:47:01 +02:00
Manuel Thalmann 3972c1e63d Add a function for executing hooks 2024-07-30 18:34:19 +02:00
Manuel Thalmann c04b1ea6e5 Enable rclone services properly 2024-07-30 17:42:29 +02:00
Manuel Thalmann e40c88cf16 Disable root bash login during installation 2024-07-30 00:54:43 +02:00
Manuel Thalmann 924a788864 Silence unnecessary output 2024-07-30 00:53:20 +02:00
Manuel Thalmann 394264d848 Install vscode extensions for each user 2024-07-30 00:53:10 +02:00
Manuel Thalmann 5de76b02db Fix installation of brave extensions 2024-07-30 00:52:55 +02:00
Manuel Thalmann dee8234e5f Fix non-functioning installation scripts 2024-07-30 00:52:35 +02:00
Manuel Thalmann cb103117ab Fix missing variables 2024-07-30 00:51:50 +02:00
Manuel Thalmann 74d60881fb Fix non-functioning command 2024-07-29 23:46:14 +02:00
Manuel Thalmann 25e9153f8b Load dualboot sizes from nix 2024-07-29 01:44:12 +02:00
Manuel Thalmann c83824a94d Improve handling of wmic output 2024-07-29 01:22:42 +02:00
Manuel Thalmann 3d3c327cb2 Save unnecessary space 2024-07-29 00:10:07 +02:00
Manuel Thalmann 274b424726 Allow overwriting packages 2024-07-28 23:45:30 +02:00
Manuel Thalmann 1d4e68392b Generate locales in proper system 2024-07-28 23:45:09 +02:00
Manuel Thalmann 3f3b25bc95 Execute userConfig for current user only once 2024-07-28 23:44:58 +02:00
Manuel Thalmann 63d5d60a13 Prevent userConfig from execute multiple times 2024-07-28 23:43:11 +02:00
Manuel Thalmann bea3e68925 Nest Windows setup in a function 2024-07-28 20:52:07 +02:00
Manuel Thalmann 49e9d646c0 Configure Windows on DerGeret 2024-07-28 17:14:38 +02:00
Manuel Thalmann d77001109b Inherit missing variable 2024-07-28 17:01:24 +02:00
Manuel Thalmann 99cd4ed309 Fix aliae configuration 2024-07-28 16:57:47 +02:00
Manuel Thalmann d12a44ceb3 Fix broken profile creation 2024-07-28 16:57:36 +02:00
Manuel Thalmann 99357ba627 Inherit missing variables 2024-07-28 15:25:03 +02:00
Manuel Thalmann b569c8f221 Run setup of der-geret using fish 2024-07-28 12:45:05 +02:00
Manuel Thalmann 2297485193 Mark all fish scripts as executable 2024-07-28 12:32:08 +02:00
Manuel Thalmann 7da1f876cb Make nix config accessible in scripts 2024-07-28 12:16:01 +02:00
Manuel Thalmann f16c7d9d5e Dump windows config for use during setup 2024-07-28 11:26:13 +02:00
Manuel Thalmann 09f8914991 Add options for setting up windows 2024-07-28 01:56:41 +02:00
Manuel Thalmann f22c90db9d Fix confusing filename 2024-07-28 00:28:10 +02:00
Manuel Thalmann c816b1459f Remove redundant script 2024-07-28 00:27:25 +02:00
Manuel Thalmann 65b97f33db Run installer script after initialization 2024-07-27 23:18:04 +02:00
Manuel Thalmann 98b2c1ca9b Ensure iso directory exists 2024-07-27 22:04:40 +02:00
Manuel Thalmann a017be320a Prevent unnecessary variables 2024-07-27 22:04:08 +02:00
Manuel Thalmann 10d49a55fa Pass boot script path via env variable 2024-07-27 18:59:47 +02:00
Manuel Thalmann e30b48204f Pass label of setup disk as variable 2024-07-26 14:46:58 +02:00
Manuel Thalmann 2165ea0296 Store installer drive as env variable 2024-07-26 14:43:12 +02:00
Manuel Thalmann f631377a86 Copy repository settings 2024-07-26 14:43:02 +02:00
Manuel Thalmann 95bfa52280 Pass the project path in to the installation script 2024-07-26 14:29:45 +02:00
Manuel Thalmann 149cc4c1c8 Store PortValhalla in installation disk 2024-07-26 13:32:37 +02:00
Manuel Thalmann d888c71fff Ensure to always remove all leftovers 2024-07-25 20:02:47 +02:00
Manuel Thalmann c17f948b03 Migrate the winiso project 2024-07-25 00:03:35 +02:00
Manuel Thalmann 0c0fb30c53 Remove unnecessary config 2024-07-20 16:26:38 +02:00
Manuel Thalmann 09aa735398 Configure for current user if none is specified 2024-07-20 14:06:25 +02:00
Manuel Thalmann b7c3c13b27 Remove unnecessary statement 2024-07-20 14:04:09 +02:00
Manuel Thalmann e23dec2a75 Add a function for checking whether a configuration is applied 2024-07-20 14:03:35 +02:00
Manuel Thalmann 3f6f037394 Remove default value of CONFIG_MODULE 2024-07-20 14:02:36 +02:00
Manuel Thalmann eb486369f2 Remove necessity of nix config 2024-07-20 13:54:04 +02:00
Manuel Thalmann 77d41f25f5 Create rclone syncs during setup 2024-07-20 13:47:07 +02:00
Manuel Thalmann e4632e3c39 Preserve environment while running dbus session 2024-07-20 05:14:09 +02:00
Manuel Thalmann 80bba08739 Fix typo 2024-07-20 05:09:42 +02:00
Manuel Thalmann 2560889987 Force json output appropriately 2024-07-20 05:09:13 +02:00
Manuel Thalmann 5258468d3b Add a script draft for configuring rclone 2024-07-20 05:08:23 +02:00
Manuel Thalmann bc206c4d82 Format config file 2024-07-20 04:35:58 +02:00
Manuel Thalmann f77cd0d500 Load the default shell from the user config 2024-07-20 04:35:41 +02:00
Manuel Thalmann c5149ef9b0 Split nix configuration properly 2024-07-20 04:31:09 +02:00
Manuel Thalmann ec0416039a Fix typo 2024-07-20 04:23:51 +02:00
Manuel Thalmann 12d326e74c Prevent changing the working directory 2024-07-20 04:17:42 +02:00
Manuel Thalmann 3968658531 Add separate method for configuring git 2024-07-20 04:06:41 +02:00
Manuel Thalmann 7560191834 Add function for configuring user settings 2024-07-20 03:50:38 +02:00
Manuel Thalmann f0d4e900ba Stop keeping track of installed software 2024-07-20 03:32:53 +02:00
Manuel Thalmann 31ec96a5d1 Call software scripts using individual fish commands 2024-07-20 03:27:36 +02:00
Manuel Thalmann 99c7a90e30 Remove unnecessary statement 2024-07-20 03:27:20 +02:00
Manuel Thalmann fca49bb1bc Add users before installing software 2024-07-20 03:13:17 +02:00
Manuel Thalmann d319409771 Read config keys properly 2024-07-20 01:59:33 +02:00
Manuel Thalmann 75ce4e680f Fix string formatting 2024-07-20 01:57:06 +02:00
Manuel Thalmann 1db90948b8 Fix malformed installer script 2024-07-20 01:51:14 +02:00
Manuel Thalmann 266d22aae1 Fix variable inheritance 2024-07-20 01:46:11 +02:00
Manuel Thalmann 0bb58e0ae7 Fix configuration target 2024-07-20 01:43:53 +02:00
Manuel Thalmann c3a2c0f34c Fix use of incorrect config keys 2024-07-20 01:38:53 +02:00
Manuel Thalmann 734a0a3c46 Fix variable visibility 2024-07-20 01:36:22 +02:00
Manuel Thalmann cd35c5d4f4 Ignore installation status by default 2024-07-20 01:32:42 +02:00
Manuel Thalmann 17df6adafa Allow user-defined git config 2024-07-20 01:31:04 +02:00
Manuel Thalmann b629771687 Allow flagging git as installed 2024-07-20 01:23:08 +02:00
Manuel Thalmann 46a9afbb95 Allow marking software as installed 2024-07-20 01:21:25 +02:00
Manuel Thalmann bfc505f83e Fix string formatting 2024-07-20 01:03:20 +02:00
Manuel Thalmann 275da3640d Fix permission issues 2024-07-20 00:59:11 +02:00
Manuel Thalmann 46ef068555 Remove test code 2024-07-20 00:47:48 +02:00
Manuel Thalmann 20109efb84 Add users from configuration 2024-07-20 00:46:02 +02:00
Manuel Thalmann 9644c593a5 Add configurations for specifying users 2024-07-20 00:45:20 +02:00
Manuel Thalmann 77aaa5fe71 Allow applying custom functions during evaluation 2024-07-20 00:36:19 +02:00
Manuel Thalmann 5700e2e69e Generate locales during setup 2024-07-19 21:18:20 +02:00
Manuel Thalmann 547bfdb46b Silence unnecessary console output 2024-07-17 16:41:42 +02:00
Manuel Thalmann 54ac3f8ad2 Fix creation of vscode config files 2024-07-17 16:39:03 +02:00
Manuel Thalmann 1a9a3fedaf Load missing variable 2024-07-17 16:33:59 +02:00
Manuel Thalmann 84d0a9d434 Force installing iptables-nft 2024-07-17 16:18:31 +02:00
Manuel Thalmann 95727a8958 Load missing variable 2024-07-17 16:04:57 +02:00
Manuel Thalmann 48f2746ecf Remove unnecessary statement 2024-07-17 15:59:09 +02:00
Manuel Thalmann ba174e6d1a Install logo-ls only if not present 2024-07-17 15:54:53 +02:00
Manuel Thalmann 1ef529c4fb Normalize casing of firefox directory 2024-07-17 15:54:09 +02:00
Manuel Thalmann 638601c2c1 Add missing packages 2024-07-17 15:49:30 +02:00
Manuel Thalmann 1f6081020b Fix permission error 2024-07-17 15:22:41 +02:00
Manuel Thalmann 725873bef6 Install bb at the end 2024-07-17 15:08:27 +02:00
Manuel Thalmann 352149d85b Fix typo 2024-07-17 15:00:26 +02:00
Manuel Thalmann 8baacb193b Fix incorrect paths 2024-07-17 15:00:01 +02:00
Manuel Thalmann 4b154f4949 Fix typo 2024-07-17 14:55:30 +02:00
Manuel Thalmann ecd34ed368 Add scripts for installing school software 2024-07-17 14:26:01 +02:00
Manuel Thalmann 2b3908371a Streamline installation of all further software 2024-07-17 14:18:27 +02:00
31 changed files with 295 additions and 65 deletions

View file

@ -35,6 +35,12 @@
};
};
hostname = mkOption {
type = types.str;
description = "The hostname of the system.";
default = "valhalla";
};
setupUser = {
name = mkOption {
type = types.str;

View file

@ -1,16 +1,20 @@
{ ... }: {
{ lib, ... }: {
imports = [
../defaults.nix
];
config = {
valhalla = {
hostname = lib.mkDefault "der-geret";
windows = {
dualboot = {
enable = true;
linuxPercentage = 70; # better safe than sorry
};
hostname = "DerGeret";
users.manuel = {
microsoftAccount = true;
groups = ["Administrators"];

View file

@ -4,6 +4,9 @@
];
config = {
valhalla.partition.os.deviceName = "nvme0n1";
valhalla = {
hostname = "manu-surface";
partition.os.deviceName = "nvme0n1";
};
};
}

View file

@ -17,9 +17,12 @@ begin
and source "$dir/../Software/pacman/main.fish"
and source "$dir/../Software/yay/main.fish"
and source "$dir/../Software/PowerShell/main.fish"
and yayinst \
linux-headers \
pacman-contrib \
powershell-bin
yq
end
source "$dir/../../Common/OS/install.fish"

View file

@ -11,7 +11,7 @@ begin
end
function installValhallaDeps -V mountDir
pacstrap -K "$mountDir" fish git jq nix tmux
pacstrap -K "$mountDir" fish git jq nix sudo tmux
end
function getInstallerScript -V dir -S
@ -86,11 +86,10 @@ begin
true
end
and echo "$ARCH_HOSTNAME" | arch-chroot "$mountDir" tee /etc/hostname > /dev/null
and echo (getConfig valhalla.hostname) | arch-chroot "$mountDir" tee /etc/hostname > /dev/null
and arch-chroot "$mountDir" mkinitcpio -P
and runHook installDrivers "Installing drivers..." || true
and arch-chroot "$mountDir" bash "$tempDir/../Software/sudo/install.sh"
and runInOS fish "$tempDir/../Software/GRUB/main.fish"
and if set -l keyLayout (getConfig valhalla.keyboardLayout)

View file

@ -21,7 +21,6 @@ function deploySoftware -d "Deploys a the specified software action" -a action
neofetch \
bash-completion \
wget \
oh-my-posh-bin \
screen \
tmux \
htop \
@ -36,6 +35,8 @@ function deploySoftware -d "Deploys a the specified software action" -a action
end
and source "$dir/../../Common/Software/bash/main.fish" $argv
and source "$dir/../Software/sudo/main.fish" $argv
and source "$dir/../Software/Oh My Posh/main.fish" $argv
and source "$dir/../Software/openssh/main.fish" $argv
and source "$dir/../Software/vim/main.fish" $argv
and source "$dir/../Software/git/main.fish" $argv
@ -196,7 +197,6 @@ function deploySoftware -d "Deploys a the specified software action" -a action
end
and if collectionActive socialMedia && $isInstall
yayinst \
signal-desktop \
vesktop-bin
@ -263,7 +263,7 @@ function deploySoftware -d "Deploys a the specified software action" -a action
supertux \
gamepad-tool-bin
and flatpak install -y flathub com.usebottles.bottles
and sudo flatpak install -y flathub com.usebottles.bottles
end
and source "$dir/../Software/Lutris/main.fish" $argv

View file

@ -0,0 +1,20 @@
#!/bin/env fish
begin
set -l dir (status dirname)
set -l base "$dir/../../../Common/Software/Oh My Posh/main.fish"
source "$dir/../../Scripts/software.fish"
function installSW
yayinst oh-my-posh-bin
end
function configureSW -V base
fish "$base" configure
end
function userConfig -S -V base -a name
fish "$base" userConfig $argv
end
runInstaller $argv
end

View file

@ -0,0 +1,15 @@
#!/bin/env fish
begin
set -l dir (status dirname)
source "$dir/../../Scripts/software.fish"
function installSW
yayinst powershell-bin
end
function configureSW -V dir
fish "$dir/../../../Common/Software/PowerShell/main.fish" configure
end
runInstaller $argv
end

View file

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

View file

@ -1,6 +1,7 @@
#!/bin/env fish
begin
set -l dir (status dirname)
set -l base "$dir/../../../Common/Software/git/main.fish"
source "$dir/../../Scripts/software.fish"
function installSW
@ -13,8 +14,12 @@ begin
gitflow-zshcompletion-avh
end
function configureSW -V dir
fish "$dir/../../../Common/Software/git/main.fish" configure
function configureSW -V base
fish "$base" configure
end
function userConfig -V base
fish "$base" userConfig $argv
end
runInstaller $argv

View file

@ -1,16 +1,20 @@
#!/bin/env fish
begin
set -l dir (status dirname)
set -l base "$dir/../../../Common/Software/rclone/main.fish"
source "$dir/../../Scripts/software.fish"
source "$dir/../../../Common/Software/rclone/main.fish"
function installSW
yayinst \
rclone
end
function configureSW -V dir
fish "$dir/../../../Common/Software/rclone/main.fish" configure
function configureSW -V base
fish "$base" configure
end
function userConfig -V base -a name
fish "$base" userConfig $argv
end
runInstaller $argv

View file

@ -0,0 +1,15 @@
#!/bin/env fish
begin
set -l dir (status dirname)
source "$dir/../../Scripts/software.fish"
function installSW
pacinst sudo
end
function configureSW
echo "%wheel ALL=(ALL:ALL) ALL" | sudo tee /etc/sudoers.d/wheel > /dev/null
end
runInstaller $argv
end

View file

@ -24,7 +24,7 @@ if [ (id -u) -eq 0 ]
echo "$name ALL=(ALL:ALL) NOPASSWD: ALL"
end > "$sudoConfig"
and sudo --preserve-env="CONFIG_NAME" --user "$name" "$INSTALLER_SCRIPT"
and sudo --preserve-env --set-home --user "$name" "$INSTALLER_SCRIPT"
rm "$sudoConfig"
userdel -rf "$name"
else
@ -59,4 +59,9 @@ else
end
and runHook postInstall || true
echo "The installation finished successfully!"
and echo "This machine will reboot in 5 seconds..."
and echo "Press CTRL-C to abort..."
and sleep 5
and systemctl reboot
end

View file

@ -18,7 +18,7 @@ function runSetup
if not type -q installValhallaDeps
function installValhallaDeps
echo 'Please set up the hook `installValhallaDeps` for installing `fish`, `git`, `jq`, `nix` and `tmux`.'
echo 'Please set up the hook `installValhallaDeps` for installing `fish`, `git`, `jq`, `nix`, `sudo` and `tmux`.'
exit 1
end
end
@ -56,7 +56,7 @@ function runSetup
and runHook installValhallaDeps
and source "$dir/../../copy-repo.fish" "$mountDir$PROJECT_CLONE_ROOT"
runChroot git config --system --add safe.directory "$PROJECT_CLONE_ROOT"
runChroot "$mountDir" git config --system --add safe.directory "$PROJECT_CLONE_ROOT"
and runHook setupOS || true
and runHook autologin || true

View file

@ -11,10 +11,10 @@ for name in (echo "$users" | jq '.[]' --raw-output0 | string split0)
set -l groups (getUserConfig groups --apply 'builtins.concatStringsSep ","');
set -l displayName (getUserConfig displayName --json)
set -l shell (getUserConfig displayName --json)
set -l shell (getUserConfig defaultShell --json)
sudo useradd --create-home (
if [ displayName != "null" ]
if echo "$displayName" | jq --exit-status > /dev/null
echo "--comment"
echo "$displayName" | jq --raw-output
end
@ -26,7 +26,7 @@ for name in (echo "$users" | jq '.[]' --raw-output0 | string split0)
) "$name"
if echo "$shell" | jq --exit-status > /dev/null
sudo chsh "$name" --shell "$shell"
sudo chsh "$name" --shell (which (echo "$shell" | jq --raw-output))
end
echo "Please Choose a New Password for User `$name`"

View file

@ -51,7 +51,7 @@ $null = New-Module {
$profiles = & {
. "$PSScriptRoot/SoftwareManagement.ps1";
if (Test-Command "wsl") {
if (-not $IsWindows -or (Test-Command "wsl")) {
return Invoke-ConfigScript "getProfiles";
} else {
return Get-ChildItem "$PSScriptRoot/../../../.config" | ForEach-Object { Split-Path -LeafBase $_ };
@ -61,16 +61,20 @@ $null = New-Module {
$choice = $Host.UI.PromptForChoice(
"Select Profile",
(& {
switch (Get-Stage) {
([WindowsInstallerAction]::Backup) {
"Which profile do you wish to back up?";
}
([WindowsInstallerAction]::Install) {
"Which profile do you wish to install?";
}
$null {
"Which profile do you wish to set up?";
if ($IsWindows) {
switch (Get-Stage) {
([WindowsInstallerAction]::Backup) {
"Which profile do you wish to back up?";
}
([WindowsInstallerAction]::Install) {
"Which profile do you wish to install?";
}
$null {
"Which profile do you wish to set up?";
}
}
} else {
"Please select a profile:";
}
}),
(& {

View file

@ -0,0 +1,31 @@
#!/bin/env fish
begin
set -l dir (status dirname)
source "$dir/../../Scripts/software.fish"
function configureSW -V dir
source "$dir/../bash/profile.fish"
source "$dir/../fish/profile.fish"
begin
printf %s\n \
'set -x POSH_THEME $POSH_THEME' \
"oh-my-posh init fish | source" \
"oh-my-posh completion fish | source"
end | installFishProfile "oh-my-posh"
begin
printf %s\n \
'eval "$(oh-my-posh init bash)"' \
'eval "$(oh-my-posh completion bash)"'
end | installBashProfile "oh-my-posh"
sudo -HE pwsh "$dir/Manage.ps1" Configure
end
function userConfig -S -V dir -a name
pwsh -CommandWithArgs '& $args[0] ConfigureUser @{ user=$args[1]; }' "$dir/Manage.ps1" $name
end
runInstaller $argv
end

View file

@ -52,7 +52,6 @@ $null = New-Module {
}
Remove-Item Env:\PENDING_MODULE_NAME;
& $Installer -Action ([InstallerAction]::Configure) @PSBoundParameters;
};
configurator = ($NoProfile.IsPresent) ? { } : {
@ -63,7 +62,7 @@ $null = New-Module {
$name = $Arguments.Name;
Add-PowerShellProfileStatement `
-DefaultUser `
-System `
-Category $name `
-Script "Import-Module `"$name`";";
};

View file

@ -0,0 +1,11 @@
#!/bin/env fish
begin
set -l dir (status dirname)
source "$dir/../../Scripts/software.fish"
function configureSW -V dir
sudo -HE pwsh "$dir/Manage.ps1" Configure
end
runInstaller $argv
end

View file

@ -0,0 +1,11 @@
#!/bin/env fish
begin
set -l dir (status dirname)
source "$dir/../../Scripts/software.fish"
function installSW -V dir
sudo -HE pwsh "$dir/Manage.ps1"
end
runInstaller $argv
end

View file

@ -46,5 +46,5 @@ Start-SoftwareInstaller @PSBoundParameters `
) -join [System.Environment]::NewLine)
} `
-UserConfigurator {
Copy-Item -Force "$PSScriptRoot/aliae.yml" ~/.aliae.yml;
Copy-Item -Force "$PSScriptRoot/aliae.yml" ~/.aliae.yaml;
};

View file

@ -38,6 +38,12 @@ begin
"aliae completion fish | source"
end | installFishProfile "aliae" "aliae"
end
sudo -HE pwsh "$dir/Main.ps1" Configure
end
function userConfig -V dir -a user
pwsh -CommandWithArgs '& $args[0] ConfigureUser @{ user=$args[1]; }' "$dir/Main.ps1" $user
end
runInstaller $argv

View file

@ -7,7 +7,7 @@ param (
. "$PSScriptRoot/../../Scripts/System.ps1";
. "$PSScriptRoot/../../Types/InstallerAction.ps1";
$null = New-Module {
& {
param(
[hashtable] $Parameters
)

View file

@ -8,7 +8,7 @@ begin
end
function userConfig -S -V dir -a name
configureGit "$name"
pwsh -CommandWithArgs '& $args[0] ConfigureUser @{ user=$args[1]; }' "$dir/Manage.ps1" $name
end
runInstaller $argv

View file

@ -0,0 +1,11 @@
#!/bin/env fish
begin
set -l dir (status dirname)
source "$dir/../../Scripts/software.fish"
function installSW -V dir
sudo -HE pwsh "$dir/Manage.ps1"
end
runInstaller $argv
end

View file

@ -9,14 +9,37 @@ begin
function userConfig -V dir -a name
source "$dir/../../Scripts/config.fish"
set -l key "valhalla.users.$name.rclone.configurations"
set -l key "valhalla.linux.users.$name.rclone.configurations"
set -l configs (getConfig "$key" --apply "builtins.attrNames" --json)
if [ (echo "$configs" | jq "length") -gt 0 ]
if [ "$XDG_SESSION_TYPE" = "tty" ]
set -l sessionPid
set -l freeTty
set -l service
set -l sessionConfig
set -l welcomeConfig ~"$name"/.config/plasma-welcomerc
set -l entryPoint ~"$name"/.config/autostart/PortValhallaProfile.desktop
sudo -u "$name" mkdir -p "$(dirname "$entryPoint")"
begin
set -l file (sudo mktemp)
sudo openvt -sw -- bash -c "tty > $(string escape $file)"
set freeTty (basename (sudo cat $file))
sudo rm $file
end
set service "getty@$freeTty"
set sessionConfig "/etc/systemd/system/$service.service.d/autologin.conf"
sudo mkdir -p (dirname $sessionConfig)
begin
printf %s\n \
"[General]" \
"LastSeenVersion=1.0.0" \
"ShowUpdatePage=false"
end | sudo -u "$name" tee "$welcomeConfig" > /dev/null
begin
printf %s\n \
"#!/user/bin/env xdg-open" \
@ -26,20 +49,41 @@ begin
"Terminal=false" (
printf "%s " \
"Exec=env" \
"VALHALLA_REQUEST_LOGOUT=1" \
"CONFIG_NAME=$(echo "$CONFIG_NAME" | string escape)" \
"konsole -e fish $(realpath (status filename) | string escape) userConfig"
)
end | sudo -u "$name" tee "$entryPoint" > /dev/null
sudo chmod +x "$entryPoint"
sudo -Eu "$name" dbus-launch --exit-with-session startplasma-wayland &> /dev/null
rm "$entryPoint"
rm ~"$name"/.config/plasma-welcomerc
begin
printf %s\n \
"[Service]" \
"ExecStart=" \
"ExecStart=-/sbin/agetty -o '-p -f -- \\u' --noclear --autologin $name %I \$TERM"
end | sudo tee "$sessionConfig" > /dev/null
sudo systemctl daemon-reload
sudo systemctl restart $service
while [ -z "$sessionPid" ]
set sessionPid (sudo pgrep -t $freeTty -u "$name")
end
sudo openvt -sw -- sudo -u "$name" env (sudo cat /proc/$sessionPid/environ | string split0) /usr/lib/plasma-dbus-run-session-if-needed startplasma-wayland
sudo rm "$entryPoint"
sudo rm "$welcomeConfig"
sudo rm "$sessionConfig"
sudo rmdir (dirname "$sessionConfig")
sudo systemctl daemon-reload
else if [ -n "$name" ] && [ "$name" != "$USER" ]
sudo -Eu "$name" CONFIG_NAME="$CONFIG_NAME" fish "$(status filename)" userConfig
else
systemctl --user enable rclone.service
echo "Please complete the setup of your rclone configurations!"
mkdir -p ~/.mnt
touch ~/.mnt/.trackerignore
for config in (echo "$configs" | jq '.[]' --raw-output0 | string split0)
set -l configKey "$key.$config"
@ -55,6 +99,12 @@ begin
rclone config || true
systemctl --user enable "$serviceName" --now || true
end
echo "rclone was configured successfully!"
if [ -n "$VALHALLA_REQUEST_LOGOUT" ]
read -P "Please log out"
end
end
end
end

View file

@ -4,7 +4,7 @@ begin
source "$dir/../../Scripts/software.fish"
function userConfig -V dir -a name
pwsh "$dir/Main.ps1" ConfigureUser;
pwsh -CommandWithArgs '& $args[0] ConfigureUser @{ user=$args[1]; }' "$dir/Main.ps1" $user
end
runInstaller $argv

View file

@ -0,0 +1,19 @@
param(
$Action,
[hashtable] $Arguments
)
. "$PSScriptRoot/../../Scripts/Software.ps1";
. "$PSScriptRoot/../PowerShell/Profile.ps1";
Start-SoftwareInstaller @PSBoundParameters `
-Configurator {
Add-PowerShellProfileStatement `
-System `
-Category "zoxide" `
-Script (
@(
"# zoxide",
(Get-ScriptInitializer "zoxide init powershell | Out-String")
) -join [System.Environment]::NewLine);
};

View file

@ -8,7 +8,7 @@ begin
source "$dir/../fish/profile.fish"
echo 'eval "$(zoxide init bash)"' | installBashProfile "zoxide"
echo "zoxide init fish | source" | installFishProfile "zoxide"
sudo pwsh -NoProfile "$dir/install.ps1"
sudo -HE pwsh -NoProfile "$dir/Main.ps1" Configure
end
runInstaller $argv

View file

@ -8,7 +8,6 @@ function Start-Setup {
$Global:InformationPreference = "Continue";
$Global:ErrorActionPreference = "Inquire";
$env:CONFIG_NAME ??= $ConfigurationName;
$null = $env:WIN_COMPUTER_NAME;
$null = $env:SETUP_SCRIPT_NAME ??= "$PSScriptRoot/Install.ps1";
$env:WSLENV = "CONFIG_NAME";
@ -218,7 +217,7 @@ function Start-Setup {
# Adjust unattended settings
$computerName = (Get-Component (Get-PassSettings "specialize") "Microsoft-Windows-Shell-Setup").SelectSingleNode("./ua:ComputerName", $namespace);
$computerName.InnerText = "$env:WIN_COMPUTER_NAME";
$computerName.InnerText = $valhallaConfig.hostname;
# Execute corresponding installer script after startup
$oobeSettings = (Get-Component (Get-PassSettings "oobeSystem") "Microsoft-Windows-Shell-Setup");

View file

@ -3,25 +3,30 @@ param(
[hashtable] $Arguments
)
. "$PSScriptRoot/../../../Common/Software/PowerShell/Profile.ps1";
. "$PSScriptRoot/../../../Common/Scripts/Software.ps1";
& {
param(
[hashtable] $Parameters
)
Start-SoftwareInstaller @PSBoundParameters `
-Installer {
param(
[scriptblock] $Installer
)
. "$PSScriptRoot/../../../Common/Software/PowerShell/Profile.ps1";
. "$PSScriptRoot/../../../Common/Scripts/Software.ps1";
. "$PSScriptRoot/../../../Common/Types/InstallerAction.ps1";
$base = "$PSScriptRoot/../../../Common/Software/zoxide/Main.ps1";
Install-ChocoPackage zoxide;
Install-WingetPackage junegunn.fzf;
} `
-Configurator {
Add-PowerShellProfileStatement `
-System `
-Category "zoxide" `
-Script (
@(
"# zoxide",
(Get-ScriptInitializer "zoxide init powershell | Out-String")
) -join [System.Environment]::NewLine);
};
Start-SoftwareInstaller @PSBoundParameters `
-Installer {
param(
[scriptblock] $Installer
)
Install-ChocoPackage zoxide;
Install-WingetPackage junegunn.fzf;
} `
-Configurator {
param(
$Arguments
)
& $base ([InstallerAction]::ConfigureUser) @PSBoundParameters;
};
} $PSBoundParameters;