|
1 | | -CAMPUS CODE Dotfiles |
2 | | -==================== |
| 1 | +# Campus Code Dotfiles |
3 | 2 |
|
4 | 3 |  |
5 | 4 |
|
6 | | -## Source of inspiration |
| 5 | +A shared dotfiles distribution for **zsh**, **vim**, **tmux**, and **git**, targeting macOS and Ubuntu. |
7 | 6 |
|
8 | | -Our dotfiles are based on following amazing dotfiles: |
| 7 | +Inspired by [Skwp Dotfiles](https://github.com/skwp/dotfiles) and [ThoughtBot Dotfiles](https://github.com/thoughtbot/dotfiles). |
9 | 8 |
|
10 | | -[Skwp Dotfiles](http://github.com/skwp/dotfiles) |
| 9 | +## What's included |
11 | 10 |
|
12 | | -[ThoughtBot Dotfiles](http://github.com/thoughtbot/dotfiles) |
| 11 | +- **Zsh** with vi mode, custom theme (peepcode), syntax highlighting, and extensive aliases |
| 12 | +- **Vim** with vim-plug, gruvbox colorscheme, ALE linting, NERDTree, CtrlP, and tmux integration |
| 13 | +- **Tmux** with `C-a` prefix, vim-aware pane navigation, battery status, and vi copy mode |
| 14 | +- **Git** with aliases, patience diff, vimdiff merge tool, and rerere enabled |
| 15 | +- **mise** for Ruby and Node.js version management |
| 16 | +- **Docker** and Docker Compose via [OrbStack](https://orbstack.dev) (macOS) or Docker CE (Linux, optional) |
13 | 17 |
|
14 | | -## Requirements |
15 | | - |
16 | | -* Zsh |
17 | | -* [Ag](https://github.com/ggreer/the_silver_searcher) |
18 | | -* [ITerm 2 (Mac)](https://www.iterm2.com/index.html) |
19 | | -* MVim (Mac) or GVim (Linux) |
20 | | -* [Gruvbox](https://github.com/morhetz/gruvbox) |
21 | | -* Tmux |
22 | | - |
23 | | -## Pre-Requirements |
| 18 | +## Pre-requisites |
24 | 19 |
|
25 | 20 | - curl |
26 | 21 |
|
27 | | -Ubuntu |
| 22 | +On Ubuntu, if not already installed: |
28 | 23 |
|
29 | | -- `sudo apt-get install -y curl` |
| 24 | +```bash |
| 25 | +sudo apt-get install -y curl |
| 26 | +``` |
30 | 27 |
|
31 | 28 | ## Install |
32 | 29 |
|
33 | | -Run follow command: |
34 | | - |
| 30 | +```bash |
| 31 | +bash -c "$(curl -fSs https://raw.githubusercontent.com/campuscode/cc_dotfiles/master/install.sh)" |
35 | 32 | ``` |
36 | | -sh -c "`curl -fSs https://raw.githubusercontent.com/campuscode/cc_dotfiles/master/install.sh`" |
| 33 | + |
| 34 | +You will be prompted for your password to change the default shell to zsh. |
| 35 | + |
| 36 | +For local development installs (from a cloned repo): |
| 37 | + |
| 38 | +```bash |
| 39 | +LOCAL_INSTALL=1 bash install.sh |
37 | 40 | ``` |
38 | 41 |
|
39 | | -Type your password to change your default shell to `zsh` |
| 42 | +## Customization |
40 | 43 |
|
41 | | -## Docs |
| 44 | +Every config file sources a `.local` counterpart if present. Place your personal overrides in these files rather than modifying the repo directly: |
| 45 | + |
| 46 | +| File | Purpose | |
| 47 | +|---|---| |
| 48 | +| `~/.aliases.local` | Custom shell aliases | |
| 49 | +| `~/.zshrc.local` | Zsh configuration overrides | |
| 50 | +| `~/.zshenv.local` | Environment variables | |
| 51 | +| `~/.vimrc.local` | Vim settings and colorscheme | |
| 52 | +| `~/.plugins.vim.local` | Additional vim plugins | |
| 53 | +| `~/.tmux.conf.local` | Tmux configuration overrides | |
| 54 | +| `~/.gitconfig.local` | Git user name, email, and overrides | |
| 55 | +| `~/.secrets` | API keys and tokens (not tracked by git) | |
42 | 56 |
|
43 | | -[Vim Key Mapping](Vim.md) |
| 57 | +## Key conventions |
44 | 58 |
|
45 | | -[Tmux Key Mapping](Tmux.md) |
| 59 | +- **Vim leader**: `<Space>` |
| 60 | +- **Tmux prefix**: `C-a` |
| 61 | +- **Zsh vi mode**: `jj` to escape |
| 62 | +- **Colorscheme**: gruvbox (dark) |
| 63 | + |
| 64 | +## Docs |
46 | 65 |
|
47 | | -#### It's easy to make your customization |
| 66 | +- [Vim Key Mapping](Vim.md) |
| 67 | +- [Tmux Key Mapping](Tmux.md) |
| 68 | +- [Testing](tests/README.md) |
48 | 69 |
|
49 | | -Place your customization in the following files: |
| 70 | +## Options |
50 | 71 |
|
51 | | -* .aliases.local |
52 | | -* .secrets |
53 | | -* .zshrc.local |
54 | | -* .vimrc.local |
55 | | -* .zshenv.local |
56 | | -* .plugin.vim.local |
57 | | -* .tmux.conf.local |
58 | | -* .gitconfig.local |
| 72 | +- `SKIP_DOCKER=1` — skip Docker installation on Linux |
0 commit comments