Jump to content

Technical

From Archive

Technical

CLI workflows, data processing scripts, and solutions worth remembering

I've documented the process of setting these things up a new computer in my New Computer Runbook.

Ambient Information Visualization

Sketchybar replaces my top menu bar with something I can customize and script completely.

Dotfiles

Core Philosophy

Minimalist terminal configuration focused on functional beauty and distraction-free computing. Every pixel serves a purpose. Maximum functionality, minimum distraction.

Repository: github.com/ejfox/dotfiles

Modern CLI Replacements

Old New Purpose My Config
ls lsd Better directory listings with icons (uses default)
cat bat Syntax highlighting and line numbers (uses default)
du dust Disk usage visualization (uses default)
df duf Disk free visualization (uses default)
top btop System monitoring with transparency πŸ“ btop/ (transparent background)

Key Configurations

Shell & Environment

Terminal & Multiplexing

  • Tmux - Geometric status indicators (β—† β—‡ β—‹ β–ͺ ─), vim navigation β†’ πŸ“„ .tmux.conf (geometric symbols, zen mode integration, subtle active pane indicators)
  • Ghostty - Terminal with opacity + blur effects β†’ πŸ“ ghostty/ (custom transparency, theme-agnostic colors)
  • Hyper - Terminal configuration (backup) β†’ πŸ“„ .hyper.js (minimal plugin setup, opacity effects)

Editor & Tools

Development

  • Git - Clean setup with LFS support β†’ πŸ“„ .gitconfig (GitHub as CMS workflow, commit message templates)
  • npm - Node package manager β†’ πŸ“„ .npmrc (canvas-sketch and data viz focused packages)

Workflow Scripts

  • Zen Mode - Toggle minimal UI mode across all apps β†’ πŸ“„ zen-mode.sh (coordinates Sketchybar, nvim, tmux into unified minimal state)

Signature Features

  • Geometric symbols throughout interface (β—† β—‡ β—‹ β–ͺ ─) - theme-agnostic visual language
  • AI-powered MOTD - contextual startup information based on calendar, git state, system metrics
  • LLM integration - Claude available via terminal for instant context-aware assistance
  • One-command zen - `zen` toggles minimal mode across all applications simultaneously
  • Smart status - Window counts displayed as geometric symbols (⚌ ☰ ⚍) instead of numbers
  • Active pane indicator - Subtle `─` underline that works in both light/dark themes
  • Things CLI integration - Task management directly from terminal
  • Personal API integration - Shell aware of personal metrics and data

Unique Approaches

  • Theme-agnostic design - Everything works identically in light/dark mode
  • Functional minimalism - Remove visual noise while preserving information density
  • AI-first workflow - LLM integration as core terminal feature, not afterthought
  • Geometric visual language - Consistent symbol system across all tools
  • System-wide zen mode - Coordinated minimal state across applications
  • Data-driven prompts - Terminal greetings based on personal API data

Quick Setup

git clone https://github.com/ejfox/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./sync-dotfiles.sh

Personal APIs

  • Git Activity - Commit patterns and project status
  • Archive Search - Full-text search across this wiki

Terminal Setup

  • Ghostty - Primary terminal with blur effects
  • Tmux - Session management with geometric indicators
  • Zsh + Powerlevel10k - Minimal prompt with git integration

Editor Configuration

  • Neovim - LazyVim distribution with custom zen mode
  • LSP Setup - Language servers for JavaScript, Python, etc.
  • Custom keybindings - Optimized for speed and flow

Mobile Integration

SSH Access

  • Termius - SSH client for iOS
  • Cloud VPS - Always-accessible development environment
  • Claude integration - AI assistance via terminal

Observable Notebooks

Work-in-progress data experiments: observablehq.com/@ejfox