Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jmhbnz/tooling

My standard development tooling.
https://github.com/jmhbnz/tooling

bash firefox humacs mutt tmate wsl

Last synced: 2 months ago
JSON representation

My standard development tooling.

Awesome Lists containing this project

README

        

#+TITLE: Tooling overview
#+AUTHOR: James Blair
#+EMAIL: [email protected]
#+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://www.mozilla.org/en-GB/firefox/new/][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.