Skip to content
theantichrisPublic

About

My new dotfiles repo.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

304 Commits

Folders and files

Repository files navigation

dotfiles // decker loadout

My Shadowrun inspired, keyboard-driven environment, managed with chezmoi. Dark backgrounds, neon accents, and a shared Cyberpunk palette across the desktop, terminal, editors, and TUIs.

CachyOS desktop with Fastfetch in Kitty and Superfile previewing the Fastfetch configuration

The previous configuration is preserved in dotfiles-old.

Highlights

  • Hyprland + Noctalia — a Lua-configured desktop with a launcher, clipboard history, notifications, screenshots, and scratchpad terminals.
  • Shared Cyberpunk palette — one color data file feeds application themes.
  • Fish + Kitty — a custom prompt, Git shortcuts, and modern CLI tools.
  • Mitos + Helix — modal editing with language server configuration.
  • Machine-specific templates — a full CachyOS desktop and a focused Parrot CLI setup from the same source tree.

Screenshots

Mitos editing Go alongside test output and a Git diff rendered by delta.

Mitos showing Ghost source and tests beside a terminal with test results and a themed Git diff

Noctalia's launcher over the notes, feeds, mail, and Mastodon workspace.

Noctalia application launcher centered over the notes, feeds, mail, and Mastodon workspace

Platforms

Target Scope
CachyOS Desktop and CLI configuration, plus package installation hooks
Parrot OS (HTB VM) Selected CLI configuration; keeps the existing MATE session, application defaults, and Git signing
Termux (tranch-fold) Selected app configuration and package installation

CachyOS is the main desktop. Parrot's pwntranch host opts in to the applications listed below; other Parrot hosts use their existing toolchain. Exclusions live in .chezmoiignore.

Setup

These are personal dotfiles. Review the source before applying, especially Git identity and signing keys, monitor settings, application paths, and account configuration.

Restore my setup

Start with Git, chezmoi, and SSH access to GitHub:

chezmoi init git@github.com:theantichris/dotfiles.git
chezmoi diff
chezmoi apply

On CachyOS, applying runs hooks that install missing packages through pacman, Shelly (shelly install aur), Go, and Cargo. The setup expects the CachyOS desktop tools and Shelly to be available already. Other hooks set Brave as the default browser, Superfile as the folder opener, add Rust source support, and rebuild bat's theme cache.

On tranchion, Mitos is a separate prerequisite; the package hook does not install it. Download the Linux archive for the machine's architecture from Mitos releases, extract it under ~/.local/share/mitos/<release>/, and keep runtime/ beside ms. Recreate ~/.local/bin/ms as a symlink to that executable and put ~/.local/bin on PATH. Verify ms --version and ms --health before using the editor shortcuts. The current layout uses v0.1.3-x86_64-linux as the release directory.

On other Parrot hosts, install the CLI tools, including Mitos (ms), separately before applying. Templates account for Debian executable names such as batcat and fdfind.

First apply on pwntranch

The pwntranch allowlist enables Kitty, Fish, Git, Mitos, and their supporting configuration. The package hook installs Brave Origin from its official APT repository and the APT dependencies listed in .chezmoidata/packages.yaml. Fastfetch 2.70.0 and Mitos come from their official Debian packages. Fastfetch uses the same color configuration as CachyOS. Mitos includes its runtime, shell completions, and desktop entry. Node and npm are listed as APT dependencies; global npm packages are intentionally unpinned. Before applying, ensure Node meets the current tools' requirements: the YAML server currently requires Node 22.13.0 or newer. If Parrot still provides Node 20, upgrade Node first; the npm installation hook checks engine compatibility. Externals provide the remaining language servers, spelling files, and Hack Nerd Font Mono.

Use the restore commands above to initialize, review, and apply. If already initialized, run chezmoi init after updating the source to regenerate its configuration. The first apply requires sudo authentication. Git keeps the shared identity and SSH signing configuration. Desktop settings and browser profiles remain unmanaged. To make Fish your login shell after applying, run chsh -s /usr/bin/fish.

Termux on tranch-fold

With Git, chezmoi, and the SSH signing key available, use the restore commands above. Applying sets up Git signing, Cyberpunk diffs, and Mitos as the editor, with syntax grammars, language servers, and formatters. Supporting tools install through pkg and npm.

The package lists install the Go and Rust toolchains, including Cargo, Clippy, rustfmt, and Rust source support. They also install go-global-update and cargo-update for managing tools installed through Go and Cargo.

The fish selection brings over the Cyberpunk prompt, CLI aliases, fuzzy completion, and Go/Cargo executable paths. It selects Fish for new Termux sessions; run exec fish to switch the current session after applying. The update function upgrades Termux packages and installed npm, Go, and Cargo tools.

The hack-font selection installs Hack Nerd Font Mono and reloads Termux's terminal settings after applying.

Enable more apps in .chezmoidata/termux.yaml. Each app defines its target paths and scripts. Packages are listed by package manager in .chezmoidata/packages.yaml: termux for pkg, plus npm, go, and cargo. Termux installs those full lists independently of the app selections. Add an app to termux.enabled, review chezmoi diff, then apply. Mitos (ms) is the shared editor default for Fish, chezmoi, and managed Git configuration.

The mitos selection builds Mitos 0.1.2 and its selected syntax grammars natively on Termux, and installs the shared config, snippets, Cyberpunk theme, spelling dictionaries, and YAML formatter. ms is the selected editor. After syncing these changes, run chezmoi init to refresh chezmoi's editor setting, apply, then run exec fish to refresh the current shell. Git and chezmoi run ms from PATH. Fish selects it through EDITOR, VISUAL, GIT_EDITOR, GIT_SEQUENCE_EDITOR, and GH_EDITOR.

Mitos's personal dictionaries and English ignored-word list link to the word lists in the chezmoi source checkout. To share accepted or ignored words, commit and push those lists, update the checkout on the other machine, and restart Mitos to reload them.

Build your own deck

Fork this repository, initialize chezmoi with your fork's URL, and customize the source before applying. Start with:

Fish, chezmoi, and managed Git configuration select Mitos (ms) on PATH. The hostname tranchion also selects ~/.local/bin/ms for the desktop editor and file associations; restore that separate installation as described above. Hyprland and UWSM retain Helix as their desktop default on other hosts. The Fish helix alias supports the hx executable on Parrot and Termux; it does not change the selected command-line editor.

Loadout

These are the configured tools. The full installation inventory lives in .chezmoidata/packages.yaml.

Desktop, shell, and files
Tool Role Configuration
Hyprland Window management and keyboard workflow dot_config/hypr
Noctalia Desktop shell and Cyberpunk palette noctalia-settings.toml, palette
Fish Shell, prompt, aliases, and updates dot_config/fish
Kitty Terminal dot_config/kitty
Superfile File manager, launched with spf dot_config/superfile
bat / eza File previews and directory listings bat, eza
Fastfetch System information dot_config/fastfetch

Desktop defaults are Kitty, Superfile, Brave Origin, and GNOME Calculator's terminal interface (gcalccmd). Hyprland loads individual Lua modules for bindings, monitors, animations, window rules, and other settings.

Editing and development
Tool Role Configuration
Mitos Shared command-line editor; desktop editor on tranchion dot_config/mitos, English words, Gaelic words
Helix Alternate editor; Hyprland/UWSM default outside tranchion dot_config/helix
Harper Writing assistance and shared dictionary dot_config/harper-ls, dictionary
Git + delta Version control and themed diffs dot_gitconfig.tmpl, dot_gitignore
Codex Coding agent configuration and theme dot_codex
Crush Terminal coding agent configuration dot_config/crush

Language server settings live alongside the editor configurations. Packages include Go, Rust, Bash, Lua, Markdown, TOML, JSON, and YAML tooling. Mitos checks Markdown against English (en_US) and Scottish Gaelic (gd_GB). The GPLv3+ Gaelic Hunspell 3.3 dictionary is downloaded directly from a pinned LibreOffice source via chezmoi externals; personal words are managed separately.

Feeds and communication
Tool Role Configuration
Newsboat Feed reader dot_config/newsboat
Golazo Football scores dot_config/golazo
Linecast Terminal weather dot_config/linecast
Matcha Email configuration and Lua plugins dot_config/private_matcha
Mastui Mastodon profile, keymap, and theme dot_config/mastui

These applications are excluded from the Parrot deployment.

Desktop controls

Super is the main modifier. The full bindings are in binds.lua.

Keys Action
Super + Return Open terminal
Super + Space App launcher
Super + E / T / W Open file manager / editor / browser
Super + H/J/K/L Focus left / down / up / right
Super + Shift + H/J/K/L Move window left / down / up / right
Super + 1–0 Switch to workspace 1–10
Super + Shift + 1–0 Move window to workspace and follow
Super + Q Close window
Super + F Toggle fullscreen
Super + V Clipboard history
Print / Super + Print Region / fullscreen screenshot
Super + grave (backtick) Toggle dedicated scratchpad terminal
Super + S / Super + Shift + S Toggle scratchpad / send window to scratchpad
Super + Ctrl + Escape Lock screen
Super + Alt + C Session menu
Super + / Noctalia keybinding cheatsheet plugin

Color system

The shared palette lives in .chezmoidata/cyberpunk.yaml. Templates read it through .cyberpunk to theme Fish, Git/delta, Kitty, Mitos, Helix, bat, Superfile, Codex, Mastui, Fastfetch, Newsboat, and Noctalia.

Change shared colors there, then inspect the rendered differences with chezmoi diff. Noctalia's selected custom palette is Cyberpunk; Hyprland loads Noctalia's generated theme at the end of hyprland.lua.

Managing the setup

Task Command
Inspect pending changes chezmoi diff
Render a managed file chezmoi cat ~/.config/kitty/kitty.conf
Open the source directory chezmoi cd
Track a file chezmoi add <path>
Apply source changes chezmoi apply
Pull and apply updates chezmoi update

Editing behavior: .chezmoi.toml.tmpl enables edit.apply, git.autoCommit, and git.autoPush. chezmoi edit applies edits on exit, and automatic Git behavior can commit and push source changes. For manual control, edit files directly in the source checkout and review the diff before applying. Adjust those options if you prefer a different workflow.

Live files: Noctalia's ~/.local/state/noctalia/settings.toml, Harper's ~/.config/harper-ls/dictionary.txt, and Mitos's en_US.txt and gd_GB.txt personal dictionaries under ~/.local/state/mitos/dictionaries/ are symlinked to separate files in this checkout. Editing those source files can affect running applications immediately.

Packages: edit .chezmoidata/packages.yaml. The CachyOS installation hook runs when its rendered contents change. Fish's update function runs the platform updater, global npm updates on Parrot and Termux, then available Go, Cargo, and GitHub CLI extension updates. Global npm packages remain unpinned; keep Node compatible with their upstream requirements.

License

MIT — Copyright (c) 2026 Christopher Lamm.

About

My new dotfiles repo.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages