mac OS, Arch Linux, and Debian/Ubuntu + Neovim
My dotfiles. https://github.com/davidosomething/dotfiles
My /uses post my be of interest to you!
Screenshot of my ZSH prompt
Tool | Link |
---|---|
OS support | Arch, macOS, Debian, Ubuntu |
Terminal emulator | wezterm |
Shell | zsh |
Shell plugins | zinit |
Editor | neovim |
Tooling/env | mise |
$HOME
clean
See macOS specific notes in mac/README.md
Generally:
git clone https://github.com/davidosomething/dotfiles ~/.dotfiles
Then, run the bootstrap/symlink script for linux or bootstrap/mac for macOS.
After symlinking, bootstrap/cleanup can detect and move pre-existing dotfiles that conflict with these (mac does this).
After symlinking and restarting shell, aliases will be available.
The sshkeygen
alias will help in generating a new SSH key.
Use mise
These will assist in installing packages and dotfiles. Best to have the environment set up first.
u
is an alias to dot. Use u
without arguments for usage.
bin/
bin/
describing each
script/binary. This directory is in the $PATH
.git/
#
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 syntaxlocal/
zshrc
, bashrc
, npmrc
, and gitconfig
here
and they will be automatically sourced, LAST, by the default scripts. No
dots on the filenames.
nvim/
python/
sudo pip
. Set up a python virtual environment.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
#!/usr/bin/env bash
shebang and write with bash compatibilityfun
, there should be a __fun()
that gets
called with the original arguments __fun $@
.
over source
__private_func()
These function names are safe to reuse after running the script once. When
namespaced, they are in the form of __dko_function_name()
.local
and readonly
variables as much as possible over
global/shell-scoped variables.==
for string comparison(( A == 2 ))
for integer comparison (note not $A
, $
not
needed)Logo from jglovier/dotfiles-logo