How do you guys quickly sync your settings (especially bash aliases and ssh keys) across your machines?

Ideally i want a simple script to run on every new server I work with. Any suggestions?

  • Atemu
    link
    fedilink
    112 years ago

    Dotfiles go in git, SSH keys are state.

    I’m looking to migrate to home-manager though because I use Nix on all my devices anyways.

    • @some_guy@lemmy.sdf.org
      link
      fedilink
      12 years ago

      I also have multiple versions of by bash_profile with syntax specific to the OS. It checks if we’re on MacOS or Linux with a kernel check and then reads the appropriate ancillary bash_profile for that platform. Anything that can live in the main bash_profile with the same command on both platforms lives there and anything that needs to be system-specific is in the other one.

      I have all my important functions as individual files that get loaded with the following:

      function loadfuncs() {
      	local funcdir="$HOME/.dotfiles/functions/"
      	[ -e "${funcdir}".DS_Store ] && rm "$HOME/.dotfiles/functions/.DS_Store"
      	local n=0
      
      	for i in "${funcdir}"*; do
      		source "$(realpath $i)"
      		n=$(( n + 1 ))
      	done
      }
      loadfuncs