├── .circleci └── config.yml ├── .gitignore ├── CNAME ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── docs ├── .DS_Store ├── .nojekyll ├── CNAME ├── README.md ├── _coverpage.md ├── _media │ ├── cover_preview.png │ ├── cover_preview_lrg.png │ ├── favicon.ico │ ├── preview.png │ └── zsh-autocompletion-suggestion.gif ├── css │ └── theme-custom.css ├── index.html └── keybindings.md ├── noobs-term-uninstall.sh └── noobs-term.sh /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | jobs: 3 | test: 4 | docker: 5 | - image: ubuntu:14.04 6 | environment: 7 | TERM: dumb 8 | steps: 9 | - checkout 10 | - run: | 11 | apt-get -qq update 12 | apt-get install -y software-properties-common 13 | apt-get install -y sudo 14 | apt-get -y install git 15 | git clone --single-branch --branch develop https://github.com/aaronkjones/noobs-term.git 16 | cd noobs-term 17 | chmod +x noobs-term.sh 18 | sh noobs-term.sh 19 | workflows: 20 | version: 2 21 | test: 22 | jobs: 23 | - test -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | package-lock.json 4 | -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | noobs-term.com -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | To contribute to this project, please follow the below steps: 4 | 5 | - Create an issue and discuss proposed changes 6 | - Fork repo and create a branch from master 7 | - Update the documentation if required 8 | - Submit a pull request 9 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Aaron Jones 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Noobs Term 2 | 3 | [![Codacy Badge](https://api.codacy.com/project/badge/Grade/d83cf5c6315940b684318b0d7c756572)](https://www.codacy.com/app/aaronkjones/noobs-term?utm_source=github.com&utm_medium=referral&utm_content=aaronkjones/noobs-term&utm_campaign=Badge_Grade) 4 | [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/aaronkjones/noobs-term/blob/master/LICENSE) 5 | [![CircleCI branch](https://img.shields.io/circleci/project/github/aaronkjones/noobs-term/master.svg)](https://circleci.com/gh/aaronkjones/noobs-term/) 6 | [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?url=http://noobs-term.com&text=A%20terminal%20bundle%20for%20everyone&hashtags=tmux,zsh,command-line) 7 | 8 | ## Overview 9 | 10 | Noobs Term is an installer that incorporates some of the wonderful terminal programs, packages, and configurations that are commonly installed together. 11 | 12 | - [Homepage](https://noobs-term.com) - Documentation 13 | 14 | ## Contributing 15 | 16 | - See [CONTRIBUTING](CONTRIBUTING.md) for steps on how you can contribute to this project. 17 | 18 | ## License 19 | 20 | - This project is licensed under the MIT license type. See [LICENSE](LICENSE) for details 21 | -------------------------------------------------------------------------------- /docs/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronkjones/noobs-term/6800666bb10aa511f71ecaace158334be41ab756/docs/.DS_Store -------------------------------------------------------------------------------- /docs/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronkjones/noobs-term/6800666bb10aa511f71ecaace158334be41ab756/docs/.nojekyll -------------------------------------------------------------------------------- /docs/CNAME: -------------------------------------------------------------------------------- 1 | noobs-term.com -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | # Noobs Term 2 | 3 | [![Codacy Badge](https://api.codacy.com/project/badge/Grade/d83cf5c6315940b684318b0d7c756572)](https://www.codacy.com/app/aaronkjones/noobs-term?utm_source=github.com&utm_medium=referral&utm_content=aaronkjones/noobs-term&utm_campaign=Badge_Grade) 4 | [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/aaronkjones/noobs-term/blob/master/LICENSE) 5 | [![CircleCI branch](https://img.shields.io/circleci/project/github/aaronkjones/noobs-term/master.svg)](https://circleci.com/gh/aaronkjones/noobs-term/) 6 | [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?url=http://noobs-term.com&text=A%20terminal%20bundle%20for%20everyone&hashtags=tmux,zsh,command-line) 7 | 8 | ## Overview 9 | 10 | ![Cover preview](_media/cover_preview_lrg.png) 11 | Noobs Term is an installer that incorporates some of the wonderful terminal programs, packages, and configurations that are commonly installed together. 12 | 13 | ## What's Included 14 | 15 | | Feature | Description | 16 | | ------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | 17 | | [zsh](https://en.wikipedia.org/wiki/Z_shell) | a popular shell with features like completion, path correction, spelling correction, and more | 18 | | [tmux](https://github.com/tmux/tmux) | terminal multiplexer allows you to manage multiple terminal sessions from a single window | 19 | | [neovim](https://neovim.io/) | a project that seeks to aggressively refactor Vim | 20 | | [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh) | a framework for managing your zsh configuration | 21 | | [vim-sensible](https://github.com/tpope/vim-sensible) | vim settings everyone can agree on | 22 | | [tmux-sensible](https://github.com/tmux-plugins/tmux-sensible) | tmux settings everyone can agree on | 23 | | [nord-tmux](https://github.com/arcticicestudio/nord-tmux) | An arctic, north-bluish clean and elegant tmux color theme | 24 | | [nord-vim](https://github.com/arcticicestudio/nord-vim) | An arctic, north-bluish clean and elegant Vim color theme | 25 | | [spaceship-prompt](https://github.com/denysdovhan/spaceship-prompt) | A zsh prompt for Astronauts | 26 | 27 | ## Showcase 28 | 29 | ### Completions 30 | 31 | Completion scripts for [many](https://github.com/zsh-users/zsh-completions/tree/master/src) programs. 32 | 33 | ![Completions](https://i.imgur.com/EnkbeWB.png) 34 | 35 | ### Auto-suggestions 36 | 37 | Auto-suggestions based on command history 38 | 39 | ![Auto-suggestions](https://i.imgur.com/JKCPI1i.png) 40 | 41 | ### Command validation 42 | 43 | Real-time command validation 44 | 45 | ![Command validation](https://i.imgur.com/vTiwA5H.png) 46 | 47 | ### Directory history 48 | 49 | Quick directory switching based on command history 50 | 51 | ![Directory history](https://i.imgur.com/JVzikH0.png) 52 | 53 | ### Git feedback 54 | 55 | Real-time Git feedback 56 | 57 | ![Git feedback](https://i.imgur.com/Ebf32Df.png) 58 | 59 | ### Terminal multiplexing 60 | 61 | Tmux terminal multiplexing. Split windows horizontally and vertically. 62 | 63 | ![Terminal multiplexing](https://i.imgur.com/LOXifIg.png) 64 | 65 | ### Window tabbing 66 | 67 | Create many terminal sessions in a single window 68 | 69 | ![Window tabbing](https://i.imgur.com/7NsioKI.png) 70 | 71 | ### Nord theming 72 | 73 | Beautiful arctic bluish Nord theming for tmux, iTerm, Gnome terminal, and neovim. 74 | 75 | ![Matching Neovim theme](https://i.imgur.com/BdtmZAP.png) 76 | 77 | ### Persistence 78 | 79 | Session persistence across connection drops, reboots, and accidental closing. 80 | 81 | ![Persistence](https://i.imgur.com/puwjWY9.png) 82 | 83 | ## Demo 84 | 85 | If you want to "try before you buy" you can use Vagrant to spin up a VM. 86 | 87 | 1. Install Virtualbox 88 | [Virtualbox Downloads](https://www.virtualbox.org/wiki/Downloads) 89 | 2. Install Vagrant 90 | [Vagrant Downloads](https://www.vagrantup.com/downloads.html) 91 | 3. Initialize a Vagrantfile for Ubuntu 18.04 92 | `vagrant init peru/ubuntu-18.04-desktop-amd64 --box-version 20180801.01` 93 | 4. Start Your Ubuntu VM 94 | `vagrant up` 95 | 96 | In Virtualbox, click the "Show" button. You can now run the install command below in a destructible environment. 97 | 98 | ## Supported Platforms 99 | 100 | Currently, the following platforms are confirmed to be supported 101 | 102 | - Ubuntu 103 | - Debian 104 | - macOS 105 | - Arch Linux 106 | - Windows 107 | - Raspbian 108 | 109 | ## Install 110 | 111 | The installer will: 112 | 113 | - Backup existing dotfiles 114 | - Install dependencies git, curl, wget 115 | - Install programs zsh, tmux, neovim 116 | - Install dotfiles to `~/.dotfiles` and symbolically link them to their default locations 117 | - Set default shell to zsh 118 | - Load neovim plugins 119 | - Install plugins and themes 120 | 121 | To install, run the following commands in your terminal: 122 | 123 | ```bash 124 | git clone https://github.com/aaronkjones/noobs-term.git 125 | cd noobs-term 126 | chmod +x noobs-term.sh 127 | sh noobs-term.sh 128 | ``` 129 | 130 | Single command install: 131 | 132 | `sh -c "$(wget -q https://raw.githubusercontent.com/aaronkjones/noobs-term/master/noobs-term.sh -O -)"` 133 | or 134 | `sh -c "$(curl -fsSL https://raw.githubusercontent.com/aaronkjones/noobs-term/master/noobs-term.sh)"` 135 | 136 | ## Setup 137 | 138 | > Note: You will have to log out and back in for zsh to be set as the default shell. If you don't want to log out, enter _zsh_. 139 | 140 | ### Ubuntu 141 | 142 | 1. Press Ctrl + a, then I to load tmux plugins 143 | 2. In Gnome terminal preferences, set Nord as your default profile 144 | 3. Set an appropriate font (e.g. Inconsolata for Powerline) 145 | 146 | ### OSX 147 | 148 | 1. Press Ctrl + a, then I to load tmux plugins 149 | 2. In iTerm, set your color profile to Nord 150 | 3. Set an appropriate font (e.g. Inconsolata for Powerline) 151 | 152 | ### Arch 153 | 154 | 1. Press Ctrl + a, then I to load tmux plugins 155 | 2. In Gnome terminal preferences, set Nord as your default profile 156 | 3. Set an appropriate font (e.g. Inconsolata for Powerline) 157 | 158 | ### Windows 159 | 160 | 1. Enable WSL 161 | 162 | **In Powershell (as Admin)**: 163 | `Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux` 164 | 165 | 2. Install Ubuntu 18.04 166 | 167 | From the Windows Store, search for Ubuntu 18.04 168 | 169 | 3. Install [Scoop](https://scoop.sh/) 170 | 171 | `iex (new-object net.webclient).downloadstring('https://get.scoop.sh')` 172 | 173 | > Note: if you get an error you might need to change the execution policy (i.e. enable Powershell) with Set-ExecutionPolicy RemoteSigned -scope CurrentUser 174 | 175 | 4. Add [Scoop Extras](https://github.com/lukesampson/scoop-extras) 176 | 177 | `scoop bucket add extras` 178 | 179 | 5. Install Hyper 180 | 181 | `scoop install hyper` 182 | 183 | 6. Install Font 184 | 185 | Download Inconsolata (or your preferred font), open, and click "Install" 186 | `https://github.com/powerline/fonts/raw/master/Inconsolata/Inconsolata%20for%20Powerline.otf` 187 | 188 | > To install all Powerline fonts, clone the repo `https://github.com/powerline/fonts.git` and run install.ps1 189 | 190 | 7. Set shell to wsl.exe 191 | 192 | **In Hyper**: 193 | `chsh -s $(which zsh)` 194 | In preferences (Ctrl + ,), find and change shell and font settings to: 195 | 196 | ```powershell 197 | shell: 'C:\\Windows\\System32\\wsl.exe', 198 | shellArgs: [], 199 | fontFamily: 'Inconsolata for Powerline', 200 | ``` 201 | 202 | > If you want, you can add the font to the beginning to retain fallback fonts (e.g. fontFamily: 'Inconsolata for Powerline','monospace',...) 203 | 204 | 8. Install Nord-Hyper 205 | In Powershell (as Admin): 206 | `hyper i nord-hyper` 207 | 208 | 9. [Install](#install) Noobs Term 209 | 210 | ## Uninstall 211 | 212 | The uninstaller allows you to remove installed dotfiles, restore backed up dotfiles, and selectively remove installed plugins. 213 | 214 | To uninstall, run this command in your terminal: 215 | 216 | ```bash 217 | git clone https://github.com/aaronkjones/noobs-term.git 218 | cd noobs-term 219 | chmod +x noobs-term-uninstall.sh)" 220 | sh noobs-term-uninstall.sh 221 | ``` 222 | 223 | Single command uninstall: 224 | 225 | `sh -c "$(wget -q https://raw.githubusercontent.com/aaronkjones/noobs-term/master/noobs-term-uninstall.sh -O -)"` 226 | or 227 | `sh -c "$(curl -fsSL https://raw.githubusercontent.com/aaronkjones/noobs-term/master/noobs-term-uninstall.sh)"` 228 | 229 | ## Key bindings 230 | 231 | See [Keybindings.md](Keybindings.md) 232 | 233 | ## Resources 234 | 235 | - [Awesome Tmux](https://github.com/rothgar/awesome-tmux) 236 | - [Awesome Vim](https://github.com/akrawchyk/awesome-vim) 237 | - [VimAwesome](https://vimawesome.com) 238 | - [Awesome Zsh](https://github.com/unixorn/awesome-zsh-plugins) 239 | 240 | ## Contributing 241 | 242 | Please read [CONTRIBUTING.md](https://github.com/aaronkjones/noobs-term/blob/master/CONTRIBUTING.md). 243 | -------------------------------------------------------------------------------- /docs/_coverpage.md: -------------------------------------------------------------------------------- 1 | ![logo](_media/cover_preview.png) 2 | 3 | # Noobs Term 4 | 5 | > A terminal bundle for ~~noobs~~ everyone. 6 | 7 | [Main](#main) 8 | [Showcase](#Showcase) 9 | [Install](#Install) 10 | [Code](https://github.com/aaronkjones/noobs-term) -------------------------------------------------------------------------------- /docs/_media/cover_preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronkjones/noobs-term/6800666bb10aa511f71ecaace158334be41ab756/docs/_media/cover_preview.png -------------------------------------------------------------------------------- /docs/_media/cover_preview_lrg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronkjones/noobs-term/6800666bb10aa511f71ecaace158334be41ab756/docs/_media/cover_preview_lrg.png -------------------------------------------------------------------------------- /docs/_media/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronkjones/noobs-term/6800666bb10aa511f71ecaace158334be41ab756/docs/_media/favicon.ico -------------------------------------------------------------------------------- /docs/_media/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronkjones/noobs-term/6800666bb10aa511f71ecaace158334be41ab756/docs/_media/preview.png -------------------------------------------------------------------------------- /docs/_media/zsh-autocompletion-suggestion.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aaronkjones/noobs-term/6800666bb10aa511f71ecaace158334be41ab756/docs/_media/zsh-autocompletion-suggestion.gif -------------------------------------------------------------------------------- /docs/css/theme-custom.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --theme-color: #4A5467; 3 | --base-font-size: 14px; 4 | --base-background-color: #fff; 5 | --cover-background-color: #D8DEE9; 6 | --cover-heading-color: #4A5467; 7 | --cover-button-color--hover: #5E81AC; 8 | --cover-button-text-decoration: bold; 9 | --cover-button-border-radius: 0; 10 | --cover-button-border: 0; 11 | } -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Noobs Term 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /docs/keybindings.md: -------------------------------------------------------------------------------- 1 | # Key bindings 2 | 3 | The following key bindings are what you would press after first sending the prefix. 4 | 5 | For example, to enter copy mode press: Ctrl + a [ 6 | 7 | Key bindings can be displayed in Tmux with: Ctrl + a ? 8 | 9 | ## Prefix 10 | 11 | | | | 12 | | ------------------------------ | ----------- | 13 | | Ctrl + a | send prefix | 14 | 15 | ## Main 16 | 17 | | | | 18 | | ------------------------------ | --------------------- | 19 | | Ctrl + z | suspend client | 20 | | ! | break pane | 21 | | \$ | rename session | 22 | | : | command prompt | 23 | | ? | list keys | 24 | | D | choose client | 25 | | L | switch client | 26 | | [ | copy mode | 27 | | d | detach client | 28 | | i | display message | 29 | | r | refresh client | 30 | | s | choose tree (session) | 31 | | t | clock mode | 32 | | w | choose tree (window) | 33 | | ~ | show messages | 34 | | PPage | copy mode | 35 | 36 | ## Layout 37 | 38 | | | | 39 | | ------------------------------ | ----------------------------- | 40 | | Space | next layout | 41 | | E | select layout | 42 | | Meta + 1 | select layout even horizontal | 43 | | Meta + 2 | select layout even vertical | 44 | | Meta + 3 | select layout main horizontal | 45 | | Meta + 4 | select layout main vertical | 46 | | Meta + 5 | select layout tiled | 47 | 48 | ## Window 49 | 50 | | | | 51 | | ------------------------------ | ----------------------- | 52 | | & | kill window | 53 | | ' | index select window | 54 | | % | split window horizontal | 55 | | Ctrl + o | rotate window | 56 | | , | rename window | 57 | | . | move window | 58 | | f | find window | 59 | | Ctrl | new window | 60 | | l | last window | 61 | | n | next window | 62 | | Meta + n | next window | 63 | | Meta + o | rotate window | 64 | | Meta + p | previous window | 65 | | p | previous window | 66 | | 0 | select window 0 | 67 | | 1 | select window 1 | 68 | | 2 | select window 2 | 69 | | 3 | select window 3 | 70 | | 4 | select window 4 | 71 | | 5 | select window 5 | 72 | | 6 | select window 6 | 73 | | 7 | select window 7 | 74 | | 8 | select window 8 | 75 | | 9 | select window 9 | 76 | 77 | ## Buffer 78 | 79 | | | | 80 | | ------------ | ------------- | 81 | | - | delete buffer | 82 | | # | list buffers | 83 | | = | choose buffer | 84 | | ] | paste buffer | 85 | 86 | ## Plugins 87 | 88 | | | | 89 | | ------------------------------ | --------------- | 90 | | I | install plugins | 91 | | U | update plugins | 92 | | Meta + u | clean plugins | 93 | 94 | ## Pane 95 | 96 | | | | 97 | | ---------------------------------- | ----------------- | 98 | | ; | last pane | 99 | | o | next pane | 100 | | M | select pane | 101 | | m | mark pane | 102 | | q | display panes | 103 | | x | kill pane | 104 | | z | resize pane | 105 | | { | swap pane | 106 | | } | swap pane | 107 | | Up | select pane up | 108 | | Down | select pane down | 109 | | Left | select pane left | 110 | | Right | select pane right | 111 | | Meta + Up | resize pane up | 112 | | Meta + Down | resize pane down | 113 | | Meta + Left | resize pane left | 114 | | Meta + Right | resize pane right | 115 | | Ctrl + Up | resize pane up | 116 | | Ctrl + Down | resize pane down | 117 | | Ctrl + Left | resize pane left | 118 | | Ctrl + Right | resize pane right | 119 | 120 | ## Copy-mode 121 | 122 | | | | 123 | | ---------------------------------- | ------------------------- | 124 | | Ctrl + Space | begin selection | 125 | | Ctrl + a | start of line | 126 | | Ctrl + b | cursor left | 127 | | Ctrl + c | cancel | 128 | | Ctrl + e | end of line | 129 | | Ctrl + f | cursor right | 130 | | Ctrl + g | clear selection | 131 | | Ctrl + k | copy end of line | 132 | | Ctrl + n | cursor down | 133 | | Ctrl + p | cursor up | 134 | | Ctrl + r | search backward | 135 | | Ctrl + s | search forward | 136 | | Ctrl + v | page down | 137 | | Ctrl + w | copy selection and cancel | 138 | | Escape | cancel | 139 | | Space | page down | 140 | | , | jump reverse | 141 | | ; | jump again | 142 | | F | jump backward | 143 | | N | search reverse | 144 | | R | rectangle toggle | 145 | | T | jump to backward | 146 | | f | jump forward | 147 | | g | goto line | 148 | | n | search again | 149 | | q | cancel | 150 | | t | jump to forward | 151 | | Home | start of line | 152 | | End | end of line | 153 | | NPage | page down | 154 | | PPage | page up | 155 | | Up | cursor up | 156 | | Down | cursor down | 157 | | Left | cursor left | 158 | | Right | cursor right | 159 | | Meta + < | history top | 160 | | Meta + > | history bottom | 161 | | Meta + R | top line | 162 | | Meta + b | previous word | 163 | | Meta + f | next word end | 164 | | Meta + Meta | back to indentation | 165 | | Meta + r | middle line | 166 | | Meta + v | page up | 167 | | Meta + w | copy selection and cancel | 168 | | Meta + { | previous paragraph | 169 | | Meta + } | next paragraph | 170 | | Meta + Up | halfpage up | 171 | | Meta + Down | halfpage down | 172 | | Ctrl + Up | scroll up | 173 | | Ctrl + Down | scroll down | 174 | 175 | ## Copy-mode Vi 176 | 177 | | | | 178 | | --------------------------------- | --------------------------- | 179 | | Ctrl + b | page up | 180 | | Ctrl + c | cancel | 181 | | Ctrl + d | halfpage down | 182 | | Ctrl + e | scroll down | 183 | | Ctrl + f | page down | 184 | | Ctrl + h | cursor left | 185 | | Ctrl + j | copy selection and cancel | 186 | | Enter | copy selection and cancel | 187 | | Ctrl + u | halfpage up | 188 | | Ctrl + v | rectangle toggle | 189 | | Ctrl + y | scroll up | 190 | | Escape | clear selection | 191 | | Space | begin selection | 192 | | / | search down | 193 | | 0 | start of line | 194 | | : | goto line | 195 | | ; | jump again | 196 | | ? | search up | 197 | | A | append selection and cancel | 198 | | B | previous space | 199 | | D | copy end of line | 200 | | E | next space end | 201 | | F | jump backward | 202 | | G | history bottom | 203 | | H | top line | 204 | | J | scroll down | 205 | | K | scroll up | 206 | | L | bottom line | 207 | | Meta | middle line | 208 | | N | search reverse | 209 | | T | jump to backward | 210 | | V | select line | 211 | | W | next space | 212 | | ^ | back to indentation | 213 | | b | previous-word | 214 | | e | next word end | 215 | | f | jump forward | 216 | | g | history top | 217 | | h | cursor left | 218 | | j | cursor down | 219 | | k | cursor up | 220 | | l | cursor right | 221 | | n | search again | 222 | | o | other end | 223 | | q | cancel | 224 | | t | jump to forward | 225 | | v | rectangle toggle | 226 | | w | next word | 227 | | { | previous paragraph | 228 | | } | next paragraph | 229 | | BSpace | cursor left | 230 | | NPage | page down | 231 | | PPage | page up | 232 | | Up | cursor up | 233 | | Down | cursor down | 234 | | Left | cursor left | 235 | | Right | cursor right | 236 | | Ctrl + Up | scroll up | 237 | | Ctrl + Down | scroll down | 238 | -------------------------------------------------------------------------------- /noobs-term-uninstall.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # dotfiles 6 | dotfiles=".tmux.conf \ 7 | .zshrc \ 8 | .tmux \ 9 | .zsh \ 10 | .oh-my-zsh \ 11 | " 12 | 13 | # package dependencies 14 | dependencies="git \ 15 | curl \ 16 | wget \ 17 | zsh \ 18 | tmux \ 19 | neovim \ 20 | " 21 | 22 | dotfiles_dir="$HOME/.dotfiles" # dotfiles directory 23 | nvim_config="$HOME/.config/nvim/init.vim" # neovim config location 24 | platform="unknown" # default to unknown platform 25 | 26 | # restore backups 27 | restore_backups() { 28 | echo "Restoring old dotfiles..." 29 | for d in $dotfiles; do 30 | mv "$HOME/$d.backup" "$HOME/$d" 31 | done 32 | mv "$dotfiles_dir.backup" "$dotfiles_dir" 33 | mv "$HOME/.config/nvim/init.vim.backup" "$nvim_config" 34 | echo "Done" 35 | } 36 | 37 | # remove dotfiles 38 | remove_dotfiles() { 39 | echo "Removing dotfiles..." 40 | for d in $dotfiles; do 41 | rm -rf "${HOME:?}"/"$d" 42 | done 43 | rm -rf "$dotfiles_dir" 44 | rm -f "$nvim_config" 45 | echo "Done" 46 | } 47 | 48 | # remove dotfiles 49 | remove_backups() { 50 | echo "Removing dotfile backups..." 51 | for d in $dotfiles; do 52 | rm -rf "${HOME:?}"/"$d.backup" 53 | done 54 | rm -rf "$dotfiles_dir.backup" 55 | rm -f "$nvim_config.backup" 56 | echo "Done" 57 | } 58 | 59 | # find current platform and distribution 60 | if [ "$(uname)" = 'Linux' ]; then 61 | platform='Linux' 62 | if type lsb_release >/dev/null 2>&1; then 63 | distro="$(lsb_release -si)" 64 | distro_ver="$(lsb_release -r -s)" 65 | elif [ -f "/etc/arch-release" ]; then 66 | distro='Arch' 67 | fi 68 | elif [ "$(uname)" = 'Darwin' ]; then 69 | platform='Mac' 70 | fi 71 | echo 72 | 73 | # remove dotfiles 74 | echo "Delete installed dotfiles? [y]es [n]o " 75 | read -r answer 76 | if [ "$answer" != "${answer#[Yy]}" ]; then 77 | remove_dotfiles 78 | elif [ "$answer" != "${answer#[Nn]}" ]; then 79 | echo "Keeping dotfiles $dotfiles" 80 | else 81 | echo "Invalid input" 82 | fi 83 | echo 84 | 85 | # restore backups 86 | echo "Restore backups? [y]es [n]o [r]emove" 87 | read -r answer 88 | if [ "$answer" != "${answer#[Yy]}" ]; then 89 | restore_backups 90 | elif [ "$answer" != "${answer#[Nn]}" ]; then 91 | echo "Leaving backups in place" 92 | elif [ "$answer" != "${answer#[Rr]}" ]; then 93 | remove_backups 94 | else 95 | echo "Invalid input" 96 | fi 97 | echo 98 | 99 | # remove neovim repo 100 | if [ "$distro" = 'Ubuntu' ]; then 101 | if [ "$distro_ver" = "16.04" ] || [ "$distro_ver" = "18.04" ]; then 102 | echo "Remove Neovim Repository? [y]es [n]o" 103 | read -r answer 104 | if [ "$answer" != "${answer#[Yy]}" ]; then 105 | /usr/bin/sudo apt-add-repository --remove ppa:neovim-ppa/stable -y 1>/dev/null 106 | elif [ "$answer" != "${answer#[Nn]}" ]; then 107 | echo "Keeping Neovim Repo" 108 | fi 109 | else 110 | echo "Remove Neovim Repository? [y]es [n]o" 111 | read -r answer 112 | if [ "$answer" != "${answer#[Yy]}" ]; then 113 | /usr/bin/sudo apt-add-repository --remove ppa:neovim-ppa/unstable -y 1>/dev/null 114 | elif [ "$answer" != "${answer#[Nn]}" ]; then 115 | echo "Keeping Neovim Repo" 116 | else 117 | echo "Invalid input" 118 | fi 119 | fi 120 | fi 121 | echo 122 | 123 | # uninstall dependencies 124 | # ubuntu 125 | echo "Dependencies installed: $dependencies" 126 | if [ "$platform" = 'Linux' ]; then 127 | if [ "$distro" = 'Ubuntu' ]; then 128 | for p in $dependencies; do 129 | echo "Remove package $p? [y]es [n]o [a]ll" 130 | read -r answer 131 | if [ "$answer" != "${answer#[Yy]}" ]; then 132 | /usr/bin/sudo apt-get -qq remove -y "$p" 133 | elif [ "$answer" != "${answer#[Nn]}" ]; then 134 | echo "Keeping $p" 135 | elif [ "$answer" != "${answer#[Aa]}" ]; then 136 | for d in $dependencies; do 137 | /usr/bin/sudo apt-get -qq remove -y "$d" 138 | done 139 | fi 140 | done 141 | # arch 142 | elif [ "$distro" = 'Arch' ]; then 143 | for p in $dependencies; do 144 | echo "Remove package $p? [y]es [n]o [A]ll" 145 | read -r answer 146 | if [ "$answer" != "${answer#[Yy]}" ]; then 147 | /usr/bin/sudo pacman -q -Rs --noconfirm "$p" 1>/dev/null 148 | elif [ "$answer" != "${answer#[Nn]}" ]; then 149 | echo "Keeping $p" 150 | elif [ "$answer" != "${answer#[Aa]}" ]; then 151 | for d in $dependencies; do 152 | /usr/bin/sudo pacman -q -Rs --noconfirm "$d" 1>/dev/null 153 | done 154 | fi 155 | done 156 | fi 157 | # mac 158 | elif [ $platform = 'Mac' ]; then 159 | for p in $dependencies; do 160 | echo "Remove package? [y]es [n]o [A]ll" 161 | read -r answer 162 | if [ "$answer" != "${answer#[Yy]}" ]; then 163 | brew uninstall "$p" 1>/dev/null 164 | elif [ "$answer" != "${answer#[Nn]}" ]; then 165 | echo "Keeping $p" 166 | elif [ "$answer" != "${answer#[Aa]}" ]; then 167 | for d in $dependencies; do 168 | brew remove --force "$d" 169 | done 170 | break 171 | fi 172 | done 173 | fi 174 | echo 175 | 176 | # reset shell 177 | echo "Unset Zsh as default shell? [y]es [n]o" 178 | read -r answer 179 | if [ "$answer" != "${answer#[Yy]}" ]; then 180 | echo "Setting default shell to Bash" 181 | chsh -s "$(which bash)" 182 | elif [ "$answer" != "${answer#[Nn]}" ]; then 183 | echo "Keeping Zsh as default shell" 184 | else 185 | echo "Invalid input" 186 | fi 187 | echo 188 | 189 | # zsh plugins 190 | echo "Remove Zsh plugins? [y]es [n]o" 191 | read -r answer 192 | if [ "$answer" != "${answer#[Yy]}" ]; then 193 | rm -rf "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions" 194 | rm -rf "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting" 195 | rm -rf "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-history-substring-search" 196 | rm -rf "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-completions" 197 | elif [ "$answer" != "${answer#[Nn]}" ]; then 198 | echo "Keeping Zsh plugins" 199 | else 200 | echo "Invalid input" 201 | fi 202 | echo 203 | 204 | # tmux package manager 205 | echo "Remove Tmux package manager? [y]es [n]o" 206 | read -r answer 207 | if [ "$answer" != "${answer#[Yy]}" ]; then 208 | rm -rf "$HOME/.tmux/plugins/tpm" 209 | elif [ "$answer" != "${answer#[Nn]}" ]; then 210 | echo "Keeping Tmux package manager" 211 | else 212 | echo "Invalid input" 213 | fi 214 | echo 215 | 216 | # vim-plug plugin manager 217 | echo "Remove Vim-plug plugin manager? [y]es [n]o" 218 | read -r answer 219 | if [ "$answer" != "${answer#[Yy]}" ]; then 220 | rm -f "$HOME/.local/share/nvim/site/autoload/plug.vim" 221 | elif [ "$answer" != "${answer#[Nn]}" ]; then 222 | echo "Keeping Vim-plug plugin manager" 223 | else 224 | echo "Invalid input" 225 | fi 226 | echo 227 | 228 | if [ -x "$(command -v nvim)" ]; then 229 | # reload nvim plugins 230 | echo "Reloading Neovim plugins..." 231 | nvim +PlugInstall +qa || echo "Something went wrong reloading plugins or Neovim was removed. Check init.vim for errors and try again." 232 | echo "Done" 233 | echo 234 | fi 235 | 236 | # remove spaceship-prompt for zsh 237 | echo "Remove Spaceship-prompt for Zsh? [y]es [n]o" 238 | read -r answer 239 | if [ "$answer" != "${answer#[Yy]}" ]; then 240 | rm -f "$HOME/.oh-my-zsh/themes/spaceship-prompt" 241 | rm -f "$HOME/.oh-my-zsh/themes/spaceship.zsh-theme" 242 | elif [ "$answer" != "${answer#[Nn]}" ]; then 243 | echo "Keeping Spaceship-prompt theme" 244 | fi 245 | echo 246 | 247 | echo "Uninstall complete" 248 | -------------------------------------------------------------------------------- /noobs-term.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | # colors 5 | if which tput >/dev/null 2>&1; then 6 | ncolors=$(tput colors) 7 | fi 8 | if [ -t 1 ] && [ -n "$ncolors" ] && [ "$ncolors" -ge 8 ]; then 9 | BLUE="$(tput setaf 4)" 10 | PURP="$(tput setaf 5)" 11 | NORMAL="$(tput sgr0)" 12 | else 13 | BLUE="" 14 | PURP="" 15 | NORMAL="" 16 | fi 17 | 18 | # dotfiles 19 | dotfiles=".tmux.conf \ 20 | .zshrc \ 21 | .tmux \ 22 | .zsh \ 23 | .oh-my-zsh \ 24 | " 25 | 26 | # package dependencies 27 | dependencies="git \ 28 | curl \ 29 | wget \ 30 | zsh \ 31 | tmux \ 32 | neovim \ 33 | " 34 | 35 | dotfiles_dir="$HOME/.dotfiles" # dotfiles directory 36 | dotfiles_repo="https://github.com/aaronkjones/noobs-term-dotfiles.git" # dotfiles repo 37 | nvim_config="$HOME/.config/nvim/init.vim" # neovim config location 38 | platform="unknown" # default to unknown platform 39 | 40 | # make git be quiet 41 | quiet_git() { 42 | stdout=$(mktemp) 43 | stderr=$(mktemp) 44 | 45 | if ! git "$@" "$stdout" 2>"$stderr"; then 46 | cat "$stderr" >&2 47 | rm -f "$stdout" "$stderr" 48 | exit 1 49 | fi 50 | 51 | rm -f "$stdout" "$stderr" 52 | } 53 | printf "${PURP}" 54 | # backup dotfiles 55 | backup_dotfiles() { 56 | echo "Backing up old dotfiles..." 57 | for d in $dotfiles; do 58 | cp -rf "$HOME/$d" "$HOME/$d.backup" 2>/dev/null || : 59 | done 60 | cp -rf "$dotfiles_dir" "$dotfiles_dir.backup" 2>/dev/null || : 61 | cp -f "$nvim_config" "$HOME/.config/nvim/init.vim.backup" 2>/dev/null || : 62 | cp -rf "$HOME/.oh-my-zsh" "$HOME/.oh-my-zsh.backup" 2>/dev/null || : 63 | echo "Done" 64 | } 65 | 66 | # remove dotfiles 67 | remove_old_dotfiles() { 68 | echo "Removing old dotfiles..." 69 | for d in $dotfiles; do 70 | rm -rf "${HOME:?}"/"$d" 71 | done 72 | rm -rf "$dotfiles_dir" 73 | rm -f "$nvim_config" 74 | rm -rf "$HOME/.oh-my-zsh" 75 | echo "Done" 76 | } 77 | 78 | # install dotfiles 79 | install_dotfiles() { 80 | echo "Installing dotfiles into $dotfiles_dir..." 81 | quiet_git clone "$dotfiles_repo" "$dotfiles_dir" 82 | echo "Symbollically linking dotfiles to home directory (e.g. ln -s $dotfiles_dir/.zshrc $HOME/.zshrc)" 83 | find "$dotfiles_dir" -type f -name ".*" -exec ln -sf {} "$HOME" \; >/dev/null 2>&1 84 | if [ ! -d "$HOME/.config/nvim" ]; then 85 | mkdir -p "$HOME/.config/nvim" 86 | fi 87 | ln -s "$dotfiles_dir/init.vim" "$nvim_config" 88 | } 89 | 90 | # backup and remove dotfiles 91 | if [ -d "$dotfiles_dir" ]; then 92 | echo "Old dotfiles exist" 93 | echo 94 | backup_dotfiles 95 | echo 96 | remove_old_dotfiles 97 | echo 98 | fi 99 | # find current platform and distribution 100 | if [ "$(uname)" = 'Linux' ]; then 101 | platform='Linux' 102 | if type lsb_release >/dev/null 2>&1; then 103 | distro="$(lsb_release -si)" 104 | distro_ver="$(lsb_release -r -s)" 105 | elif [ -f "/etc/arch-release" ]; then 106 | distro='Arch' 107 | elif [ -f "/etc/centos-release" ]; then 108 | distro='CentOS' 109 | distro_ver="$(cat /etc/centos-release | tr -dc '0-9.' | cut -d \. -f1).$(cat /etc/centos-release | tr -dc '0-9.' | cut -d \. -f2)" 110 | fi 111 | elif [ "$(uname)" = 'Darwin' ]; then 112 | platform='Mac' 113 | fi 114 | echo "Current platform: $platform" 115 | if [ "$platform" = 'Linux' ]; then 116 | echo "Current distribution version: $distro_ver" 117 | echo "Current distribution: $distro" 118 | fi 119 | echo 120 | # add neovim repo 121 | if [ "$distro" = 'Ubuntu' ]; then 122 | if ! command -v nvim; then 123 | echo "Adding Neovim Repository..." 124 | if [ "$distro_ver" = "16.04" ] || [ "$distro_ver" = "18.04" ]; then 125 | /usr/bin/sudo apt-add-repository ppa:neovim-ppa/stable -y 1>/dev/null 126 | else 127 | /usr/bin/sudo apt-add-repository ppa:neovim-ppa/unstable -y 1>/dev/null 128 | echo "Done" 129 | fi 130 | fi 131 | elif [ "$distro" = 'CentOS' ]; then 132 | /usr/bin/sudo yum -y -q install epel-release 133 | /usr/bin/sudo curl -o /etc/yum.repos.d/dperson-neovim-epel-7.repo https://copr.fedorainfracloud.org/coprs/dperson/neovim/repo/epel-7/dperson-neovim-epel-7.repo 134 | /usr/bin/sudo yum -y -q install neovim --enablerepo=epel 135 | fi 136 | 137 | echo 138 | # install dependencies 139 | # linux 140 | echo "Installing dependencies..." 141 | if [ "$platform" = 'Linux' ]; then 142 | if [ "$distro" = 'Ubuntu' ] || [ "$distro" = 'Raspbian' ]; then 143 | /usr/bin/sudo apt-get -qq update 144 | for p in $dependencies; do 145 | /usr/bin/sudo apt-get -qq install -y "$p" 146 | done 147 | elif [ "$distro" = 'Arch' ]; then 148 | for p in $dependencies; do 149 | /usr/bin/sudo pacman -q -S --noconfirm "$p" 1>/dev/null 150 | done 151 | elif [ "$distro" = 'CentOS' ]; then 152 | for p in $dependencies; do 153 | /usr/bin/sudo yum -y -q install "$p" 154 | done 155 | /usr/bin/sudo yum -y -q install gcc kernel-devel make ncurses-devel 156 | curl -s -OL https://github.com/libevent/libevent/releases/download/release-2.1.11-stable/libevent-2.1.11-stable.tar.gz > /dev/null && \ 157 | tar -xzf libevent-2.1.11-stable.tar.gz && \ 158 | cd libevent-2.1.11-stable && \ 159 | ./configure --prefix=/usr/local > /dev/null && \ 160 | make > /dev/null 2>&1 && \ 161 | sudo make install > /dev/null && \ 162 | (cd .. || exit) && \ 163 | curl -s -OL https://github.com/tmux/tmux/releases/download/2.9a/tmux-2.9a.tar.gz > /dev/null && \ 164 | tar -xzf tmux-2.9a.tar.gz && \ 165 | cd tmux-2.9a && \ 166 | LDFLAGS="-L/usr/local/lib -Wl,-rpath=/usr/local/lib" ./configure --prefix=/usr/local > /dev/null && \ 167 | make > /dev/null 2>&1 && \ 168 | sudo make install > /dev/null 2>&1 && \ 169 | (cd .. || exit) && \ 170 | wget --quiet https://sourceforge.net/projects/zsh/files/zsh/5.7.1/zsh-5.7.1.tar.xz > /dev/null && \ 171 | tar xf zsh-5.7.1.tar.xz && \ 172 | cd zsh-5.7.1 && \ 173 | ./configure > /dev/null && \ 174 | make > /dev/null 2>&1 && \ 175 | sudo make install > /dev/null 2>&1 176 | fi 177 | # mac 178 | elif [ $platform = 'Mac' ]; then 179 | if ! type "$(which brew)"; then 180 | echo "Brew not installed. Installing..." 181 | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 182 | else 183 | echo "Brew already installed. Proceeding..." 184 | echo 185 | fi 186 | echo "Installing dependencies with Brew" 187 | echo 188 | for d in $dependencies; do 189 | brew info "$d" | grep --quiet 'Not installed' && brew install "$d" 190 | done 191 | fi 192 | echo "Done" 193 | echo 194 | # oh my zsh 195 | echo "Installing Oh My Zsh..." 196 | printf "${NORMAL}" 197 | # Work around to non-standard shell error when chsh in oh-my-zsh script 198 | quiet_git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh 199 | if [ $platform = 'Mac' ]; then 200 | sudo dscl . -create /Users/$USER UserShell "$(which zsh)" 201 | elif [ $platform = 'Linux' ]; then 202 | sudo chsh -s "$(which zsh)" "$(whoami)" 203 | fi 204 | printf "${PURP}" 205 | echo "Done" 206 | echo 207 | # install dotfiles 208 | install_dotfiles 209 | echo 210 | # zsh plugins 211 | echo "Installing Zsh plugins..." 212 | quiet_git clone https://github.com/zsh-users/zsh-autosuggestions "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions" 213 | quiet_git clone https://github.com/zsh-users/zsh-syntax-highlighting.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting" 214 | quiet_git clone https://github.com/zsh-users/zsh-history-substring-search "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-history-substring-search" 215 | quiet_git clone https://github.com/zsh-users/zsh-completions "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-completions" 216 | echo "Done" 217 | echo 218 | # tmux package manager 219 | echo "Installing Tmux package manager into $HOME/.tmux..." 220 | quiet_git clone https://github.com/tmux-plugins/tpm "$HOME/.tmux/plugins/tpm" 221 | echo "Done" 222 | echo 223 | # vim-plug plugin manager 224 | echo "Installing Vim-plug plugin manager into $HOME/.local/share/nvim/site/autoload/plug.vim..." 225 | curl -sfLo "$HOME/.local/share/nvim/site/autoload/plug.vim" --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim 226 | echo "Done" 227 | echo 228 | # activate nvim plugins 229 | echo "Activating Neovim plugins..." 230 | mkdir -p "$HOME/.config/nvim" 231 | nvim +PlugInstall +qa || echo "Something went wrong installing Neovim plugins. Check init.vim for errors and try again." 232 | echo "Done" 233 | echo 234 | # install spaceship-prompt theme for zsh 235 | echo "Installing Spaceship-prompt theme for Zsh..." 236 | quiet_git clone https://github.com/denysdovhan/spaceship-prompt.git "$HOME/.oh-my-zsh/themes/spaceship-prompt" 237 | ln -s "$HOME/.oh-my-zsh/themes/spaceship-prompt/spaceship.zsh-theme" "$HOME/.oh-my-zsh/themes/spaceship.zsh-theme" 238 | echo "Done" 239 | echo 240 | # install nord theme for gnome terminal 241 | if [ "$platform" = 'Linux' ]; then 242 | # check if running desktop or headless 243 | if xhost >/dev/null 2>&1; then 244 | echo "Installing Nord theme for Gnome Terminal..." 245 | curl -sO https://raw.githubusercontent.com/arcticicestudio/nord-gnome-terminal/develop/src/nord.sh && chmod +x nord.sh && ./nord.sh 246 | rm -f nord.sh 247 | echo "Done" 248 | fi 249 | elif [ "$platform" = 'Mac' ]; then 250 | echo "Downloading Nord theme for iTerm" 251 | temp_dir=$(mktemp -d 2>/dev/null || mktemp -d -t 'mytmpdir') 252 | wget -q -O "$temp_dir/Nord.itermcolors" https://raw.githubusercontent.com/arcticicestudio/nord-iterm2/master/src/xml/Nord.itermcolors 253 | echo "Done" 254 | fi 255 | printf "${PURP}" 256 | echo 257 | echo "Installing Powerline fonts..." 258 | printf "${NORMAL}" 259 | quiet_git clone https://github.com/powerline/fonts.git --depth=1 && 260 | cd fonts && 261 | ./install.sh && 262 | cd .. && 263 | rm -rf fonts 264 | printf "${PURP}" 265 | echo "Done" 266 | echo 267 | if [ "$platform" = 'Mac' ] && [ "${TERM_PROGRAM}" = "iTerm.app" ]; then 268 | echo 'Installing Nord theme for iTerm...' 269 | open "$temp_dir/Nord.itermcolors" 270 | fi 271 | echo 272 | printf "${BLUE}" 273 | echo '****************************************************************************************************' 274 | echo ' _ __ ____ __ _ __ __ ' 275 | echo ' (_)___ _____/ /_____ _/ / /___ _/ /_(_)___ ____ _________ ____ ___ ____ / /__ / /____ ' 276 | echo " / / __ \/ ___/ __/ __ \`/ / / __ \`/ __/ / __ \/ __ \ / ___/ __ \/ __ \`__ \/ __ \/ / _ \/ __/ _ " 277 | echo ' / / / / (__ ) /_/ /_/ / / / /_/ / /_/ / /_/ / / / / / /__/ /_/ / / / / / / /_/ / / __/ /_/ __/' 278 | echo '/_/_/ /_/____/\__/\__,_/_/_/\__,_/\__/_/\____/_/ /_/ \___/\____/_/ /_/ /_/ .___/_/\___/\__/\___/ ' 279 | echo ' /_/ ' 280 | echo '***************************************************************************************************' 281 | echo '' 282 | echo " * Note: You will have to log out and back in for Zsh to be set as the default shell." 283 | echo " If you don't want to log out now, enter 'zsh'" 284 | echo '' 285 | echo '' 286 | echo ' * Press Ctrl + a, then I to load Tmux plugins' 287 | echo '' 288 | if [ "$platform" = 'Linux' ]; then 289 | echo ' * In Gnome Terminal preferences, set Nord as your default profile' 290 | elif [ "$platform" = 'Mac' ]; then 291 | echo ' * In iTerm, set your color profile to Nord' 292 | fi 293 | echo '' 294 | echo ' * Set an appropriate font (e.g. Inconsolata for Powerline)' 295 | echo '' 296 | echo '' 297 | --------------------------------------------------------------------------------