cocreators-ee / aperture-control-example

Example for a standard development environment setup via Aperture Control

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Example for Aperture Control - Windows environment automation

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.

How to run Aperture Control

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.

What does it really do?

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:
  • 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 put
    • C:\Source and C:\Source\Go for storing your projects' source code and acting as GOPATH
  • Configures various environment variables:
    • GIT_SSH to point to plink.exe for Git to work with Pageant from PuTTy
    • GOPATH to C:\source\go
    • SLACK_DEVELOPER_MENU to true to, well, enable a developer menu in Slack
    • PATH 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 every cmd.exe instances you launch to customize your environment, also the ConEmu default ConInit.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:

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 😄

Words of warning

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.

License

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.

Financial support

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.

"Buy Me A Coffee"

About

Example for a standard development environment setup via Aperture Control

License:Other


Languages

Language:PowerShell 86.9%Language:Batchfile 13.1%