Arch Linux

.miozu dotfiles

AI-first Arch Linux desktop. XMonad + WezTerm + Doom Emacs + Fish. One command to install.

14 Haskell modules
43 keybindings
12 scratchpads

Why this setup exists

Keyboard-first

Every action has a keybinding. Mouse is optional. XMonad's Haskell config means type-safe window management — if it compiles, it works.

AI-native

4 Claude Code agents as XMonad named scratchpads — orchestrator, XMonad specialist, web dev specialist, system specialist. Each floats at a predefined screen position.

Japanese workspaces

10 workspaces named with kanji numerals (一 through 〇). Minimal visual noise in the status bar. Each workspace has a dedicated purpose.

Cherry-picked

No bloat. Every package is explicitly chosen and categorized. Modular installer lets you skip optional and developer packages.

10 kanji workspaces

Each workspace has a purpose. Kanji numerals keep the bar minimal.

ichi Web browsing Mod + 1
ni Doom Emacs Mod + 2
san Work / projects Mod + 3
shi Terminals Mod + 4
go Media / video Mod + 5
roku Social / chat Mod + 6
nana System tools Mod + 7
hachi Experiments Mod + 8
kyuu Dual monitor Mod + 9
zero Overflow Mod + 0

Keyboard reference

Curated keybindings from Keybindings.hs.

Keys Action Category
Mod + j Focus next window navigation
Mod + k Focus previous window navigation
Mod + Tab Focus next window (alt) navigation
Mod + Escape Toggle recent workspace navigation
Mod + 1-0 Switch to workspace (kanji 一-〇) navigation
Mod + Shift + 1-0 Move window to workspace navigation
Mod + Space Cycle layout algorithm layout
Mod + Shift + Space Reset to default layout layout
Mod + Ctrl + h Shrink master area layout
Mod + Ctrl + l Expand master area layout
Mod + Shift + m Swap focused with master layout
Mod + Shift + j Swap with next window layout
Mod + Shift + k Swap with previous window layout
Mod + s Push floating window to tiling layout
Mod + , Increment master count layout
Mod + . Decrement master count layout
Mod + Return Launch WezTerm terminal launch
Mod + Shift + Return Launch alternate terminal launch
Mod + m Rofi app launcher launch
Mod + e Launch Doom Emacs launch
Mod + Shift + d Dismiss all notifications launch
Mod + t Big right terminal scratchpad
Mod + Shift + t Small right terminal scratchpad
Mod + h Big left terminal scratchpad
Mod + Shift + h Small left terminal scratchpad
Mod + f File manager (nnn) scratchpad
Mod + x Firefox DevTools scratchpad scratchpad
Mod + Shift + x Chromium scratchpad scratchpad
LAlt + RAlt + 1-9 Numbered scratchpad terminals scratchpad
Print Screenshot full screen (maim) media
Mod + w Screenshot full screen (alt) media
Mod + Ctrl + w Screenshot selected area media
XF86AudioRaiseVolume Volume up (pactl) media
XF86AudioLowerVolume Volume down (pactl) media
XF86AudioMute Toggle mute media
Mod + r Record product demo recording
Mod + Shift + r Record tutorial (60fps) recording
Mod + Ctrl + r Quick GIF (10s auto-stop) recording
Mod + Shift + c Kill focused window window
Mod + ' Recompile and restart XMonad window
Mod + Shift + ' Quit XMonad window
Mod + b Toggle top status bar window
Mod + Shift + b Toggle bottom status bar window

Configured tools

Every tool is configured and themed with the miozu Base16 palette.

XMonad

14 modules

Tiling window manager written in Haskell

View theme port

WezTerm

Lua config

GPU-accelerated terminal emulator

View theme port

Doom Emacs

init.el + config.el

Emacs distribution with evil-mode keybindings

View theme port

Fish

config.fish

Friendly interactive shell with autosuggestions

Picom

picom.conf

Compositor for transparency and animations

Dunst

dunstrc

Lightweight notification daemon

Rofi

config.rasi

Application launcher and window switcher

View theme port

Tmux

tmux.conf

Terminal multiplexer for persistent sessions

Neovim

init.lua

Hyperextensible Vim-based editor

Get started

Arch Linux only. Three steps.

1

Clone the dotfiles

git clone https://codeberg.org/ng/dotfiles.git ~/.miozu

Clones into ~/.miozu — all configs are relative to this directory.

2

Run the installer

cd ~/.miozu && bash bin/install.sh

Modular installer: packages, configs, services, keyboard setup. Interactive prompts for optional/dev packages.

3

Reboot and start XMonad

sudo reboot

On login, select XMonad as your session. First boot compiles all 14 Haskell modules via Stack.

Arch Linux This is for Arch Linux. It uses pacman/paru and assumes a fresh install or existing Arch system.

Source code

MIT licensed. Hosted on Codeberg. Clone it, fork it, make it yours.

MIT Arch Linux Haskell