- Nix 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| flakeModules | ||
| hosts | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| README.md | ||
🖥️ Hosts
| Host | Arquitetura | Função | Kernel |
|---|---|---|---|
| Alfa | x86_64-linux |
Desktop / Workstation / Gaming | CachyOS (genérico) |
| omega | aarch64-linux |
VPS Headless (serviços + exit node) | padrão |
💡 O kernel do Alfa é o
linuxPackages_cachyos(genérico, com patches BORE). Para a variante LTO basta trocar paralinuxPackages_cachyos-ltoemhosts/Alfa/configuration.nix.
🎯 Desktop — Alfa
Interfaces
| Interface | Status |
|---|---|
| Umbriel (WM) | ✅ Ativo |
| Niri (WM) | ⏸️ Disponível |
| KDE Plasma 6 | ⏸️ Disponível |
| GNOME | ⏸️ Disponível |
| Cosmic | ⏸️ Disponível |
| Sinty | ⏸️ Disponível |
| Mango (WM) | ⏸️ Disponível |
| Noctalia (Shell) | ✅ Ativo (shell do Umbriel) |
| Noctalia Greeter (DM) | ✅ Ativo |
Seletor unificado de interfaces: altere o valor em
conf/GM/DE/active.nix(fonte única de verdade para system e home-manager). O mapa de módulos fica emdesktops.nixe as opções emoptions.nix. Apenas a selecionada é importada (sem dependências extras). Ativo atualmente:umbriel.⚠️
dmsesintysão dormantes e atualmente incompletos (os módulos referenciam inputsdms/quickshell/singularity-desktopque estão comentados ou ausentes noflake.nix). Não selecione-os até declarar os inputs.
🛠️ Otimizações
- Kernel CachyOS (compatível com ZFS via
zfs_cachyos) - BBR TCP, Zram (zstd, 40%),
vm.min_free_kbytesdinâmico - PipeWire + WirePlumber (Bluetooth codecs, echo-pop fix)
- GPU Intel Arc (mesa-git via Chaotic, Intel compute/media/VPL)
- Ollama Vulkan + Open WebUI
- LACT, OpenRGB, Ccache
- nix-ld, AppImage, Flatpak
- Steam (Millennium), Gamescope, Gamemode, MangoHUD
☁️ VPS — omega
Serviços
- Docker com IPv6 (
fd00:db8:1::/64) — storage padrão (overlay2); o ZFS fica só no Alfa - Tailscale (exit node) + Netbird
- Self-hosted via Docker (portas 80→8000, 53→5300 via NAT)
- Firewall com regras customizadas (nftables/iptables)
- Rede com NetworkManager (as variáveis ficam em
vars.nix) - Nix (Lix) e
nhcompartilhados com o Alfa
📦 Estrutura
/etc/nixos/
├── flake.lock
├── flake.nix # Entrada principal do flake
├── flakeModules/
│ └── nixos.nix # Helper p/ criar hosts (mkNixosHost)
├── hosts/
│ ├── Alfa/ # 🖥️ Desktop
│ │ ├── flake-module.nix # Registro do host no flake
│ │ ├── configuration.nix # Config principal do PC
│ │ ├── hardware-configuration.nix # Gerado automaticamente
│ │ ├── home.nix # Config principal do Home-Manager
│ │ ├── conf/
│ │ │ ├── GM/
│ │ │ │ ├── imp.nix # Import geral do GM
│ │ │ │ ├── configs/
│ │ │ │ │ ├── cfsystem.nix # Configurações gerais do sistema
│ │ │ │ │ ├── imp.nix # Import das coisas do configs
│ │ │ │ │ ├── nixhelper.nix # Ajustes e patches pro nix
│ │ │ │ │ ├── gpu.nix # Driver gráfico (Intel Arc)
│ │ │ │ │ ├── ollama.nix # Ollama Vulkan + Open WebUI
│ │ │ │ │ ├── patchs.nix # Patches p/ jogos e otimizações
│ │ │ │ │ ├── self-host.nix # Docker, Sunshine, Netbird
│ │ │ │ │ └── stylix.nix # Tema/cores (Stylix)
│ │ │ │ ├── DE/ # Seletor de interfaces
│ │ │ │ │ ├── active.nix # Desktop ativo (fonte única)
│ │ │ │ │ ├── desktops.nix # Mapa system+home dos desktops
│ │ │ │ │ ├── options.nix # Opção nixos-desktop.active
│ │ │ │ │ ├── impde.nix # Import da DE/WM selecionada
│ │ │ │ │ ├── cosmic.nix
│ │ │ │ │ ├── dms.nix
│ │ │ │ │ ├── gnome.nix
│ │ │ │ │ ├── kde.nix
│ │ │ │ │ ├── mango.nix
│ │ │ │ │ ├── niri.nix
│ │ │ │ │ ├── noctalia.nix
│ │ │ │ │ ├── sinty.nix
│ │ │ │ │ └── umbriel.nix
│ │ │ │ └── Pkgs/
│ │ │ │ ├── imp_pkgs.nix # Import dos pkgs
│ │ │ │ ├── pkgsconfig.nix # Config de alguns pacotes
│ │ │ │ ├── pkgs.nix # Pacotes instalados no sistema
│ │ │ │ ├── steam.nix # Steam (Millennium) + Gamescope
│ │ │ │ ├── thunar.nix # File manager Thunar (desativado)
│ │ │ │ └── dolphin.nix # File manager Dolphin
│ │ │ ├── HM/ # Home-Manager (Alfa)
│ │ │ │ ├── imp.nix # Import geral do HM
│ │ │ │ ├── configs/
│ │ │ │ │ ├── cfhome.nix # Config do Home-Manager
│ │ │ │ │ ├── stylix.nix # Tema/cores (Stylix)
│ │ │ │ │ └── kitty/ # Terminal kitty
│ │ │ │ │ ├── kitty.conf
│ │ │ │ │ ├── kitty.nix
│ │ │ │ │ └── theme.conf
│ │ │ │ ├── DE/
│ │ │ │ │ ├── cosmic.nix
│ │ │ │ │ ├── dms.nix
│ │ │ │ │ ├── gnome.nix
│ │ │ │ │ ├── impde.nix # Import da DE ativa (HM)
│ │ │ │ │ ├── kde.nix
│ │ │ │ │ ├── mango.nix
│ │ │ │ │ ├── niri.nix
│ │ │ │ │ ├── noctalia.nix
│ │ │ │ │ ├── sinty.nix
│ │ │ │ │ └── umbriel.nix
│ │ │ │ └── pkgs/
│ │ │ │ └── pkgs.nix # Pacotes do Home-Manager
│ │ │ └── stylix/ # Temas Stylix
│ │ │ ├── monochrome.yaml
│ │ │ ├── tokyo-night.yaml
│ │ │ ├── tokyo-night-moon.yaml
│ │ │ └── tokyo-night-moon-light.yaml
│ └── omega/ # ☁️ VPS
│ ├── flake-module.nix # Registro do host no flake
│ ├── configuration.nix # Config principal da VPS
│ ├── disk-config.nix # Disko
│ ├── hardware-configuration.nix # Gerado automaticamente
│ ├── vars.nix # Hostname, username, SSH keys
│ └── config/
│ ├── imp.nix # Import geral
│ ├── nix-helper.nix # Ajustes e patches pro nix
│ ├── pkgs.nix
│ └── self-host/
│ ├── firewall.nix # Config do firewall
│ └── self-host.nix # Docker, Tailscale, SSH
🚀 Comandos Rápidos
# Rebuild (Alfa) — nh gerencia sudo automaticamente
nh os switch
# Rebuild (omega)
nh os switch . -H omega
# Atualizar inputs
nix flake update
# Limpar cache (manter últimos 7 gens + 8 dias — padrão do nh aqui)
nh clean --keep-since 8d --keep 7
# Validar configs declarativos (rodar após editar os settings)
noctalia config validate ~/.config/noctalia/config.toml
umbriel validate -c ~/.config/umbriel/config.toml
# Nota: config runtime (IPCs/settings GUI) tem precedência e fica em
# ~/.local/state/noctalia/settings.toml — fora do declarativo.
📋 Inputs do Flake
| Input | Uso |
|---|---|
nixpkgs (unstable) |
Canal principal |
chaotic (nyx) |
Overlay de pacotes (mesa-git, kernel CachyOS, Lix…) |
home-manager |
Gestão de usuário |
disko |
Particionamento declarativo |
flake-parts |
Orquestração do flake |
stylix |
Temas e cores |
treefmt-nix |
Formatação (nixfmt) + devShell |
aagl |
Launcher de jogos anime |
zen-browser |
Navegador web |
millennium |
Customização Steam (overlay) |
mocktail |
Pacote extra via Home-Manager |
noctalia |
Shell/panel/bar (roda como shell do Umbriel) |
noctalia-greeter |
Display manager (greetd) |
umbriel |
Compositor ativo |
niri |
Compositor Niri — ⚠️ comentado |
mangowm |
Compositor Mango — ⚠️ comentado |
singularity-desktop |
Sinty — ⚠️ comentado |
⚠️
dmsequickshellsão referenciados emDE/dms.nixmas não estão declarados noflake.nix— selecionardmsquebra o build até que sejam adicionados.
Feito com 💜 e ❄️ NixOS