Tecnologia

Mostrar HN: Uma AUI para Nix-Darwin

📅 15 Jul 2026 ⏱ 6 min de leitura 📰 Github.com
Mostrar HN: Uma AUI para Nix-Darwin

Gerencie seu Mac descrevendo a alteração desejada. NixMC é um aplicativo macOS nativo para gerenciar uma configuração nix-darwin com Claude Code ou Codex CLI. Peça para instalar um aplicativo, alterar uma configuração do macOS, configurar seu shell, ativar um serviço ou atualizar seus pacotes.

nixmc prepara a edição, valida a configuração e mostra a comparação antes de qualquer coisa ser aplicada. Minha equipe transforma um repositório Git de receitas Markdown em um catálogo compartilhado e com curadoria para todos da equipe. Conecte-o uma vez no aplicativo e o nixmc buscará as receitas mais recentes sem misturá-las em seu repositório de configuração pessoal.

O NixMC começou como uma forma de compartilhar configurações úteis do Mac com colegas de trabalho, sem pedir a todos que abrissem mão dos apelidos, ferramentas e memória muscular que fazem sua própria configuração funcionar. As receitas transformam uma configuração em documentação viva e pesquisável: você pode descobrir o que um alias faz, reutilizar uma escolha comprovada ou adaptá-la a um fluxo de trabalho diferente. As atualizações são isoladas em propostas revisáveis, portanto, manter uma estação de trabalho atualizada nunca altera silenciosamente a configuração na qual você confia todos os dias.

O agente é executado de forma não interativa com permissão para editar a configuração. Sempre revise a diferença proposta antes de aplicá-la. É fácil errar na proteção do macOS quando as configurações estão espalhadas pelas configurações do sistema, ferramentas de linha de comando e padrões não documentados.

Escolha a postura recomendada pela Pareto Security nas receitas de Segurança e Segredos para aplicar as recomendações principais de forma declarativa: firewall e modo furtivo, bloqueio de tela, atualizações de software, descoberta de AirDrop e serviços de compartilhamento sensíveis à segurança. A receita mantém intactas as proteções do macOS, inclui o barril Pareto Security e deixa qualquer alteração visível na revisão normal de construção e comparação antes de ser aplicada. Sua configuração é um repositório Git, portanto pode viajar com você.

Use a receita do Mac de substituição para capturar configurações não padrão do macOS, aplicativos Homebrew, ferramentas de shell e agentes de inicialização rapidamente. No novo Mac, clone o mesmo repositório durante a primeira execução, construa-o, revise a comparação e aplique-o para recriar a configuração escolhida, sem ter que lembrar de todas as preferências ou reconstruí-lo a partir de comandos de configuração únicos. Instale você mesmo o Nix antes do primeiro uso.

NixMC se vincula ao instalador gráfico do Determinate para a familiar configuração do macOS de aproximadamente cinco minutos, mas nunca baixa ou executa um instalador em seu nome. Ele usa a CLI do agente já instalada no Mac, portanto, nenhuma chave da API AI é inserida no NixMC. Verifique as versões para um nixmc.dmg assinado.

Abra a imagem do disco e mova nixmc.app para Aplicativos. Uma vez instalado, o NixMC se mantém atualizado: ele verifica os lançamentos em segundo plano, verifica se uma atualização baixada está assinada pelo mesmo ID do desenvolvedor antes de instalá-la e oferece Instalar e Reiniciar em Configurações → Atualizações (desative a verificação automática se preferir). Se nenhuma versão assinada estiver listada, crie a versão atual localmente: A configuração inicial solicita a aprovação do administrador para criar o link canônico /etc/nix-darwin.

A aplicação de alterações no sistema também requer aprovação do administrador. A criação de uma configuração começa no pequeno modelo nix-darwin + Home Manager do nixmc. Ele rastreia nixpkgs-unstable intencionalmente: uma estação de trabalho Mac precisa de aplicativos atuais, ferramentas de desenvolvedor e suporte para macOS com mais frequência do que um servidor de longa duração.

Isso não torna cada compilação desafixada – o flake.lock gerado registra as revisões exatas em uso, para que uma configuração conhecida sempre possa ser reproduzida. nix-darwin e Home Manager seguem a mesma revisão fixada do nixpkgs. nixmc atualiza esses pinos como uma alteração revisável.

Quando as verificações automáticas de atualização estão habilitadas (ou quando você verifica manualmente), ele cria uma árvore de trabalho Git isolada, executa nix flake update, confirma a alteração do arquivo de bloqueio resultante e a verifica com a compilação darwin-rebuild. Em seguida, apresenta o diff como uma proposta de atualização. Escolhendo Stage para revisar os estágios dessa proposta em seu repositório de configuração; você ainda revisa o diff e usa Build & Apply para ativá-lo.

Dispensar uma proposta deixa sua configuração ativa intacta. Há uma fonte de configuração suportada: o único flake apoiado por Git que o nixmc gerencia. Novas configurações estão em ~/.config/nixmc/darwin, com /etc/nix-darwin vinculado a elas; se você já possui um flake em /etc/nix-darwin, o nixmc usa esse repositório.

Faça alterações no sistema, no usuário e no Homebrew neste repositório por meio do nixmc para que o fluxo de trabalho de construção, comparação, histórico, reversão e atualização descreva a mesma máquina. Não mantenha uma segunda configuração nix-darwin junto com ela. Se a aplicação falhar com Operação não permitida durante o processamento de um pacote de aplicativos, abra Configurações do sistema > Privacidade e segurança > Gerenciamento de aplicativos, permita nixmc e aplique novamente.

As alterações aplicadas são confirmadas automaticamente para que a seção Histórico possa mostrar diferenças e reverter alterações anteriores. Abra Minha equipe na barra lateral e cole o URL do repositório GitHub. nixmc mantém um checkout superficial independente em ~/.nixmc/team-recipes, busca-o de hora em hora e atualiza-o quando a página é aberta.

Este catálogo é intencionalmente mantido fora de ~/.config/nixmc/darwin, para que as atualizações de receitas da equipe nunca alterem seu histórico de configuração. Coloque o Markdown da receita em qualquer lugar desse repositório. Use nomes de arquivos descritivos e inclua título, seção e resumo inicial; o aplicativo descobre arquivos recursivamente e agrupa todos eles em Minha equipe.

Comece com a receita de exemplo. Um GUIDE.md de nível raiz também é suportado. nixmc exibe esse guia de autoria da equipe literalmente na guia Minha equipe > Guia e o inclui na pesquisa global.

As receitas integradas ficam em Sources/nixmc/Resources/recipes/<section>/<title>.md. Eles vêm junto com o aplicativo e agrupados pelas mesmas áreas mostradas na barra lateral. O assunto inicial impulsiona a IU; o corpo do Markdown é passado para o agente selecionado e pode conter trechos Nix exatos, comandos shell ou uma comparação focada.

Para incluir documentação humana durável, adicione uma seção ## Guide após o corpo da receita. NixMC nunca envia essa seção para o agente. Após uma aplicação bem-sucedida, ele copia o Markdown literalmente na pasta .nixmc/recipe-guides/ ignorada do repositório de configuração e o anexa à seção correspondente da receita no GUIDE.md rastreado.

Isso mantém o guia final compartilhável, preservando a fonte de autoria humana sempre que o NixMC atualiza o conteúdo do guia gerado. Solicitações de recebimento de receitas são bem-vindas na pasta de receitas, especialmente para fluxos de trabalho bem testados do macOS, nix-darwin e Home Manager com um link de origem e uma seção de guia concisa.

AIClaudeGitHubAPIXhttpscommentsshowdarwinarticlegithubnixmc
Fonte: Github.com

💬 Comentários

Carregando comentários…