{"id":17187507,"url":"https://github.com/davidmchan/dev-environment","last_synced_at":"2025-10-08T02:09:52.900Z","repository":{"id":93526700,"uuid":"181748277","full_name":"DavidMChan/dev-environment","owner":"DavidMChan","description":"My own personal development environment setup script","archived":false,"fork":false,"pushed_at":"2019-04-22T18:04:48.000Z","size":23,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-25T03:54:32.758Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/DavidMChan.png","metadata":{"files":{"readme":"README.md","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":"2019-04-16T18:51:14.000Z","updated_at":"2019-04-22T18:04:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"c749dbd5-2ec8-4066-9eb5-d3dbd1b1d776","html_url":"https://github.com/DavidMChan/dev-environment","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DavidMChan/dev-environment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidMChan%2Fdev-environment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidMChan%2Fdev-environment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidMChan%2Fdev-environment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidMChan%2Fdev-environment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DavidMChan","download_url":"https://codeload.github.com/DavidMChan/dev-environment/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidMChan%2Fdev-environment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278877092,"owners_count":26061381,"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","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-10-15T01:06:33.365Z","updated_at":"2025-10-08T02:09:52.872Z","avatar_url":"https://github.com/DavidMChan.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dev-environment\nThis are config files and install scripts for a number of programs that I often use. It can be useful to have something like this to quickly provision a new computer.\n\n# Installed Bash Programs\n\n### Bashrc\nThe Bashrc file that I use on all of my machines. **Highlights**: Git branch tracking on PS1, CUDA exports, python3 alias, bashmarks/pyutils.\n\n### [Python Utilities (Custom)](https://github.com/davidmchan/pyutils)\nThese are a bunch of python utilites that I find handy and have coded over the years.\n\n### [Bashmarks](https://github.com/huyng/bashmarks)\n\nBashmarks is a shell script that allows you to save and jump to commonly used directories. Now supports tab completion.\n\n# Environment Configuration\n\n### Git\nThis installation script configures git with my username and email, along with setting the default editor to VIM and the credential helper to store.\n\n### Tmux\nAdds a fix for 256 bit colors in tmux.\n\n### Dircolors\nChanges the default for 777 permissions on a folder - this can often be green on green and when mounting a flash drive/fs without permissions, this can be a real PITA. \n\n# Vim Plugins\n\nI use a bunch of vim plugins to make quality of life improvements for vim. Some of these are general quality of life improvements and some are targeted specifically for python editing. Here's a list.\n\n### [Vundle](https://github.com/gmarik/Vundle.vim)\nVundle is a vim package manager, which is used to download and install all the other packages. That means it has to be installed first, and separately. If you don't already have vundle installed, the `install_vim.sh` script will clone and install the repository for you.\n\n### [ALE](https://github.com/w0rp/ale)\nAsynchronous Lint Engine (ALE) is a tool for linting your code asynchronously (obviously). Older vim setup guides suggest using [syntastic](https://github.com/vim-syntastic/syntastic), but I found syntastic to be extremely slow. I enable two linters by default (mypy and [flake8](https://github.com/nvie/vim-flake8)). Settings for the linters can be found in `.vim/ftplugin/python.vim`.\n\n### [YouCompleteMe](https://valloric.github.io/YouCompleteMe/)\nYouCompleteMe (YCM) is a code completion module that works in basically every language and is very fast. It does require compilation, but the `install_vim.sh` script should do this for you. This will also do linting/completion in C/C++ which I've found to be quite good and very useful.\n\n### [Jedi](https://github.com/davidhalter/jedi-vim)\nJedi is a python tool for autocompletion and showing documentation. This tool is basically superseded by YCM, but YCM lacks one of the best features of jedi-vim, which is to show the call signatures a function as you type it in. I'm looking for a better solution than actually just including both packages, but I've yet to find one.\n\n### [SimpylFold](https://github.com/tmhedberg/SimpylFold)\nVim doesn't do python code folding well be default. SimpylFold fixes that.\n\n### [FastFold](https://github.com/Konfekt/FastFold)\nVim folding is a little slow - this speeds it up. I also change the fold command to map \\\u003cSpace\\\u003e so it's really easy to open and close folds.\n\n### [NerdTree](https://github.com/scrooloose/nerdtree)\nNerdTree is a pretty standard addition to vim and provides an easier-to-navigate folder structure when you open a folder in vim. Honestly, I don't use nerdtree that much, and I find the default vim folder navigation feature pretty much ok. NerdTree does have some nice features like [this git plugin](https://github.com/Xuyuanp/nerdtree-git-plugin) that lets you see the changes you've made.\n\n### [Fugitive](https://github.com/tpope/vim-fugitive)\nA git wrapper that turns a lot of git commands into vim commands. It also provides information on the status of the file you're currently editing.\n\n### [Airline](https://github.com/vim-airline/vim-airline)\nGives you a nice status and tabline. It also has integration with a bunch of other plugins (like ALE and fugitive) which can display additional information. It will also display the buffers you have open.\n\n### [Python Syntax](https://github.com/rmrao/python-syntax)\nThis changes what vim highlights as python syntax. It's actually forked from a different repository, because I've changed it to also highlight function calls (function definitions and function calls are in different colors).\n\n### [DelimitMate](https://github.com/Raimondi/delimitMate)\nThis plugin adds auto-closing of quotes, parentheses, brackets, etc.\n\n### [Markdown Preview](https://github.com/JamshedVesuna/vim-markdown-preview)\nA pretty lightweight markdown previewer. There are others, and I have no specific reason to praise this one over those, so you may want to experiment.\n\n### [Dracula](https://github.com/dracula/dracula-theme)\nA dark theme for all the things!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidmchan%2Fdev-environment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidmchan%2Fdev-environment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidmchan%2Fdev-environment/lists"}