Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cjpatoilo/dotfiles
A restore point for sync your settings and preferences in your toolbox.
https://github.com/cjpatoilo/dotfiles
dotfile dotfiles
Last synced: 12 days ago
JSON representation
A restore point for sync your settings and preferences in your toolbox.
- Host: GitHub
- URL: https://github.com/cjpatoilo/dotfiles
- Owner: cjpatoilo
- License: mit
- Created: 2014-08-24T06:09:13.000Z (about 10 years ago)
- Default Branch: main
- Last Pushed: 2023-02-27T01:22:51.000Z (over 1 year ago)
- Last Synced: 2024-10-16T07:23:59.989Z (24 days ago)
- Topics: dotfile, dotfiles
- Language: JavaScript
- Homepage: https://cjpatoilo.com/dotfiles
- Size: 422 KB
- Stars: 16
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- Contributing: .github/contributing.md
- Funding: .github/funding.yml
- License: license
Awesome Lists containing this project
README
| A restore point for sync your settings and preferences in your toolbox.
## Why it's awesome
Dotfiles provides a fast setup for backup, restore, and sync the prefs and settings for your toolbox. Dotfiles might be the most important files on your machine and I hope it helps you as much as it helps me!
## Table of Contents
- [Homebrew](#homebrew)
- [Visual Studio Code](#visual-studio-code)
- [Google Chrome](#google-chrome)
- [Github](#github)
- [Terminal](#terminal)
- [macOS](#macos)## Usage
Start reading this document to see it is not difficult as you might have imagined. Just follow the step by step.
**_NOTE: This tips is just a personal reference, use with care._**
### Homebrew
Homebrew is the package manager for macOS (or Linux).
`ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"`
**Dependencies**
- asdf (Manage multiple runtime versions)
- Git Version Control`brew install asdf git`
**Apps**
- AppCleaner
- BrowserStack
- Caffeine
- Docker
- Figma
- Franz
- GoogleChrome
- Kap
- LogitechPresentation
- MeetingBar
- Pliim
- Rectangle
- Slack
- Sketch
- Sourcetree
- VisualStudioCode`brew install --cask appcleaner browserstacklocal caffeine docker figma franz google-chrome kap meetingbar logitech-presentation pliim rectangle slack sketch sourcetree visual-studio-code`
**Plugins**
`brew cask install qlcolorcode qlstephen qlmarkdown quicklook-json qlimagesize webpquicklook suspicious-package quicklookase qlvideo && mv ~/Downloads/.qlgenerator > ~/Library/QuickLook && qlmanage -r`
### Visual Studio Code
Visual Studio Code is a source-code editor developed by Microsoft.
**Plugins**
- Auto Close Tag
- Auto Complete Tag
- Auto Rename Tag
- Auto Filename
- Autotrim
- Better Comments
- Browser Preview
- Code Intellicode
- Code Runner
- Code Settings Sync
- Debugger for Chrome
- Docker
- DotENV
- Dracula Theme
- EditorConfig
- ESlint
- Git Lens
- Git Ignore
- GraphQL
- HTML CSS Class Completion
- Java
- JavaScript Snippets
- Jupyter
- LiveShare
- Lorem Ipsum
- Maven
- npm script
- Path Intellisense
- Prettier
- Python
- Remote Containers
- Ruby
- Run On Save
- Sass Indented
- Styled Components
- Stylus
- Sublime Keybindings
- Terminal
- TypeScript TSlint Plugin
- Material Icon Theme
- Wakatime
- Whitespacer`code --install-extension aaron-bond.better-comments && code --install-extension auchenberg.vscode-browser-preview && code --install-extension christian-kohler.path-intellisense && code --install-extension codezombiech.gitignore && code --install-extension dbaeumer.vscode-eslint && code --install-extension deerawan.vscode-whitespacer && code --install-extension dracula-theme.theme-dracula && code --install-extension eamodio.gitlens && code --install-extension EditorConfig.EditorConfig && code --install-extension eg2.vscode-npm-script && code --install-extension emeraldwalk.RunOnSave && code --install-extension esbenp.prettier-vscode && code --install-extension formulahendry.auto-close-tag && code --install-extension formulahendry.auto-complete-tag && code --install-extension formulahendry.auto-rename-tag && code --install-extension formulahendry.code-runner && code --install-extension formulahendry.terminal && code --install-extension GraphQL.vscode-graphql && code --install-extension JerryHong.autofilename && code --install-extension jpoissonnier.vscode-styled-components && code --install-extension mikestead.dotenv && code --install-extension ms-azuretools.vscode-docker && code --install-extension ms-python.python && code --install-extension ms-toolsai.jupyter && code --install-extension ms-vscode-remote.remote-containers && code --install-extension ms-vscode.sublime-keybindings && code --install-extension ms-vscode.vscode-typescript-tslint-plugin && code --install-extension ms-vsliveshare.vsliveshare && code --install-extension msjsdiag.debugger-for-chrome && code --install-extension NathanRidley.autotrim && code --install-extension PKief.material-icon-theme && code --install-extension rebornix.ruby && code --install-extension redhat.java && code --install-extension Shan.code-settings-sync && code --install-extension syler.sass-indented && code --install-extension sysoev.language-stylus && code --install-extension Tyriar.lorem-ipsum && code --install-extension VisualStudioExptTeam.vscodeintellicode && code --install-extension vscjava.vscode-java-debug && code --install-extension vscjava.vscode-java-dependency && code --install-extension vscjava.vscode-java-pack && code --install-extension vscjava.vscode-java-test && code --install-extension vscjava.vscode-maven && code --install-extension WakaTime.vscode-wakatime && code --install-extension wingrunr21.vscode-ruby && code --install-extension xabikos.JavaScriptSnippets && code --install-extension Zignd.html-css-class-completion`
After install, confirm all plugins installed:
`code --list-extensions`
**Settings**
```
{
"editor.detectIndentation": true,
"editor.fontSize": 14,
"editor.tabSize": 2,
"files.autoSave": "onFocusChange",
"files.autoSaveDelay": 0,
"files.defaultLanguage": "en",
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true,
"files.trimTrailingWhitespace": true,
"markdown.preview.fontSize": 14,
"window.openFilesInNewWindow": "on",
"workbench.colorTheme": "Dracula",
"workbench.iconTheme": "material-icon-theme"
}
```### Google Chrome
Google Chrome is a cross-platform web browser developed by Google.
**Plugins**
- [Full Page Screen Capture](https://chrome.google.com/webstore/detail/full-page-screen-capture/fdpohaocaechififmbbbbbknoalclacl)
- [Google Docs Offline](https://chrome.google.com/webstore/detail/google-docs-offline/ghbmnnjooekpmoecnnnilnnbdlolhkhi)
- [Grammarly for Chrome](https://chrome.google.com/webstore/detail/grammarly-for-chrome/kbfnbcaeplbcioakkpcpgfkobkghlhen)
- [Image Downloader](https://chrome.google.com/webstore/detail/image-downloader/cnpniohnfphhjihaiiggeabnkjhpaldj)
- [JSON Formatter](https://chrome.google.com/webstore/detail/json-formatter/bcjindcccaagfpapjjmafapmmgkkhgoa)
- [Pesticide for Chrome](https://chrome.google.com/webstore/detail/pesticide-for-chrome/bblbgcheenepgnnajgfpiicnbbdmmooh)
- [React Developer Tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi)
- [Redux DevTools](https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd)
- [Wappalyzer](https://chrome.google.com/webstore/detail/wappalyzer/gppongmhjkpfnbhagpmjfkannfbllamg)
- [WhatFont](https://chrome.google.com/webstore/detail/whatfont/jabopobgcpjmedljpbcaablpmlmfcogm)### GitHub
GitHub is provides hosting for software development version control using Git.
**SSH Settings**
1. Generating public/private rsa key pair
`ssh-keygen -t rsa -b 4096 -C "[email protected]"`1. Start the ssh-agent in the background
`eval "$(ssh-agent -s)"`1. Creating config file
`printf "ServerAliveInterval 60\nHost github.com\nHostname ssh.github.com\nPort 443\n" > ~/.ssh/config`1. Add your SSH private key to the ssh-agent and store your passphrase in the keychain.
`ssh-add -K ~/.ssh/id_rsa`1. Copy the SSH key to your clipboard.
`pbcopy < ~/.ssh/id_rsa.pub`1. Now access GitHub SSH Settings to add the SSH key.
https://github.com/settings/ssh/new**GPG Settings**
1. Download and install the GPG command line tools.
`brew install gpg`1. Generate a GPG key pair.
`gpg --full-generate-key`1. Enter to accept the default kind of key
`RSA`1. Enter the desired key size in bits.
`4096`
1. Enter the length of time the key should be valid.
Press Enter to specify the default selection, indicating that the key doesn't expire.1. Enter your GitHub email address.
`[email protected]`1. Copy the GPG keys ID from the list of GPG keys. In this example, the GPG key ID is `3AA5C34371567BD2`.
```
$ gpg --list-secret-keys --keyid-format LONG/Users/hubot/.gnupg/secring.gpg
------------------------------------
sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
uid Hubot
ssb 4096R/42B317FD4BA89E7A 2016-03-10
```1. Paste your GPG Key Id.
`gpg --armor --export 3AA5C34371567BD2`1. Copy your GPG key to add in your GitHub account.
https://github.com/settings/gpg/new**Git Settings**
Make it even easier version control `~/.gitconfig`
```
[user]
name = CJ Patoilo
email = [email protected]
signingkey = "Your Sign In Key"[branch]
autosetupmerge = always[alias]
ci = commit -am
lo = log --pretty=format:'%an - %h %s %ar'
st = status
br = branch
sw = show
df = diff
fe = fetch
mg = merge
rb = rebase
rt = remote -v
co = checkout
po = push origin
pu = pull origin
pom = push origin master
pum = pull origin master
com = checkout master
pod = push origin develop
pud = pull origin develop
cod = checkout develop
pog = push origin gh-pages
pug = pull origin gh-pages
cog = checkout gh-pages
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative[core]
excludesfile = ~/.gitignore_global[commit]
template = ~/.stCommitMsg[difftool "sourcetree"]
cmd = opendiff \"$LOCAL\" \"$REMOTE\"
trustExitCode = true
path =[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
required = true
process = git-lfs filter-process[mergetool "sourcetree"]
cmd = /Applications/Sourcetree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
trustExitCode = true
```### Terminal
The Terminal is an interface that allows you to access the command line from the GUI.
**Bash Settings**
First create Bash Profile file `touch ~/.bash_profile` and add this content:
```
source $HOME/.git-prompt.sh
# PS1="\[\033[1;36m\]\u\[\033[32m\]$(__git_ps1 " (\W/%s)")\[\033[0m\] $ "
PS1="\[\033[1;36m\]\u\[\033[32m\]\$(__git_ps1)\[\033[0m\] $ "alias cls="clear"
alias reload="source $HOME/.bash_profile"
alias www="cd $HOME/Www/"export PATH="/usr/local/bin:$PATH"
export PATH="/usr/local/sbin:$PATH". $HOME/.asdf/asdf.sh
```### macOS
macOS is a series of graphical operating systems developed and marketed by Apple Inc.
`xcode-select --install`
**macOS Settings**
- LockScreen: Set Lock Message to show on login screen
`defaults write com.apple.loginwindow LoginwindowText -string "Found me? Shoot a mail to [email protected] to return me. Thanks!"`- Bluetooth: Increase sound quality for Bluetooth headphones/headsets
`defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" -int 40`- Trackpad: Enable extra multifinger gestures
`defaults write com.apple.dock showMissionControlGestureEnabled -bool true`
`defaults write com.apple.dock showAppExposeGestureEnabled -bool true`
`defaults write com.apple.dock showDesktopGestureEnabled -bool true`
`defaults write com.apple.dock showLaunchpadGestureEnabled -bool true`- Trackpad: Enable right click with two fingers
`defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadRightClick -bool true`
`defaults write com.apple.AppleMultitouchTrackpad TrackpadRightClick -bool true`
`defaults -currentHost write NSGlobalDomain com.apple.trackpad.enableSecondaryClick -bool true`
`defaults write com.apple.AppleMultitouchTrackpad TrackpadRightClick -bool true`- Trackpad: Increment tracking speed
`defaults write NSGlobalDomain com.apple.trackpad.scaling -float 0.875`- ScrollWheel: Increment tracking speed
`defaults write NSGlobalDomain com.apple.scrollwheel.scaling -float 0.215`- Mouse: Increment tracking speed
`defaults write com.apple.driver.AppleBluetoothMultitouch.mouse MouseButtonMode TwoButton`- Mouse: Allow right click button
`defaults write NSGlobalDomain com.apple.mouse.scaling -int 3`- Finder: Show all filenames extensions
`defaults write NSGlobalDomain AppleShowAllExtensions -bool true`- Finder: Show hidden files by default
`defaults write com.apple.finder AppleShowAllFiles -bool true`- Finder: Show status bar
`defaults write com.apple.finder ShowStatusBar -bool true`- Finder: Show path bar
`defaults write com.apple.finder ShowPathbar -bool true`- Finder: Keep folders on top when sorting by name
`defaults write com.apple.finder _FXSortFoldersFirst -bool true`- Finder: When performing a search, search the current folder by default
`defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"`- Finder: Disable the warning when changing a file extension
`defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false`- Finder: Avoid creating .DS_Store files on network or USB volumes
`defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true`
`defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true`- Finder: Allow text selection in Quick Look
`defaults write com.apple.finder QLEnableTextSelection -bool true`- Finder: Disable the warning when changing a file extension
`defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false`- TextEdit: Use plain text mode for new TextEdit documents
`defaults write com.apple.TextEdit RichText -int 0`- TextEdit: Open and save files as UTF-8 in TextEdit
`defaults write com.apple.TextEdit PlainTextEncoding -int 4`
`defaults write com.apple.TextEdit PlainTextEncodingForWrite -int 4`- Screen: Save screenshots to the downloads
`defaults write com.apple.screencapture location -string "$HOME/Downloads"`- Screen: Save screenshots in PNG format (other options: BMP, GIF, JPG, PDF, TIFF)
`defaults write com.apple.screencapture type -string "png"`- Screen: Disable shadow in screenshots
`defaults write com.apple.screencapture disable-shadow -bool true`- Spotlight: Change indexing order and disable some search results
```
defaults write com.apple.spotlight orderedItems -array \
'{"enabled" = 1;"name" = "APPLICATIONS";}' \
'{"enabled" = 1;"name" = "SYSTEM_PREFS";}' \
'{"enabled" = 1;"name" = "DIRECTORIES";}' \
'{"enabled" = 1;"name" = "PDF";}' \
'{"enabled" = 1;"name" = "FONTS";}' \
'{"enabled" = 0;"name" = "DOCUMENTS";}' \
'{"enabled" = 0;"name" = "MESSAGES";}' \
'{"enabled" = 0;"name" = "CONTACT";}' \
'{"enabled" = 0;"name" = "EVENT_TODO";}' \
'{"enabled" = 0;"name" = "IMAGES";}' \
'{"enabled" = 0;"name" = "BOOKMARKS";}' \
'{"enabled" = 0;"name" = "MUSIC";}' \
'{"enabled" = 0;"name" = "MOVIES";}' \
'{"enabled" = 0;"name" = "PRESENTATIONS";}' \
'{"enabled" = 0;"name" = "SPREADSHEETS";}' \
'{"enabled" = 0;"name" = "SOURCE";}' \
'{"enabled" = 0;"name" = "MENU_DEFINITION";}' \
'{"enabled" = 0;"name" = "MENU_OTHER";}' \
'{"enabled" = 0;"name" = "MENU_CONVERSION";}' \
'{"enabled" = 0;"name" = "MENU_EXPRESSION";}' \
'{"enabled" = 0;"name" = "MENU_WEBSEARCH";}' \
'{"enabled" = 0;"name" = "MENU_SPOTLIGHT_SUGGESTIONS";}'
```- Spotlight: Load new settings before rebuilding the index
`killall mds > /dev/null 2>&1`- Spotlight: Make sure indexing is enabled for the main volume
`sudo mdutil -i on / > /dev/null`- Spotlight: Rebuild the index from scratch
`sudo mdutil -E / > /dev/null`- Terminal: Only use UTF-8 in Terminal.app
`defaults write com.apple.terminal StringEncodings -array 4`- Terminal: Enable Secure Keyboard Entry in Terminal.app
`defaults write com.apple.terminal SecureKeyboardEntry -bool true`- Terminal: Disable the annoying line marks
`defaults write com.apple.Terminal ShowLineMarks -int 0`- Time Machine: Prevent Time Machine from prompting to use new hard drives as backup volume
`defaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true`- Time Machine: Disable local Time Machine backups
`hash tmutil &> /dev/null && sudo tmutil disablelocal`- Activity Monitor: Show the main window when launching Activity Monitor
`defaults write com.apple.ActivityMonitor OpenMainWindow -bool true`- Activity Monitor: Visualize CPU usage in the Activity Monitor Dock icon
`defaults write com.apple.ActivityMonitor IconType -int 5`- Activity Monitor: Show all processes in Activity Monitor
`defaults write com.apple.ActivityMonitor ShowCategory -int 0`- Activity Monitor: Sort Activity Monitor results by CPU usage
`defaults write com.apple.ActivityMonitor SortColumn -string "CPUUsage"`
`defaults write com.apple.ActivityMonitor SortDirection -int 0`## Contributing
Want to contribute? Follow these [recommendations](.github/contributing.md).
## License
Designed with ♥ by [CJ Patoilo](https://twitter.com/cjpatoilo). Licensed under the [MIT License](https://cjpatoilo.com/license).