/dotfiles

Primary LanguagePythonMIT LicenseMIT

Dotfiles

This repository contains my dotfiles!

Manual Setup

A few things I haven't bothered to automate.

Git

Create ~/.gitconfig_local like:

[user]
	email = paul@foo.com
	name = Paul Ewing

Wallpaper Rotater

If using wpr, create ~/.config/wpr/config.json like:

{
    "WallpaperDir": "/home/username/Pictures/Wallpapers",
    "DisplayCount": 1,
    "Interval":120
}

Dual Boot Clock Fix

If dual booting with Windows, set hardware clock to local time:

timedatectl set-local-rtc 1

Without this, clock time in Windows will be off.

Applications to Manually Install

The following aren't in apt and need to be installed manually:

  • Chrome
  • Beyond Compare
  • Insync
  • Discord
  • RuneLite

Alacritty is not yet in the default Ubuntu apt repositories:

sudo add-apt-repository ppa:mmstick76/alacritty
sudo apt update

Theming

To make it easier to re-theme everything at once, I use base16 and flavours. See:

The tl;dr of base16 is that it is a system for designing color schemes. base16 schemes consists of a palette of 16 colors - 8 shades and 8 accents. Templates can then be created to render the base16 scheme into various config formats for different applications.

Due to some turbulence in the base16 project, I've added my most used schemes directly to my dotfiles to avoid things breaking if repositories are ever moved or taken down. I've also created my own templates rather than using the defaults.

Using the flavours application, these templates are rendered directly into my dotfiles based on the flavours config:

To apply a new color scheme, download and install flavours.

The first time running, update sources. Even if using schemes/templates committed to my dotfiles, this still appears to be necessary:

flavours update all

Note: We should add flavours installation to the provision script.

Once flavours is installed, set the theme using the set-theme script. This not only executes flavours but also reloads config across various applications to smoothly transition themes.

set-theme <theme-name>

The name should match the corresponding base16 scheme yaml file without the extension. For example:

flavours apply outrun-dark

The official lists of templates and schemes supported by flavours live here:

Manual steps after changing themes:

  • Reload tmux config
    • :source-file ~/.tmux.conf
    • We should figure out how to automate this

TODO

Some remaining items to tackle in regards to theming:

  • Add templates for
    • sway

Windows 10

For setup steps on Windows 10, see:

windows_setup.md

WSL

Some useful things to add to .localrc in WSL.

Remove the background highlighting of folders in ls:

LS_COLORS=$LS_COLORS:'ow=1;34:' ; export LS_COLORS

WezTerm shell integration; this adds some useful features like having new tabs open in the same directory as the previous:

if [ "$TERM_PROGRAM" = "WezTerm" ] && [ -f "$HOME/wezterm.sh" ]; then
    source "$HOME/wezterm.sh"
fi

For now just manually create and copy the wezterm.sh file from here:

https://raw.githubusercontent.com/wez/wezterm/main/assets/shell-integration/wezterm.sh

We could make this a bit nicer by automatically downloading it.