taper
verb.
to make gradually smaller toward one end
noun.
one that applies or dispenses tape
Taper is a CLI tool for managing configuration files, primarily "dotfiles" on
UNIX-like operating systems. These dotfiles are all the little (and sometimes
big) configuration files that fill a user's home directory and are used by a
variety of programs such as BASH
, SSH
, and more.
Unlike many other dotfile management tools, Taper does not simply symlink your config files. Instead you write a single unified config file that is used to generate all the others. This offers a single source of truth for your configuration.
Taper uses Dhall as its configuration format, since it provides a number of advanced features that make Taper easier to use, and is a consistent and standardized format.
Taper is similar to and inspired by home-manager, but it importantly does not require Nix and does not do any form of package management or versioning on its own.
Taper is currently in heavy development and is not ready for use
Please read the Taper manual, which can be access with man taper
or the
MANUAL.md
file.
Documentation for Taper configuration files can be accessed with man 5 taper
or the CONFIG_MAN.md
file.
Frequently Asked Questions can usually be answered by the FAQ.md
.
Taper is written entirely in Rust and can be built with the Cargo build tool like all Rust projects.
cargo build --release
If you would like to contribute to Taper's development or documentation, please
read CONTRIBUTING.md
.
There are currently two mailing lists for Taper:
taper-devel
for discussing
the development of Taper and the submission of patches.taper-announce
for project
announcements and updates.It is highly suggested that prospective developers subscribe to the
taper-devel
mailing list.
Please follow good mailing list etiquette.
Please see the Submitting Issues
section of the CONTRIBUTING.md
.
taper -- unified dotfile manager Copyright (C) 2020 Steven vanZyl
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.