davidosomething
dotfiles
Lua

mac OS, Arch Linux, and Debian/Ubuntu + Neovim

Last updated Jul 9, 2026
364
Stars
20
Forks
19
Issues
+1
Stars/day
Attention Score
83
Language breakdown
No language data available.
โ–ธ Files click to expand
README

dotfiles

My dotfiles. My [/uses] post may be of interest to you!

![terminal screenshot][screenshot]

Screenshot of my Zsh prompt

| Tool | Link | | ----------------- | -------------------------------- | | OS support | Arch, macOS, Debian, Ubuntu | | Terminal emulator | WezTerm | | Font | [Maple Mono] | | Shell | Zsh | | Shell plugins | Zinit | | Editor | Neovim | | Tooling/env | [mise] |

  • [XDG] compliance wherever possible to keep $HOME clean
- See [Arch Linux wiki for XDG Base Directory Support] - See [Debian DotFilesList] - See [grawity's notes] and [environ notes]
  • RC files for Lua, markdownlint, node, PHP, python, R, and others

Installation

See macOS specific notes in mac/README.md

  • Install the dotfiles first.
git clone https://github.com/davidosomething/dotfiles ~/.dotfiles

Then, run the bootstrap/symlink script.

  • After symlinking, start zsh or restart the shell -- e.g. run exec zsh.
(If zsh is not available, consider installing it with the system package manager. It is default on mac os.) This will trigger zinit to install. Once mise is installed via zinit you may see warnings about npm dependencies and env vars not defined. - Define the env vars using a zshrc in $LDOTDIR or a local mise config or unversioned ~/.config/mise/conf.d/*.toml file with [env] section. - You should also generate SSH keys using sshkeygen if you do not already have them.
  • mise trust && mise install to install mise-managed tools.
into their XDG Base Directory supported directories and deleting unnecessary things (with confirmation).

Updating

u is an alias to dot. Use u without arguments for usage.

Notes

  • bin/
- There's a readme in bin/ describing each script/binary. This directory is in the $PATH.
  • git/
- The comment character is # instead of ; so I can use Markdown in my commit messages without trimming the headers as comments. This is also reflected in a custom Vim highlighting syntax
  • nvim/
- See nvim/README.md for more information.
  • python/
- Never sudo pip. Set up a python virtual environment.

Local dotfiles are read from $LDOTDIR.

  • Put files zshrc, bashrc, npmrc, and gitconfig here
and they will be automatically sourced, LAST, by the default scripts. No dots on the filenames (i.e. not .zshrc).

rc script source order

If you have node installed, the dkosourced command will show you (not exhaustively) the order scripts get sourced. Without node echo $DKO_SOURCE works.

For X apps (no terminal) the value may be:

/etc/profile
.xprofile
  shell/vars
    shell/xdg

Credits

Logo from [jglovier/dotfiles-logo]

[Arch Linux wiki for XDG Base Directory Support]: https://wiki.archlinux.org/index.php/XDGBaseDirectory_support [Debian DotFilesList]: https://wiki.debian.org/DotFilesList [environ notes]: https://github.com/grawity/dotfiles/blob/master/.environ.notes [grawity's notes]: https://github.com/grawity/dotfiles/blob/master/.dotfiles.notes [jglovier/dotfiles-logo]: https://github.com/jglovier/dotfiles-logo [mise]: https://github.com/jdx/mise [screenshot]: https://raw.githubusercontent.com/davidosomething/dotfiles/meta/meta/terminal-potatosff.png [/uses]: https://www.davidosomething.com/uses/ [XDG]: https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html [Maple Mono]: https://github.com/subframe7536/maple-font

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท davidosomething/dotfiles ยท Updated daily from GitHub