Dotfiles/README.md
2024-04-19 16:41:12 -04:00

2.4 KiB

Dotfiles

These are my dotfiles. As you will notice, they are quite simple. Over the years, I have built up many complex and fancy init scripts for many different programs, but I've come to realize that sometimes simplicity and defaults are better.

The dotfiles here are just the basics—useful aliases and functions that have stuck around throughout the years. They're minimal, but useful. The main part of my .ashrc is the customized prompt, which supports showing the current git branch.

My shell init scripts are written in POSIX shell, so they should work on any shell. As I've hopped from Ubuntu to Arch to OpenBSD to FreeBSD and now to Alpine, I've used a lot of shells, and I want my init scripts to work on all of them out of the box.

System Setup

My current operating system of choice is Alpine Linux. If I ever re-install, this is the set up procedure:

setup-desktop gnome
apk add networkmanager-wifi wpa_supplicant
rc-update add wpa_supplicant default
rc-update add networkmanager default

# Printing
apk add system-config-printer cups cups-filters
rc-update add cupsd default

# Scanning
apk add sane-backends # Gnome scanner will pick up network scanners now

# Other GUI applications
apk add libreoffice musescore nextcloud-client

# Spell checking in Libreoffice.
apk add hunspell hunspell-en hunspell-en-us

# Development
apk add neovim pandoc git less make gcc musl-dev openssl-dev mandoc man-pages

To make sure sound and webcams work:

doas addgroup $USER audio
doas addgroup $USER video

Firefox

I use the following Firefox extensions:

Files

Theoretically, everything important that I care about should live in ~/Documents and ~/Projects, so I just have to copy those folders over to new systems.

Backup

I use the following command to back up my stuff to my server, which then takes a ZFS snapshot for me:

rsync -av --delete --exclude .cache "$HOME/" server:$HOME/"

Eventually I will use ZFS on my laptop.