#+TITLE: Tooling overview #+AUTHOR: James Blair #+EMAIL: mail@jamesblair.net #+DATE: <2022-12-11 Sun 16:00> This document captures my standard tooling for future replication and aims to make it as easy as possible to setup and use a new device with my workflows. For the purposes of this repository I broadly refer to tooling as the "standard" way my devices are configured and which things are installed that are non-standard to the operating system. The environment is based on [[https://projectbluefin.io/][Bluefin]] for my primary work device which is a 2021 Razer Blade 14". Additionally a subdirectory is included for my smartphone which is a [[https://en.wikipedia.org/wiki/Fairphone_4][Fairphone 4]] running [[https://en.wikipedia.org/wiki/Ubuntu_Touch][Ubuntu Touch]]. * How I get things done Before diving into the technical details, below is a brief summary of how I get things done. ** Code editing For an editor I primarily rely on [[https://www.gnu.org/software/emacs/][emacs]], specifically [[https://github.com/doomemacs/doomemacs][doom emacs]]. The main feature that I rely on in emacs is [[https://orgmode.org/][org-mode]]. This allows me to do literate programming, writing my documentation with embedded code blocks that are actually executable or exportable via [[https://orgmode.org/worg/org-contrib/babel/intro.html][babel]]. ** Browsing the web My primary browser is [[https://zen-browser.app][zen]], a fork of firefox. Over the years various extensions have come and gone but [[https://github.com/gorhill/uBlock][u-block origin]] has remained a constant and something I use everywhere. Currently I also have [[https://addons.mozilla.org/en-US/firefox/addon/darkreader/][dark reader]] installed to make working in low light situations less harsh. For monitoring traffic, blocking connections, enforcing secure dns and routing connections through other servers vpn style I rely on [[https://safing.io/portmaster/][portmaster]] + [[https://safing.io/spn/][spn]]. ** Reading email For reading email I rely on the [[http://www.mutt.org][mutt]] terminal email client. Included in this repository are the configuration dotfiles I use. I've configured mutt to be able to display html emails via ~lynx~ and open links with ~urlscan~. The thing I like most about mutt is the caching which means I can traverse or scan through my entire email history in seconds. In a browser this would be a painfully slow process. ** Managing secrets [[https://bitwarden.com/][Bitwarden]] is my secrets manager of choice. Primarily due to the emphasis they place on open source and excellent ~bw~ cli utility. Use of the bitwarden cli is incorporated into many of my workflows. One of the things I really like and use daily is leveraging bitwarden for my one time passwords. I can run something like ~bw get totp | wl-copy~ in a terminal and have a two factor auth code copied straight onto my clipboard ready to paste where it is required. The [[./.bashrc][.bashrc]] file in this repository includes helper functions to make bitwarden workflows even faster, including an implementation of a custom git credential cache to dynamically retrieve git https credentials from bitwarden.