GithubHelp home page GithubHelp logo

basic-setup's Introduction

basic-setup

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.

Goal

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.

If You Are New

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.

Installation

All of these will clone the repo and run the init script

Install Using bash

Clones to ~/src/tools/basic-setup

wget -qO- https://raw.githubusercontent.com/mrlunchbox777/basic-setup/main/basic-setup.sh | sh

Install Alias Only Using bash

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

Install Using PowerShell

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'))

Install Alias Only Using PowerShell

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'))

Environment Variables

Manage Using .env

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.

Headless Considerations

Make sure to, at a minimum, turn off ui tools.

Turn off GUI Tools Using .env

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"

Turn off GUI Tools Using bash

This will only last while the terminal is open, consider using the .env.

export BASICSETUPSHOULDINSTALLUITOOLS="false"

Turn off GUI Tools Using powershell

This will only last while the terminal is open, consider using the .env.

$env:BASICSETUPSHOULDINSTALLUITOOLS = $false

Testing

You can run headless tests with the following

Testing Headless

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

Testing GUI

You can run gui tests with VirtualBox

basic-setup's People

Contributors

mrlunchbox777 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.