An open API service indexing awesome lists of open source software.

https://github.com/larryv/dotfiles

My Unix dotfiles
https://github.com/larryv/dotfiles

dotfiles unix

Last synced: about 2 months ago
JSON representation

My Unix dotfiles

Awesome Lists containing this project

README

          

dotfiles
========

These are my hopelessly overengineered Unix dotfiles. You definitely
don't want to use them -- that'd be like using my toothbrush -- but you
might find a useful tidbit somewhere in the bristles. End analogy.

In theory they're portable, but in practice they're only field-tested on
Mac OS.

Installation
------------

Intended reader: A future me who has suffered tragic memory loss.

Installation should work on any system that conforms to POSIX.1-2017 [1]
and includes make(1) [2]. It is known to work with GNU Make 3.81 [3],
GNU Bash 3.2.57 [4], and GNU M4 1.4.6 [5].

Invoke make(1) from the project root or use the nonstandard `-C` option
to achieve the moral equivalent.

- Install/uninstall all files:

$ make install

$ make uninstall

- Install/uninstall files from specific modules:

$ make git-install gnupg-install zsh-install

$ make git-uninstall gnupg-uninstall zsh-uninstall

Files are always installed to $HOME. To use a directory other than the
user's home directory (e.g., for testing), override HOME.

$ HOME=/tmp/dotfiles_test make install

The build system uses `m4` by default. If that is unusable, override M4
as necessary.

$ make M4=gm4 install

Testing
-------

Intended reader: A future me who is trying to be responsible for once.

Some (but not all) modules provide best-effort sanity checks. These are
not particularly rigorous, so don't take passing results too seriously.

Invoke make(1) from the project root or use the nonstandard `-C` option
to achieve the moral equivalent.

- Run all tests:

$ make check

- Run tests from specific modules:

$ make git-check gnupg-check zsh-check

The tests use nonstandard tools, which are listed in the makefile. If
any of the defaults are unsuitable, override them as necessary.

$ make GPG=gpg2 SHELLCHECK=/opt/local/bin/shellcheck gnupg-check

Legal
-----

To the extent possible under law, the author has dedicated [6] all
copyright and related and neighboring rights to this software to the
public domain worldwide. This software is published from the United
States of America and distributed without any warranty.

Refer to install-sh for its separate licensing terms.

References
----------

1. https://pubs.opengroup.org/onlinepubs/9699919799/
2. https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html
3. https://www.gnu.org/software/make/
4. https://www.gnu.org/software/bash/
5. https://www.gnu.org/software/m4/
6. https://creativecommons.org/publicdomain/zero/1.0/

SPDX-License-Identifier: CC0-1.0

Written by Lawrence Velazquez in:
- 2018, 2021-2023 (as README.markdown)
- 2023 (as README.txt)