All Projects → cjpatoilo → dotfiles

cjpatoilo / dotfiles

Licence: MIT license
A restore point for sync your settings and preferences in your toolbox.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to dotfiles

DotFiles
🎨 one-stop service for you to configure many Unix tools.
Stars: ✭ 29 (+93.33%)
Mutual labels:  dotfile
dotfiles
Arch and bspwm dotfiles
Stars: ✭ 21 (+40%)
Mutual labels:  dotfile
dotfiles
🍀 Vim/Neovim + Tmux + Zsh + Alacritty = Build your own fantastic development environment
Stars: ✭ 65 (+333.33%)
Mutual labels:  dotfile
dotfiles
Dotfiles of Coelacanthus
Stars: ✭ 17 (+13.33%)
Mutual labels:  dotfile
dotfiles
shell, git, vim, tmux .etc dotfiles, managed via gnu stow
Stars: ✭ 20 (+33.33%)
Mutual labels:  dotfile
dotfiles
my dotfiles
Stars: ✭ 14 (-6.67%)
Mutual labels:  dotfile
toml-bombadil
A dotfile manager with templating
Stars: ✭ 127 (+746.67%)
Mutual labels:  dotfile
Vanilla
frantic1048's grimoire
Stars: ✭ 19 (+26.67%)
Mutual labels:  dotfile
linux.files
Configuration Files of my System
Stars: ✭ 27 (+80%)
Mutual labels:  dotfile
dotfiles
Poom's Neovim, Tmux, Fish and other configurations for macOS & Linux. Literally my entire world.
Stars: ✭ 36 (+140%)
Mutual labels:  dotfile
is-dotfile
Return true if the file is (or the file path has) a dotfile.
Stars: ✭ 13 (-13.33%)
Mutual labels:  dotfile
dotjitsu
My dot files collection - batteries included. Much awesome.
Stars: ✭ 16 (+6.67%)
Mutual labels:  dotfile
nvim
Structure, documented, super fast neovim configuration. 可能是翻斗花园最好用的 neovim 配置[^1]。
Stars: ✭ 223 (+1386.67%)
Mutual labels:  dotfile
dotfiles
My dotfiles based on Makefile
Stars: ✭ 150 (+900%)
Mutual labels:  dotfile
custom zshrc
My personal dotfiles
Stars: ✭ 25 (+66.67%)
Mutual labels:  dotfile
Tmux Config
📗 Example tmux configuration - screen + vim key-bindings, system stat, cpu load bar.
Stars: ✭ 1,633 (+10786.67%)
Mutual labels:  dotfile
Chezmoi
Manage your dotfiles across multiple diverse machines, securely.
Stars: ✭ 5,590 (+37166.67%)
Mutual labels:  dotfile
vimrc
Sane, Lightweight, and, Aesthetic VIM
Stars: ✭ 21 (+40%)
Mutual labels:  dotfile

Dotfiles - A restore point for sync your settings and preferences in your toolbox.

| 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

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

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]"

  2. Start the ssh-agent in the background
    eval "$(ssh-agent -s)"

  3. Creating config file
    printf "ServerAliveInterval 60\nHost github.com\nHostname ssh.github.com\nPort 443\n" > ~/.ssh/config

  4. Add your SSH private key to the ssh-agent and store your passphrase in the keychain.
    ssh-add -K ~/.ssh/id_rsa

  5. Copy the SSH key to your clipboard.
    pbcopy < ~/.ssh/id_rsa.pub

  6. 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

  2. Generate a GPG key pair.
    gpg --full-generate-key

  3. Enter to accept the default kind of key
    RSA

  4. Enter the desired key size in bits.
    4096

  5. Enter the length of time the key should be valid.
    Press Enter to specify the default selection, indicating that the key doesn't expire.

  6. Enter your GitHub email address.
    [email protected]

  7. 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
    
  8. Paste your GPG Key Id. gpg --armor --export 3AA5C34371567BD2

  9. 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.

License

Designed with by CJ Patoilo. Licensed under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].