rcm
Chef
Our great sponsors
rcm | Chef | |
---|---|---|
18 | 2 | |
3,059 | 7,440 | |
0.8% | 0.6% | |
2.4 | 9.5 | |
4 days ago | 1 day ago | |
Perl | Ruby | |
BSD 3-clause "New" or "Revised" License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rcm
-
Fulfilling a reader's request for my “dot files”
I use https://github.com/thoughtbot/rcm, which works smoothly and includes support for host-specific files
-
Don't Let Messy Dotfiles Ruin Your Coding Life! Try dotstow and Simplify Your Workflow Today!
Prior to catching the Nix brainworms and switching to home-manager, I mostly used thoughtbot/rcm.
-
Automatic setup
Check out https://github.com/thoughtbot/rcm
-
Thoughts on chezmoi
currently I am managing my dotfiles with rcm (ran by ansible). This approach served me well over the years but recently I stumpled over chezmoi.
-
Ask HN: How do you sync your computers development configurations/environment?
I use a tool called rcm[0], which is essentially a set of shell scripts for managing symlinks from $HOME into $HOME/.dotfiles. $HOME/.dotfiles can then be a git repo.
Some notes:
1. rcm lets you decide make host-specific or host-agnostic dotfiles. For example, I can declare that I want a different `.ssh/config` file for each host, and rcm will figure out which `.ssh/config` to symlink based on the current machine's hostname.
2. The installation process is very simple. It's just shell scripts, so you don't have to have a compiler. Operating system packages exist for the common platforms, and there's also a convenient way to "build" from source using configure && make && make install. The from source option is particularly convenient if you need to change the installation prefix to a user-writable location on a multi-user machine.
3. I use SSH Agent Forwarding[1] to avoid needing to install private keys (either new keys or copies of existing keys) on all the hosts I manage. This lets me git push and pull to my dotfiles repo on all hosts.
4. Taking it a step further, some shell config I have is host-specific (e.g., certain PATH modifications I only want to apply on certain hosts). Rather than use the host-specific dotfile feature of rcm for the whole .bashrc, I factor my shell config files into multiple files, that I then source. One of these files is called `$HOME/.util/host.sh`, which is host specific. Again, rcm creates a symlink from this to the correct host-specific file automatically by hostname.
If you're curious to learn more about any of this, my dotfiles are public.[2]
[0] https://github.com/thoughtbot/rcm
[1] https://docs.github.com/en/developers/overview/using-ssh-age...
- Syncing dotfiles with git
-
Lmao "Thank you Linus"
rcm is essential if you use multiple machines.
-
What's the point of a "dotfiles" repository?
You already got a good amount of reasons from other comments. Just a sidenote: there are also dotfile managers that try to help with the mess. I personally use rcm ( https://github.com/thoughtbot/rcm ) as it has a Deb repo and is portable as it's written in bash. I recommend looking into it. I have all my dotfiles in place on a fresh install with 3-4 commands in the terminal.
-
First release of Hoard dotfile manager
Hoard is a program that backs up sparse files from across your filesystem into a single location and can later restore them. Some of you might know programs like this as "dotfile managers," like RCM and Chezmoi.
-
How do you manage your dotfiles?
I use rcm, which is made by the folks at Thoughtbot. It's dead-simple—it just creates symbolic links in place of files. I'd highly recommend it for a simple and quick approach.
Chef
-
I_suck_and_my_tests_are_order_dependent
my contribution: public_method_that_only_deep_merge_should_use
https://github.com/chef/chef/blob/68dd5f42273f19bc5975c0dc8e...
that was 9 years ago and it was code smell that things were broken apart incorrectly and at some point i rewrote it so that wasn't necessary -- but sometimes you just gotta move the ball down the field, even if you don't get a first down.
-
Ask HN: Codebases with great, easy to read code?
I've found the Chef project (https://github.com/chef/chef) to be high quality and easily readable but I've been working with Chef for like 8 years at this point which might be influencing how I view it.
Hashicorp projects also seem very well done too especially given how extensible they are.
What are some alternatives?
GNU Stow - GNU Stow - mirror of savannah git repository occasionally with more bleeding-edge branches
Capistrano - A deployment automation tool built on Ruby, Rake, and SSH.
yadm - Yet Another Dotfiles Manager
Puppet - Server automation framework and application
chezmoi - Manage your dotfiles across multiple diverse machines, securely.
BOSH - Cloud Foundry BOSH is an open source tool chain for release engineering, deployment and lifecycle management of large scale distributed services.
homesick - Your home directory is your castle. Don't leave your dotfiles behind.
Ansible - Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to cloud management, in a language that approaches plain English, using SSH, with no agents to install on remote systems. https://docs.ansible.com.
Mina - Blazing fast deployer and server automation tool
Home Manager using Nix - Manage a user environment using Nix [maintainer=@rycee]
gru - Orchestration made easy with Go and Lua
Logstash - Logstash - transport and process your logs, events, or other data