⚠️ Disclaimer! ⚠️
Please DO NOT blindly copy or run the
installersnippet if you do not fully understand what it does!. I use this place as a backup :)
Feel free to take whatever you want, though.
The font is JetBrains Mono
This is where I keep all my dotfiles and configs, and as well as all the tools I commonly use. Every time I set up a new OS X machine I can execute a single command to
bootstrap a new system and pull down all of my dotfiles and configs.
A lot of stuff and you can check them out in the file browser above. Main components are:
Homebrew: Used for managing and installing macOS dependencies and
Caskfor managing and installing GUI apps like Chrome, Firefox, VSCode,...etc.
Tmux: Used for pane and window management, copy-mode for navigating output, and session management make it a no-brainer for those who live in the terminal (and especially vim)
Neovim: A drop-in replacement for Vim with my own customizations applied.
ZSH: Shell with various customization`:
🚀Spaceships ZSHas a prompt.
🌺ZPLUGfor dependency management.
VIMbindings for VIM nerds.
Git config, global
.gitignorefile and aliases.
Hammerspoon: a MacOS automation solution using Lua to solve interesting problems in an easy way
Newsboat: an RSS feed reader for the text terminals.
Files: directory where all extra configs live that will be symlink into your
Extras/bin: Anything in bin will get added to your
$PATHand be made available everywhere.
Missing feature? 🍴 Fork this repo and make it better ❤️
To set up the my
dotfiles, run the appropriate snippet in the terminal:
By default it Installs
Personal prefered stuff, for
Work related stuff you need to pass
work as an argument to the
bash -c "$(curl -fsSL https://raw.githubusercontent.com/AhmedAbdulrahman/dotfiles/master/installer.sh)" work
That's it! 🎉. When
installer is run, you are prompted to choose one option from the list as seen below:
What you want to do? 1) All 6) Install macOS Apps 2) Install package manager 7) Override macOS System Settings 3) Install Git and Setup SSH 8) Change shell 4) Clone Ahmeds dotfiles 9) Install XCode tools 5) Symlink files 10) Quit Enter your choice (must be a number): # Choose a number
The installer attempts to only select relevant script based on your choice. Say you choose
All, then the process does a few things:
Homebrewour main macOS dependency manager.
ZSHshell and set it as primary shell for your terminal.
dotfilesrepo on your computer (by default it will suggest
Nodejsincluding global packages, and
Git Submodules, and
dotfiles config can be easily extended to suit additional local
requirements by using
*.local files which will be created using
You can add or overwrite any existing aliases, settings,
PATH, ... etc for
~/.zshrc.local file located in your
$HOME dir, and it will be automatically sourced after all the other
zsh. Then you can add your own configs ;)
#!/usr/bin/env zsh # Example: Set local aliases. alias vim="nvim" # Set PATH additions. PATH="$PATH:$HOME/projects/dotfiles/src/bin" # Here we are adding bin directory to PATH export PATH # Then export it
Same goes for
vim. You can add or overwrite your custom config to
~/.gitconfig.local file including your sensitive information such as your
git credentials and this file will be automatically included after the configurations from
[user] name = Ahmed Abdulrahman email = [email protected] signingkey = XXXXXXXX
This repo is inspired and influenced by
Copyright © 2020 Ahmed Abdulrahman
Licensed under the MIT