Basic box setup, it's fairly customizable using bash/powershell and will work on gui-based and headless systems. Open a pr if you want something added.
Currently only works on Windows(WIP) and Linux.
We aren't here yet necessarily, this is the aim.
This will create a good basic setup for workstations. It should provide a pretty acceptable setup for a windows machine and debian derived linux machine. This is also supplies an ability to configure the applications/cron/etc to run on these systems.
Run your OS Install
After installing use the command (from WSL if Windows, from cmd
or powershell
type wsl
or bash
) cs
and try the commands listed there. It contains links to documents, roadmaps, tutorials, and other cheatsheet commands. The developer roadmaps listed there can be very helpful, as can the suggestions on what they are used for.
All of these will clone the repo and run the init script
Clones to ~/src/tools/basic-setup
wget -qO- https://raw.githubusercontent.com/mrlunchbox777/basic-setup/main/basic-setup.sh | sh
This will still respect the .env, but will default everything that isn't alias related to false.
export BASICSETUPSHOULDDOALIASONLY="true" && wget -qO- https://raw.githubusercontent.com/mrlunchbox777/basic-setup/main/basic-setup.sh | sh
If Windows, runs powershell and choco installs.
To install WSL you'll need to run once, restart, and then run the command again.
If you are on a restricted computer, or have issues with WSL try wsl --set-default-version 1
or to set your specific WSL Distro to version 1 with something like wsl --set-version {{Distro Name}} 1
and you can get the distro name with wsl -l -v
. You also need to make sure the LXSS service is running.
If Linux installs as expected.
If Windows Run As Administrator
$onWindows=(($IsWindows) -or ([System.String]::IsNullOrWhiteSpace($IsWindows) -and [System.String]::IsNullOrWhiteSpace($IsLinux))); if ($onWindows) {Set-ExecutionPolicy Bypass -Scope Process -Force;} [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/mrlunchbox777/basic-setup/main/basic-setup.ps1'))
This will still respect the .env, but will default everything that isn't alias related to false.
See above for notes on OS variation installs.
If Windows Run As Administrator
$env:BASICSETUPWINSHOULDDOALIASONLY="$true"; BASICSETUPSHOULDDOALIASONLY="$true" ;$onWindows=(($IsWindows) -or ([System.String]::IsNullOrWhiteSpace($IsWindows) -and [System.String]::IsNullOrWhiteSpace($IsLinux))); if ($onWindows) {Set-ExecutionPolicy Bypass -Scope Process -Force;} [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/mrlunchbox777/basic-setup/main/basic-setup.ps1'))
This is the best way to manage environment variables for this tool.
If you've already cloned the repo you can just copy the .env
cp template.env .env
Modify the .env
file using the instructions listed there.
Make sure to, at a minimum, turn off ui tools.
Create a .env
at ./
before running Installation as it'll be copied over as described in Environment Variables. In that .env
have at least the below line.
BASICSETUPSHOULDINSTALLUITOOLS="false"
This will only last while the terminal is open, consider using the .env
.
export BASICSETUPSHOULDINSTALLUITOOLS="false"
This will only last while the terminal is open, consider using the .env
.
$env:BASICSETUPSHOULDINSTALLUITOOLS = $false
You can run headless tests with the following
docker run -it ubuntu
then run
apt update && apt install wget sudo tzdata -y && export BASICSETUPSHOULDINSTALLUITOOLS="false" && echo "Europe/Zurich" > /etc/timezone && dpkg-reconfigure -f noniteractive tzdata && wget -qO- https://raw.githubusercontent.com/mrlunchbox777/basic-setup/main/basic-setup.sh | sh
You can run gui tests with VirtualBox