2022-05-11 20:02:19 -04:00
|
|
|
# dotfiles
|
2022-06-06 12:12:26 -04:00
|
|
|
|
2022-05-11 20:02:19 -04:00
|
|
|
too many dotfiles
|
2022-10-15 19:19:55 -04:00
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
2023-07-12 01:22:07 -04:00
|
|
|
Use [GNU Stow][stow] (`apt install stow`, etc.). The repo has a `.stowrc` which
|
|
|
|
should target your home directory as the installation directory, but in some
|
|
|
|
cases the `~` may not be evaluated and you'll have to specify
|
|
|
|
`--target="$HOME"`.
|
2022-10-15 19:19:55 -04:00
|
|
|
|
2023-07-12 01:11:18 -04:00
|
|
|
Install the essentials with `stow zsh vim git`.
|
2022-11-16 22:06:44 -05:00
|
|
|
|
|
|
|
## Notes
|
|
|
|
|
|
|
|
### Git
|
|
|
|
|
2023-07-12 01:22:07 -04:00
|
|
|
Most of my git configuration lives in `~/.config/git/personal.gitconfig`, which
|
|
|
|
is `include`d from `~/.gitconfig`. I do this to separate system-specific
|
|
|
|
configuration that may be set by automated tools (i.e. the Github CLI setting up
|
|
|
|
credential managers for guthub.com and gist.github.com) from my personal,
|
|
|
|
cross-platform configuration (e.g. my identity and aliases).
|
2022-11-16 22:06:44 -05:00
|
|
|
|
2023-07-12 01:22:07 -04:00
|
|
|
Keep configuration that should be synced between computers in the
|
|
|
|
`personal.gitconfig` file, and after cloning the repository, consider telling
|
|
|
|
Git to ignore local changes to the main `.gitconfig` file:
|
2022-11-16 22:06:44 -05:00
|
|
|
|
|
|
|
git update-index --skip-worktree git/.gitconfig
|
2022-11-16 22:08:08 -05:00
|
|
|
|
2023-07-14 16:13:47 -04:00
|
|
|
### zsh
|
|
|
|
|
|
|
|
The zsh config has secrets now, because of the prompt username color fetching
|
|
|
|
thing. You'll probably want to avoid committing your secrets:
|
|
|
|
|
|
|
|
git update-index --skip-worktree zsh/.config/zsh/config.d/00_secrets.zsh
|
|
|
|
|
|
|
|
The prompt will still work if you don't fill in anything in that file, it'll
|
|
|
|
just always be the default color (your terminal's `cyan`).
|
|
|
|
|
2022-11-16 22:13:00 -05:00
|
|
|
### KDE
|
2022-11-16 22:08:08 -05:00
|
|
|
|
2023-07-24 23:32:23 -04:00
|
|
|
KDE stuff is split up a lot. If you want everything, `stow kde-*` should work in
|
|
|
|
all the shells I care about.
|
|
|
|
|
2023-07-25 00:22:08 -04:00
|
|
|
#### `kde-autostart-ksuperkey`
|
2023-07-24 23:32:23 -04:00
|
|
|
|
|
|
|
Adds an autostart entry for `/usr/bin/ksuperkey -e 'Super_L=Alt_L|F2'`, which
|
|
|
|
maps presses of the left meta key to Alt+F2 (the default bind for krunner).
|
|
|
|
[ksuperkey][ksuperkey] can only be used in X, it breaks on Wayland. Install it
|
2023-07-25 22:30:34 -04:00
|
|
|
via adding dependencies, cloning, `make`, and `make install`:
|
2023-07-24 23:32:23 -04:00
|
|
|
|
2023-07-25 22:30:34 -04:00
|
|
|
# on debian/etc:
|
|
|
|
# sudo apt install git gcc make libx11-dev libxtst-dev pkg-config
|
|
|
|
# on fedora-based things:
|
|
|
|
# sudo dnf install git gcc make libX11-devel libXtst-devel pkgconfig
|
2023-07-24 23:32:23 -04:00
|
|
|
mkdir -p ~/src/github.com/hanschen
|
2023-07-25 00:21:41 -04:00
|
|
|
cd ~/src/github.com/hanschen
|
|
|
|
git clone https://github.com/hanschen/ksuperkey.git
|
2023-07-24 23:32:23 -04:00
|
|
|
cd ~/src/github.com/hanschen/ksuperkey
|
|
|
|
make
|
|
|
|
sudo make install
|
|
|
|
|
2023-07-25 00:43:08 -04:00
|
|
|
#### `kde-autostart-syncthing`
|
|
|
|
|
|
|
|
Adds an autostart entry for
|
|
|
|
`/usr/bin/syncthing serve --no-browser --logfile=default`, which starts
|
|
|
|
Syncthing without opening the web UI and logs to files in
|
|
|
|
`~/.config/syncthing`. Install [Syncthing][syncthing] via your package manager,
|
|
|
|
probably.
|
|
|
|
|
2023-07-25 00:22:08 -04:00
|
|
|
#### `kde-dolphin`
|
2023-07-24 23:32:23 -04:00
|
|
|
|
|
|
|
Configuration for Dolphin. Mostly toolbar layout and icon sizes.
|
|
|
|
|
2023-07-25 00:22:08 -04:00
|
|
|
#### `kde-icon-*`
|
2023-07-24 23:32:23 -04:00
|
|
|
|
|
|
|
Custom icons for various apps I use. They wind up in
|
|
|
|
`~/.local/share/icons/hicolor/*` alongside other icons for user-installed apps.
|
|
|
|
|
2023-07-25 00:22:08 -04:00
|
|
|
#### `kde-konsole`
|
2023-07-24 23:32:23 -04:00
|
|
|
|
|
|
|
My Konsole profile, as well as some additional configuration for default window
|
|
|
|
size on different screens. You can see what screen sizes I use in here!
|
|
|
|
|
2023-07-25 00:21:41 -04:00
|
|
|
Konsole also stores window *position* in this file, which I super do not care
|
|
|
|
about. You will probably want to skip-worktree this file as well:
|
|
|
|
|
|
|
|
git update-index --skip-worktree kde-konsole/.config/konsolerc
|
|
|
|
|
2023-07-25 00:22:08 -04:00
|
|
|
#### `kde-krunner`
|
2023-07-24 23:32:23 -04:00
|
|
|
|
|
|
|
Just adds a `.desktop` entry that launches krunner. Mostly useful as a thing I
|
|
|
|
used to keep on my application switcher, but nowadays I don't really use it - if
|
|
|
|
I have a launcher icon on my dock at all, it'll be a proper switcher so I can
|
|
|
|
log out/shutdown/etc without my keyboard if I need to.
|
|
|
|
|
2023-07-25 00:22:08 -04:00
|
|
|
#### `kde-kwin-apprules`
|
2023-07-24 23:32:23 -04:00
|
|
|
|
|
|
|
Custom application rules for `kwin`. Files in `~/.local/share/color-schemes`
|
|
|
|
come from [my repo of KDE titlebar color schemes][colors].
|
2023-07-12 01:22:07 -04:00
|
|
|
|
2023-07-25 00:22:08 -04:00
|
|
|
#### `kde-spectacle`
|
2023-07-25 00:17:19 -04:00
|
|
|
|
|
|
|
Configures Spectacle to act more like ShareX or macOS's screenshot tool by
|
|
|
|
default - pressing print screen will bring up rectangle select, and hitting
|
|
|
|
enter will save the screenshot to disk and copy the image contents to the
|
|
|
|
clipboard. My screenshots are saved to
|
|
|
|
`~/Pictures/Screenshots/YYYY-MM/YYYYMMDDHHmmSS.png`.
|
|
|
|
|
2023-07-25 00:38:46 -04:00
|
|
|
Spectacle also stores the path of the last saved image in config, so it's
|
|
|
|
another one for skip-worktree:
|
|
|
|
|
|
|
|
git update-index --skip-worktree kde-spectacle/.config/spectaclerc
|
|
|
|
|
2023-07-12 01:22:07 -04:00
|
|
|
[colors]: https://github.com/eritbh/kde-application-titlebar-themes
|
2023-07-24 23:32:23 -04:00
|
|
|
[ksuperkey]: https://github.com/hanschen/ksuperkey
|
|
|
|
[stow]: https://www.gnu.org/software/stow
|
2023-07-25 00:43:08 -04:00
|
|
|
[syncthing]: https://syncthing.net
|