TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Dotfiles are your Digital Backpack

77 pointsby jpzkalmost 10 years ago

16 comments

fpsalmost 10 years ago
Many programs (like git) respect the environment variable $XDG_CONFIG_HOME, which allows you to set the location of your &#x27;dotfiles&#x27; to a different directory session-wide. This means you don&#x27;t need to make your entire home directory a single git repo.<p>My dotfiles repo (<a href="https:&#x2F;&#x2F;github.com&#x2F;fredsmith&#x2F;dotfiles&#x2F;" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;fredsmith&#x2F;dotfiles&#x2F;</a>) uses this to maintain a clean, readable configuration directory that doesn&#x27;t mess up my homedir with a bunch of symlinks, and the only installation I have to do is: &quot;ln -s ~&#x2F;dotfiles&#x2F;bashrc .bashrc&quot;
评论 #10006328 未加载
评论 #10004291 未加载
olalondealmost 10 years ago
I&#x27;ve been using rcm (<a href="https:&#x2F;&#x2F;github.com&#x2F;thoughtbot&#x2F;rcm" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;thoughtbot&#x2F;rcm</a>) for managing my dotfiles and strongly recommend it. It works by symlinking everything from your dotfiles directory to your home directory and gets out of the way. You can also do more advanced stuff like run &quot;hook&quot; scripts at first install or only install a subset of dotfiles using tags. Here&#x27;s my rcm repo in case anyone is curious: <a href="https:&#x2F;&#x2F;github.com&#x2F;olalonde&#x2F;dotfiles" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;olalonde&#x2F;dotfiles</a>
评论 #10002413 未加载
评论 #10004770 未加载
评论 #10006103 未加载
clessgalmost 10 years ago
Even better: place your dotfiles in a public repo on GitHub with an open license, so that everybody can learn from it and contribute improvements&#x2F;fixes. I&#x27;ve seen immense value from this approach.
评论 #10003003 未加载
评论 #10003596 未加载
评论 #10003313 未加载
评论 #10006403 未加载
leni536almost 10 years ago
An other idea: use GNU stow to put your dotfiles in the right places instead of having .git in your $HOME.
评论 #10004175 未加载
评论 #10003790 未加载
dcreemeralmost 10 years ago
Like others, I wrote a tool to manage &quot;layers&quot; of configuration and personalization files (<a href="https:&#x2F;&#x2F;github.com&#x2F;dcreemer&#x2F;wsup" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;dcreemer&#x2F;wsup</a>). &quot;wsup&quot; lets me compose various work configurations, personal dotfiles (<a href="https:&#x2F;&#x2F;github.com&#x2F;dcreemer&#x2F;dotfiles" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;dcreemer&#x2F;dotfiles</a>), dot-emacs files (<a href="https:&#x2F;&#x2F;github.com&#x2F;dcreemer&#x2F;dotemacs" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;dcreemer&#x2F;dotemacs</a>) and others from multiple git repositories. The project was born from my need to manage multiple changing personal and work environments. Now I can go from zero to full environment with a couple of commands.
nkuttleralmost 10 years ago
Nowadays I simply rsync my dotfiles to wherever I need them. I have multiple trees in a repository, one for secure boxes, one for client boxes, one for boxes with an xserver, etc. This gives me the most flexibility, and I can install everything I need if I simply have ssh access. If I don&#x27;t, I can create a zip file of the trees I want.
评论 #10006422 未加载
graystevensalmost 10 years ago
There&#x27;s a collection of dotfiles up on GitHub: <a href="https:&#x2F;&#x2F;dotfiles.github.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;dotfiles.github.io&#x2F;</a>
ezanmotoalmost 10 years ago
I wrote a bare bones &quot;store-and-fetch&quot; [dotfile tool][1] that&#x27;s been working well for me, mainly because it&#x27;s easy to set up on a new device and it delegates a lot of functionality to GitHub. It&#x27;s more or less equivalent to the &quot;Git repo in home&quot; approach, it just streamlines the `git commit`, `git push`, `git pull` workflow.<p>[1]: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9989185" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=9989185</a>
frou_dhalmost 10 years ago
The situation can be a bit shakier with GUI programs. I like it when they offer an explicit way to export &amp; import configuration (Since what&#x27;s findable on disk just by searching is not always reliably portable IME). E.g. for Terminal.app on OS X, which I have configured fairly extensively, I manually export a .plist file and put that in my git repo for safe keeping.
LukeHoerstenalmost 10 years ago
I&#x27;ve been going a step further than this. Not only revision controlling my dotfiles but also using Ansible to automate the process of installing all the apps I want, getting the environment in order, etc. Emacs and Mercurial have both changed my programming life and I think Ansible is a new addition to that group.
dfcalmost 10 years ago
The linked article is bizarre[1], but brings up an important topic. It seems like most people are using this as a platform to plug&#x2F;suggest their favorite way to manage dotfiles so I will follow suit. I m a big fan of vcsh and mr:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;RichiH&#x2F;vcsh" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;RichiH&#x2F;vcsh</a><p><a href="https:&#x2F;&#x2F;github.com&#x2F;joeyh&#x2F;myrepos" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;joeyh&#x2F;myrepos</a><p>[1]: You could deck me out with a Klein Tools bag full of their wares and I would still have no business being in front of your breaker panel. A craftsman is so much more than his collection of physical things. Is SEO the answer to: What the connection is between the craftsman and the streamlined factory link? Or why every tenth word needed to be emphasized?
评论 #10003074 未加载
busteralmost 10 years ago
Just wanted to say, i manage my dotfiles with GNU Stow (<a href="https:&#x2F;&#x2F;www.gnu.org&#x2F;software&#x2F;stow&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.gnu.org&#x2F;software&#x2F;stow&#x2F;</a>) and a private git repository. Works great!
stulligalmost 10 years ago
If anyone has resources or is willing to share his knowledge of OS X System Daemons and Agents - spotting and unloading the unnecessary ones is the main aspect of my dotfiles[1], but resources are often elusive, outdated or plain inaccurate guesswork, the whole process usually takes a lot of reading binary metadata and sometimes plain trial &amp; error (and consequent occassional frustration).<p>But then I managed to saved around 2 GB of Ram just by unloading Daemons.<p>If anyone is interested to chip in, thankful for any link or suggestion:<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;stullig&#x2F;dotfiles" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;stullig&#x2F;dotfiles</a>
digitalzombiealmost 10 years ago
I put my dotfiles on github and have a vagrant file that download the dotfile to my new vagrant box instance.<p>Everytime I start a new instance of vagrant it just download the dot file from github.<p>It&#x27;s a pretty neat combo.
dgellowalmost 10 years ago
I wrote my own solution[0] in emacs-lisp. If you have a recent version of emacs you can use it to run scripts via `emacs --script myscript.el`.<p>It&#x27;s simple, it just installs some packages and copy dotfiles where they have to be but I had fun working on it.<p>[0] <a href="https:&#x2F;&#x2F;github.com&#x2F;dgellow&#x2F;home-bootstrapping" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;dgellow&#x2F;home-bootstrapping</a>
jpzkalmost 10 years ago
<a href="https:&#x2F;&#x2F;github.com&#x2F;webpro&#x2F;awesome-dotfiles" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;webpro&#x2F;awesome-dotfiles</a>