Yep

Things I endorse and recommend

Things I use, recommend, and endorse without reservation.

Software #

Development #

  • Neovim - Modern vim. Fast, extensible, powerful. See Neovim Configuration
  • tmux - Terminal multiplexer that changed how I work. See tmux Configuration
  • zsh - Best shell experience with the right plugins. See zsh Configuration
  • mise - One tool to manage all dev tool versions. See mise Tool Management
  • fzf - Fuzzy finding that integrates everywhere. See fzf
  • git - Version control done right. See Git Configuration
  • uv - Python packaging and dependency management done right. See [[uv]]

Terminal #

  • kitty - GPU-accelerated terminal. See kitty Terminal
  • wezterm - Cross-platform and scriptable. See WezTerm

Window Management #

  • Hyprland - Wayland tiling compositor with excellent workspace support. See Hyprland Window Manager
  • Awesome WM - When I need X11. See Awesome Window Manager
  • KDE Plasma - Actually like this DE - great workspace management and keyboard shortcuts

I need window managers with robust workspace hotkeys: win+num to switch, win+shift+num to send apps, win+ctrl+num to join workspaces. Both tiling and floating work fine if the workspace management is solid.

Utilities #

  • atuin - Shell history that syncs. See Atuin
  • starship - Fast, informative prompt. See Starship Prompt
  • gitui - Fast git TUI written in Rust. See gitui
  • lazygit - Alternative git UI. See Lazygit
  • lf - Fast terminal file manager. See lf
  • yazi - Alternative file manager with async I/O. See Yazi

Python #

  • uv - Fast, all-in-one Python packaging and dependency management
  • ruff - Fast Python linter and formatter
  • pytest - Testing without complexity

Hardware #

(Add specific hardware recommendations if desired)

Workflows #

  • Keyboard-driven everything - Minimize mouse usage
  • Win+num workspace switching - Instant access to any workspace
  • Dotfiles in git - Version control everything
  • Containers for isolation - Keep host system clean
  • Documentation as code - Write it down, automate it
  • Vanilla JS - Prefer simple over complex build pipelines

Development Approach #

JavaScript/Frontend #

  • Vanilla JavaScript - No build step, no dependencies when possible
  • CDN libraries - Alpine.js, htmx, or similar via script tag
  • Avoid heavy frameworks - No webpack, no deep node_modules trees
  • Progressive enhancement - Start simple, add complexity only when needed

Python #

  • uv - For all dependency management and virtual environments
  • pyproject.toml - Modern Python packaging standard
  • Simple structure - Flat is better than nested
  • Type hints - For code clarity without ceremony

Principles #

  • Open source over proprietary when possible
  • Simple over complex
  • Fast over feature-rich
  • Keyboard over mouse
  • Text over GUI
  • Vanilla over framework when feasible
  • One tool that does it well over many tools

See Nope for things I avoid.