Skip to content

Commit 7ed6e98

Browse files
authored
Merge pull request #154 from twpayne/advantages
Document reasons for using chezmoi in README.md
2 parents ff0fa5d + e4c8d41 commit 7ed6e98

File tree

1 file changed

+25
-21
lines changed

1 file changed

+25
-21
lines changed

README.md

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,38 +9,42 @@ Manage your dotfiles securely across multiple machines.
99

1010
## Features
1111

12-
* Declarative: you declare the desired state of files, directories, and
13-
symbolic links in your home directory and `chezmoi` updates your home
14-
directory to match that state.
15-
16-
* Flexible: your dotfiles can be templates (using
17-
[`text/template`](https://godoc.org/text/template) syntax). Predefined
18-
variables allow you to change behaviour depending on operating system,
19-
architecture, and hostname.
20-
2112
* Secure: `chezmoi` can retreive secrets from
2213
[1Password](https://1password.com/), [Bitwarden](https://bitwarden.com/),
2314
[LastPass](https://lastpass.com/), [pass](https://www.passwordstore.org/),
2415
[Vault](https://www.vaultproject.io/), your Keychain (on macOS), [GNOME
2516
Keyring](https://wiki.gnome.org/Projects/GnomeKeyring) (on Linux), or any
26-
command-line utility of your choice.
17+
command-line utility of your choice. You can checkout your dotfiles repo on as
18+
many machines as you want without revealing any secrets to anyone.
2719

28-
* Robust: `chezmoi` updates all files and symbolic links atomically (using
29-
[`google/renameio`](https://github.com/google/renameio)) so you are never
30-
left with incomplete files that could lock you out, even if the update process
31-
is interrupted.
20+
* Flexible: your dotfiles can be templates (using
21+
[`text/template`](https://godoc.org/text/template) syntax). Predefined
22+
variables allow you to change behaviour depending on operating system,
23+
architecture, and hostname. You can share as much configuration across machines
24+
as you want, while still being able to control machine-specific details.
3225

33-
* Portable: `chezmoi`'s configuration uses only visible, regular files and
34-
directories and so is portable across version control systems and operating
35-
systems.
26+
* Personal: Nothing leaves your machine, unlesss you want it to. You can use
27+
the version control system of your choice to manage your configuration, and
28+
you can write the configuration file in the format of your choice.
3629

3730
* Transparent: `chezmoi` includes verbose and dry run modes so you can review
3831
exactly what changes it will make to your home directory before making them.
32+
`chezmoi`'s source format uses only regular files and directories that map
33+
one-to-one with the files, directories, and symlinks in your home directory
34+
that you choose to manage. If you decide not to use `chezmoi` in the future,
35+
it is easy to move your data elsewhere.
36+
37+
* Robust: `chezmoi` updates all files and symbolic links atomically (using
38+
[`google/renameio`](https://github.com/google/renameio)). You will never be
39+
left with incomplete files that could lock you out, even if the update process
40+
is interrupted.
41+
42+
* Declarative: you declare the desired state of files, directories, and
43+
symbolic links in your home directory and `chezmoi` updates your home
44+
directory to match that state. What you want is what you get.
3945

40-
* Fast, easy to use, and familiar: `chezmoi` runs in fractions of a second and
41-
includes commands to make most operations trivial. You can use the version
42-
control system of your choice to manage your configuration, and many different
43-
formats (e.g. JSON, YAML, TOML, etc.) are supported for the configuration file.
46+
* Fast and easy to use: `chezmoi` runs in fractions of a second and makes most
47+
day-to-day operations one line commands.
4448

4549

4650
## I already have a system to manage my dotfiles, why should I use `chezmoi`?

0 commit comments

Comments
 (0)