/.dotfiles

Config files for the various tools that make up my terminal environment

Primary LanguageNix

.dotfiles

Environment Setup

  1. update system

    sudo apt update && sudo apt update -y && sudo autoremove
  2. install git, stow, and others

    sudo apt install -y git stow tmux ripgrep openssh-server i3 htop xclip neofetch
    # (?) sudo apt install barrier
  3. clone this repo & open this file

    cd && git clone https://github.com/n-sweep/.dotfiles
    vi ~/.dotfiles/README.md

Table of Contents

  1. README.md
  2. bash
    1. .bash_aliases
    2. .bashrc
    3. .inputrc
  3. cl_zsh/.zshrc
  4. firefox
  5. journals
  6. jupyter
  7. noted
  8. nvim
  9. scripts
  10. tmux
  11. wezterm
  12. zsh

README.md

This file.

bash/

Bash settings and aliases

This directory gets symlinked to the home folder:

stow bash -d ~/.dotfiles -t ~

.bash_aliases

Bash aliases

.bashrc

  1. default bash settings
  2. history settings
  3. smart prompt
  4. personal settings
  5. cl settings
  6. anaconda initialization (automatically generated)

.inputrc

  1. change cursor depending on vi mode
  2. completion settings

firefox/

Firefox Cuscomization

Customize firefox to use an image on the system in a blank tab

  1. navigate to about:config
  2. find toolkit.legacyUserProfileCustomizations.stylesheets & toggle to true
  3. navigate to about:support
  4. locate Application Basics > Profile Directory
    • /home/n/.mozilla/firefox/ut79gu00.default-release
    • this changes, maybe when firefox is updated. I wonder if there is a way to get it programatically
  5. stow the ./chrome folder to the Profile Directory
    stow firefox -d ~/.dotfiles -t ~/.mozilla/firefox/ut79gu00.default-release
  6. copy an image to the file /usr/share/backgrounds/wallpaper to be used as the newtab wallpaper

[TODO] I also have a firefox setting that shrinks the UI. I forget what it is; find and document

  1. navigate to about:config
  2. find perpx
  3. change to scale where 1 = 100%

chrome/userContent.css

CSS for setting blank tab background image

i3/.config/i3/config

This directory gets symlinked to the home folder:

mv .config/i3/config .config/i3/default_config.bak
stow i3 -d ~/.dotfiles -t ~

jupyter/

Settings for jupyter

Jupyter notebook themes

pip install jupyterthemes
pip install --upgrade jupyterthemes

jt -t gruvboxd -f ubuntu -nfs 11 -T -N -kl

create_nb.sh

Use JupyText to create a new jupyter notebook based on a template

[TODO] should I move the script to scripts/ instead of jupyter/

templates/

Notebook templates

temp.py

nvim/.config/

The parent directory gets stowed to the home folder

stow nvim -d ~/.dotfiles -t ~

pycodestyle

code style settings

ignoring E501, E116

nvim/

This directory contains lua to be run by neovim at startup

init.lua  # entrypoint - runs automatically at startup
lua/
    nsweep/  # my user settings
        init.lua
        plugin.lua
        remap.lua
        set.lua
    keysender/  # send keys from neovim to tmux pane
        init.lua
        README.md
    slipbox/  # zettelkasten navigator
        assets.lua
        init.lua
        keymap.lua
        README.md
after/plugin/  # lua run automatically after nvim loads
    colorscheme.lua
    harpoon.lua
    jupynium.lua
    jupytext.lua
    lsp.lua
    lualine.lua
    markdown-preview.lua
    nvim-autopairs.lua
    telescope.lua
    tmux.lua
    treesitter.lua
    undotree.lua
    vim-fugitive.lua

scripts/

This directory contains (primarily bash) scripts

path/

Scripts in this directory get symlinked to ~/bin

if [ ! -d "$HOME/bin" ]; then mkdir $HOME/bin; fi
stow path -d ~/.dotfiles/scripts -t $HOME/bin 
# OR the alias
# stowpath 

Small scripts

  • scratch
    • cd into /tmp/scratch/ and run nvim. mkdir if it doesn't exist.
  • stowpath
    • stows everything from ~/.dotfiles/scripts/path to ~/bin

emoji

an emoji command line tool using Open Emoji API, fzf, and ripgrep

# echo emoji to terminal
$ emoji waving hand
> 👋

# copy emoji to clipboard
$ emoji -c waving hand

# replace multiple emoji with :colon-syntax:
$ emoji -m "an :avocado: is a fruit. so is a :tomato:. they do not belong in a fruit salad. :grinning-face-with-sweat:"
> an 🥑 is a fruit. so is a 🍅. they do not belong in a fruit salad. 😅

$ echo "an :avocado: is a fruit.\nso is a :tomato:.\nthey do not belong in a fruit salad. :grinning-face-with-sweat:" > /tmp/text.txt
$ emoji -m "$(cat /tmp/text.txt)"
> an 🥑 is a fruit
> so is a 🍅
> they do not belong in a fruit salad 😅

tmux/

This directory gets symlinked to the home folder

stow tmux -d ~/.dotfiles -t ~

.tmux.conf

[TODO] document

tmux_status_right

[TODO] document

wezterm/

This directory gets symlinked to the home folder

stow wezterm -d ~/.dotfiles -t ~

.wezterm.lua

[TODO] document