michael's blog

my setup


I'm using Arch Linux on my personal machine. Here's a neofetch:

# michael @ arch in ~ [16:42:51]
$ neofetch
                   -`                    michael@arch
                  .o+`                   ------------
                 `ooo/                   OS: Arch Linux x86_64
                `+oooo:                  Host: K501UX 1.0
               `+oooooo:                 Kernel: 4.18.5-arch1-1-ARCH
               -+oooooo+:                Uptime: 1 hour, 47 mins
             `/:-:++oooo+:               Packages: 1143 (pacman)
            `/++++/+++++++:              Shell: zsh 5.5.1
           `/++++++++++++++:             Resolution: 1920x1080
          `/+++ooooooooooooo/`           WM: i3
         ./ooosssso++osssssso+`          Theme: Adwaita [GTK2/3]
        .oossssso-````/ossssss+`         Icons: Adwaita [GTK2/3]
       -osssssso.      :ssssssso.        Terminal: alacritty
      :osssssss/        osssso+++.       Terminal Font: Roboto Mono for Powerline
     /ossssssss/        +ssssooo/-       CPU: Intel i7-6500U (4) @ 3.100GHz
   `/ossssso+/:-        -:/+osssso+-     GPU: NVIDIA GeForce GTX 950M
  `+sso+:-`                 `.-/+oso:    GPU: Intel Skylake GT2 [HD Graphics 520]
 `++:.                           `-/+/   Memory: 6708MiB / 7871MiB
 .`                                 `/

For my desktop environment, I've got i3, a tiling window manager. I like it because it's lightweight and doesn't use much battery. My config can be found here. I tried i3gaps at one point but didn't feel like trying to fix the rendering artifacts so I switched back.


I use the trial version of Sublime Text 3 on my personal computer, and neovim in the terminal. I use the default theme with the VSCode Dark theme.


For passwords, I'm using pass, which is a GPG-encrypted password store. The passwords are checked into a git repository in order to maintain consistency between multiple devices (I'm using Android Password Store on my phone). Then, I bind $mod+p to a rofi script so I can access them easily.


On my personal computer, I'm using mpd, the music player daemon along with sonata, which is a GTK frontend. I like using mpd because this also allows me to display my current playing song in my i3 bar.

Social Media

I'm using Rambox, which is essentially just an Electron app that combines multiple services into a single view.


I'm using a custom screenshot tool.

This Website

The stack for this website looks like:

For deployment, I'm using dip, a customizable webhook server that I wrote that rebuilds the source code on push.

written by michael zhang. source