dotfiles/README.md

68 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# dotfiles
Heres my dotfiles, inspired by people like Mathias. See his dotfiles at
[`https://github.com/mathias/dotfiles`](https://github.com/mathias/dotfiles).
The idea Im currently going down is to create a symlink from `$HOME` to this
directory. There is one exception to this, the `.gitconfig` file. I dont want actual commiter details committed into this repo. So my git credentials are
stored in a `.extra` file which gets sourced. This then calls the relavent git
command, which causes git to edit `$HOME/.gitconfig`. If that file was a symlink
to this repo, then the repo would see the file as edited and the repo would then
be in a dirty state, permanently.
## Usage
First clone the repo.
As mentioned above my git credentials are stored in an untracked file:
`$HOME/.extra`. This must be manually created, mine looks something like:
```
# Git credentials
GIT_AUTHOR_NAME="Jonny Barnes"
GIT_COMMITER_NAME="$GIT_AUTHOR_NAME"
git config --global user.name "$GIT_AUTHOR_NAME"
GIT_AUTHOR_EMAIL="jonny@jonnybarnes.uk"
GIT_COMMITER_EMAIL="$GIT_AUTHOR_EMAIL"
git config --global user.email "$GIT_AUTHOR_EMAIL"
```
Run `./boostrap.sh`, this will create all the necessary symlinks, then source
`.zshrc`.
> [!WARNING]
> This is a **destructive** process, so backup your dotfiles first.
## Auto switch between light and dark mode
To switch between dark and light mode automatically, we use a helper lib.
Clone it from `https://github.com/bouk/dark-mode-notify` then run `make` and `make install`.
Then make a script to run is automatically, put the plist where your system can find it: `~/Library/LaunchAgents/ke.bou.dark-mode-notify.plist` with the following content:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>ke.bou.dark-mode-notify</string>
<key>KeepAlive</key>
<true/>
<key>StandardErrorPath</key>
<string>/Users/jonny/.local/var/log/dark-mode-notify-stderr.log</string>
<key>StandardOutPath</key>
<string>/Users/jonny/.local/var/log/dark-mode-notify-stdout.log</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/dark-mode-notify</string>
<string>/Users/jonny/git/dotfiles/zsh/dark-mode-notify.zsh</string>
</array>
</dict>
</plist>
```
Make the log file and script file point to the right location. For clarity `dark-mode-notify.zsh` is in this repo.