Aperture Control is a tool for automating various Windows environment configuration tasks, and this repository provides a good example of what might be considered a "standard base" to work from.
This has been tested on Windows 10 Professional. No promises about it working under anything else (but please do send feedback if you are successful in other environments as well).
See Contributing Guidelines and Code of Conduct.
You will likely want to fork this repo and edit the contents of recipes
to match your needs. You can find a number of pre-made "recipes" to accomplish various tasks in https://github.com/Lieturd/aperture-control-recipes.
To configure your system based on THIS repository run these commands in an PowerShell as Administrator:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
(New-Object System.Net.WebClient).DownloadFile('https://raw.githubusercontent.com/Lieturd/aperture-control/master/setup.ps1', 'setup.ps1')
.\setup.ps1 lieturd/aperture-control-example
PLEASE NOTE: Installing a lot of things with this may take a while, and your computer might launch or close various things you are already running. This is best run with a clean system, or right after starting Windows, and letting it do it's thing. Also restarting afterwards might be necessary to finish some installations, to activate various registry changes, and so on.
Check Aperture Control repository for technical details of Aperture Control itself, this describes what this repository's configuration accomplishes:
- Installs Chocolatey and Scoop package managers, and then via them and other package managers installs:
- 7-Zip - An archive manager
- aria2 - A download manager that can speed up e.g. Scoop
- AWS CLI + Azure CLI + Google Cloud SDK - CLI utilities for the most popular cloud platforms
- Chocolatey GUI - GUI for Chocolatey package management
- ConEmu - A powerful terminal for Windows with tabs and lots of customization options
- CPU-Z + GPU-Z - CPU and GPU identification tools
- Cygwin + Cyg-Get - Ports of various Linux utilities, GNU toolchain, and other such things for Windows + a CLI package manager
- DejaVu Fonts - Great free programmer friendly fonts
- Docker CLI + Kubernetes CLI + Helm + kubeval + Minikube - Kubernetes and various other utilities for working with it and Docker containers in general
- Dos2Unix - CLI tool to convert DOS or Mac line endings to Unix line endings and vice versa
- GIMP - GNU Image Manipulation Program - Free but powerful image editor
- Git + Fork (Git client) + Mercurial + TortoiseSVN - Version control tools
- Golang + Python 3 + Node.js + Yarn + pyenv-win + nvm-windows - Various popular programming languages, version managers, and an alternative for NPM
- Java 8 Runtime Environment - Runtime for running Java 8 applications - NOTE: BY INSTALLING THIS YOU ARE ACCEPTING THEIR LICENSE!
- Jetbrains Toolbox - Manager for JetBrains IDEs and other tools
- jq - CLI JSON prosessor
- KiTTy + PuTTY + weasel-pageant - SSH etc. clients and related utilities
- Microsoft .NET Framework 4.6.1 - Libraries often required for running a lot of tools
- Microsoft Visual C++ Build Tools 2015 + Microsoft Visual C++ Runtime - all versions - Various dependencies for many many other things that you will no doubt end up installing at some point
- MinGW - Another GNU environment for Windows, preferred for some reason by many other things for builds instead of CygWin
- ScreenToGif - Screen etc. recorder
- ShutUp10 - "Antispy" tool for Windows 10
- SkyFonts - Convenient tool to install fonts from Google Fonts, MyFonts, Fonts.com and Mosaic
- Sublime Text 3 + Visual Studio Code - Free programmer editors / IDEs, depending a bit on your point of view 😄
- Sysinternals Suite + TreeSize Free - Various system utilities
- VirtualBox + Vagrant - Virtual Machine hypervisor + automation tools
- WinMerge - Excellent visual diff tool for Windows
- WinSCP - SFTP, FTP, SCP, etc. client
- Sets up a few directories:
%USERPROFILE%\bin
to store the small binary releases you get from GitHub etc. and don't know where else to putC:\Source
andC:\Source\Go
for storing your projects' source code and acting asGOPATH
- Configures various environment variables:
GIT_SSH
to point toplink.exe
for Git to work with Pageant from PuTTyGOPATH
toC:\source\go
SLACK_DEVELOPER_MENU
totrue
to, well, enable a developer menu in SlackPATH
is manipulated in many ways, but in short%USERPROFILE%\AppData\Local\Microsoft\WindowsApps
is removed and the following are added:%USERPROFILE%\bin
,C:\Python38
,C:\Python38\Scripts
,C:\ProgramData\chocolatey\bin
,C:\Program Files\Java\jre<version>\bin
,%USERPROFILE%\.pyenv\pyenv-win\bin
,%USERPROFILE%\.pyenv\pyenv-win\shims
,C:\Go\bin
,C:\source\go\bin
,C:\tools\cygwin\sbin
,C:\tools\cygwin\usr\sbin
,C:\tools\cygwin\bin
,C:\tools\cygwin\usr\local\bin
- Sets file associations:
*.ppk
files to open with Pageant
- Sets up various software configurations:
- Disables Git autocrlf
- Disables Git "credential helper" that would otherwise cause various "Log in to GitHub" etc. screens to pop up unexpectedly
- Sets up various Windows 10 privacy enhancements
- Tries to stop Windows Update from automatically rebooting the machine when you've got work to do or unsaved things
- Sets Windows use the dark theme 😱
- Windows Explorer etc. should show the file extensions always
- A
%USERPROFILE%\init.cmd
(source) that will be run for everycmd.exe
instances you launch to customize your environment, also the ConEmu defaultConInit.cmd
is disabled and%USERPROFILE%\ConemuInit.cmd
is run instead (but by default it does nothing) - Minikube's update nag screens are disabled
- ConEmu is configured to use the bundled ConEmu.xml configuration (which you should edit to your liking and then export into your fork), and e.g. to use DejaVu Sans Mono font
- And also:
- Ensures Hyper-V is DISABLED as it conflicts with VirtualBox and all other hypervisors + causes other griefs
- Installs Windows Subsystem for Linux + Ubuntu 18.04 LTS
And as Aperture Control normally does, a scheduled task is set up to periodically check the repository for updates and to run them - this is one good reason you do not want to just use this repository blindly (and instead fork it and use that fork) as this repository will keep changing and probably not always to your liking 😄
Do not blindly trust random scripts on the internet, including these. Check them for yourself, make sure you understand what is going on, and that you have reasonable reason to trust them and have control over what is running on your PC.
Do not use other people's repositories for your configuration, as they may change them, and the scripts can execute anything with administrator permissions without you noticing.
Short answer: This software is licensed with the BSD 3-clause -license.
Long answer: The license for this software is in LICENSE.md, the other pieces of software installed and used have varying other licenses that you need to be separately aware of.
This project has been made possible thanks to Cocreators and Lietu. You can help us continue our open source work by supporting us on Buy me a coffee.