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