Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Discussion options

I think it would be helpful (especially for some of us dotfiles noobs) to have some common setups, examples, etc. of using Chezmoi to manage different dotfiles/configurations.

You could call it "Chezmoi Recipes" or whatever.

Mise uses "Cookbook".
LazyVim uses "Recipes"

I'm sure there are other examples.

I hadn't bothered messing with my dotfiles since I was a heavy Vim/Tmux user and working on a lot of Rails projects in the 2010s, but recently fell down the rabbit hole of Neovim, dotfiles, 32 terminals with configurations all over the place, etc. I found Chezmoi and immediately fell down this rabbit hole and it's been fun, but not without some pain, since I felt like a complete noob again.

Chezmoi is incredible. Tom has done a great job of documenting something that is pretty expansive as well as he can. Especially for a project that he does with his free time (literally "free" time).

However, once you fall deep down the rabbit hole it can get pretty damn daunting trying to find solutions for your own setup. You can view the dotfiles repos using chezmoi but it's not like it's easy to filter out specific tools to see other peoples dotfiles for them. Sure, you can probably find quite a few for the typical ones like zsh/fish/bash, nvim, lazygit, etc. but it's harder to do when you start getting into trying to keep your vscode settings in a dotfiles repo and you're not sure if you need to symlink something or if there's a better approach, or how people use other package managers like Mise, or what people do with their SSH keys using 1password (the different approaches), etc. There are tons of examples, I'm sure.

This could be community-fed entirely, so it's not requiring Tom to do it. Tom (and other contributors) can review them, but ultimately, it would be up to us to provide them. I would imagine it would reduce the amount of questions asked in here but even more importantly the questions that don't get asked because people are afraid to ask and instead they abandon chezmoi and go back to a basic dotfiles github repo.

As I said, I'm pretty new to it, but I'm more than willing to provide any content for this from my own learnings and then have some of you more seasoned vets show me how I could do it better, I can update the documentation PR, and get it started.

You must be logged in to vote

Replies: 2 comments · 2 replies

Comment options

Sorry for the very late response on this, but this is an excellent idea that I'd love to see added to chezmoi's documentation. I totally agree that chezmoi is a complex piece of software and it would be very helpful for everyone to have a "best practices" guide.

You must be logged in to vote
2 replies
@Nicknamely
Comment options

Hi @twpayne , I was about to ask for something like this as I’m currently exploring how to make best use of chezmoi templates. I’d like to define machine-specific data and use that to dynamically control which configs are included or excluded via .chezmoiignore.

For example, if I’m on host A, I’d like to set its data as:

dev = true
desktop = true
de = "gnome"

Then .chezmoiignore would use those values to determine what to apply, e.g., when dev = true, include development-related configs; when de = "gnome", include GNOME-specific files; and so on.
Also being able to make use of that in ohter templates.

@Lockszmith-GH
Comment options

@Nicknamely I apologize that your introduction to this community is this gatekeeping message from me.
If you feel the need to respond, DON'T DO IT HERE, please read below for details.

But what you did there is very uncool.

  1. If you had searched the discussion forum, you would have found some discussions that are actually related to your question.
    Hijacking a thread about another topic, just makes this a very impolite action.
  2. Tagging Tom and/or hijacking a thread he's already on (ensuring a notification on his end) - as the maintainer of this highly-active repo with a random question, is akin to an act of trespassing.

Tom has built a beautiful community here where people actually jump to help newcomers who want to adopt chezmoi, but you must allow the community to do its thing.

Nobody is 'mad at you', we just ask that you use the tools at your disposal in a cooperative way, and not do everything possible to demand attention.

What NEXT?

  1. Some good reading about etiquette (or lack of) can be read in Handling toxic users #2819
  2. search the discussions, open issues, PRs and documentation for your technical questions.
  3. If you still have questions - about your technical issue, or etiquette of this community - open a new discussion.
    Feel free to tag me, I'm just another user like you, who enjoys hanging around here.

NEVER!

Please, NEVER! tag Tom just because you want his attention, I've been here long enough to learn that he practically reads everything, and not because he must, mostly because he cares - he truly loves this tool and it's community.
And the only compensation he asks for, is for the community not take its toll on him personally.

Comment options

I am on board. Recently got back to working full-time in 'Linux world', first time through a MacBook, and been tweaking my environment to be tailored to my habits.

I'm currently, in the process of introducing my cli based tools and workflow to my teammates, who are intrigued by chezmoi but also terrified by the daunting task, and are clueless on 'where to start'.

I will be happy to contribute my approach.

Obviously, it's not just chezmoi, but about the entire approach to making the environment 'our own'.

My mess of dotfiles repo is at: https://code.lksz.me/lksz/dotfiles

I'm in the process of adding documentation to explain the workflow, and explaining how everything is laid out, I'll be happy to contribute to a shared-knowledge source.

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
💡
Ideas
Labels
None yet
4 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.