Skip to content

LLM ready

/en/setup.md

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.

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:

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.

Ready to share.