Yet another dotfile manager
Project description
Edit 2023: yadoma was written by @esc a couple of years ago and ended up no longer maintained. It seemed that I was the only user, so I’m taking over maintenance. However, given the simplicity of the tool, I kept everything largely the same, including this README. Hence, “I” refers to @esc rather than myself. However, I’m changing the build process to tox (instead of the old pybuilder), because pybuilder seemed to have problems with environment separation that I wasn’t able to just quickly fix.
yadoma: yet another dotfile manager
This is my personal take on a dotfile-manager.
Principles
Pile of symlinks approach
Declarative configuration
Composable
Versioning not baked in
Infinitely hackable
Prior Art (or why I decided to roll my own)
- vcsh
written in shell (yuck) and has git baked in
- dewi
written in perl (yuck) and didn’t grok how it worked
- dotfilemanager
has weird conventions and strange config
Edit: in 2018, I discovered that there are many more dotfile-managers out there: https://dotfiles.github.io/
Example
Given the yaml config config.yadoma in the directory config/public:
example-prog: files: - src: .rc_with_src dest: .rc_with_src_dest - src: .rc_with_out_dest - .plainrc
And, given the following files of the directory:
.plainrc .rc_with_src .rc_with_out_dest
Doing:
$ yadoma config/public
Will create the following symlinks in the users $HOME for the program example-prog:
.plainrc .rc_with_src_dest .rc_with_out_dest
TODO and Ideas
Many.
License
Copyright 2016-2019 Valentin Haenel <valentin@haenel.co>
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file yadoma-59.0.post1.tar.gz
.
File metadata
- Download URL: yadoma-59.0.post1.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1d21726d40779f2d74a02b7f86842d12d197ba5dd5e26552c76f1e89bbe3a94 |
|
MD5 | db23ebe92d8d55920eca9dc16f81241b |
|
BLAKE2b-256 | c69e42c66bfaf4dfc80ffc176fdb4de65bc02a8b18b7424e24c9c2a39d3bc888 |
File details
Details for the file yadoma-59.0.post1-py3-none-any.whl
.
File metadata
- Download URL: yadoma-59.0.post1-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d91b2e7361f531554b5c314b2b5b83f9263439f5b8ae40b3020248824d93015 |
|
MD5 | d17c3b2fcebe2fe01c0f3d692bdce875 |
|
BLAKE2b-256 | f2e842ebb1b5b26046b206edac5d3204260538d52c0eee7bd66f6072f3f4ffdf |