{"id":17053647,"url":"https://github.com/edditoria/dotfiles","last_synced_at":"2025-03-23T05:24:52.298Z","repository":{"id":53092336,"uuid":"56785968","full_name":"Edditoria/dotfiles","owner":"Edditoria","description":"Edditoria does dotfiles. Scripts to setup and maintain my macOS.","archived":false,"fork":false,"pushed_at":"2025-03-16T05:28:18.000Z","size":164,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-16T06:23:46.597Z","etag":null,"topics":["cask","dotfiles","homebrew","macos","npm"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Edditoria.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2016-04-21T15:38:41.000Z","updated_at":"2025-03-16T05:28:22.000Z","dependencies_parsed_at":"2025-03-16T06:32:32.649Z","dependency_job_id":null,"html_url":"https://github.com/Edditoria/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/Edditoria%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Edditoria%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Edditoria%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Edditoria%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Edditoria","download_url":"https://codeload.github.com/Edditoria/dotfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245060064,"owners_count":20554414,"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":["cask","dotfiles","homebrew","macos","npm"],"created_at":"2024-10-14T10:12:51.163Z","updated_at":"2025-03-23T05:24:52.282Z","avatar_url":"https://github.com/Edditoria.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Edditoria Does Dotfiles\n\nA \"dotfiles\" approach can help you set up a new machine much faster and more importantly keep a consistent system environment. So I join this big dotfiles family! \\:3\n\n- What is _xxx does dotfiles_? Please read [Getting Started With Dotfiles][get_start].\n- The dotfiles community is so big. Github keeps a good list in \u003chttps://dotfiles.github.io/\u003e.\n\n[get_start]: https://medium.com/@webprolific/getting-started-with-dotfiles-43c3602fd789 'Getting Started With Dotfiles'\n\n# My Setup\n\n- Current OS: macOS High Sierra 10.13.3\n- Dev dir: `~/dev`\n- Dotfiles dir: `~/dev/dotfiles`\n- App/package managers:\n  - Mac AppStore for apps\n  - `brew cask` for more apps\n  - `brew` for cli tools\n  - `nvm` to manage `node` and `npm`\n  - `rbenv` and `bundler` to manage `ruby`\n  - `pyenv` and `pip` to manage `python`\n- Cask apps in customized directory: `/Applications/Cask`\n- `nvm alias default` is `dubnium` (neither `stable` nor `lts/dubnium`)\n- Keep `rdoc` and `ri` for `gem install`, but not keep for `gem update`\n\n# Useful Commands\n\n- `tt` and `gg` to print my stupid note for some Terminal commands.\n- `. update_appstore.sh` to update Mac apps from AppStore.\n- `. update_brew.sh` to update brew and cask apps.\n- `. update_npm.sh` to update npm and packages (stable, lts/\\*)\n- `. backup.sh` to backup a list to brew_leaves.txt, brew_cask_list.txt and app_list.txt, etc.\n- `npm check -gu` for each npm version to interactively upgrade npm packages.\n\n---\n\n# Install for New Machine\n\n## Prepare Before Dotfiles\n\n1. Make sure your internet connection is stable.\n1. Change your computer name and local host name:\n\n   ```shell\n   computer_name=\"EddiMBP\" # replace with your preferred name\n   sudo scutil --set ComputerName \"$computer_name\"\n   sudo scutil --set LocalHostName \"$computer_name\"\n   dscacheutil -flushcache\n   ```\n\n1. Install Xcode command line tools or app:\n\n   ```shell\n   xcode-select --install\n   # then click \"Install\" for CLT only or \"Get Xcode\" for full Xcode.app\n   ```\n\n1. Health check:\n\n   ```shell\n   xcode-select -p # expect return: /Applications/Xcode.app/Contents/Developer\n   gcc --version\n\n   # check if git and \"osxkeychain helper\" are already installed\n   git credential-osxkeychain # expect return: \"usage:...\"\n   ```\n\n1. Install Homebrew:\n\n   ```shell\n   ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"\n   brew doctor # may need to fix some problems\n   brew update\n   ```\n\n1. Install Caskroom:\n\n   ```shell\n   export HOMEBREW_CASK_OPTS=\"--appdir=/Applications/Cask\"\n   brew tap caskroom/cask\n   brew tap caskroom/fonts\n   brew update\n   ```\n\n## Setup Dotfiles\n\n1. If it is the first time you do dotfiles, click the nice **Fork** button in [this repo](https://github.com/Edditoria/dotfiles).\n1. If the dotfiles directory **does not** exist in your dev directory, clone **your own dotfiles repo** to your local machine in `~/dev/dotfiles`:\n\n   ```shell\n   my_git_username=\"Edditoria\" # replace with your git username\n   dotfiles_dir=\"$HOME/dev/dotfiles\" # change it if your want\n   mkdir -p $dotfiles_dir\n   git clone https://github.com/$my_git_username/dotfiles.git $dotfiles_dir\n   cd $dotfiles_dir \u0026\u0026 git remote -v \u0026\u0026 ls\n   ```\n\n1. Initial install dotfiles:\n\n   ```shell\n   cd ~/dev/dotfiles\n   source setup_dotfiles.sh\n   source ~/.bash_profile\n   ```\n\n1. Initial config Git and GitLab:\n\n   ```shell\n   source setup_git.sh\n   ```\n\n   \u003e _note:_\n   \u003e Something wrong when you add a SSH key to GitLab? Here is some information you need:\n   \u003e\n   \u003e - Copy SSH key to clipboard: `pbcopy \u003c ~/.ssh/id_rsa.pub`\n   \u003e - Paste the key to this URL: \u003chttps://gitlab.com/profile/keys\u003e\n\n## Install Brew Formulae and Cask Apps\n\n1. Install homebrew formulae and cask apps:\n\n   ```shell\n   source setup_homebrew.sh\n   ```\n\n1. Check your brew leaves and cask apps:\n\n   ```shell\n   brew leaves\n   brew cask list\n   ```\n\n1. Config cask apps, especially Evernote.\n\n## Javascript Dev Env\n\n1. Install npm using nvm, and install packages for each npm:\n\n   ```shell\n   source ~/.bash_profile\n   nvm --version # check\n   cd $DOTFILES \u0026\u0026 source setup_nvm.sh\n   ```\n\n1. Do some checking:\n\n   ```shell\n   nvm ls # check\n   node -v # check\n   node $DOTFILES/test/test_node.js # open browser to see Hello World\n   ```\n\n1. Install Meteor.js :\n\n   ```shell\n   curl https://install.meteor.com/ | sh\n   ```\n\n## Ruby Dev Env\n\n1. Check current Ruby environment:\n\n   ```shell\n   exec $SHELL -l # restart shell as a login shell\n   rbenv -v\n   which ruby-build # /Users/Edditoria/.rbenv/shims/gem\n   ```\n\n1. Install Ruby versions:\n\n   ```shell\n   cd $DOTFILES \u0026\u0026 source setup_rbenv.sh\n   gem install nokogirl # troubleshoot if problem exists\n   gem install rails\n   rails -v # better to check manually\n   ```\n\n\u003e _note:_\n\u003e In my experience, Rails installation failed every single time.\n\u003e Different error may occur in the different version of rails in different MacOS.\n\u003e Sorry that you may need to investigate the error by yourself.\n\n\u003e _extra note:_\n\u003e You still need to `be {command}` (alias of `bundle exec`) and `rbenv rehash` manually.\n\n## Python Dev Env\n\n1. Check the current Python environment:\n\n   ```shell\n   exec $SHELL -l # restart shell as a login shell\n   pyenv -v\n   ```\n\n1. Install Python versions:\n\n   ```shell\n   cd $DOTFILES \u0026\u0026 source setup_pyenv.sh\n   ```\n\n## Other Things\n\n- Setup symlink to `~/dev`\n\n  ```shell\n  ln -s $DEV $HOME/dev\n  ```\n\n- Add **Novel_customized** theme to Terminal.\n\n  ```shell\n  source setup_terminal.sh\n  ```\n\n- Manually setup npm packages, login items according to backup files.\n- Manually install apps that are not in caskroom nor Apple AppStore:\n  - PushBullet.app (fade out by official)\n  - Tuxera NTFS (bundled in Toshiba external hard drive)\n- Manually config notification center.\n- Check Accessibility in Security \u0026 Privacy.\n\n# \\#todo\n\n- Merge my Evernote: Setup Dev Env 2014.\n- Build checking system:\n  - Check dotfiles directory.\n  - Compare installed things, and monitor them.\n  - Compare updated packages in npm, brew and etc. (using private log).\n- A maintenance session in README to includes:\n  - Backup npm and meteorjs\n  - Update Accessibility in Security \u0026 Privacy.\n  - Update Login Items in Users \u0026 Groups.\n\n# Copyright and License\n\nCopyright (c) Edditoria. All rights reserved. Code released under the [MIT License](LICENSE.txt). Docs released under [Creative Commons](https://creativecommons.org/licenses/by/4.0/).\n\nAs human-readable summary (but not a substitute for the license):\n\nYou can use it, share it, modify the code and distribute your work for private and commercial uses. If you like, please share your work with me. :pizza:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedditoria%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedditoria%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedditoria%2Fdotfiles/lists"}