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 and dev tools provisioned by Ansible

19 pointsby palcualmost 11 years ago

3 comments

peterhajasalmost 11 years ago
Several months ago, I became pretty interested in the idea of a unified computer setup. Between my home computers and work computers, it began weighing on me mentally to have to switch contexts all the time. I&#x27;d forget which machine had `wget`, which `fish` functions were installed on which host, etc. The most tedious thing was the process of setting up a new computer: painstakingly finding each and every little configuration I had on my other machines, and copying them over. I&#x27;d spend half a day just setting up a new machine. I wanted something better.<p>I first tried Ira&#x27;s [mackup](<a href="https://github.com/lra/mackup" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;lra&#x2F;mackup</a>), which syncs files to Dropbox. Its catch-all approach scared me, though, as it backs up `fish` history by default. I decided to move to something different.<p>I ended up basing my dotfiles setup on the GNU [stow](<a href="https://www.gnu.org/software/stow/" rel="nofollow">https:&#x2F;&#x2F;www.gnu.org&#x2F;software&#x2F;stow&#x2F;</a>) utility. Here&#x27;s how it works:<p>- In `~`, I have a git-managed directory `dotfiles`<p>- For every new app I use, I make a new directory in `dotfiles`. For example, `vim`, `fish`, etc.<p>- I run `stow` on all these directories, and it symlinks everything into place<p>I ended up rolling my own update script, but it&#x27;s pretty trivial. I also made heavy use of Homebrew brewfiles, which can be used to define what commands you would like to run through Homebrew. I also use [Homebrew Cask](<a href="http://caskroom.io/" rel="nofollow">http:&#x2F;&#x2F;caskroom.io&#x2F;</a>) to install apps.<p>In the end, I now have the exact same configuration on all my machines. For work, I have a separate branch, which has other fish functions &#x2F; utilities. I recently got a new computer, and I ran the `update.sh` script while I went to lunch. When I came back, my machine was ready to go.<p>Take a look at my setup [here](<a href="https://github.com/peterhajas/dotfiles" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;peterhajas&#x2F;dotfiles</a>).
评论 #7927930 未加载
busteralmost 11 years ago
Why ansible? I&#x27;m storing my dotfiles in a private git repo and sync across multiple laptops. Works fine so far.<p>Put the dotfiles and directories into git. Symlink from ~&#x2F;.vim to ~&#x2F;dotfiles&#x2F;.vim and be done with it. (~&#x2F;dotfiles would contain the git checkout of course).
评论 #7927893 未加载
评论 #7927880 未加载
aw3c2almost 11 years ago
That has to be the worst webdesign I have seen this week. Not only does it require JS to show anything but a blank page but it displays an &quot;inner-window&quot; window. Dear web gods, why?<p><a href="http://i.imgur.com/qBHLCac.png" rel="nofollow">http:&#x2F;&#x2F;i.imgur.com&#x2F;qBHLCac.png</a>
评论 #7927875 未加载
评论 #7927794 未加载