4 ms·
I've never doubted that there are existing solutions for dot files that do everything I need, but I've yet to find one that doesn't take more work for me to swa
by saghm 3y ago
I've never doubted that there are existing solutions for dot files that do everything I need, but I've yet to find one that doesn't take more work for me to swap to than continuing to just clone a git repo an symlink maybe half a dozen things the once or twice a year that I happen to set up a new machine.
- blemasle 3y agoYou might want to have a look in stow. https://www.gnu.org/software/stow/ https://www.gnu.org/software/stow/ I just stumble across dotstow which adds a git layer on top of it https://github.com/clayrisser/dotstow https://github.com/clayrisser/dotstow
- uneekname 3y agostow has worked really nicely for managing my dotfiles. Here are two blog posts that helped me get my workflow down: https://alexpearce.me/2016/02/managing-dotfiles-with-stow/ https://alexpearce.me/2016/02/managing-dotfiles-with-stow/ https://bastian.rieck.me/blog/2019/dotfiles_stow/ https://bastian.rieck.me/blog/2019/dotfiles_stow/
- saghm 3y agoI've looked at it before. Looking at the system I'm writing this comment on, my dotfiles from my repo are ~/.config/alacritty/alacritty.toml, ~/.config/nushell/{config.nu,env.nu}, ~/.tmux.conf, and ~/.gitconfig. I'm not sure if I just use far fewer dotfiles than average, and I know this is a matter of personal taste, but it's just not obvious to me why I'd want to add a tool to symlink five things once. Moreover, most of the jobs I've had give me a Macbook to work on rather than Linux, so that also would require me to either manually install `stow` or move getting homebrew set up to _before _setting_ up my dotfiles, which seems a bit backwards to me given that my my shell config is where I store any configuration for stuff like that. I'm starting to wonder if I just have a very vanilla dotfile workflow compared to what some other people use. This would surprise me a bit, given how I tend to go overboard in custom configuration for most things, but it definitely feels like my experience isn't enough for me to understand why specialized tooling for dotfiles is needed.
- jasonpeacock 3y agoI have a work mac, work linux, and home mac. I want the same terminal-based development environment on all of them, but each requires just a little bit of customization. For example, the .gitconfig for work is different from home (e.g. my username/email). Ditto for my .ssh/config and my shell aliases. I also use Nix to manage all my tools, and the home-manager configuration is slightly different between mac & linux due to platform support. I've gone through a few iterations of home-built solutions, including extending homeshick[1], before discovering YADM which implemented everything I had done but better. [1] https://github.com/andsens/homeshick https://github.com/andsens/homeshick
- jasonpeacock 3y ago> the once or twice a year that I happen to set up a new machine This was me for a long time - but then I started using ephemeral (EC2) hosts for remote development, and while I wasn't setting up a new machine frequently, knowing that I could do it with <5min of effort (and 15min of building Nix packages) eliminated a lot of anxiety.
- manx 3y agoYou can just use git directly, no symlinking required. The home folder doesn't become a git repo itself, the dotfiles are just a checkout from a bare repo: https://www.atlassian.com/git/tutorials/dotfiles https://www.atlassian.com/git/tutorials/dotfiles