/dotfiles

:computer: Public repo for my personal dotfiles

Primary LanguageShellMIT LicenseMIT

Guni's Dotfiles

This is a fork from Dries Vints. Check out his documentation about these files. I just changed a few things to better fit my needs.

Further make sure to check out Christoph Rumpel's dotfiles and his blog post.

My Setup

For more sensitive data I use a European based Nextcloud service. The following are served through this service:

  • filezilla sitemanager.xml
  • ssh config and keys
  • vscode projects

For all other synced files I am using Google Drive.

note to myself: git global config to nextcloud ln -s $HOME/Nextcloud/Sync/git/gitconfig $HOME/.gitconfig

Filezilla: make sure $HOME/.config is set to myself with chown -r Guni ln -s ~/Nextcloud/Sync/Filezilla/sitemanager.xml ~/.config/filezilla/sitemanager.xml

Manually set projects.json file in vscode after install Project Manager: Projects location: /Users/Guni/Nextcloud/Sync/Code

Backup Checklist

// Dries's readme below ...

A Fresh macOS Setup

These instructions are for when you've already set up your dotfiles. If you want to get started with your own dotfiles you can find instructions below.

Before you re-install

First, go through the checklist below to make sure you didn't forget anything before you wipe your hard drive.

  • Did you commit and push any changes/branches to your git repositories?
  • Did you remember to save all important documents from non-iCloud directories?
  • Did you save all of your work from apps which aren't synced through iCloud?
  • Did you remember to export important data from your local database?
  • Did you update mackup to the latest version and ran mackup backup?

Installing macOS cleanly

After going to our checklist above and making sure you backed everything up, we're going to cleanly install macOS with the latest release. Follow this article to cleanly install the latest macOS.

Setting up your Mac

If you did all of the above you may now follow these install instructions to setup a new Mac.

  1. Update macOS to the latest version with the App Store
  2. Install Xcode from the App Store, open it and accept the license agreement
  3. Install macOS Command Line Tools by running xcode-select --install
  4. Copy your public and private SSH keys to ~/.ssh and make sure they're set to 600
  5. Clone this repo to ~/.dotfiles
  6. Append /usr/local/bin/zsh to the end of your /etc/shells file
  7. Run install.sh to start the installation
  8. Restore preferences by running mackup restore
  9. Restart your computer to finalize the process

Your Mac is now ready to use!

Note: you can use a different location than ~/.dotfiles if you want. Just make sure you also update the reference in the .zshrc file.

Your Own Dotfiles

If you want to start with your own dotfiles from this setup, it's pretty easy to do so. First of all you'll need to fork this repo. After that you can tweak it the way you want.

Please note that the instructions below assume you already have set up Oh My Zsh so make sure to first install Oh My Zsh before you continue.

Go through the .macos file and adjust the settings to your liking. You can find much more settings at the original script by Mathias Bynens and Kevin Suttle's macOS Defaults project.

Check out the Brewfile file and adjust the apps you want to install for your machine. Use their search page to check if the app you want to install is available.

Check out the aliases.zsh file and add your own aliases. If you need to tweak your $PATH check out the path.zsh file. These files get loaded in because the $ZSH_CUSTOM setting points to the .dotfiles directory. You can adjust the .zshrc file to your liking to tweak your Oh My Zsh setup. More info about how to customize Oh My Zsh can be found here.

When installing these dotfiles for the first time you'll need to backup all of your settings with Mackup. Install Mackup and backup your settings with the commands below. Your settings will be synced to iCloud so you can use them to sync between computers and reinstall them when reinstalling your Mac. If you want to save your settings to a different directory or different storage than iCloud, checkout the documentation.

brew install mackup
mackup backup

You can tweak the shell theme, the Oh My Zsh settings and much more. Go through the files in this repo and tweak everything to your liking.

Enjoy your own Dotfiles!

Thanks To...

I first got the idea for starting this project by visiting the Github does dotfiles project. Both Zach Holman and Mathias Bynens were great sources of inspiration. Sourabh Bajaj's Mac OS X Setup Guide proved to be invaluable. Thanks to Taylor Otwell for his awesome Zsh theme! And lastly, I'd like to thank Maxime Fabre for his excellent presentation on Homebrew which made me migrate a lot to a Brewfile and Mackup.

In general, I'd like to thank every single one who open-sources their dotfiles for their effort to contribute something to the open-source community. Your work means the world! 🌍 ❤️