https://github.com/cornips/dotfiles
Dotfiles to setup and maintain my preferred setup
https://github.com/cornips/dotfiles
Last synced: 5 months ago
JSON representation
Dotfiles to setup and maintain my preferred setup
- Host: GitHub
- URL: https://github.com/cornips/dotfiles
- Owner: cornips
- License: mit
- Created: 2023-01-12T14:48:39.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-02-03T14:11:38.000Z (over 1 year ago)
- Last Synced: 2025-02-03T14:45:21.868Z (over 1 year ago)
- Language: Shell
- Size: 125 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Cornips's Dotfiles
## Introduction
This repository serves as my way to help me setup and maintain my Mac. It takes the effort out of installing everything manually. Everything needed to install my preferred setup of macOS is detailed in this readme. Feel free to explore, learn and copy parts for your own dotfiles. Enjoy!
💡 - [Learn how to build your own dotfiles](https://github.com/cornips/dotfiles#your-own-dotfiles)
## A fresh macOS Setup
These instructions are for setting up new Mac devices.
### Backup your data
If you're migrating from an existing Mac, you should first make sure to back up all of your existing data. Go through the checklist below to make sure you didn't forget anything before you migrate.
- 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](https://github.com/lra/mackup) to the latest version and ran `mackup backup`?
### Setting up your Mac
After backing up your old Mac you may now follow these install instructions to set up a new one.
1. Update macOS to the latest version through system preferences
2. [Generate a new public and private SSH key](https://docs.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent) by running:
```zsh
curl https://raw.githubusercontent.com/cornips/dotfiles/HEAD/ssh.sh | sh -s ""
```
3. Clone this repo to `~/.dotfiles` with:
```zsh
git clone git@github.com:cornips/dotfiles.git ~/.dotfiles
```
4. Run the installation with:
```zsh
~/.dotfiles/fresh.sh
```
5. After mackup is synced with your cloud storage, restore preferences by running `mackup restore`
6. Restart your computer to finalize the process
Your Mac is now ready to use!
### Cleaning your old Mac (optionally)
After you've set up your new Mac you may want to wipe and clean install your old Mac. Follow [this article](https://support.apple.com/guide/mac-help/erase-and-reinstall-macos-mh27903/mac) to do that. Remember to [backup your data](#backup-your-data) first!
## Your own dotfiles
**Please note that the instructions below assume you already have set up Oh My Zsh so make sure to first [install Oh My Zsh](https://github.com/robbyrussell/oh-my-zsh#getting-started) before you continue.**
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.
Go through the [`.macos`](./.macos) file and adjust the settings to your liking. You can find much more settings at [the original script by Mathias Bynens](https://github.com/mathiasbynens/dotfiles/blob/master/.macos) and [Kevin Suttle's macOS Defaults project](https://github.com/kevinSuttle/MacOS-Defaults).
Check out the [`Brewfile`](./Brewfile) file and adjust the apps you want to install for your machine. Use [their search page](https://formulae.brew.sh/cask/) to check if the app you want to install is available.
Check out the [`aliases.zsh`](./aliases.zsh) file and add your own aliases. If you need to tweak your `$PATH` check out the [`path.zsh`](./path.zsh) file. These files get loaded in because the `$ZSH_CUSTOM` setting points to the `.dotfiles` directory. You can adjust the [`.zshrc`](./.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](https://github.com/robbyrussell/oh-my-zsh/wiki/Customization).
When installing these dotfiles for the first time you'll need to back up 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](https://github.com/lra/mackup/blob/master/doc/README.md#storage). Also make sure your `.zshrc` file is symlinked from your dotfiles repo to your home directory.
```zsh
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!
## Known issues
When running `.macos` you may get a warning about `Could not write domain X; exiting`. Fix by running the following and then re-run `.macos`.
```zsh
chmod 700 ~/Library/Preferences/
sudo chown $(whoami) /Library/Preferences/
```
## Thanks to...
Thanks to [driesvints](https://github.com/driesvints/dotfiles) for his dotfiles, which I used as a starting point for this repository.
I want to list some thankable links he posted in his repository.
📖 - [Read driesvints's blog post](https://driesvints.com/blog/getting-started-with-dotfiles)
### Inspiration
- [GitHub does dotfiles](https://dotfiles.github.io/)
- [driesvints dofiles](https://github.com/driesvints/dotfiles)
- [Zach Holman dofiles](https://github.com/holman/dotfiles)
- [Mathias Bynens dofiles](https://github.com/mathiasbynens/dotfiles)
- [Mac OS X Setup Guide](http://sourabhbajaj.com/mac-setup/)
- [Minimal Zsh theme](https://github.com/subnixr/minimal)
- [Emma Fabre's excellent presentation on Homebrew](https://speakerdeck.com/anahkiasen/a-storm-homebrewin)
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.