|
| 1 | +--- |
| 2 | +home: true |
| 3 | +heroImage: logo.png |
| 4 | +tagline: A Dotfile manager written in Rust |
| 5 | +actionText: Getting Started → |
| 6 | +actionLink: /quickstart/ |
| 7 | +features: |
| 8 | + - title: Dotfiles Template️ |
| 9 | + details: Inject variables in your dotfiles to manage your dotfile state in one place. |
| 10 | + - title: GPG encryption |
| 11 | + details: Encrypt your SSH keys, passwords, corporate configs via GPG and safely commit them to your public dotfile repository. |
| 12 | + - title: Themes and profiles |
| 13 | + details: Organize your dotfiles, switch themes and working environment on the fly. |
| 14 | + - title: Installation hooks. |
| 15 | + details: Live reload your window manager components with pre and post installation hooks. |
| 16 | +footer: MIT Licensed | Copyright © 2020 Paul Delafosse |
| 17 | +--- |
| 18 | + |
| 19 | +### What are dotfiles anyway? |
| 20 | + |
| 21 | +If you don't know what dotfiles are, you probably want to read this. |
| 22 | + |
| 23 | + |
| 24 | +## Why Another dotfile manager |
| 25 | + |
| 26 | +I wrote Toml Bombadil because I kept changing my desktop environment : switching from i3 to sway, |
| 27 | +from sway to xfce, from xfce to gnome and back to sway. When you keep changing your working |
| 28 | +environment like this you end up with several problems : |
| 29 | + |
| 30 | +- Some symlinks will end up orphans. |
| 31 | +- Not every program you use support Xresources and you will most probably have to manually edit some themes/config. |
| 32 | +- When starting a fresh installation you will very likely need to adapt your existing dotfiles to your new machine. |
| 33 | +- It is a mess! |
| 34 | + |
| 35 | +Toml Bombadil try to solve this with a simple addition to the symlink method used by other tools: |
| 36 | +instead of creating a symlink from a dotfile to the actual config path of a program, it will create |
| 37 | +a copy of it and symlink the copy. This additional step allow to use your original dotfile as a |
| 38 | +template and inject variables in the copy. You can have multiple value files in the same dotfile |
| 39 | +repository and change color scheme, or any value on the fly. |
| 40 | +While Toml Bombadil has all those features available you could start using it only to generate |
| 41 | +symlinks and templatize your dot file progressively. |
| 42 | + |
| 43 | +## Installation |
| 44 | + |
| 45 | +[](https://repology.org/project/toml-bombadil/versions) |
| 46 | + |
| 47 | +### Archlinux |
| 48 | + |
| 49 | +```shell |
| 50 | +pacman -S toml-bombadil |
| 51 | +``` |
| 52 | + |
| 53 | +### Cargo |
| 54 | + |
| 55 | +```shell |
| 56 | +cargo install toml-bombadil |
| 57 | +``` |
| 58 | + |
| 59 | + |
| 60 | +## Alternatives |
| 61 | + |
| 62 | +The awesome-dotfiles repo maintain a list of dotfile managers. |
| 63 | +Before writing Toml Bombadil, I was using [dotbot](https://github.com/anishathalye/dotbot), it's easy to configure and simple to use. |
| 64 | +I wanted something a bit more configurable but [chezmoi](https://www.chezmoi.io/) felt way too complicated. |
| 65 | +If you want the heavy artillery, chezmoi is probably what you are looking for. |
| 66 | + |
| 67 | + |
| 68 | + |
| 69 | +## Contributing |
| 70 | + |
| 71 | +Find out how to contribute to Toml Bombadil [-> Contributing](../contributing.md) |
| 72 | + |
0 commit comments