Default dot files for onboardme including bash, neovim, powerline, neomutt, w3m, wezterm, and more :) https://jessebot.github.io/onboardme
Find a file
2022-12-18 02:15:51 +01:00
.config changing powerline before segment from MAIL to nerdfont email alert icon 2022-12-18 02:15:51 +01:00
.cron I always want these cronjobs installed 2022-10-19 10:32:00 +02:00
.local/bin make imgcat work, remove zathura for the time being, remove unused it2setkeylabel command because it should be in ~/.iterm2 already 2022-12-03 15:19:21 +01:00
.vim update template.py to use python 3.11 2022-12-04 00:54:49 +01:00
.w3m make imgcat work, remove zathura for the time being, remove unused it2setkeylabel command because it should be in ~/.iterm2 already 2022-12-03 15:19:21 +01:00
Library/Application Support/iTerm2/DynamicProfiles update the default dynamic profiles for iterm2 to have spacechalk vs minimal 2022-12-03 12:37:15 +01:00
.bash_profile make imgcat work, remove zathura for the time being, remove unused it2setkeylabel command because it should be in ~/.iterm2 already 2022-12-03 15:19:21 +01:00
.bashrc remove powerline segment data 2022-12-17 15:50:29 +01:00
.bashrc_k8s remove kind pathing because brew is already done, probably 2022-12-13 22:25:39 +01:00
.gitconfig fix gitconfig spacing 2022-12-17 15:50:29 +01:00
.gitignore make sure personal data never gets checked in 2022-12-09 11:10:43 +00:00
.hyper.js feat: adds basic spacechalk color scheme for hyper 2022-10-26 18:00:43 +02:00
.iterm2_shell_integration.bash make imgcat work, remove zathura for the time being, remove unused it2setkeylabel command because it should be in ~/.iterm2 already 2022-12-03 15:19:21 +01:00
.tmux.conf upgrading to python3.11 2022-11-16 14:14:05 +01:00
.vimrc disable autoimports 2022-12-08 16:03:43 +00:00
.zshrc adding some basic zshrc stuff and removing a bunch too 2022-12-08 20:55:29 +01:00
LICENSE Initial commit 2022-10-19 10:02:08 +02:00
README.md explain onboardme in readme 2022-12-17 15:50:29 +01:00

Dot Files for onboardme

These started as my personal dot files, but then they became the sensible defaults for onboardme, which started out as a script to manage my dot files. Funny how these things work. 🤷

These directories/files are installed to your home directory.

Sections for each config directory/file

.config
asciinema

File: ~/.config/asciinema/config

Config file for asciinema, a lightweight, purely text-based approach to terminal recording. Currently it just sets the shell command to be /bin/bash --login, which loads your bash variables. This could be changed to a different shell and their equivilent.

bat

File: ~/.config/bat/config

Config file for batbat, a cat replacement with sytax highlighting and git support. Currently the config file:

  • sets a default theme
  • enable italic text
  • maps Chart.lock files to YAML syntax (this is for the helm charts for k8s)

The goal is to have a spacechalk-like theme soon :)

gh

File: ~/.config/gh/config.yml

Config file for gh, the GitHub CLI. There's not a ton in there, but it uses rich-cli as a prettier pager, and firefox as a browser, and setting vim as an editor. The rest is stock, and subject to change.

glab-cli

File: ~/.config/glab-cli/config.yml

Config file for glab, an open source GitLab CLI tool. There's not a ton in there, but it uses a dark theme, firefox as a browser, and vim as an editor. The rest is stock, and subject to change.

iterm2

Symlinked File: [~/Library/Application\ Support/iTerm2/DynamicProfiles/Profiles.json](Library/Application\ Support/iTerm2/DynamicProfiles/Profiles.json)

iterm2 default profile with spacechalk colorscheme, and then a minimal profile with basically nothing special and a plain .bash_profile.

karabiner

File: ~/.config/karabiner/karabiner.json

Config file for karabiner, which is used to map capslock to control on macOS and other key remapping that can be really useful.

kitty

Files:

Config files related to kitty, a terminal emulator. Cute open source kitty icon image by DinkDonk, as well as a basic kitty.conf to use some nerdfonts, and set up look and feel on macOS.

lsd

File: ~/.config/lsd/config.yaml

Config file for lsd, an ls alternative with icons and pretty colors. There's an intension to write and release a spacechalk theme for lsd eventually.

lsimg

File: ~/.config/lsimg/config.yaml

This is a local project that I'm working on to rewrite a bash script in python, to do basic checking of images in the terminal. I might remove it though, because after discovering ranger, it might not be really needed 🤷

neofetch

File: ~/.config/neofetch/config.conf

Config file for neofetch, a command-line system information tool written in bash 3.2+. The intension is to pair down information to only what's needed, and maybe have a cute image :)

neomutt

Files:

Config files for NeoMutt, a terminal based email client. Config includes:

  • sets spacechalk theme, based on the neonwolf colorscheme and neomutt powerline
  • sets character set to be utf-8 (emojis 🧑‍💻)
  • sets basic IMAP and SMTP settings
  • sets tls by default
  • sets header_cache and message_cachedir to be ~/.cache/mutt (must be a directory, NOT a file)
  • sets navigation keys similar to vim
  • set a key binding for V to be opening html attachments
  • removes the prompt of hitting enter after viewing an attachment

You'll still need to create ~/.config/neomutt/keys with the following info:

set my_user=you@youremail.com
set my_name="Your Name"

# if you're using protonmail this is the password from protonmail-bridge,
# after you login, not your actual email password
set my_pass="areallycoolpasswordfordogs"

Config file for NeoMutt's MIME Support, which is how NeoMutt, a TUI email client, handles attachments e.g. html in an email body, PDFs, images...

We currently open these applications for these file types:

file type application
html w3m
PDFs macOS preview
images img2sixel
nvim

Config files for neovim is a hyperextensible Vim-based text editor, which is in some ways a sucessor to vim. It's a lot faster, for one, and there's more support for more languages, which means more plugins. Uses packer to manager neovim plugins.

Each file explained below:

init.lua

The main global configuration changes are:

  • turning off mouse scrolling
  • enabling line numbers
  • adding a cursorline
  • setting column 80 to be a different color for tidy code
  • enabling gui colors so you aren't limited to like 8 colors
  • uses the spacechalk colorscheme
  • sources all the files in ~/.config/nvim/lua, including packer, plugins, and local plugin configs.

~/.config/nvim/packerinit.vim

This is a quick and dirty lua function to print " ♥ ♥ ♥ " if neovim is running in an interactive session and packer completes an action, and to exit if we're running headless, meaning we're running in a script.

~/.config/nvim/lua/plugins.lua

This is the configuration for packer, our plugin manager for neovim. It installs packer, and then all of our plugins. You can check out all the plugins that are installed, or called from vim plugins starting on line 15.

~/.config/nvim/lua/user/airline.lua

sets defaults for airline, a status line for vim and neovim. The configurations are:

  • use spacechalk theme
  • enables powerline fonts (fun icons)
  • disables empty sections of the status line
  • enables the ale extension to work with airline for linting
  • changes the default dividers to be  and '
  • sets a line number percentage function for a slimmer ln segment

~/.config/nvim/lua/user/ale.lua

sets defaults for ale such as:

  • enable ale by default
  • error icons are now  and warn icons are now 
  • don't lint on text changes, only on mode changes
  • use lints for python such as ruff and flake8
  • run autofixers on save
  • move between errors

~/.config/nvim/lua/user/dashboard.lua

config for a starting screen dashboard for neovim. You should just check out the file to see what's being done. It's cute ascii art, and utilizes telescope to check out your files and previously opened files.

~/.config/nvim/lua/user/folding.lua

config file to enable folding, which is just vim speak for collapsing blocks of code. Sets some defaults.

~/.config/nvim/lua/user/nvim-tree.lua

config file for nvim-tree, a neovim file explorer written in lua, with icons.

Opens on opening of any file, and auto-adjusts its window size.

~/.config/nvim/lua/user/tree-sitter.lua

config file for the nvim tree-sitter plugin, which helps with syntax highlighting of various languages.

currently installing syntax for: "lua", "yaml", "bash", "hcl"

Powerline

Configuration files for powerline, a status line for BASH and tmux. We enable a spacechalk color theme as well as:

  • local IP address
  • hostname
  • current working directory
  • git status info
  • kubernetes info
  • laptop battery information
  • the time
  • status of last run command (only appears if exit code is not 0)

Currently working on getting mail notifications working.

Files for colors:

Files for configuring powerline for a login shell, and the console shell:

File for configuring tmux status line:

Ranger

Files:

ranger is a TUI file manager. Current configurations:

  • enable file previews using iterm2
  • enable video previews using ffmpegthumbnailer
  • enable svg previews.
terminator

File: ~/.config/terminator

Default config for my favorite terminal from my starting days in tech, [terminator]. We set some basic spacechalk-esk colors, transparency, and mononoki fonts.

.cron
local cron jobs for alarms, and package manager updates
.local/bin

Files:

This is just where we throw a few really simple scripts like:

Command Description
utc for ease of use printing the time in UTC
iterm2-splits open split in iterm2 and send a command to it
w3m-splits open split in iterm2 and send a website or HTML file to w3m

w3m-splits is mostly useful for NeoMutt, but anything is possible 🤷

.vim*

Configuration for vim, a text editor, and it's plugins, installed via vim-plug.

~/.vimrc is the main file for the global vim configuration. We set a lot of defaults, including:

  • setting window width to 82 characters
  • enabling line numbers
  • enabling highlighting of column cursor is on
  • add a colored column on column 80 for tidy python
  • sets a nerd font for vim
  • enable syntax highlighting
  • use spacechalk colorscheme
  • configure icons for VimDevicons, and NERDTree
  • ale icons changed, ale linters and fixers set for python
  • gitgutter icons
  • folding defaults
  • sets backups
  • allow backspace in insert mode
  • default tabbing
  • set search history
  • installs all the plugins here
  • uses template files below

Auto-install vim-plug:

Files for syntax highlighting for python, ssh_known_hosts, and .toml files:

Files for default values in a python or markdown file:

.w3m

Files:

Files for the w3m terminal based web browser. This config sets:

  • set default mailcap for MIME types
  • always display images
  • quit without asking if we hit qq
  • use vim like key bindings
.bash_profile, .bashrc, .bashrc_k8s

Configuration files for BASH. The .bash_profile just sources the .bashrc, since macOS default looks for .bash_profile instead of .bashrc.

The .bashrc sets the following defaults:

  • turns off bells
  • sets vim as your text editor
  • enables 256 colors
  • fix how less handles non-text input files
  • change the default colors for less used in man pages
  • set history sizes
  • set pathing for golang and python
  • enable tab completion
  • aliases away MANY typos
  • aliases a bunch of shorter commands to longer commands
  • changes default pagers used when file is too long for catting
  • runs neofetch when you source it
  • sources any other files called .bashrc*

The .bashrc_k8s is for kubernetes defaults:

  • set pathing for krew, a plugin manager for kubectl.
  • helpful sensible aliases such as: kg for kubectl get
.gitconfig

Default git config file. We set the following parameters:

  • Default branch for new repos is main
  • Push up to remote automatically if it's a new branch
  • color is always on
  • set specific terminal colors for:
    • git branch
    • git status
    • git diff

We also include this block, which allows you to have a personal gitconfig file:

[includeIf "gitdit:~/"]
    path = .gitconfig-personal

You can create a ~/.gitconfig-personal file and store info such as:

[user]
    email = fido@coolemailproviderfordogs.com
    name = Fido Gooddog
.gitignore

Git ignore file for all sorts of things in your home directory that should never get committed if this repo is used as your home directory dot files.

.hyper.js

Sensible defaults for the hyper terminal emulator.

.iterm2_shell_integration.bash

This is for installing the iterm2 shell integration for macOS.

.tmux.conf

Config file for tmux. Currently, it will:

  • Sets 256 colors
  • enable the powerline tmux status line
.zshrc

Recently started giving this some TLC, but still in it's infancy to be match the .bash configs. Currently we:

  • set some useful aliases
  • set the same powerline prompt as bash