My super awesome Windows 10 π±βπ
The system setup that makes my computing experience awesome
Disclaimer
It's been a while since I've used a Windows machine for my daily tasks (2018). Nowadays I use a Macbook, mostly due to work reasons.
Still, if I were to use Windows, all of here probably would apply.
Table of Contents
- Security
- Productivity
- Coding
- Writing
- Social
- Music
- Web browsing
- Command Line Apps
- Set DNS to DNS.Watch
Applications
I use BoxStarter in order to automate the installation of most of my applications. The process usually goes like this:
- Install BoxStarter with
. { iwr -useb https://boxstarter.org/bootstrapper.ps1 } | iex; Get-Boxstarter -Force
- Run the BoxStarter script of this repo with
Install-BoxstarterPackage -PackageName https://raw.githubusercontent.com/NickSeagull/my-windows/master/boxstarter/System-Init.ps1 -DisableReboots
The apps listed in this repo follow the following convention:
β The app is successfully automated with BoxStarterπ The app needs to be installed manually from the Windows storeβ The app needs to be installed manually from its website
Productivity
- I use a Surface Pro 6 as my secondary system that acts as a laptop/tablet
- In some moments, I require a second screen, so spacedesk allows me to use it as a screen when I'm working at my desktop
- AHK provides a scripting language that allows you to automate most of the things in Windows. From remapping keys, to moving the mouse, you can automate everything.
- I have used AHK extensively in the past and I even created bots for online games with it (yes, I was THAT guy, but not always). You can imagine the power of this tool now.
- Notion is a software masterpiece, it makes organization seem very simple
- Replaces a lot of tools like Evernote, Google Sheets, etc..
- I use it mainly to organize my personal stuff
- Having the same password for all the sites is a very bad practice. I learnt this once a friend's Steam account got hacked, and with it, his email, Facebook, and everything.
- Thanks to passwords managers like this one, I don't even need to remember my passwords.
- For some reason,
chocolatey
doesn't install this properly, and it always fails.
- I try to avoid typing the typical stuff, like my name, address, etc... Espanso helps me with this task
- Also, I don't like using acronyms, so I can automatically expand them.
- You can find the expansions here
- I use Simple Mind to brainstorm around how can I break down a problem into smaller ones
- I use this client to share files from time to time, very minimal one, which I like.
- Very useful for watching videos while doing other stuff
- It's like having the ability to listen to a podcast while being able to peek into what the speaker is saying
Coding
- Not really an app, but it needs to be installed, so it goes on this list. The chocolatey package didn't work for me, so I have to install it manually.
- WSL allows running Linux apps on Windows, interoperating with your current files, etc... So it is a much better experience than a Virtual Box, or alike.
- VcXsrv is great, it allows you to run graphical Linux apps on Windows thanks to the X11 protocol, make sure to:
export DISPLAY=:0
in the shellrc
file (this is already done in my Nix config)- Save the VcXsrv settings to a safe folder, and add a link into the
shell:startup
directory.
- If some fonts are not being rendered, it is because in VcXsrv you have to:
- Install them inside WSL with your regular installation method (it probably includes using
fc-cache
) - Download them for Windows, and add them to the
C:\Program Files\VcXsrv\fonts
directory
- Install them inside WSL with your regular installation method (it probably includes using
Social
- I use Slack mainly for work, although I also chat from time to time in the Functional Programming one
- I like playing online games, and from time to time, I socialize in them, meaning that I have to talk to people, so I use Discord
- On the other hand, it also allows me to talk with people from some developer communities, like AutoHotKey.
- The regular Telegram client has some issues with DPI scaling, meaning that if I move the window from my 1080p monitor to the Surface one, it'll stay with the same resolution. This doesn't happen with Unigram, and I get integrated notifications.
Music
- I use Spotify on a daily basis. I love listening to many kinds of music, and specially, discovering new songs.
Command Line Apps
I use most of my command line apps from WSL, apart from a few ones described here:
Windows CLI apps
chocolatey
- An apt
/brew
for Windows
bat
- A cat(1) clone with wings
watchexec
- Executes commands in response to file modifications
$
to run any command in WSL
WSL CLI apps
fontconfig
- Font Cache updater
- For some reason
fontconfig
is not installed by default in WSL Ubuntu 18.04, so I have to install it withapt
nix
- A purely functional package manager
-
I install Nix by adding the following to
/etc/nix/nix.conf
sandbox = false use-sqlite-wal = false
And by then running
curl https://nixos.org/nix/install sh
home-manager
- User environment management
- Note: Install using 19.09 as the channel, instead of master.
- I install most of my WSL CLI apps using Nix, and I manage them declaratively using
home-manager
- I can easily add packages to my
home.nix
file, and then runhome-manager switch
in order to get the newest environment.
- Sometimes it is useful to create a symbolic link from a folder/file to another place. This is specially useful when dealing with configuration files that are checked in a version control system like Git.
Acknowledgements
Thanks to Nikita Voloboev for his awesome my-mac-os
list, without it, this one wouldn't exist
Preferences
Set DNS to DNS.Watch
- Docker has issues with the default DNS provided with Windows 10, to set it to DNS.Watch's servers, follow this guide.