Skip to content

Commit c14d8f7

Browse files
authored
merge readme and script updates from dev branch (#25)
readme refinement, adding ml script
1 parent 6f37693 commit c14d8f7

File tree

5 files changed

+86
-35
lines changed

5 files changed

+86
-35
lines changed

ORGANIZATION.md

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
## Using Chocolatey and Boxstarter in an organization
2+
Does your organization have strong policies against using the internet? Are you deploying software in air-gapped networks? No problem, the Chocolatey client is [an offline solution that has zero call home](https://chocolatey.org/security#chocolatey-client), and the best part is you [can create packages and host them internally for free]((https://chocolatey.org/docs/how-to-setup-offline-installation)) (see [What is Chocolatey?](https://chocolatey.org/docs/getting-started#what-is-chocolatey) and [Set Up Chocolatey for Organizational/Internal Use](https://chocolatey.org/docs/how-to-setup-offline-installation)). Yes, you read that right, there's no charge for this! It is important to point out that Chocolatey itself installs with the [Community Package Repository](https://chocolatey.org/packages) already set as a default source repository to allow ease of installs for the greater community, but it is a simple adjustment to remove that and add your own internal sources.
3+
4+
As an organization, you may not be keen to reach out to the internet. That's fine, with just a few modifications, you can still take advantage of these scripts:
5+
6+
1. Ensure you have the Chocolatey nupkg itself on your internal package repository. This is done in the first few sections of the [organizational deployment guide](https://chocolatey.org/docs/how-to-setup-offline-installation).
7+
1. You may need to also grab the [Boxstarter packages](https://chocolatey.org/packages?q=id%3Aboxstarter) and put them on your internal repository (on each package page in the left menu you will find a download link that will download the nupkg file). The packages may also need to be [internalized](https://chocolatey.org/docs/how-to-recompile-packages) before being put on your internal repository to remove any runtime internet access.
8+
1. Review the script you want to use. Take note of the package names. You will need to either [internalize those packages](https://chocolatey.org/docs/how-to-recompile-packages) or create your own packages with embedded binaries or pointed to internal resources.
9+
1. In the script prior to any calls to Chocolatey, you need to add the following code:
10+
~~~powershell
11+
# Ensure the community repository is removed
12+
choco source remove --name="'chocolatey'"
13+
14+
# Sources - Add your internal repositories (add other options like auth/allow self service as needed - https://chocolatey.org/docs/commands-source):
15+
choco source add --name="'internal_server'" --source="'http://somewhere.internal/chocolatey'" --priority="'1'" --bypass-proxy --user bob --password something
16+
choco source add --name="'internal_file_share'" --source="'\\fileshare\chocolatey'" --priority="'2'" --bypass-proxy
17+
#TODO: Add other sources here
18+
~~~
19+
1. Alternatively, you could add the following to the end of all of the package installation/upgrade calls:
20+
~~~powershell
21+
--source="'location_name[; location_uri]'"
22+
~~~
23+
1. Unfortunately, you may not be able to take advantage of Boxstarter's one-click installer links that are available in the "How to run the scripts" section above. You can still use [an alternative means of running those scripts](http://www.boxstarter.org/InstallingPackages) that still works quite well! Please see the note below for additional addendums.
24+
25+
**NOTE:** At this time, you may find that Boxstarter's one-click installer is hosted externally. It may use the community repository to get those [Boxstarter packages](https://chocolatey.org/packages?q=id%3Aboxstarter) deployed. You may need to set up the one-click installer or [use an alternative means of running your scripts](http://www.boxstarter.org/InstallingPackages) to ensure Boxstarter is using internal locations as well. We'll provide more details on how to do this later (and possibly fixes to Boxstarter itself to allow this)!

README.md

+7-30
Original file line numberDiff line numberDiff line change
@@ -14,45 +14,23 @@ To run a setup script, click a link in the table below from your target machine.
1414
|Click link to run |Description |
1515
|---------|---------|
1616
|<a href='http://boxstarter.org/package/nr/url?https://raw.githubusercontent.com/Microsoft/windows-dev-box-setup-scripts/master/https://raw.githubusercontent.com/Microsoft/windows-dev-box-setup-scripts/master/dev_app.ps1?token=AK0OHpRu7iHVJgnn7DsbBumVp2C4ljleks5a9LuJwA%3D%3D'>Desktop App</a> | Windows Desktop App Development (Visual Studio, Windows SDK) |
17-
|<a href='http://boxstarter.org/package/nr/url?https://raw.githubusercontent.com/Microsoft/windows-dev-box-setup-scripts/master/dev_web.ps1?token=AK0OHhoec2cUUr7i0KVnUReiLhzNPGxXks5a9LugwA%3D%3D'>Web</a> | Web (VS Code, Multiple Browsers) |
17+
|<a href='http://boxstarter.org/package/nr/url?https://raw.githubusercontent.com/Microsoft/windows-dev-box-setup-scripts/master/dev_web.ps1?token=AK0OHhoec2cUUr7i0KVnUReiLhzNPGxXks5a9LugwA%3D%3D'>Web</a> | Web (VS Code, WSL, Multiple Browsers) |
1818
|<a href='http://boxstarter.org/package/nr/url?https://raw.githubusercontent.com/Microsoft/windows-dev-box-setup-scripts/master/dev_web_nodejs.ps1?token=AK0OHg--lXI4lmyAFY_wN2CKxWnUaaSRks5a8VJjwA%3D%3D'>Web NodeJS</a> | Web Dev with NodeJS (Web + NodeJS LTS) |
19+
|<a href='http://boxstarter.org/package/nr/url?https://raw.githubusercontent.com/Microsoft/windows-dev-box-setup-scripts/master/dev_ml_python.ps1?token=AK0OHlnLMyOh0kDKVIatauMY6zNoHGZ5ks5a-HyQwA%3D%3D'>Machine Learning</a>| Machine Learning (Python, WSL, VS Code) |
1920
| | Xamarin (Visual Studio, Xamarin, Android SDK) |
20-
| | Machine Learning |
21-
| | Containers (Kubernetes, etc...) |
21+
| | Containers (Docker, Kubernetes, etc...) |
2222
| | More Coming Soon! |
2323

2424
## Working with Chocolatey in an organization?
25-
Does your organization have strong policies against using the internet? Are you deploying software in air-gapped networks? No problem, Chocolatey is [an offline solution that has zero call home](https://chocolatey.org/security#chocolatey-client), and the best part is you [can create packages and host them internally for free]((https://chocolatey.org/docs/how-to-setup-offline-installation)) (see [What is Chocolatey?](https://chocolatey.org/docs/getting-started#what-is-chocolatey) and [Set Up Chocolatey for Organizational/Internal Use](https://chocolatey.org/docs/how-to-setup-offline-installation)). Yes, you read that right, you can take advantage of Chocolatey's infrastructure without any cost! It is important to point out that Chocolatey itself installs with the [Community Package Repository](https://chocolatey.org/packages) already set as a default source repository to allow ease of installs for the greater community, but it is a simple adjustment to remove that and add your own internal sources.
26-
27-
As an organization, you are not likely keen to reach out to the internet. That's fine, with just a few modifications, you can still take advantage of these scripts:
28-
29-
1. Ensure you have the Chocolatey nupkg itself on your internal package repository. This is done in the first few sections of the [organizational deployment guide](https://chocolatey.org/docs/how-to-setup-offline-installation).
30-
1. You may need to also grab the [Boxstarter packages](https://chocolatey.org/packages?q=id%3Aboxstarter) and put them on your internal repository (on each package page in the left menu you will find a download link that will download the nupkg file). The packages may also need to be [internalized](https://chocolatey.org/docs/how-to-recompile-packages) before being put on your internal repository to remove any runtime internet access.
31-
1. Review the script you want to use. Take note of the package names. You will need to either [internalize those packages](https://chocolatey.org/docs/how-to-recompile-packages) or create your own packages with embedded binaries or pointed to internal resources.
32-
1. In the script prior to any calls to Chocolatey, you need to add the following code:
33-
~~~powershell
34-
# Ensure the community repository is removed
35-
choco source remove --name="'chocolatey'"
36-
37-
# Sources - Add your internal repositories (add other options like auth/allow self service as needed - https://chocolatey.org/docs/commands-source):
38-
choco source add --name="'internal_server'" --source="'http://somewhere.internal/chocolatey'" --priority="'1'" --bypass-proxy --user bob --password something
39-
choco source add --name="'internal_file_share'" --source="'\\fileshare\chocolatey'" --priority="'2'" --bypass-proxy
40-
#TODO: Add other sources here
41-
~~~
42-
1. Alternatively, you could add the following to the end of all of the package installation/upgrade calls:
43-
~~~powershell
44-
--source="'location_name[; location_uri]'"
45-
~~~
46-
1. Unfortunately, you may not be able to take advantage of Boxstarter's one-click installer links that are available in the "How to run the scripts" section above. You can still use [an alternative means of running those scripts](http://www.boxstarter.org/InstallingPackages) that still works quite well! Please see the note below for additional addendums.
47-
48-
**NOTE:** At this time, you may find that Boxstarter's one-click installer is hosted externally. It may use the community repository to get those [Boxstarter packages](https://chocolatey.org/packages?q=id%3Aboxstarter) deployed. You may need to set up the one-click installer or [use an alternative means of running your scripts](http://www.boxstarter.org/InstallingPackages) to ensure Boxstarter is using internal locations as well. We'll provide more details on how to do this later (and possibly fixes to Boxstarter itself to allow this)!
25+
As an organization, you may not be keen to reach out to the internet. That's fine as with just a few modifications you can still take advantage of these scripts. Visit the [organizational use page](ORGANIZATION.md) to learn how.
4926

5027
## No administrative access?
5128
Are you in an environment where you don't have any administrative access on your machine? No problem, you can still take advantage of Chocolatey and manage "portable" software. You can also use a VM where you may have administrative access (see next section).
5229

53-
For alternative means of deploying "portable" software and installing Chocolatey without administrative access, please see [Non-Administrative Install](https://chocolatey.org/install#non-administrative-install). Unfortunately you won't be able to take advantage of Boxstarter, but you will find resources and an example script that gives you a quick setup of Chocolatey and installation of a few packages.
30+
For alternative means of deploying "portable" software and installing Chocolatey without administrative access, please see Chocolatey's documentation on [Non-Administrative Install](https://chocolatey.org/install#non-administrative-install). Unfortunately you won't be able to take advantage of Boxstarter, but you will find resources and an example script that gives you a quick setup of Chocolatey and installation of a few packages.
5431

55-
**NOTE:** It's really important to point out that Chocolatey is not going to magically allow you to install software that requires administrative access to install (at least not with the open source edition), so you will need to find packages that are portable or create those and push them to the community repository or your internal sources.
32+
**NOTE:**
33+
It's important to point out the open source edition of the Chocolatey client will not allow you to magically install software that requires administrative access, so you will need to find packages that are portable or create those and push them to the community repository or your internal sources.
5634

5735
## Setting up a VM
5836
Windows 10 VM setup instructions
@@ -66,7 +44,6 @@ Please read before using scripts.
6644
When you use our sample scripts, these will direct to Chocolately to install the packages.
6745
By using Chocolatey to install a package, you are accepting the license for the application, executable(s), or other artifacts delivered to your machine as a result of a Chocolatey install. This acceptance occurs whether you know the license terms or not. Read and understand the license terms of any package you plan to install prior to installation through Chocolatey. If you do not want to accept the license of a package you are installing, you need to uninstall the package and any artifacts that end up on your machine as a result of the install.
6846

69-
7047
#### Our samples are provided AS-IS without any warranties of any kind
7148
Chocolately has implemented security safeguards in their process to help protect the community from malicious or pirated software, but any use of our scripts is at your own risk. Please read the Chocolately's legal terms of use and the Boxstarter project license as well as how the community repository for Chocolatey.org is maintained.
7249

dev_ml_python.ps1

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Description: Boxstarter Script
2+
# Author: Microsoft
3+
# Common dev settings for web development
4+
5+
Disable-UAC
6+
7+
#--- Windows Features ---
8+
Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowProtectedOSFiles -EnableShowFileExtensions
9+
10+
#--- File Explorer Settings ---
11+
Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -Value 1
12+
Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneShowAllFolders -Value 1
13+
Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name LaunchTo -Value 1
14+
Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name MMTaskbarMode -Value 2
15+
16+
#--- Git ---
17+
choco install -y git -params '"/GitAndUnixToolsOnPath /WindowsTerminal"'
18+
choco install -y Git-Credential-Manager-for-Windows
19+
20+
#--- Windows Subsystems/Features ---
21+
choco install -y Microsoft-Hyper-V-All -source windowsFeatures
22+
choco install -y Microsoft-Windows-Subsystem-Linux -source windowsfeatures
23+
24+
#--- Ubuntu ---
25+
Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile ~/Ubuntu.appx -UseBasicParsing
26+
Add-AppxPackage -Path ~/Ubuntu.appx
27+
28+
#--- Fonts ---
29+
choco install -y inconsolata
30+
# choco install -y ubuntu.font
31+
32+
#--- Tools ---
33+
choco install -y docker-for-windows
34+
choco install -y python
35+
choco install -y pip
36+
choco install -y 7zip.install
37+
38+
# TODO: install additional ML tools
39+
40+
#--- VS Code ---
41+
choco install -y visualstudiocode
42+
43+
#--- VS Code extensions ---
44+
choco install -y vscode-docker
45+
46+
Enable-UAC
47+
Enable-MicrosoftUpdate
48+
Install-WindowsUpdate -acceptEula

dev_web.ps1

+1-3
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-L
2828
#--- Ubuntu ---
2929
Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile ~/Ubuntu.appx -UseBasicParsing
3030
Add-AppxPackage -Path ~/Ubuntu.appx
31-
Ubuntu.exe
3231

3332
<#
3433
#--- SLES ---
@@ -51,14 +50,13 @@ choco install -y firefox
5150

5251
#--- Fonts ---
5352
choco install -y inconsolata
54-
choco install -y ubuntu.font
53+
# choco install -y ubuntu.font
5554

5655
#--- Tools ---
5756
choco install -y sysinternals
5857
choco install -y docker-for-windows
5958
choco install -y python
6059
choco install -y pip
61-
choco install -y easy.install
6260

6361
Enable-UAC
6462
Enable-MicrosoftUpdate

dev_web_nodejs.ps1

+5-2
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,17 @@ choco install -y 7zip.install
2323
choco install -y Microsoft-Hyper-V-All -source windowsFeatures
2424
choco install -y Microsoft-Windows-Subsystem-Linux -source windowsfeatures
2525

26+
#--- Ubuntu ---
27+
Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile ~/Ubuntu.appx -UseBasicParsing
28+
Add-AppxPackage -Path ~/Ubuntu.appx
29+
2630
#--- Browsers ---
2731
choco install -y Firefox
2832
choco install -y Googlechrome
2933

3034
#--- Fonts ---
3135
choco install -y inconsolata
32-
choco install -y ubuntu.font
36+
# choco install -y ubuntu.font
3337

3438
#--- Tools ---
3539
choco install -y nodejs-lts # Node.js LTS, Recommended for most users
@@ -40,7 +44,6 @@ choco install -y sysinternals
4044
choco install -y docker-for-windows
4145
choco install -y python2 # Node.js requires Python 2 to build native modules
4246
choco install -y pip
43-
choco install -y easy.install
4447

4548
Enable-UAC
4649
Enable-MicrosoftUpdate

0 commit comments

Comments
 (0)