Skip to content

ambirdsall/dots

Folders and files

NameName
Last commit message
Last commit date

Latest commit

35b3d56 · Mar 4, 2025
Mar 4, 2025
Oct 26, 2024
Sep 9, 2024
Feb 10, 2025
Feb 18, 2025
Aug 24, 2023
Apr 6, 2023
Feb 15, 2025
Feb 15, 2025
Feb 28, 2025
Mar 4, 2025
Mar 4, 2025
Aug 22, 2024
Sep 7, 2024
Oct 26, 2024
Jan 13, 2025
Jan 17, 2025
Mar 4, 2025
Mar 4, 2025

Repository files navigation

dotfiles

These are my linux/macOS configuration files. They’re tracked in a git repository separate from the working tree, which is just my home directory; this replaces an ongoing symlink song and dance for a little upfront setup effort. Given that the upfront work can be copy-pasted, it’s a pretty great tradeoff.

to install on a new computer

To get up and running:

  1. clone the dotfiles repo
  2. copy the files over to their proper locations, and
  3. configure the dotfile git repo to ignore all untracked files

The last step is so neither I nor you ever accidentally push our whole home directory to github, lol. So:

git clone --separate-git-dir=$HOME/.dots git@github.com:ambirdsall/dots.git tmpdotfiles
rsync --recursive \
      --verbose \
      --exclude '.git' \
      --backup --suffix=.dots.orig \
      tmpdotfiles/ $HOME/
rm -r tmpdotfiles

git --git-dir=$HOME/.dots/ --work-tree=$HOME config --local status.showUntrackedFiles no

If you’ve already installed emacs, you can now run

make install

followed by whichever of the following is appropriate

make linux
make macos

Now, aspirationally:

dots doctor

Once you have a clean bill of health, tangle all literate configs with

dots tangle

managing this git directory

The ~/bin/dots file provides a dots command to handle all interaction with the git repo. It wraps git, passing the correct directories to --git-dir and --work-tree and paving a few common paths:

dots
defaults to git status -s when called with no arguments
dots c some commit message
expands to dots commit -m "some commit message"

todo list

install roboto mono in all OSes (for experimenting with NANO emacs)

persistently tangle literate configs in dots repo on save

define a new after-save hook in emacs to tangle dots literate configs based on file-local variables

org-mode-specific

usually a noop

relies on buffer-local variables being defined

set those values for all literate configs with magic comments

…profit?

cli script to tangle all literate configs in dots repo

cf.

doom help +org tangle

dots tangle? dots tangle <file>?

make tangle maybe should exist too but only by shelling out to dots.

computer problems I have known

macbook pro 12,1 + xfce :: fixing scroll directions

I had to add this to /usr/share/X11/xorg.conf.d/40-libinput.conf, with separate edits needed for the Section entries for pointer and touchpad, e.g.:

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        # 👋👇 yes hello this is new
        Option "NaturalScrolling" "true"

After doing so, I also had to set the scrolling direction inside xfce4-settings-manager > Mouse and Touchpad separately for each mouse/touchpad device; then log out and back into XFCE. Only then could I override the default scrolling direction (which was the wrong one).