# /uses

Tools and hardware I use day to day. This changes when something starts annoying me enough. Inspired by [uses.tech](https://uses.tech/).

## development environment

### operating system

-   **NixOS**: primary OS, mostly because I want my machines to be boring to rebuild
-   **KDE Plasma**: desktop environment, because it lets me configure the bits I care about
-   **Tailscale**: VPN mesh between my machines

### editor and IDE

-   **Emacs**: primary editor, configured more than is probably reasonable
-   **Vertico / Consult / Corfu**: completion and navigation in Emacs
-   **org-mode**: notes, planning, and bits of personal documentation
-   **Magit**: the Git UI I miss whenever I use anything else

### terminal and shell

-   **Starship**: prompt with just enough Git state visible

### development tools

-   **Nix / Flakes**: package management and reproducible development environments
-   **just**: project commands without pretending Make is a task runner
-   **git**: version control
-   **Podman**: containers for local development and deployment work

### languages and runtimes

-   **Go**: backend services and CLI tools
-   **Python**: scripts, glue code, and data work
-   **Nix**: systems and development environments
-   **Haskell**: learning, mostly
-   **C++**: low-level systems work

## productivity and communication

### browser

-   **Brave**: browser with ad blocking that mostly stays out of the way

### password management

-   **1Password**: passwords and 2FA

### file sync

-   **Syncthing**: selective file sync between my own machines

## hardware

### main development machine

-   Desktop workstation running NixOS
-   Multiple monitors, because one screen gets crowded fast

### other hardware

-   Laptop with the same NixOS + Home Manager configuration
-   Lab server for self-hosted services and experimentation

## configuration management

Most configuration lives in Git and is applied through **NixOS**,**Home Manager**, and flakes. If a machine dies, I want rebuild to be annoying, not interesting.
