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@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Interesting way to go about it. Though when I’m at the point where I need differences between linux and darwin, I’m probably going to do that at the home-manager level.

    • some_guy@lemmy.sdf.org
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Just for fun, here’s how I’m checking that (this was written in 2016 and may require adjusting as I haven’t been keeping up on Linux for a while):

      function oscheck() {
      	if [[ "$(uname -s)" == 'Darwin' ]]; then
      
      		# echo Darwin
      		osType=Darwin
      		return 0
      
      	elif
      		[[ "$(uname -s)" == 'Linux' ]]; then
      
      		# echo Linux
      		osType=Linux
      
      		grep CentOS /etc/os-release > /dev/null
      		if [[ "$?" == 0 ]]; then
      		    # echo "CentOS"
      		    export theDistro=CentOS
      		    return 0
      		else
      			:
      		fi
      
      		grep Ubuntu /etc/os-release > /dev/null
      		if [[ "$?" == 0 ]]; then
      		    export theDistro=Ubuntu
      		    return 0
      		else
      			:
      			# echo "Not Ubuntu"
      		fi
      
      		printf "  %s\n" "Error: osType tested true for Linux, but did not find CentOS or Ubuntu." ""
      		return 1
      
      	else
      		osType=Unknown
      		return 1
      	fi
      }
      oscheck