scottmuc / infrastructure

Documentation / Automation for personal third-party infrastructure
The Unlicense
10 stars 2 forks source link

X-platform consistent and pleasant DevX #50

Closed scottmuc closed 1 year ago

scottmuc commented 1 year ago

A chat with some friends started with a post about monospace font selection: https://www.tbray.org/ongoing/When/202x/2023/02/09/Monospace

Given all the workstation automation I have, I can't say I'm satisfied with my devx (development experience). It's ok, but it's got some issues that I'd like to improve.

Objectives:

scottmuc commented 1 year ago

Learning that NerdFonts is the one-stop-shop for font related packages.

programmingfonts.org is a great place to preview them. So far I'm liking:

JetBrains Mono - leaning towards this because I prefer how the l (el) is easy to differentiate between a 1 (one) and I (capital i). I prefer the styling of the g as well. Roboto Mono Inconsolata - handles narrower screens better. It's inspired by Consolas which is something I've always liked on Windows. Inconsolata-g cannot find a chocolatey package and finding that it might be a bit more obscure than the above 3.

I'm on the fence about combined ligatures ( => turning into a single character).

I'll start with installing all 4 3 of these for now.

On Windows, they exist as chocolatey packages:

https://community.chocolatey.org/packages/JetBrainsMonoNF https://community.chocolatey.org/packages/nerd-fonts-robotomono https://community.chocolatey.org/packages/nerd-fonts-Inconsolata

On macOS, there's a tap for all fonts: https://github.com/Homebrew/homebrew-cask-fonts

font-jetbrains-mono font-jetbrains-mono-nerd-font font-roboto-mono font-roboto-mono-nerd-font font-inconsolata font-inconsolata-nerd-font font-inconsolata-g

It appears the nerd-font packages are preferred because they come packaged with a common set of glyphs (reference). Not super useful for me since I'm pretty vanilla when it comes to those customizations, but maybe I'll spice things up going forward.

lurraca commented 1 year ago

For a font to use on the console, check out this one: https://sourcefoundry.org/hack/

scottmuc commented 1 year ago

@lurraca, I checked out hack but didn't find it any more special than the ones I already mentioned.

scottmuc commented 1 year ago

Content that the commits up until now ensure that I have JetBrainsMono NF used in my macOS terminal (via Alacritty), Windows terminal (via Alacritty), and in VS Code. Future repaves should ensure that this is all setup appropriately.

Alacritty configuration management is revealing where asdf can cause confusion. Since alacritty-colorscheme is a python module. The directory of my $PWD matters. The current tooling is installing it in the python in my ~/workspace/infrastructure repo's .tool-versions. While I believe this should be a user level thing. Thankfully, the error mode isn't damaging, and the asdf shimming implementation (see #49 ) does communicate what's happening well enough.

scottmuc commented 1 year ago

The above commit documents (loosely) how to switch fonts. It's not "1 command" but sufficient for me to check off that task. I feel like I've kept the configuration as minimal as possible (defined in OS package management, and in applicable runtime config files).

scottmuc commented 1 year ago

Happy enough with the current light/dark theme switching.

In Windows, if I switch modes, VSCode will follow. In WSL, I can run night/day functions to change Allacrity/Neo Vim/Delta colours.

On macOS, it's the same as WSL.

I'm on the fence about Solarized. I feel that my eyes need something with a bit more contrast.

scottmuc commented 1 year ago

Conformed around 16pt font for VSCode and terminal. It's large and easy for me to read, but the rest of the VSCode chrome doesn't follow suit.

scottmuc commented 1 year ago
scottmuc commented 1 year ago

Recording of showcase is: https://youtu.be/y817A1SemNA (currently processing)

scottmuc commented 1 year ago

A friend mentioned https://github.com/chriskempson/base16-shell which might be an alternative to the alacritty color scheme stuff I'm doing. Something to try in a future issue.

mamachanko commented 1 year ago

As far as color schemes go, I have found catpuccin to be both soothing for the eyes and the brain, knowing that almost every conceivable thing with a UI is supported by its community. Nord is similar.

scottmuc commented 1 year ago

@mamachanko, ooh I really like those! Now that I have a consistent way to switch between dark/light modes, I think I'd like to incorporate a theme switch with it as well... though the switching is mainly for testing than the desire to switch themes depending on my mood (dark/light modes are more around their function than their ascetic). Thanks!