- Title:
- Setup
What I use
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.
- Dell Latitude 3450: My work laptop: 13th-gen Intel Core i5-1345U, 32 GB of RAM, 1 TB WD SN740 SSD and Intel Iris Xe. The 14" 1920x1080 screen doubles as a third monitor.
- LG ultrawide 34" (2560x1080): Ultrawide monitor in 21:9 (the LG HDR WFHD).
- MSI G272: 27" 1920x1080 monitor, next to the ultrawide.
- iPad 11" (primeira geração): I use it as a support screen.
- iPhone 12: My everyday phone.
- Mesa ErgoDesk com regulagem de altura: Black electric ErgoDesk frame, bought without a top, with a custom-made desktop.
- Cadeira Comfy Aryan: Black mesh, 4D armrests and a sliding seat, Relax version.
- AULA F75: My main keyboard: mechanical, compact, 75% layout.
- Keychron K2: The secondary keyboard, also mechanical and 75% layout.
- Logitech MX Master 3S: My main mouse.
- Logitech MX Vertical: The secondary mouse, vertical, to vary wrist position.
- Sony WH-1000XM5: My main headphones, with noise cancelling.
- Logitech Zone Vibe 100: The second pair of headphones, light and wireless.
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. Shortcuts:
Ctrl+Space(launcher),Super+Alt+B(restarts the shell).
See also:
Terminal and editor
- Ghostty: My everyday terminal, with selection going only to the primary clipboard so I can paste with the middle button. Shortcut:
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. Shortcut:
Super+Alt+T. - VS Code e Neovim: Both stay configured in my dotfiles, but most of the code today comes from the agents. Shortcut:
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. Shortcut:
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. Shortcuts:
Super+Shift+B,Super+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. Shortcut:
Ctrl+Shift+Space(quick access). - Obsidian: Notes and docs, in a Niri scratchpad. Shortcut:
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. Shortcuts:
Super+Shift+U(YouTube Music),Super+Shift+S(Spotify),Super+Shift+A(WhatsApp),Super+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. Shortcut:
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. Shortcuts:
Super+Space(quick capture),Super+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. Shortcuts:
Super+G(search),Super+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:
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.
---
title: Setup
url: https://nandomoreira.dev/en/setup
updated: 2026-10-19
---
# What I use
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.
- [Dell Latitude 3450](https://meli.la/2XtgKqp): My work laptop: 13th-gen Intel Core i5-1345U, 32 GB of RAM, 1 TB WD SN740 SSD and Intel Iris Xe. The 14" 1920x1080 screen doubles as a third monitor.
- [LG ultrawide 34" (2560x1080)](https://meli.la/2SGG5nP): Ultrawide monitor in 21:9 (the LG HDR WFHD).
- [MSI G272](https://meli.la/1WwJsLp): 27" 1920x1080 monitor, next to the ultrawide.
- [iPad 11" (primeira geração)](https://support.apple.com/pt-br/111974): I use it as a support screen.
- [iPhone 12](https://support.apple.com/pt-br/111876): My everyday phone.
- [Mesa ErgoDesk com regulagem de altura](https://www.ergodesk.com.br): Black electric ErgoDesk frame, bought without a top, with a custom-made desktop.
- [Cadeira Comfy Aryan](https://www.comfy.com.br): Black mesh, 4D armrests and a sliding seat, Relax version.
- [AULA F75](https://meli.la/1bCTqew): My main keyboard: mechanical, compact, 75% layout.
- [Keychron K2](https://www.keychron.com/products/keychron-k2-wireless-mechanical-keyboard): The secondary keyboard, also mechanical and 75% layout.
- [Logitech MX Master 3S](https://meli.la/1gqJmJC): My main mouse.
- [Logitech MX Vertical](https://meli.la/2xmCMvP): The secondary mouse, vertical, to vary wrist position.
- [Sony WH-1000XM5](https://meli.la/2H5M9sr): My main headphones, with noise cancelling.
- [Logitech Zone Vibe 100](https://meli.la/1qUTCvu): The second pair of headphones, light and wireless.
## System
After many years across Windows, macOS and Ubuntu-based distros, the laptop has run CachyOS since June 2026.
- [CachyOS](https://cachyos.org): Arch with an optimized kernel and packages. I came from ZorinOS and a few months of Omarchy, and this is where I stayed.
- [Niri](https://github.com/YaLTeR/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](https://github.com/noctalia-dev/noctalia): The whole shell: bar, launcher, notifications and lock screen. It has a plugin system, and that is what got me writing my own. Shortcuts: `Ctrl+Space` (launcher), `Super+Alt+B` (restarts the shell).
See also:
- [I built four Noctalia plugins 100% with AI on my CachyOS](https://nandomoreira.dev/criei-quatro-plugins-para-o-noctalia-100-com-ia-no-meu-cachyos)
## Terminal and editor
- [Ghostty](https://ghostty.org): My everyday terminal, with selection going only to the primary clipboard so I can paste with the middle button. Shortcut: `Super+Enter`.
- [Zsh com Oh My Zsh](https://ohmyz.sh): My usual shell, with my Git, system and utility scripts versioned in the dotfiles repo.
- [mise](https://mise.jdx.dev): One manager for Node, Python and the rest. It replaced nvm, pyenv and company.
- [RTK](https://github.com/rtk-ai/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](https://github.com/aristocratau/btop): To see what is eating CPU and memory when tests or a build get heavy. Shortcut: `Super+Alt+T`.
- [VS Code e Neovim](https://code.visualstudio.com): Both stay configured in my dotfiles, but most of the code today comes from the agents. Shortcut: `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](https://www.anthropic.com/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. Shortcut: `Super+Shift+Enter` (opens in a new Ghostty).
- [Grok CLI](https://github.com/xai-org/grok-build): Implements the plan tasks, one at a time, with no permission to run git.
- [Antigravity CLI (agy)](https://antigravity.google): Reviews each task diff in a throwaway copy of the repo, as a second model beside the Claude Code review.
- [Ollama e OpenCode](https://ollama.com): 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](https://nandomoreira.dev/fluxo-rpi-claude-code-grok-codex)
- [How I built my site that talks to AI via MCP](https://nandomoreira.dev/como-construi-meu-site-que-conversa-com-ia-via-mcp)
## Apps
- [Google Chrome](https://www.google.com/chrome): My main browser. A script makes Niri focus its window when a link opens from another app. Shortcuts: `Super+Shift+B`, `Super+Shift+Alt+B` (incognito).
- [1Password](https://1password.com): Passwords, keys and secrets. It is one of the two apps that start with the session, and quick access sits on Ctrl+Shift+Space. Shortcut: `Ctrl+Shift+Space` (quick access).
- [Obsidian](https://obsidian.md): Notes and docs, in a Niri scratchpad. Shortcut: `Super+Shift+O`.
- [YouTube Music, Spotify, WhatsApp e Discord](https://music.youtube.com): Music and chat, each in its own Niri scratchpad. Discord also gets the alerts from my radars. Shortcuts: `Super+Shift+U` (YouTube Music), `Super+Shift+S` (Spotify), `Super+Shift+A` (WhatsApp), `Super+Shift+D` (Discord).
- [mpv](https://mpv.io): The default video player. It replaced VLC.
- [Steam e RetroArch](https://store.steampowered.com): For gaming. Game mode freezes the work apps and turns on the performance profile. Shortcut: `Super+Alt+G` (game mode).
## Homelab
[A home server](https://nandomoreira.dev/meu-homelab-num-mac-mini-de-2018), reached from anywhere through Tailscale, with each service on a .home address.
- [Mac mini (2018)](https://support.apple.com/pt-br/111912): The server, with a Core i3-8100B, running Linux.
- [CasaOS](https://casaos.zimaspace.com): The panel that installs and manages the server Docker apps.
- [Tailscale](https://tailscale.com): The private network that ties the laptop to the homelab from wherever I am. SSH comes in straight, with a key.
- [Pi-hole](https://pi-hole.net): Home DNS: blocks ads and resolves the .home names of the services.
- [Caddy](https://caddyserver.com): The reverse proxy that puts each container behind a name. Staging for this site lives behind it.
- [Jellyfin e Swing Music](https://jellyfin.org): Movies, shows and my music library, served from home.
- [Samba](https://www.samba.org): Shares a file folder with the home network.
- [Uptime Kuma](https://github.com/louislam/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](https://github.com/nandomoreirame/noctalia-daybar): Quick capture, Google Calendar agenda, focus timer, favorites and Markdown notes, on the Noctalia bar. Shortcuts: `Super+Space` (quick capture), `Super+Shift+Space` (panel).
- [AI Bar](https://github.com/nandomoreirame/noctalia-aibar): How much of the Claude Code and Grok plan is already used, and the usage pace of each window.
- [Gistbar](https://github.com/nandomoreirame/noctalia-gistbar): Search, copy and create my GitHub gists, from the keyboard. Shortcuts: `Super+G` (search), `Super+Ctrl+G` (new gist).
- [Desktop Sticky Notes](https://github.com/nandomoreirame/noctalia-desktop-sticky-notes): Markdown sticky notes pinned to the desktop.
- [Forja](https://github.com/nandomoreirame/forja): Desktop client that brings Claude Code, Codex and Gemini into one interface.
See also:
- [Every project in the lab](https://nandomoreira.dev/en/lab)
## Tried and dropped
- [Omarchy](https://omarchy.org): DHH's distro, with Hyprland. I used it for a few months before landing on CachyOS.
- [Model Usage](https://github.com/noctalia-dev/noctalia-plugins/tree/main/model-usage): Noctalia plugin for AI model usage. I used it for months, until I wrote AI Bar.
- [Gemini no fluxo de implementação](https://gemini.google.com): It did the final validation of tasks. It left because the free plan was too fragile: request limits blowing up mid-run.
- [Codex](https://github.com/openai/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](https://ticktick.com): Task app that lived in a Niri scratchpad on Super+Shift+T. It left autostart and then the routine.
- [VLC](https://www.videolan.org): Replaced by mpv as the default player.