All Projects → sketch7 → machine-setup

sketch7 / machine-setup

Licence: MIT license
Powershell script which simplifies PC installation which primarily target devs but everyone can use it. Installs apps via chocolatey, nodejs and executes other specific commands.

Programming Languages

powershell
5483 projects

Projects that are alternatives of or similar to machine-setup

dotfiles
🔨 My dotfiles for setting up my Macs with Ansible
Stars: ✭ 31 (+55%)
Mutual labels:  setup, development-environment
wordless gem
The quickest CLI tool to setup a new WordPress locally. Wordless ready.
Stars: ✭ 38 (+90%)
Mutual labels:  setup, development-environment
Mac Setup
🛠️ Front end web development setup for macOS.
Stars: ✭ 265 (+1225%)
Mutual labels:  setup, development-environment
Ansible Ubuntu
Ansible scripts to setup Ubuntu desktop/server
Stars: ✭ 182 (+810%)
Mutual labels:  setup
Dotfiles
My lovely dots ~/.💖
Stars: ✭ 212 (+960%)
Mutual labels:  setup
mac-setup-playbooks
Ansible playbooks for setting up mac
Stars: ✭ 32 (+60%)
Mutual labels:  setup
bash.env
Bash.env is a cascading Bash environment system for those who work on different hardware and OS environments. Similar to oh-my-zsh but for Bash, and special sauce for those who work 'ssh' on remote machines.
Stars: ✭ 50 (+150%)
Mutual labels:  development-environment
Ansible Role Git
Ansible Role - Git
Stars: ✭ 153 (+665%)
Mutual labels:  setup
vk-bootstrap
Vulkan Bootstrapping Iibrary
Stars: ✭ 436 (+2080%)
Mutual labels:  setup
gameshell-setup
Enhance your Gameshell 💪
Stars: ✭ 56 (+180%)
Mutual labels:  setup
nixify
Bootstrap nix-shell environments
Stars: ✭ 25 (+25%)
Mutual labels:  development-environment
Vue Element Starter
Vue starter with Element-UI [READY, unmaintained now]
Stars: ✭ 216 (+980%)
Mutual labels:  setup
mac
MaxItUp is a Mac setup tool to create a setup script for newly formatted Mac devices.
Stars: ✭ 37 (+85%)
Mutual labels:  setup-script
Ansible Role Homebrew
Ansible Role - Homebrew
Stars: ✭ 195 (+875%)
Mutual labels:  setup
DevCeption
Inception Style (Docker inside Vagrant inside Host) Development Environment
Stars: ✭ 13 (-35%)
Mutual labels:  development-environment
Ghactions
GitHub actions for R and accompanying R package
Stars: ✭ 159 (+695%)
Mutual labels:  setup
amet
🐳 Containerized Development Environment
Stars: ✭ 13 (-35%)
Mutual labels:  development-environment
Frontend Webpack Boilerplate
Simple starter webpack 5 project template supporting SASS/PostCSS, Babel ES7, browser syncing, code linting. Easy project setup having multiple features and developer friendly tools.
Stars: ✭ 242 (+1110%)
Mutual labels:  setup
Packer Centos 7
This build has been moved - see README.md
Stars: ✭ 223 (+1015%)
Mutual labels:  setup
laptop
💻 Handy Dandy macOS Environment Setup
Stars: ✭ 41 (+105%)
Mutual labels:  development-environment

Machine Setup

Version: 1.1

Powershell script which simplifies PC installation which primarily target devs but everyone can use it. Installs apps via chocolatey, nodejs and executes other specific commands.

It has a base configuration file config.base.json which can be extended/overwritten by a profile configuration config.home.json.

Getting Started

Cloning Repo

Generally you should clone repo before formatting or you can download as zip file.

  • Run git clone https://github.com/sketch7/machine-setup.git

Prerequisites

  1. Powershell 5.0+
  2. Run pre-requisites.ps1
    • If you have powershell issues run this command in PS as Administrator: Set-ExecutionPolicy RemoteSigned.
  3. Update config.base.json
  4. Create/Update any profile configuration. example: config.home.json.
    • At least one profile is required!
    • I've provided my configurations which I've used for my home/work pc installations.

Start Installation

  1. Make Sure you are running powershell as Administrator.
  2. Right click on machine-setup.ps1 and select Run With Powershell.

Enjoy :)

Installation process guidelines

The below process is assuming that you have set ignore: false and install: true in your config.json files.

  1. Set PS Gallery as Trusted
  2. Chocolatey install
  3. NodeJs install
    • Set GlobalSettings
  4. otherCommands - PreCommands executions

*** Restart PC (first time) ***

  1. Chocolatey install packages

*** Restart PC (second time) ***

  1. NodeJs install packages
  2. otherCommands - PreCommands executions

Global Configuration

Name Type Default Description
setPSGalleryAsTrusted boolean false Set Powershell Gallery as 'Trusted'.
restartRequired boolean false Restart your computer (first time).
chocolatey object - Chocolatey section (refer to: chocolatey configuration).
NodeJs object - Node section (refer to: nodejs configuration).
otherCommands object - otherCommands section (refer to: otherCommands configuration).

Chocolatey Configuration

Name Type Default Description Example
ignore boolean false This will skip the whole section. -
install boolean false Install chocolatey on your machine. -
commandName string - Execution command name. "choco"
prefix string - Execution command prefixes. "install -y"
restartRequired boolean false Restart your computer (second time). -
packages string[] [] Package names to be installed. ["googlechrome", "yarn"]
skipPackages string[] [] Skip any packages that match. ["yarn"]

NodeJs Configuration

Name Type Default Description Example
ignore boolean false This will skip the whole section. -
install boolean false Install NodeJs on your machine. -
commandName string - Execution command name. "npm"
prefix string - Execution command prefixes. "install -g"
setGlobalSettings boolean false Set Global Settings. -
packages string[] [] Package names to be installed. ["typescript", "gulp"]
skipPackages string[] [] Skip any packages that match. ["gulp"]

otherCommands Configuration

Name Type Default Description Example
ignore boolean false This will skip the whole section. -
install boolean false Allow preCommands to execute. -
preCommands object[] [] Commands to be executed. [{ "dotnet-install": "choco install dotnet4.6 -y" }]
skipPreCommands string[] [] PreCommands Names to be skipped. ["dotnet-install"]
postCommands object[] [] Commands to be executed. [{ "npm-pull": "npm pull" }, { "npm-install": "npm install" }]
skipPostCommands string[] [] PostCommands Names to be skipped. ["npm-install"]
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].