4 ms·
Although I regularly work on a number of different Linux machines, I've never felt the need for something like this and I suspect mine is not the target use cas
by sevensor 8y ago
Although I regularly work on a number of different Linux machines, I've never felt the need for something like this and I suspect mine is not the target use case. But clearly synchronizing dotfiles is a thing people want. So, why? Who is this for? What problem does it solve for you?
- rhinoceraptor 8y agoI use GNU Stow, it's really nice to clone my dotfiles repo, and run an install script to do the symlinks, and then my Vim, ZSH, tmux, git, etc. are all set up the way I like.
- sevensor 8y agoOK, but why? Do you do this frequently? I feel like there's a hidden assumption here that I'm just not getting. Do you have a whole ton of machines you log into on a regular basis? Where it's deeply unproductive / impossible to use the default configuration? What gives rise to this state of affairs?
- rhinoceraptor 8y agoI'm very comfortable with my keybindings for a lot of things, particularly the way I have vim and tmux set up to work nicely together. I also have a fairly extensive zsh config using vi mode and some alternate key bindings. If I remote in to a stock machine, I can get by though. I have about 7 different machines/VMs/VPSes/partitions I use semi-regularly, so it's nice to have the exact same setup I use everywhere. I also don't want to have to re-create my setup every time because I won't remember all the tweaks I set up months or years ago. I'm not the kind of user who constantly tweaks their configs, I've been using basically the same configs for about three years.
- sevensor 8y agoHuh, I have about the same number. I suppose this is a matter of personal taste. Thanks for addressing my curiosity!
- xur17 8y ago> I'm very comfortable with my keybindings for a lot of things, particularly the way I have vim and tmux set up to work nicely together. I'm the same way, and I have a similar setup. I have a public git repo with all of my custom git, vim, tmux, etc configs. It serves 2 purposes for me 1. make it easy to setup a new machine (literally run 1 command) and 2. provide a way to automatically backup configs for any machine I am on. Everything I work on is either in git, dropbox, or I don't care about it. My goal is that I should be able to lose any computer I am working on, and be back up and running within a day.
- cytzol 8y ago> Do you have a whole ton of machines you log into on a regular basis? Where it's deeply unproductive / impossible to use the default configuration? What gives rise to this state of affairs? I’m not the parent, but, yeah, this. I don’t have many machines that I need to connect to, but I make sure to sync my dotfiles to each of them. This gives me: - A different shell prompt on each machine, so I’m less likely to type a command into the wrong one. - Consistency in my shell aliases, so I never have to see “bash: ll: command not found” again. I have a lot of these, and I’d rather deal with syncing my dotfiles than re-mapping my muscle memory. - All the helper scripts I’ve written over the last few years, so if I want to write a command and have it available everywhere, all I need to do is put it in a folder and wait for it to be synchronised. I’ve been doing this for ages so I might be blind to some of the drawbacks, but I really like having the same terminal environment when I have to SSH somewhere else.
- jacobtwotwo 8y agoI, a relative 'nix noob, have been wanting to play around with different distros without losing too much of my configurations in any particuar jump. It seems like this might work for my use.
- twp 8y agoFor me, the key things are: - Security. You don't need to store any secrets in your dotfiles repo, and instead delegate secret storage to LastPass or Bitwarden or similar. - Fine-grained control of small differences across machines, accounts, and operating systems. For example, I want my ~/.zshrc to be roughly the same between my personal macOS laptop and my work Ubuntu server, but I need a few differences between them due to email address, paths to binaries, and OS-specific configuration.
- sevensor 8y agoSo in this case, you have two machines, and you want each one to have a different configuration -- why not just have a different rc file on each machine and not bother syncing them. Is there a lot of custom dotfile config that you do want to share between them?
- twp 8y agoI have five machines (personal macOS laptop, work Ubuntu laptop, personal Debian server, work Ubuntu server, personal Raspberry Pi) and yes, there is a lot of custom config that I want to share between them, particularly my git, zsh, vim, and i3 configs.
- kjullien 8y agoIn my case I have a vimrc file that is now close to .5K lines and keeps getting bigger. I have all my key bindings (skhd) setup in a configuration file, most of these are for my tilling WM (chunkwm) which also needs to be synced accross my work and home environment. Oh yeah don't forget bashrc and config.fish (I have maybe 500 different aliases for commands like git commit -> gm or vim -> v, etc. Small stuff but I still find it extremely useful). Simply being able to lift my hands of one machine and using the next one seemlessly while keeping everything familiar is a pretty neat thing for me, at least productivity-wise.