apkv | Loading last commit info... | |
base | ||
bin | ||
etc | ||
gnupg | ||
gui/fonts | ||
librewolf | ||
ssh | ||
syslinux | ||
termux | ||
.editorconfig | ||
.gitignore | ||
.gitmodules | ||
LICENSE | ||
NOTICE | ||
README.md | ||
install.sh |
sev's dotfiles
I call them dotfiles, but really these files cover a large number of softwares, and not just traditional "dotfiles" as expected by the *nix ecosystem.
Software versions
In general, the versions of any software that have provided configuration(s) in
this repository are expected to be fully up-to-date with the latest release
version of said software at the time of commit, which may be one or several
versions newer than what many "stable" or "long-term service" operating
systems/package repositories provide. For example, as of this writing, many
stable repos do not have the latest Vim 9, which contains the editorconfig
optional package. Users of older Vim versions will see errors when trying to
load these new packages every time Vim is started.
Supported software
This project configures the following software:
- Git
- GnuPG
- Note: I specify my own key ID and keygrip in
gnupg.conf
andsshcontrol
, so you should specify your own if you will be using GPG.
- Note: I specify my own key ID and keygrip in
- LibreWolf
- Python
- SSH
- Syslinux
- Termux
- Vim
- XDG User Directories
- Note: Both environment variables (loaded by Zsh) and files
(
etc/user-dirs.*
) are configured.
- Note: Both environment variables (loaded by Zsh) and files
(
- Zsh
Provided files
Outside of configuration, I also provide data files:
- Fonts
- Dina (TTF and PCF)
- Adobe Source Pro (Sans and Serif)
- Scripts
apkv
colors
: Shows all 8-bit terminal color foreground and background combinations, including effects like bold.gpg-learn-keys
: Update GPG Agent with any recently plugged in hardware security keys.pinentry
: A wrapper script that picks out the bestpinentry
script installed on the system, by my own metrics of course.setup-perl5
: Short script that sets up Perl 5 with thelocal::lib
package usingcpanm
. Because I always forget when I need it most.ykman-oath-reload
: Clear a YubiKey's OATH entries and reload them from a file or standard input, using Google'sotpauth
scheme. One per line.
Install
Run install.sh
from the project directory. It will handle linking all the
files to the correct places, and moving user directories to their new homes, if
present.
Should I use this?
Honestly, I wouldn't recommend installing this to your own profile. Install it to a new profile and see if you like my changes. If so, take the parts you like for yourself. In particular, my Zsh configuration is very overengineered and specific to my tastes. It has the same kind of effect as if you had installed an opinionated configuration like Oh My Zsh, but without the end-user configuration, community, and plugins.
I do, however, spend a lot of time trying to make sane baselines (by my own
metrics and sensibilities) for both Zsh and Vim, which includes providing
compatibility for other softwares. For example, my Zsh supports loading SSH and
GPG agents based on a number of factors, including support for Termux OkcAgent,
and automatic GPG socket forwarding; Vim supports providing a like-for-like
experience no matter if you're using vanilla Vim, Vim with a system-installed
sensible.vim
by Tim Pope (this is the case on Termux), and Neovim. If
anything, there is much to be learned in such areas. I try to leave as many
comments as I can in the configurations and code I make, mostly for future me,
but also for anyone else that might be reading.
License
This project, except for directory trees containing their own LICENSE
file or
where otherwise noted, is licensed under the Apache License, Version 2.0 (the
"License"); you may not use it except in compliance with the License. A copy
of the License is made available in the LICENSE file. You may also
obtain a copy of the license at
the Apache website.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.