This repository contains configuration files and scripts for configuring my desktop environment on macOS and Linux. The configurations are easily managed using GNU Stow, a symlink farm manager that simplifies the process of keeping dotfiles in order.
GNU Stow is used to manage the dotfiles in this repository. It creates symlinks from a cloned copy of the repository to a specified directory, making it easy to manage and version control configuration files.
To "install" the configuration files in this repository using Stow, I typically run the following command:
stow --target $HOME --verbose .
This command tells Stow to create symlinks in the $HOME
directory for all
configuration files located in the current directory. For more detailed
information about GNU Stow and its capabilities, see the GNU Stow
documentation.
This section is primarily derived from Kirill Kuznetsov's article on securing
macOS with YubiKey, SSH, and
GnuPG.
The setup involves using launchctl
to manage background services critical for
secure operations. Below are the commands used to setup and verify the
configuration:
launchctl load -F $HOME/Library/LaunchAgents/sh.brew.gnupg.gpg-agent.plist
launchctl load -F $HOME/Library/LaunchAgents/sh.brew.gnupg.link-ssh-auth-socket.plist
$ launchctl list | grep sh.brew.gnupg
- 0 sh.brew.gnupg.gpg-agent
- 0 sh.brew.gnupg.link-ssh-auth-sock
$ pgrep -fl gpg-agent
50890 gpg-agent --homedir /Users/lovelettr/.gnupg --use-standard-socket --daemon
$ ssh-add -L
ssh-rsa AAAAB3NzaC...5UNE54ZNTQ== cardno:5413447
For additional script management tips using launchd
on macOS, visit Apple's
guide on script management with
launchd.