183 lines
6.1 KiB
Org Mode
183 lines
6.1 KiB
Org Mode
# -*- ii: ii; -*-
|
|
#+TITLE: Windows 10 Setup
|
|
#+AUTHOR: James Blair
|
|
#+EMAIL: mail@jamesblair.net
|
|
#+DATE: 1st September 2019
|
|
|
|
|
|
* Install windows subsystem for linux
|
|
|
|
To get underway we need to enable [[https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux][wsl]]. This requires a 64bit installation of Windows 10.
|
|
|
|
#+NAME: Enable the wsl feature
|
|
#+BEGIN_SRC shell
|
|
powershell.exe Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
|
|
#+END_SRC
|
|
|
|
|
|
After enabling the wsl feature we need to download the debian installer and open it.
|
|
|
|
#+NAME: Download and run the debian installer
|
|
#+BEGIN_SRC shell
|
|
cd "%USERPROFILE%\Downloads"
|
|
powershell.exe curl.exe -L -o debian.appx https://aka.ms/wsl-debian-gnulinux
|
|
powershell.exe Add-AppxPackage .\debian.appx
|
|
#+END_SRC
|
|
|
|
*Note:* If you encounter an error while adding the package, I have needed to use the ~wsreset~ command in the past to first reset the windows store application.
|
|
|
|
After the installer runs we need to manually enter a username and password for
|
|
the unix account that wsl will use.
|
|
|
|
|
|
* Install an x server for wsl
|
|
|
|
One of the ways we extend standard wsl functionality is installing an x server on windows to allow graphical applications to be run.
|
|
|
|
This has the added benefit of allowing command line clipboard tools like [[https://github.com/astrand/xclip][xclip]] to be used within wsl.
|
|
|
|
The x server I've found to be rock solid for this purpose is [[https://sourceforge.net/projects/vcxsrv/][VcXsrv]]. Which is also open source.
|
|
|
|
#+NAME: Download and install VcXsrv
|
|
#+BEGIN_SRC shell
|
|
cd /c/Users/$USER/Downloads/
|
|
wget https://sourceforge.net/projects/vcxsrv/files/latest/download
|
|
mv download installer.exe
|
|
cmd.exe /c installer.exe
|
|
#+END_SRC
|
|
|
|
|
|
After following through the installer we want to ensure VcXsrv launches at startup with our desired configuration.
|
|
|
|
To achieve this we can add an xlaunch configuration which is just xml with a fancy extension to our machines startup folder.
|
|
|
|
#+NAME: Apply our VcXsrv configuration
|
|
#+BEGIN_SRC shell
|
|
cd /c/ProgramData/Microsoft/Windows/Start\ Menu/Programs/Startup
|
|
cat > VcXsrv.xlaunch << EOF
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<XLaunch WindowMode="MultiWindow" ClientMode="NoClient" LocalClient="False" Display="-1" LocalProgram="xcalc" RemoteProgram="xterm" RemotePassword="" PrivateKey="" RemoteHost="" RemoteUser="" XDMCPHost="" XDMCPBroadcast="False" XDMCPIndirect="False" Clipboard="True" ClipboardPrimary="True" ExtraParams="" Wgl="True" DisableAC="False" XDMCPTerminate="False"/>
|
|
EOF
|
|
cmd.exe /c VcXsrv.xlaunch
|
|
#+END_SRC
|
|
|
|
|
|
* Configure windows ten
|
|
|
|
Enable all tray icons to be visible and restart explorer
|
|
|
|
#+NAME: Configure tray icons
|
|
#+BEGIN_SRC shell
|
|
powershell.exe Set-ItemProperty HKLM:\SOFTWARE\Micorosoft\Windows\CurrentVersion\Explorer EnableAutoTray 0
|
|
powershell.exe ps explorer | kill
|
|
#+END_SRC
|
|
|
|
Additionally I normally take the following actions:
|
|
|
|
** Update taskbar layout
|
|
|
|
I normally take the following steps immediately for a new installtion, I have not found an easy way of automating this as yet:
|
|
|
|
- Hide the search box.
|
|
- Hide the task view button.
|
|
- Unpin all but explorer.
|
|
|
|
|
|
** Update start menu layout
|
|
|
|
I prefer to have no pinned "tiles" in my start menu. The script below will unpin all applications from start.
|
|
|
|
#+begin_src shell
|
|
powershell.exe -NoLogo
|
|
(New-Object -Com Shell.Application).
|
|
NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}').
|
|
Items() |
|
|
%{ $_.Verbs() } |
|
|
?{$_.Name -match 'Un.*pin from Start'} |
|
|
%{$_.DoIt()}
|
|
#+end_src
|
|
|
|
|
|
** Lock screen configuration
|
|
|
|
- Untick show tips
|
|
- Set background to be picture and use in folder
|
|
- Remove status detailed or otherwise for apps on lock screen
|
|
|
|
|
|
** Fix inactive window title colors
|
|
|
|
https://winaero.com/blog/change-color-of-inactive-title-bars-in-windows-10/
|
|
|
|
|
|
* Configure a web browser
|
|
|
|
My current browser of choice is [[https://www.mozilla.org/en-US/firefox/new/][Firefox]]. This is primarily due to their respect for open source, user privacy and security and customisation.
|
|
|
|
#+NAME: Download and run firefox installer
|
|
#+begin_src shell
|
|
cd "%USERPROFILE%\Downloads"
|
|
powershell.exe curl.exe -L -o firefox.exe https://download.mozilla.org/?product=firefox-stub&os=win64&lang=en-U
|
|
firefox.exe
|
|
#+end_src
|
|
|
|
#+RESULTS: Download and run firefox installer
|
|
#+begin_example
|
|
#+end_example
|
|
|
|
|
|
One of the customisations we apply is to update the color of the newtab page in firefox to match the rest of the theme we use and prevent white glare. To achieve this we use [[https://superuser.com/questions/1235975/change-firefox-new-tab-background#][usercss]].
|
|
|
|
Note there is an about:config setting that needs to be set to enable these stylesheets to be used ~toolkit.legacyUserProfileCustomizations.stylesheets~
|
|
|
|
#+NAME: Configure usercss
|
|
#+begin_src shell
|
|
cd /c/Users/jmhbnz/AppData/Roaming/Mozilla/Firefox/Profiles/f7lryukb.default-release-1591505157037/chrome/
|
|
cat > userContent.css << EOF
|
|
/* https://userstyles.org/styles/90565/firefox-adjust-white-flash-when-opening-new-tab */
|
|
/* https://userstyles.org/styles/142191/remove-new-tab-flash */
|
|
@-moz-document url-prefix(about:preferences), url-prefix(about:blank), url-prefix(about:newtab) {
|
|
html, body, #newtab-customize-overlay {
|
|
background: #323232 !important;
|
|
color: #b2b2b2 !important;
|
|
}
|
|
}
|
|
|
|
@-moz-document url(chrome://browser/content/browser.xul)
|
|
{
|
|
|
|
browser[type="content-primary"]
|
|
{
|
|
background: #323232 !important;
|
|
color: #b2b2b2 !important;
|
|
}
|
|
}
|
|
|
|
@-moz-document url(chrome://browser/content/browser.xul)
|
|
{
|
|
|
|
browser[type="content-primary"], tabbrowser tabpanels, #appcontent > #content
|
|
{
|
|
background: #1B1B1B url("chrome://global/skin/media/imagedoc-darknoise.png") repeat fixed !important;
|
|
color: #b2b2b2 !important;
|
|
}
|
|
}
|
|
|
|
@-moz-document url(about:blank),
|
|
url(about:preferences),
|
|
url(about:config),
|
|
url(about:newtab)
|
|
{
|
|
#newtab-window,
|
|
html,
|
|
body,
|
|
#newtab-customize-overlay
|
|
{
|
|
background: #1B1B1B url("chrome://global/skin/media/imagedoc-darknoise.png") repeat fixed;
|
|
color: #b2b2b2 !important;
|
|
}
|
|
}
|
|
|
|
EOF
|
|
#+end_src
|