Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/talha131/dotfiles
My configurations for different tools
https://github.com/talha131/dotfiles
Last synced: about 2 months ago
JSON representation
My configurations for different tools
- Host: GitHub
- URL: https://github.com/talha131/dotfiles
- Owner: talha131
- Created: 2012-12-29T14:18:02.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2024-10-21T11:39:53.000Z (2 months ago)
- Last Synced: 2024-10-21T16:53:01.379Z (2 months ago)
- Language: Vim Script
- Size: 8.05 MB
- Stars: 22
- Watchers: 3
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.adoc
Awesome Lists containing this project
- awesome-starred-test - talha131/dotfiles - My configurations for different tools (Vim Script)
README
= Guide on Setting Up Development Environment
:toc:
:numbered:
:sectanchors:This guide is written to help me setup new Windows and Mac machines.
== Windows
=== Prerequisites
==== Windows Installer Flash Drive
. Use https://rufus.akeo.ie/[Rufus] to create bootable USB.
. Use `en_windows_10_multiple_editions_version_1511_x64_dvd_7223712.iso`==== Windows 10 Anniversary Update
Make sure you have Windows 10 Anniversary Update available for offline installation.
==== Drivers
For installing Windows on MacBook Pro, you need to download Bootcamp.
. Clone https://github.com/timsutton/brigadier[Brigadier]
git clone --depth 1 https://github.com/timsutton/brigadier.git
. Use http://www.everymac.com/ultimate-mac-lookup/[EveryMac] online tool to find your MacBook
model identifier using serial number
. Download Bootcampmkdir MacBookPro10-1
./brigadier -m MacBookPro10,1 -o MacBookPro10-1==== Password database
Make sure you have a copy of your password database stored outside Dropbox so that it can be
accessed on a fresh system which does not have Dropbox setup.=== Install Windows 10
Install a fresh copy of Windows 10. Make sure you do not enable network connection during or after
installation until drivers have been installed.. Select custom settings and disable all settings related to Cortana etc
. Attach flash drive with Windows 10 Anniversary Update iso and install update
from it
. Again disable all Cortana related options in settings
. Attach flash drive with Bootcamp on it, click on __Setup.exe__ to start driver installation
. Restart machine==== Configure Bootcamp
. Under __Keyboard__, enable __Use all F1, F2...__ option
. Under __Trackpad__, enable __Tap To Click__ and __Secondary __Tap__==== Change Computer Name
. Open __Advanced System Settings__ using
rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,1
. Click on __Change__ button
. RenameNow restart machine and connect to internet.
=== Post Installation Configuration
==== Set Time
. Open time and date settings using
control timedate.cpl
. Set time zone
. Use 24 hour time format==== Disable Cortana
. Run
gpedit.msc
. Go to __Computer Configuration__ -> __Administrative Templates__ -> __Search__
. Disable all Cortana related settings==== Disable OneDrive
. Run
gpedit.msc
. Go to __Computer Configuration__ -> __Administrative Templates__ -> __OneDrive__
. Disable all OneDrive related settings==== Turn off bluetooth
. Run
ms-settings:bluetooth
. Turn off bluetooth
==== Configure Edge
. Install ublock origin for Edge from Store.
. In Edge settings,
.. Open Microsoft Edge with Previous pages
.. Open new tabs with A blank page
.. Disable offer to save password
.. Enable Send Do Not Track requests
.. Change search engine to Google==== Map Keys
NOTE: My Windows machine is a MacBook. Left Win is actually Left Cmd key
which is right next to the space bar.. Download and install https://sharpkeys.codeplex.com/[SharpKeys]
Use SharpKeys to,
. Map Caps Lock to Left Ctrl key
. Map Left Ctrl to Left Win key
. Map Left Win to Right Ctrl key==== Track Pad
To invert the direction of scrolling (natural scrolling on macOS), run following command in PowerShell with administrative privileges.
```powershell
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\__\__\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 }
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\__\__\Device` Parameters FlipFlopHScroll -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopHScroll 1 }
```See http://superuser.com/a/364353/42415[SuperUser answer] for details.
Natural direction of scrolling is how you scroll on iPhone, Android and
other touch devices. Content scrolls in the direction of your fingers..Natural Scrolling
Sometimes I have a hard time to wrap my head around natural versus traditional scrolling.
Following is a simple test to figure out if we have been successful in inverting the scroll direction.
Basically, content scrolls oppositely to the direction in which you move your fingers on the trackpad.
For example, moving fingers up will make content scroll downward.To test natural vertical scrolling is working,
. Scroll to the bottom
. Move your fingers upward on the trackpad
. If scroll bar does not budge, then vertical scrolling is naturalTo test natural horizontal scrolling is working,
. Scroll to extreme right
. Move your fingers towards left on the trackpad
. If scroll bar does not budge then horizontal scrolling is natural==== Mouse Properties
Open mouse properties using `control main.cpl`.
. In __Buttons__ tab, turn on __ClickLock__
.. In __Settings__, set duration to the shortest possible
. In __Pointer Options__ tab, enable __Show Location of Pointer__
. In __Wheel__ tab, change scroll speed to 1=== Install Password Manager
Install following applications
. https://1password.com/downloads/[1Password standalone version]
. https://www.dropbox.com/install[Dropbox]==== Post Installation tasks
. Enter 1Password license key
. Login to Dropbox and start syncing
. Enter Windows key and activate your copy==== Check Windows activation status
. Type following command in Powershell
slmgr /xpr
A window will pop up that will show Windows activation status.
=== Install Applications using `Scoop`
==== Install `Scoop`
Install http://scoop.sh/[Scoop].
. Open Powershell
. RunSet-ExecutionPolicy RemoteSigned -scope CurrentUser
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')Add `scoop` "extras" bucket.
scoop bucket add extras
Add `scoop` "versions" bucket.
scoop bucket add versions
This bucket is help for running multiple versions of Python and Ruby on the same
machine. For details see
https://github.com/lukesampson/scoop/wiki/Switching-Ruby-And-Python-Versions[Switching
Ruby and Python Versions].==== Install applications
Use `scoop install` to install following applications,
. 7zip
. bitwarden
. calibre
. clink
. conemu
. curl
. dont-sleep
. fd
. ffmpeg
. fzf
. git
. gitextensions
. github
. gpg4win
. llvm
. neovim
. nodejs
. openssh
. ripgrep
. ruby
. sharex
. shasum
. slack
. SumatraPDF
. synctrayzor
. vim
. vlc
. vscode
. wget
. yarn
. youtube==== Configure Applications Post Install
===== Add ConEmu to context menu
. Open __Settings__ -> __Integration__
.. Click on __Register__ to add ConEmu to context menu
. Select __Keys & Macro__
.. Search for number
.. Change all __Win+[0-9]__ hotkey to RCtrl
. Select __Keyboard__
.. Check __Win+Numbers - activate console__==== Install Clink
. Open cmd
. Runclink autorun install
==== Configure SSH keys for Git
.Generate SSH Keys
After installing `git` and `openssh`, run `ssh-keygen` command in Powershell.
[source, powershell]
----
PS> mkdir .ssh
PS> ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/you//.ssh/id_rsa): [press enter]
Enter passphrase (empty for no passphrase): [type your password]
Enter same passphrase again: [and once more]
...
----Add new SSH key to Github account https://github.com/settings/keys[settings]. For details see this
https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/[help article]..Use Pshazz to remember SSH password
Pshazz includes a plugin for SSH that can save your SSH key password in
Windows Credential Manager so you don't need to re-type it every time you
push to your Github repo. Install it like this:scoop install pshazz
You should see a popup asking for your SSH key password. Enter it and check
the box to save your password. Back in your Powershell session, you should
see an Identity Added message.Whenever you start a Powershell session from
now on, Pshazz will make sure the ssh-agent is running and load your private
key using your saved password.Test SSH connection
To make sure everything's working, restart Powershell and then run this
command----
ssh -T [email protected]
----After a warning or two, you should see a message like this:
----
Hi ! You've successfully authenticated, but GitHub does not provide shell access.
----https://help.github.com/articles/testing-your-ssh-connection/[Visit Github help]
for details.==== Download Synced Settings
Login to sync account of
. Firefox Sync account
. Rambox sync account
. Install https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync[Visual Studio Code Settings Sync Extension] by Shan Khan
.. Download synced settings
. Install Atom sync settings package
.. Download synced settings==== Add Firefox Addons
. Install https://agilebits.com/onepassword/extensions[1Password extension]
. Login to RescueTime plugin
. Configure Pray Times plugin==== Install Asciidoctor
After `ruby` is installed, install http://asciidoctor.org/docs/install-toolchain/#install-using-code-gem-code[Asciidoctor]
gem install asciidoctor
Update Asciidoctor using
gem update asciidoctor
==== Install Docsets
Open Zeal and install following docsets,
. Download Qt5 documentation in ZealDocs
==== Configure ShareX
. Open ShareX
. Click on __Destinations__
. Select Imgur for __Image Uploader__
. Click on __Destination settings... __
.. Authorize Imgur
.. Refresh album list
.. Select your album
.. Check __Upload images to selected album__
.. Press __OK__
. Click on __After capture tasks__
. Select only
.. Upload image to host
.. Delete file locally
. Click __After upload tasks__
. Select only
.. Copy URL to clipboard
. Click on __Hotkey settings...__
.. Capture region to `Ctrl+Shift_4`
.. Capture entire screen to `Ctrl+Shift+3`
.. Capture active window to `Ctrl+Shift+Space`==== Configure Don't Sleep
. Click __Options__, check
.. __Start Minimized__
.. __Start with Windows__
. Click __Don't Sleep__, check
.. __Minimize to tray if Minimize__
.. __Minimize to tray if Close__==== Add VS Code to Context Menu
See instructions in <>.
=== Install Fonts
. Install https://github.com/google/fonts/tree/master/ofl/inconsolata[Inconsolata fonts]
=== Dotfiles
Create a `Repos` directory in `%HOMEPATH%`. Clone https://github.com/talha131/dotfiles[dotfiles repository].
git clone https://github.com/talha131/dotfiles.git
==== Git
Start a `cmd` tab with administrative privilege in ConEmu. Create symbolic links thusly,
----
mklink %HOMEPATH%\.gitconfig %HOMEPATH%\Repos\dotfiles\git\gitconfig
mklink %HOMEPATH%\.githelper %HOMEPATH%\Repos\dotfiles\git\githelper
mklink %HOMEPATH%\bin\diff-highlight %HOMEPATH%\Repos\dotfiles\bin\diff-highlight
----==== ConEmu
Start a `cmd` tab with administrative privilege in ConEmu. Create symbolic links thusly,
----
mklink %APPDATA%\ConEmu.xml %HOMEPATH%\Repos\dotfiles\conemu\ConEmu.xml
----==== Vim
===== Python for Vim
To compile LeaderF plugin, I had
. Install Windows 10 SDK
. Install http://aka.ms/vcpython27[Visual C++ Compiler for Python 2.7]NOTE: Currently https://github.com/vim/vim-win32-installer/[Vim is compiled with
Python 3.5.3]. For some reason https://github.com/lukesampson/scoop/issues/1515[
Python installed via scoop is not detected by Vim].https://stackoverflow.com/a/17963884/177116[You should make sure] that the
installed Python has the same build and version that Vim has in the output of
`:version` command.Install https://www.python.org/downloads/release/python-353/[Python 3.5.3].
===== Check Interpreters
Open Vim and check you have Python2, Python3, Ruby, and Lua working, using following commands,
----
:echo has('python3')
:echo has('python')
:echo has('ruby')
:echo has('lua')
----===== Link to Vim and NeoVim Configuration
Start `cmd` with administrative privilege in ConEmu. Create symbolic links thusly,
----
mklink %HOMEPATH%\.vimrc %HOMEPATH%\Repos\dotfiles\vim\vimrc
mklink /d %HOMEPATH%\.vim\ %HOMEPATH%\Repos\dotfiles\vim\vim\
mklink %LOCALAPPDATA%\nvim\init.vim %HOMEPATH%\Repos\dotfiles\vim\vimrc
mklink /d %LOCALAPPDATA%\nvim\colors %HOMEPATH%\Repos\dotfiles\vim\vim\colors
----===== Install Vim-Plug
I use https://github.com/junegunn/vim-plug[Vim-Plug] to manage my Vim
plugins. https://github.com/junegunn/vim-plug#installation[To install Vim-Plug],
open Powershell and type these commands,[source,powershell]
----
md ~\.vim\autoload
$uri = 'https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
(New-Object Net.WebClient).DownloadFile($uri, $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("~\.vim\autoload\plug.vim"))
----===== Install Plugins
Open Vim, ignore errors and issue `:PlugInstall!` to install all plugins and
themes.Restart Vim. This time there should be no errors.
[[gvim-to-context-menu]]
===== Add gVim to Context MenuPortable version of Vim from Tuxproject which does not come with an
installer. It is not automatically added to the Windows context.To add gVim to context menu, open registry using `regedit`.
. Navigate to `HKEY_CLASSES_ROOT\*\shell`.
. Add new key `gVim` under it.
. Change value of `Default` to `Open with gVim`
. Add a *new string value*, named `Icon`. Set it's value to gVim executable,
in this case `"C:\Users\talha\scoop\apps\vim\current\gvim.exe"`
. Add a *new sub key* under `gVim`. Name it `command`
. Set `command` default value to gVim executable, in this case
`"C:\Users\talha\scoop\apps\vim\current\gvim.exe" "%1"`See http://superuser.com/a/37923/42415[this link] for details.
==== AutoHotKey
To auto start the AutoHotKey script every time windows starts. Start `cmd`
with administrative privilege in ConEmu. Create symbolic links thusly,```
mklink "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\init.ahk" %HOMEPATH%\Repos\dotfiles\autohotkey\init.ahk
```=== Install Applications
. http://www.7-zip.org/download.html[7-Zip]
. http://www.revouninstaller.com/download-freeware-version.php[Revo Uninstaller Freeware]
. https://hluk.github.io/CopyQ/[CopyQ Clipboard Manager]
. https://evernote.com/download/get.php?file=Win[Evernote]
. https://www.rescuetime.com/get_rescuetime[RescueTime]
. https://github.com/canton7/SyncTrayzor[SyncTrayzor]
. https://dynalist.io/download[Dynalist]
. Visual Studio 2013
. https://download.qt.io/archive/qt/5.6/5.6.2/qt-opensource-windows-x86-msvc2013-5.6.2.exe.mirrorlist[Qt 5.6.2 for Windows 32bit VS 2013]
. https://www.qt.io/download-open-source/#section-9[Qt Creator]
. __Debugging Tools for Windows__ from https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk[Windows
10 SDK online installer].
. MS Office==== Configure Applications Post Install
. Setup sync with other computers using SyncTrayzor
===== Configure Qt Creator
. Open Options
. Click on __Environment__
.. Click on __Keyboard__ tab
... Set shortcut for __Options__ to `Ctrl+,`
. Click on __Build & Run__
.. Click on __General__ tab
... Set project directory to `~\Repos`
... Check __Save all files before build__
.. Click on __Qt Versions__
... Add Qt version by clicking __Add__ and navigating to `qmake.exe`. For example,
`C:\Qt\Qt5.6.2\5.6\msvc2013\bin\qmake.exe`
.. Click on __Compilers__ tab
... Make sure MSVC compilers have been auto detected. Otherwise add them manually.
.. Click on __Debuggers__ tab
... If CDB has has not bee auto detected, then add it manually. For example,
`C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\cdb.exe`
.. Click on __Kits__ tab
... Configure Kit for your project
. Click on __FakeVim__
.. __General Tab__
... Enable Fake Vim
... Enable Automatic indentation
... Smart indentation
... Expand tabulators
... Incremental search
... Use search dialog
... Use ignore case
... Show line numbers relative to cursor
... Check __Pass control key__.Gruvbox theme for Qt Creator
Download https://github.com/morhetz/gruvbox-contrib/tree/master/qtcreator[Gruvbox
theme for Qt Creator]. Restart Qt Creator
. Select Gruvbox theme
. Set font to Inconsolata
. Set font size.C++ Beautifier
. Click on __Help__
. Click on __About Plugins__
. Enable __C++ Beautifier__
. Restart Qt Creator
. Open __Options__
. Click on __Beautifier__
. Click on __General__ tab
.. Enable __Auto Format on Save__
.. Set tool to __Clang Format__
. Click on __Clang Format__ tab
.. Clink on __Use predefined style__
.. Select __File__
.. Select __Format entire file if no text is selected__=== Urdu Support
==== Add Urdu Language
. Use the Windows key + I keyboard shortcut to open the Settings app
. Click Time & language
. Click Region & language
. Under Languages, click Add a language
. Add Urdu Pakistan
. Install language pack==== Install Phonetic Keyboard
. Download https://urdu.ca/2[Phonetic Keyboard]
. Install keyboard
. Remove default Urdu keyboard
.. Use the Windows key + I keyboard shortcut to open the Settings app
.. Click Time & language
.. Click Region & language
.. Under Languages, click Urdu -> Options
.. Click on non-phonetic Urdu keyboard
.. Click __Remove__==== Install Urdu Fonts
Download and install fonts from following links,
. http://font.urduweb.org/downloads/357-decotype-naskh-regular[DecoType Naskh Regular]
. http://font.urduweb.org/downloads/363-diwani-letter-regular[Diwani Letter Regular]
. http://font.urduweb.org/downloads/243-khat-e-sulas-regular[Khat-e-Sulas Regular]
. http://font.urduweb.org/downloads/244-khat-e-sulas-shipped-regular[Khat-e-Sulas Shipped Regular]
. http://font.urduweb.org/downloads/376-old-antic-bold-regular[Old Antic Bold Regular]
. http://www.noorehidayat.org/index.php?p=cnt&c=noorehuda.ttf[NooreHuda]
. http://font.urduweb.org/downloads/249-jameel-noori-nastaleeq-regular[Jameel Noori Nastaleeq Regular]
. https://brushez.com/free_download/10eoM/39610[FS Diwani]
. https://fonts2u.com/nafees-web-naskh.font[Nafees Web Naskh]
. http://font.urduweb.org/downloads/277-nafees-naskh-regular[Nafees Naskh Regular]=== Deprecated Notes
Notes under this section are currently not in use. I keep them around for probable
future use.==== [line-through]#Disable Automatic Updates#
WARNING: This section is not relevant after Windows 10 anniversary
update. I did not face issue with Windows update after anniversary update.Windows 10 automatic updates messed up device drivers, rendering my machine
unstable. I had to reinstall Windows 10 at least 10 times before learning my
lesson to not to trust Windows 10 automatic updates..Disable Windows Update Service
. Open `services.msc`
. Stop and disable __Windows Update Service__.Disable Windows Driver Update
. Open driver update setting, using
rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,2
. Click on __Device Installation Settings__ and disable drivers updates
Help article on https://support.microsoft.com/en-us/kb/3073930[How to
temporarily prevent a driver update from reinstalling in Windows 10] may be
useful, though it didn't do much for me..Edit Group Policy
. Open `gpedit.msc`
. __Computer Configuration__ -> __Administrative Templates__ -> __Windows Components__
-> __Windows Update__ -> __Configure Automatic Updates__
. Enable __Configure Automatic Updates__
. Choose __Notify to download and notify to install__.Update Windows Manually
Install
http://www.majorgeeks.com/files/details/windows_update_minitool.html[Windows
Update MiniTool] and use it to update Windows manually.==== [line-through]#Install Applications#
WARNING: Following applications have been replaced by their alternatives or `scoop`
manages them.. https://conemu.github.io/en/[ConEmu Windows Terminal]
. https://mridgers.github.io/clink/[Clink]
. Install http://rambox.pro/[Rambox]
.. Enable and Setup
... Slack
... Inbox (Personal)
... Inbox (Work)
... Gmail (University)
... Telegram
... IRC Cloud
.. Setup https://github.com/saenzramiro/rambox/wiki/Inject-JavaScript-Code[auto reload for Slack]
.. Setup Google Calendar
... Url: http://google.com/calendar
... Logo: https://i.imgur.com/taT0Yxn.png
.. Setup Google Spreadsheets
... Url: https://docs.google.com/spreadsheets
... Logo: https://i.imgur.com/Ny6YHlK.png
. Install Chocolatey Packages
.. Install https://chocolatey.org/install[Chocolatey]
. https://www.sumatrapdfreader.org/free-pdf-reader.html[Sumatra PDF]
. Install https://www.python.org/downloads/windows/[Python2 and Python3]
. Install https://rubyinstaller.org/[Ruby]
. https://git-for-windows.github.io/[Git for Windows]
. CDB debugger for Qt
.. Offline installer is http://superuser.com/a/1020752/42415[not available]
... Either install it directly or choose to download only
... Installer will present a menu of features. Select __Debugging Tools for Windows__ (~100MB)
... Install it manually from download folder, if you had opted for download option
. https://slproweb.com/products/Win32OpenSSL.html[Win32 OpenSSL 1.0.1 Light] into Windows System folders
. https://autohotkey.com/[AutoHotKey]==== [line-through]#Download Portable Applications#
. https://tuxproject.de/projects/vim/[Vim]
. http://luabinaries.sourceforge.net/[Lua]
.. Navigate and download from `Windows Libraries/Dynamic` folder
. http://www.softwareok.com/?Download=DontSleep[Don't Sleep Utility]==== [line-through]#diff.exe for Vim#
IMPORTANT: Tuxproject Vim does not include a `diff.exe`.
`diff` or `Gdiff` (in Vim Fugitive) may not work.
On the other hand, https://github.com/vim/vim-win32-installer[Vim Win32
Installer] is shipped with `diff`.Check output of
----
:!where diff
----If the result is empty or `Gdiff` is not working then add `diff.exe` from Git
installation to your `%PATH%`.Open your Environment Variables, edit `%PATH%` to add `C:\Program
Files\Git\usr\bin`.See this
https://github.com/tpope/vim-fugitive/issues/680#issuecomment-134650380[Github
issue] for details.==== [line-through]#Install AutoJump#
NOTE: https://github.com/lukesampson/pshazz[pshazz] comes with `z` that is AutoJump for Powershell.
You must have Clink installed before you install AutoJump
. Clone https://github.com/wting/autojump[AutoJump]
. Add https://github.com/wting/autojump/issues/436[patch]
. Open `cmd`
. Make sure Clink is working in `cmd`
. Switch to AutoJump directory
. Install AutoJump using `python install.py`
. Successful installation will output a path, add this path your `%PATH%`.==== [line-through]#Clink#
You can view Clink settings and configuration directory using `clink set` command.
==== [line-through]#Color Codes#
To have https://github.com/morhetz/gruvbox[Gruvbox] dark theme like background in `cmd` or Git shell, use following color codes:
.Color Codes
[cols="4", options="header"]
|===
|Color Values
|Red
|Green
|Blue|Screen Background,
|44
|44
|44|Screen Text
|218
|198
|144
|======= [line-through]#Download Portable Applications#
Create a folder `bin` in `%HOMEPATH%`,
----
mkdir %HOMEPATH%\bin
----This folder is referred to as `bin` henceforth.
Download following apps and extract them in `bin` folder,
. http://www.majorgeeks.com/files/details/windows_update_minitool.html[Windows Update MiniTool]
Add their path to `%PATH%` variable.
To edit `%PATH%` variable, open Environment Variables using
----
rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,3
----You can check path of each command using `where` command. For example,
----
> where gvim C:\Users\talha\bin\complete-x64\gvim.exe
----You can use it to test each downloaded program is available from `%PATH%`.
== Mac
=== Install macOS
macOS Recovery installs different versions of macOS depending on the key
combination you press while starting up.Hold down one of these combinations
immediately after pressing the power button to turn on your Mac. Release
when you see the Apple logo or a spinning globe.[cols="2", options="header"]
|===| Shortcut
| Description| command-R
| Reinstall the latest macOS that was installed on your Mac, without upgrading to a later version.1| Option-Command-R
| Upgrade to the latest macOS that is compatible with your Mac.2| Shift-Option-Command-R
| Requires macOS Sierra 10.12.4 or later Reinstall the macOS that came with your Mac, or the version closest to it that is still available.|===
After finishing installation you may have to download and install __macOS Sierra__
from App Store.=== Post Installation Configuration
. Right click on battery icon and select __Show Percentage__
. Download Xcode from the App Store==== Configure Trackpad
. Open __System Configuration__ -> __Trackpad__
. __Point & Click__
.. Enable __Tap to Click__
.. Set __Click__ to __Light__
.. Set __Tracking speed__ to __Fast__
. Now open __Accessibility__
.. __Mouse & Trackpad__ -> __Trackpad Options...__
.. Enable dragging with three finger drag==== Configure Applications Post Install
. Login to Dropbox
. Activate 1Password using license key
. Enable Firefox sync
. Make Firefox default browser
. Sync Visual Studio Code settings
. Install 1Password browser extension
. Login to RescueTime===== Configure iterm2
. Open Preferences
. General -> Preferences -> Load preferences from a custom folder
. Browser to Dropbox folder
. If asked **Do not copy local settings to the folder**
. Restart iTerm2
. Check if settings have been loaded perfectly===== Make fish default shell
. `sudo vi /etc/shells`
. Add `/usr/local/bin/fish`
. Quit and runchsh -s /usr/local/bin/fish
===== Configure SSH keys for Git
. https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/[Generating
a new SSH key and adding it to the ssh-agent]
. https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/#platform-mac[Adding
a new SSH key to your GitHub account]===== Install Python version
pyenv versions
pyenv install 2.7.14
pyenv install 3.7.2
pyenv global 3.7.2 2.7.14===== pip Packages
pip2 install --upgrade pip
pip3 install --upgrade pip
pip2 install --upgrade neovim
pip3 install --upgrade neovim virtualfish pip-autoremove pre-commit===== gem packages
gem install asciidoctor
gem install neovim===== Yarn packages
Use `yarn global add` to install following packages,
. ffmpeg-concat
. gifify
. neovim
. npm-check
. tiddlywiki=== Dot Files
Create a `Repos` directory in `~`. Clone https://github.com/talha131/dotfiles[dotfiles repository].
git clone https://github.com/talha131/dotfiles.git
Then issue following commands
rm -r ~/.hammerspoon/
ln -s ~/Repos/dotfiles/hammerspoon/ ~/.hammerspoon/
ln -s ~/Repos/dotfiles/git/gitconfig ~/.gitconfig
ln -s ~/Repos/dotfiles/git/githelper ~/.githelper
ln -s ~/Repos/dotfiles/bin/diff-highlight ~/bin/diff-highlight
ln -s ~/Repos/dotfiles/vim/vimrc ~/.vimrc
ln -s ~/Repos/dotfiles/vim/vim ~/.vim
ln -s ~/Repos/dotfiles/spacemacs/spacemacs ~/.spacemacs
mkdir ~/.config/nvim
ln -s ~/Repos/dotfiles/vim/vimrc ~/.config/nvim/init.vim
ln -s ~/Repos/dotfiles/vim/coc-settings.json ~/.config/nvim/coc-settings.json==== Install Vim Plug
https://github.com/junegunn/vim-plug[vim-plug]
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
=== Emacs key bindings for OS X
Create file
mkdir ~/Library/KeyBindings/
touch DefaultKeyBinding.dictAdd to file `DefaultKeyBinding.dict`
{
"~d" = "deleteWordForward:";
"^w" = "deleteWordBackward:";
"~f" = "moveWordForward:";
"~b" = "moveWordBackward:";
}Restart applications to use these shortcuts.