aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 9de30c0bb48685509e4ef2872f968129b8c423a5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
## powerlevel9k Theme for Oh-My-Zsh

This is a theme for [Oh-My-Zsh](https://github.com/robbyrussell/oh-my-zsh). This
theme uses [Powerline Fonts](https://github.com/Lokaltog/powerline-fonts), thus
giving you the most epic terminal styling in the universe.

Look like a bad-ass. Impress everyone in 'Screenshot Your Desktop' threads. Use powerlevel9k.

In addition to looking amazing, this theme actually provides a lot of useful
information.

### Features

* Shows lots of information about Git and Hg repositories, including:
    * branch / tag name
    * current action status (rebasing, merging, etc.,)
    * being behind / ahead of your remote
    * conditionally shows remote tracking branch if it differs from local
    * various local working tree statuses
* Shows command number in right-prompt (so you can `$ !<num>` to re-run)
* Shows return-code of command if it is an error code
* Shows system time in right-prompt
* Indicates background jobs with a gear
* Will conditionally display the `user@host` string

**If you would like an OMZ theme that provides most of the same features but
doesn't require Powerline fonts, check out the sister font,
[hackersaurus](https://github.com/bhilburn/hackersaurus).**

These screenshots should give you an idea of what `powerlevel9k` looks like:

![](http://bhilburn.org/content/images/2014/12/powerlevel9k.png)

![](http://bhilburn.org/content/images/2015/01/pl9k-improved.png)


### Installation

First, you need to install Powerline Fonts. You can find the [installation
instructions
here](https://powerline.readthedocs.org/en/latest/installation/linux.html#fonts-installation).
You can also find the raw font files [in this Github
repository](https://github.com/powerline/fonts) if you want to manually install
them for your OS.

To install this theme, clone this repository, and then copy or symlink the theme
file into your OMZ's `custom` directory. Note that you cannot simply clone the
repository into `custom/themes`, because OMZ does not traverse sub-directories
in `themes`.

    $ cd <prefix>
    $ git clone https://github.com/bhilburn/powerlevel9k.git powerlevel9k.git
    $ cd ~/.oh-my-zsh/custom
    $ mkdir themes              # if it doesn't already exist
    $ cd themes
    $ ln -s <prefix>/powerlevel9k.git/powerlevel9k.zsh-theme powerlevel9k.zsh-theme

You then need to select this theme in your `~/.zshrc`:

    ZSH_THEME="powerlevel9k"

### Customization

You can choose which segments are shown on each side. The segments that are
currently available are:

* **context** - Your username and host.
* **dir** - Your current working directory.
* **vcs** - Information about this `git` or `hg` repository (if you are in one).
* **rbenv** - Ruby environment information (if one is active).
* **status** - The return code of the previous command, and status of background jobs.
* **history** - The command number for the current line.
* **time** - System time.

To specify which segments you want, just add the following variables to your
`~/.zshrc`. If you don't customize this, the below configuration is the default:

    POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir rbenv vcs)
    POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status history time)

If you want to show the current changeset in a `git` or `hg` repository, enable
`POWERLEVEL9K_SHOW_CHANGESET` in your `~/.zshrc`:

    POWERLEVEL9K_SHOW_CHANGESET=true

#### Conditional 'context'

The `context` segment (user@host string) is conditional. This lets you enable it, but only display
it if you are not your normal user or on a remote host (basically, only print it
when it likely you need it).

To use this feature, make sure the `context` segment is enabled in your prompt
elements (it is by default), and define a `DEFAULT_USER` in your `~/.zshrc`:

    export DEFAULT_USER=<your username>

### Bugs / Contact

If you have any requests or bug reports, please use the tracker in this Github
repository.