This is a list of the hardware, software, and services I personally use, kept up to date. My previous setup can be found here
Last updated April 17, 2025
Hardware #
- Laptop T14s gen3 - Running Fedora Workstation 42, kmonad for keyboard remapping, SSH into everything.
- Monitor Dell 32" Ultrasharp
- Keyboard Chocofi 36 key
- Trackball MX Ergo
- Speakers Emotiva B1
- Speaker Stands Gator Frameworks speaker stand
- Microphone Shure SM7B
- Interface Audient iD4
- Mic stand Blue Microphone boom
- Desk Butcher block counter top with These castor legs
- Seating Meditation Stool
- Camera Sony A7iv with Sigma 24-70 and Sigma 16-28 lenses
- Phone Samsung S24
- E-Reader Kobo Clara HD
The Core system #
I have been using Emacs (Doom emacs as my “emacs distribution”) as my base computing environment for all things text manipulation. Emacs has essentially replaced most of my previous setup and tooling (though we are still using unix tooling as the base for all things, of course). Emacs has helped to bring everything together and make my environment cohesive.
Fedora Workstation is what I’ve been using for about a year now, version 42 currently. I am not a zealot on the distro front, and have used Arch/Endeavour, Debian, and Manjaro in the past and don’t have any real affinity to any in particular.
I will discuss what I have used to build ontop of this with programs below:
Programs #
- GNOME - Desktop Environment
- Extensions
- Auto Move Windows - Allows me to dictate which desktop windows are bound to
- Battery Health Charging - Battery thresholds for better battery longevity
- Blur my Shell - Nice effect for blurring
- Color Picker - Quick color picker
- Dash to Dock - Mac-like dock
- Date Menu Formatter - Formats date in bar
- Grand Theft Focus - Stops notifications from focusing
- Impatience - Quicker animations
- Media Controls - Media controls in bar
- Notification Banner Reloaded Notification placement
- Open Bar - status bar, theming GNOME shell
- Quick Web Search - allow web search in GNOME search
- Removable Drive Menu - drive utility in status bar
- SSH Search Provider Reborn - allow ssh into servers in GNOME search
- Status Area Horizontal Spacing - tighten up the status bar
- Weather or Not - Weather status icon
- Extensions
Doom Emacs - An environment for a lifetime
-
EMMS - Emacs Multimedia System
-
Elfeed - RSS feed reader for Emacs
-
Pass - Password-store integration in emacs
-
Circe - IRC client for Emacs
-
Org-mode - Organization and note-taking system
- Org-roam - Knowledge management and note-taking
- Org-noter - Note-taking tool linked to documents
- Org-agenda - Task and schedule management
- Org-gcal - Google Calendar synchronization
-
Dired/Dirvish - Enhanced directory editor
-
Vterm - Terminal emulator within Emacs
-
Projectile - Project interaction library
-
Nov.el - EPUB reader mode
-
PDF-tools - PDF reader and annotator
-
Magit - Git interface for Emacs
-
Docker/Podman - Docker/container integration
-
Restclient.el - HTTP REST client
-
Pgmacs - PostgreSQL client for Emacs
-
Tramp - Remote file editing
-
LSP Mode - Language Server Protocol support for IDE-like features
-
DAP Mode - Debug Adapter Protocol for debugging
-
Treemacs - Tree layout file explorer
-
Flycheck - Syntax checking
-
Company - Text completion framework
-
Mu4e - Email client to replace Thunderbird/Neomutt
-
Kitty - Alternate Terminal
- ZSH - Shell (used in Vterm as well)
- Starship - Prompt
- OhmyZSH - Plugin management
- FZF - Fuzzy finder. I have various custom scripts in my .zshrc
- ZSH Autosuggestions - Autosuggestions
- ZSH Autocomplete - Autocompletion
- FZF Tab - Tab search for cd
- ZSH Syntax Highlighting - Syntax Highlighting in shell
- Eza - ls replacement
- Zoxide - smarter way to cd
- Bat - cat replacement
- RG - ripgrep
- Geist mono nerd font - Font
- Tmux - Terminal multiplexer
- TPM - Tmux plugin management
- Tmux Sensible
- ZSH - Shell (used in Vterm as well)
-
Borg/rsync/syncthing - Backup solutions
-
GPG/PGP - Encryption
-
GNU Stow - Dotfile management
-
Nautilus - Graphical File manager
-
OBS Studio - Broadcasting/Recording Screen and webcam
-
Zen Browser - Browser
-
Brave - Alternate Browser
-
Thunderbird - Email client
-
QBittorrent - Torrent client
-
GIMP - Image manipulation
Development #
-
Frontend
- Svelte(kit) - Frontend
- ZOD - TypeScript-first schema validation
- Tailwind CSS - Utility-first CSS framework that works well with Svelte
- TypeScript - Static typing for JavaScript
- PNPM - Fast, disk space efficient package manager
- Prettier - Code formatter
- ESLint - JavaScript/TypeScript linter
- Superforms - Form handling for SvelteKit with Zod validation
-
Backend
- Golang - Backend/business logic
- Echo - High performance web framework
- sqlc - Type-safe SQL to Go code generator
- golang-migrate - Database migration tool
- JWT - JSON Web Token implementation for authentication
- validator - Struct and field validation
- Redis - Redis client for caching and session management
- Postgres - PostgreSQL driver
- Stripe - Payment processing integration
- Swagger - API documentation generation
- Mailgun - Email service integration
- Prometheus - Metrics and monitoring
- Telegram Bot API - Messaging integration
- UUID - Unique identifier generation
- godotenv - Environment variable management
- Golang - Backend/business logic
-
Database
- Postgres - Database
-
Scripting
- Python
- Bash
-
Hugo - Blog
-
Podman and Podman Compose - Containerization