Skip to content
ndm.devnandomoreira.devAvailablePT

~/en/setup

What I use

Updated on .

The hardware and tools I use every day, the ones I built myself to fill the gaps, and the ones I tried and dropped. This is not a static page: it changes when my setup changes.

Hardware

The Mercado Livre links are affiliate links: if you buy through them, I earn a commission, at no extra cost to you.

System

After many years across Windows, macOS and Ubuntu-based distros, the laptop has run CachyOS since June 2026.

  • CachyOS: Arch with an optimized kernel and packages. I came from ZorinOS and a few months of Omarchy, and this is where I stayed.
  • Niri: Wayland compositor that lays windows out in scrollable columns. I have a shortcut for almost everything, and messaging and music apps live in scratchpads that show and hide with one key.
  • Noctalia: The whole shell: bar, launcher, notifications and lock screen. It has a plugin system, and that is what got me writing my own.Ctrl + Space launcherSuper + Alt + B restarts the shell

See also: I built four Noctalia plugins 100% with AI on my CachyOS.

Terminal and editor

  • Ghostty: My everyday terminal, with selection going only to the primary clipboard so I can paste with the middle button.Super + Enter
  • Zsh com Oh My Zsh: My usual shell, with my Git, system and utility scripts versioned in the dotfiles repo.
  • mise: One manager for Node, Python and the rest. It replaced nvm, pyenv and company.
  • RTK: A CLI proxy that trims command output before it reaches the agent. It saves context, with one caveat: it cuts long lists, so to check something for real I call the binary directly.
  • btop: To see what is eating CPU and memory when tests or a build get heavy.Super + Alt + T
  • VS Code e Neovim: Both stay configured in my dotfiles, but most of the code today comes from the agents.Super + Shift + I VS Code

AI and agents

I work in an RPI flow (research, plan and implementation), with one agent for each role.

  • Claude Code: It leads: researches, writes the spec and the plan, validates, reviews and commits. On top of it runs my framework of skills, rules, hooks and memory.Super + Shift + Enter opens in a new Ghostty
  • Grok CLI: Implements the plan tasks, one at a time, with no permission to run git.
  • Antigravity CLI (agy): Reviews each task diff in a throwaway copy of the repo, as a second model beside the Claude Code review.
  • Ollama e OpenCode: Local AI, with qwen2.5-coder running on the machine itself.

See also: RPI flow with three agents: Claude Code plans, Grok implements and Codex reviews, How I built my site that talks to AI via MCP.

Apps

  • Google Chrome: My main browser. A script makes Niri focus its window when a link opens from another app.Super + Shift + BSuper + Shift + Alt + B incognito
  • 1Password: Passwords, keys and secrets. It is one of the two apps that start with the session, and quick access sits on Ctrl+Shift+Space.Ctrl + Shift + Space quick access
  • Obsidian: Notes and docs, in a Niri scratchpad.Super + Shift + O
  • YouTube Music, Spotify, WhatsApp e Discord: Music and chat, each in its own Niri scratchpad. Discord also gets the alerts from my radars.Super + Shift + U YouTube MusicSuper + Shift + S SpotifySuper + Shift + A WhatsAppSuper + Shift + D Discord
  • mpv: The default video player. It replaced VLC.
  • Steam e RetroArch: For gaming. Game mode freezes the work apps and turns on the performance profile.Super + Alt + G game mode

Homelab

A home server, reached from anywhere through Tailscale, with each service on a .home address.

  • Mac mini (2018): The server, with a Core i3-8100B, running Linux.
  • CasaOS: The panel that installs and manages the server Docker apps.
  • Tailscale: The private network that ties the laptop to the homelab from wherever I am. SSH comes in straight, with a key.
  • Pi-hole: Home DNS: blocks ads and resolves the .home names of the services.
  • Caddy: The reverse proxy that puts each container behind a name. Staging for this site lives behind it.
  • Jellyfin e Swing Music: Movies, shows and my music library, served from home.
  • Samba: Shares a file folder with the home network.
  • Uptime Kuma: Alerts when a home service goes down.

Made by me

When I could not find the tool, I wrote it. All open source, with the case in the lab.

  • Daybar: Quick capture, Google Calendar agenda, focus timer, favorites and Markdown notes, on the Noctalia bar.Super + Space quick captureSuper + Shift + Space panel
  • AI Bar: How much of the Claude Code and Grok plan is already used, and the usage pace of each window.
  • Gistbar: Search, copy and create my GitHub gists, from the keyboard.Super + G searchSuper + Ctrl + G new gist
  • Desktop Sticky Notes: Markdown sticky notes pinned to the desktop.
  • Forja: Desktop client that brings Claude Code, Codex and Gemini into one interface.

See also: Every project in the lab.

Tried and dropped

  • Omarchy: DHH's distro, with Hyprland. I used it for a few months before landing on CachyOS.
  • Model Usage: Noctalia plugin for AI model usage. I used it for months, until I wrote AI Bar.
  • Gemini no fluxo de implementação: It did the final validation of tasks. It left because the free plan was too fragile: request limits blowing up mid-run.
  • Codex: It started by committing, until it got a list with one file and made five commits. It moved to only reviewing the diff in a read-only sandbox, and later left the RPI flow, which today is Claude Code, Grok and agy.
  • TickTick: Task app that lived in a Niri scratchpad on Super+Shift+T. It left autostart and then the routine.
  • VLC: Replaced by mpv as the default player.

Updates in the terminal

Subscribe to the technical article feed

Zero marketing. Just new articles when they go live.

By subscribing, you agree to the privacy policy.

Ready to share.