Skip to content

bot-rucachan/dotnix

 
 

Repository files navigation

dotnix

DeepWiki

Target

Machine Name OS System Stable
B450M Pro4 B450M-Pro4 NixOS x86_64-linux
UM790 Pro UM790-Pro NixOS x86_64-linux
X870 Steel Legend WiFi X870-Steel-Legend-WiFi NixOS (WSL) x86_64-linux
Pi 5 pi5 NixOS aarch64-linux
OCI Ampere A1 VM oci-a1 NixOS aarch64-linux
M2 MacBook Air M2-MacBook-Air macOS aarch64-darwin
Galaxy S23 FE Galaxy-S23FE Android (nix-on-droid) aarch64-linux

Module Structure

flake.nix                    # Entry point and host table
flake-module.nix             # Generates nixos/darwin/nix-on-droid outputs from hosts
├── systems/
│   ├── common.nix               # Shared system imports and activation hooks
│   ├── nixos/
│   │   ├── common.nix           # Shared NixOS host imports
│   │   ├── desktop.nix          # Shared NixOS desktop system settings
│   │   ├── fonts.nix            # Shared NixOS font settings
│   │   ├── input-method.nix     # Shared NixOS input method settings
│   │   ├── services/            # Host/system service bundles (microVMs, secrets, etc.)
│   │   ├── B450M-Pro4/           # NixOS host config (services, disko, impermanence)
│   │   ├── UM790-Pro/           # NixOS host config (boot, network, locale)
│   │   ├── X870-Steel-Legend-WiFi/   # NixOS-WSL host config (WSL, locale)
│   │   ├── pi5/                 # NixOS host config (headless Pi 5)
│   │   └── oci-a1/              # OCI Ampere A1 NixOS host config (disko, boot, network)
│   ├── darwin/
│   │   ├── common.nix           # Shared macOS host imports
│   │   ├── desktop.nix          # Shared macOS desktop system settings
│   │   ├── homebrew.nix         # Shared macOS Homebrew app set
│   │   └── M2-MacBook-Air/      # macOS host config
│   └── android/
│       └── Galaxy-S23FE/        # nix-on-droid host config
├── homes/
│   ├── common.nix               # Shared Home Manager glue
│   ├── nixos/                   # NixOS Home Manager host config
│   ├── darwin/                  # macOS Home Manager host config
│   └── android/                 # nix-on-droid home hook
├── applications/                # Directly imported Home Manager app configs (git, tmux, browsers, niri, misc)
├── modules/
│   ├── flake/               # Flake modules (registries, packages, devshell, treefmt)
│   ├── profiles/
│   │   ├── nixos/       # NixOS profiles (cli, cli-server, gui, laptop)
│   │   └── home/        # Home Manager profiles (base, terminal, cli, development, desktop)
│   ├── nixos/           # Reusable optioned NixOS modules (docker, tailscale, security, kubo)
│   ├── darwin/          # Reusable optioned nix-darwin modules
│   ├── shared/          # Shared system modules across platforms (nix, nixpkgs)
│   ├── nix-on-droid/    # nix-on-droid shared modules
│   └── home/            # Home Manager shared modules and optioned feature modules
├── overlays/            # Custom packages (overlay)
├── agents/                  # Agent skills config docs (skills: github:yutakobayashidev/skills)
├── nvim/                    # Neovim config (Lua)
└── zsh/                     # Zsh config

Documentation

System Installation Guides

Operations

Other

Daily Usage

# Apply changes (NixOS or macOS)
nix run .#switch

# Build without applying
nix run .#build

# Format all files (nix, lua, sh)
nix run .#fmt

# Update flake inputs
nix flake update

Available Nix Apps

NixOS

  • nix run .#switch - Build and apply NixOS + Home Manager configuration (sudo nixos-rebuild switch)
  • nix run .#build - Build configuration without applying
  • nix run .#fmt - Format configured file types (Nix, Lua, shell, TOML, Python, etc.) via treefmt

macOS

  • nix run .#switch - Build and apply nix-darwin + Home Manager configuration (sudo darwin-rebuild switch)
  • nix run .#build - Build configuration without applying
  • nix run .#fmt - Format configured file types (Nix, Lua, shell, TOML, Python, etc.) via treefmt

Both use nix-output-monitor for build output.

Key Features

NixOS

  • WM: Niri (scrollable tiling Wayland compositor)
  • IME: fcitx5 + hazkey (LLM-powered Japanese input)
  • YubiKey: PAM U2F authentication (polkit, swaylock)
  • Development: Docker, Tailscale, Android development environment, VirtualBox on UM790-Pro
  • Self-hosted services: Nextcloud, Immich, Gitea, Home Assistant, ArchiveBox, n8n, Grafana, Prometheus, Loki, Claude Code telemetry, and comin on B450M-Pro4
  • Agent microVMs: Hermes Agent on UM790-Pro and OpenClaw on B450M-Pro4 via microvm.nix

macOS

  • Homebrew: GUI app management via casks (Ghostty, Chrome, OrbStack, etc.)
  • brew-nix: Homebrew cask packages managed as Nix packages (version pinning & rollback)
  • Touch ID: sudo authentication support
  • 1Password: Shell Plugins (gh, awscli2)

Managed Tools

  • AI Development: claude-code, codex, grok, opencode, ccusage
  • Version Control: git, lazygit, jujutsu (jj), git-lfs, git-wt
  • Core CLI: ripgrep, fzf, jq, zoxide, lsd, btop, yazi, tmux
  • Communication: halloy (IRC)
  • Editors: Neovim, VSCode
  • Terminal: Ghostty, Zsh + Oh My Zsh
  • Network: nmap, bandwhich, speedtest-cli

Agent Skills

Agent skills are managed via agent-skills-nix.

Avoid maintaining a fixed skill list here. Treat modules/home/coding-agents/agent-skills as the source of truth.

Topology

Main Network Topology Main topology diagram

Network Overview Network overview diagram

Generated with nix-topology.

nix build .#topology.x86_64-linux.config.output --out-link result

Templates

Project templates are managed in ashiba. See the repository for available templates.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Nix 62.8%
  • Shell 14.6%
  • Python 8.4%
  • Lua 7.7%
  • HCL 6.5%