Dotfiles Management

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • yadm

    Yet Another Dotfiles Manager

  • I very recently put some effort into tidying up my dotfiles, and have a brief writeup at https://chatwithsysop.com/blog/2022/12/31/dotfiles-cleanup (none of this was done with the academic rigor required to withstand a deconstruction by HN, it is just a log of one person's experience with a weekend project).

    I chose to use yadm (http://yadm.io) for no particular reasons beyond that I found it first, and it seemed reasonable. It's more just a wrapper around putting GIT_DIR elsewhere.

  • dotfiles

    A modern Zsh/tmux, Vim and Homebrew centric setup for macOS and Linux (by coderabbitai)

  • 1. It doesn't do a good job in making a backup of existing files as it's meant to be setup on a new machine. However, the setup script can be quickly modified to backup existing files. See [0].

    2. Yes, it installs required packages via brew both on macOS and Linux. See [1].

    [0] https://github.com/fluxninja/dotfiles/blob/master/sw/assets/...

    [1] https://github.com/fluxninja/dotfiles/blob/master/sw/bin/exe...

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Home Manager using Nix

    Manage a user environment using Nix [maintainer=@rycee]

  • Nice hack, but I still believe that home-manager [0] should be the way to go. It's the gateway drug to the Nix ecosystem and cleanly solves the composability problem which this "one-size-fits-all repo checked out to root" approach will have some trouble with.

    [0] https://github.com/nix-community/home-manager

  • dotter

    A dotfile manager and templater written in rust 🦀

  • I was unhappy with existing solutions, especially I wanted the ability to handle differences between machines. So I built my own! You're welcome to see if you like it :)

    https://github.com/SuperCuber/dotter

  • homer

    The home directory management tool. (by tubbo)

  • I also track my dotfiles in a Git repo, but I only track my home directory. Made a tool to help out with some of the more arcane commands: https://github.com/tubbo/homer. I'm currently rewriting it in Rust, which is mostly done but I still have to work out a couple kinks on Linux machines . So far, I haven't needed to mess with too many top-level configs on each machine, most of the stuff I do is relatively contained (and uses the XDG standards thankfully). It got a little hairy when I tried to configure certain file paths on both a Linux and macOS environment, as there are different default conventions and other nuances that make the two not fully compatible at times. But it definitely saves a lot of time when setting up a new machine from scratch, `homer bootstrap $REPO_URL` does all the hard work and gets my home directory loaded up with configuration the way I'd expect.

  • dotbot

    A tool that bootstraps your dotfiles ⚡️

  • Dotbot (https://github.com/anishathalye/dotbot) has worked extremely well for me. It’s simple to setup, has minimal dependencies, and it is also easy to run arbitrary commands if I want to get tricky with things. I would highly recommend it.

  • npt

    Nix Package Tool. A (humble) successor to linux's apt, which makes life easier when using nix as a package manager. (by woile)

  • I've just (literally a few hours ago) started a tool trying to follow those principles.

    https://github.com/woile/npt

    I still don't know if it's worth, I have to experiment a bit more with it

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • mackup

    Keep your application settings in sync (OS X/Linux)

  • I moved away from using a dotfiles repo a few years ago because I kept forgetting to add/commit files as I changed them.

    Instead I use mackup[0] which automatically manages symlinks to your Dropbox/Drive/Share and has support for a huge amount of software by default. You can also manually add “extra” files you wish to track if you like.

    [0] https://github.com/lra/mackup

  • dotfiles

    Bootstrap your Ubuntu in a single command! (by felipecrs)

  • You can use chezmoi to manage files outside your home directory if you really want to.

    For an example, see https://github.com/felipecrs/dotfiles:

    The `home` directory contains home directory files.

    The `root` directory contains root directory files (e.g `/etc`).

  • dot-git

    Managing your dotfiles the Git Way™

  • I previously found the same idea there : https://github.com/Snaipe/dot-git

  • tilde

  • Any home-manager users on NixOS here? Are there any killer features in home-manager for you? I tried home-manager for a bit, but just went back to plain NixOS after I couldn't find anything it did better than what I was already using ([1], [2]).

    [1] https://gitlab.com/engmark/tilde

    [2] https://gitlab.com/engmark/root

  • root

  • Any home-manager users on NixOS here? Are there any killer features in home-manager for you? I tried home-manager for a bit, but just went back to plain NixOS after I couldn't find anything it did better than what I was already using ([1], [2]).

    [1] https://gitlab.com/engmark/tilde

    [2] https://gitlab.com/engmark/root

  • dot

    A CLI tool for managing your dotfiles. (by cszatmary)

  • I've been using this which is pretty rad

    https://github.com/cszatmary/dot

  • filetailor

    Copy and modify plain text files between devices without templates

  • I didn't discover Chezmoi until seeing this thread (sigh). I developed a tool, [filetailor](https://github.com/k4j8/filetailor), with an almost identical goal (dotfile management while accounting for differences across machines). It uses Python and YAML, but from what I can tell is similar in concept to Chezmoi.

    One thing I like about filetailor I didn't see in Chezmoi was the ability to surround code with a comment specifying which machines it should be commented/uncommented for. It's easier than templates in some situations.

    It works great, but there's probably tons of bugs that occur when used by someone other than me. I don't have a CS background and this was my first big hobby project.

  • chezmoi

    Manage your dotfiles across multiple diverse machines, securely.

  • Chezmoi[1] has been working well for me recently, replacing a set of Stow-able directories in a simple Git repo.

    I haven't started using templates and things, for now it's just environment variables.

    [1]: https://chezmoi.io

  • homies

    My configuration files (.screenrc, .vimrc, .weechat, .bashrc, .gitconfig, etc)

  • I see a lot of people mentioning home-manager / nix in the comments. I tried drinking the nix kool-aid and home-manager and all that was a little too much more me and landed on a hybrid approach:

    https://github.com/sontek/homies

    1. I use a `justfile` that calls `nix profile install ...` to install my packages, rather than using a nix configuration file. This allows me to use a standard package manager workflow rather than going "all in".

    https://github.com/sontek/homies/blob/master/justfile#L24-L2...

    2. I then use GNU Stow to install my dotfile configuration:

    https://github.com/sontek/homies/blob/master/justfile#L93-L9...

    I think this is a great middle ground where I can utilize `nix` as my package manager across Linux and Mac and have consistency while not having to learn the whole configuration language or change my workflow.

    The other tools I use heavily in my environment:

    - https://asdf-vm.com/: I find this better than installing python/node/etc from nix.

    - https://github.com/casey/just: I use this as my command runner (similar to make but cleaner in my opinion)

  • asdf

    Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more

  • I see a lot of people mentioning home-manager / nix in the comments. I tried drinking the nix kool-aid and home-manager and all that was a little too much more me and landed on a hybrid approach:

    https://github.com/sontek/homies

    1. I use a `justfile` that calls `nix profile install ...` to install my packages, rather than using a nix configuration file. This allows me to use a standard package manager workflow rather than going "all in".

    https://github.com/sontek/homies/blob/master/justfile#L24-L2...

    2. I then use GNU Stow to install my dotfile configuration:

    https://github.com/sontek/homies/blob/master/justfile#L93-L9...

    I think this is a great middle ground where I can utilize `nix` as my package manager across Linux and Mac and have consistency while not having to learn the whole configuration language or change my workflow.

    The other tools I use heavily in my environment:

    - https://asdf-vm.com/: I find this better than installing python/node/etc from nix.

    - https://github.com/casey/just: I use this as my command runner (similar to make but cleaner in my opinion)

  • just

    🤖 Just a command runner

  • I see a lot of people mentioning home-manager / nix in the comments. I tried drinking the nix kool-aid and home-manager and all that was a little too much more me and landed on a hybrid approach:

    https://github.com/sontek/homies

    1. I use a `justfile` that calls `nix profile install ...` to install my packages, rather than using a nix configuration file. This allows me to use a standard package manager workflow rather than going "all in".

    https://github.com/sontek/homies/blob/master/justfile#L24-L2...

    2. I then use GNU Stow to install my dotfile configuration:

    https://github.com/sontek/homies/blob/master/justfile#L93-L9...

    I think this is a great middle ground where I can utilize `nix` as my package manager across Linux and Mac and have consistency while not having to learn the whole configuration language or change my workflow.

    The other tools I use heavily in my environment:

    - https://asdf-vm.com/: I find this better than installing python/node/etc from nix.

    - https://github.com/casey/just: I use this as my command runner (similar to make but cleaner in my opinion)

  • configs

    Dot-files among other configs (by TheKnarf)

  • I found that most tooling was overkill and now just use a single <100 Bash script [0].

    [0] https://github.com/TheKnarf/configs/blob/master/setup

  • dotfiles

    dotfiles + debian setup (by redraw)

  • I did something similar here https://github.com/redraw/dotfiles, along with some installation scripts

    although, nice idea on tracking the whole / instead of just ~/!

    the only thing I miss after aliasing dotfiles to git, is that you lose git's autocompletion features. I once tried to set it up in zsh with autocomp, but without success, should review that

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts