You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repository contains the Nix version of my Vim/ZSH/Tmux configuration called [lc-shell](https://github.com/lightcode/lc-shell). This configuration is a module for[home-manager](https://github.com/nix-community/home-manager).
3
+
This repository contains a Nix module to configure Vim, ZSH and tmux. This module is meant to be used with[home-manager](https://github.com/nix-community/home-manager).
4
4
5
5
6
-
## Usage
6
+
## Installation
7
+
8
+
### Prerequisites
9
+
10
+
You need to have Nix and home-manager installed.
7
11
8
12
### Include the module
9
13
@@ -13,7 +17,7 @@ This repository contains the Nix version of my Vim/ZSH/Tmux configuration called
13
17
niv add lightcode/lc-shell-nix -v v1.0.0
14
18
```
15
19
16
-
Then, you can import the module like this:
20
+
You can import it by adding these lines to your `home.nix`:
17
21
18
22
```nix
19
23
{
@@ -22,13 +26,13 @@ Then, you can import the module like this:
22
26
in [
23
27
sources.lc-shell-nix.outPath
24
28
];
25
-
26
-
# ...
27
29
}
28
30
```
29
31
30
32
**Or by fetching manually the tarball**:
31
33
34
+
If you don't want to use `niv`, you can add these lines to your `home.nix`:
35
+
32
36
```nix
33
37
{
34
38
imports = [
@@ -39,16 +43,58 @@ Then, you can import the module like this:
39
43
40
44
### Enable the module
41
45
42
-
In your home-manager configuration, you need to enable the features you need:
46
+
Once the module is added to your configuration, you need to enable the features you need:
43
47
44
48
```nix
45
49
{
46
-
47
50
lc-shell = {
48
51
vim.enable = true;
49
52
tmux.enable = true;
50
53
zsh.enable = true;
51
54
};
52
-
53
55
}
54
56
```
57
+
58
+
59
+
## What lc-shell-nix can do?
60
+
61
+
### Vim
62
+
63
+
* <kbd>CTRL</kbd> + <kbd>k</kbd> and <kbd>CTRL</kbd> + <kbd>p</kbd>: enable/disable paste mode and hide/show line number
64
+
* <kbd>,</kbd> + <kbd>w</kbd>: write
65
+
* <kbd>,</kbd> + <kbd>q</kbd>: quit buffer
66
+
* <kbd>CTRL</kbd> + <kbd>p</kbd>: open ctrlp, an extension that allow to open files
* <kbd>CTRL</kbd> + <kbd>b</kbd>, <kbd>PageUp</kbd>: scroll the pannel up. Next you can move with <kbd>PageUP</kbd>,
79
+
<kbd>PageDown</kbd> and the arrows. This mode is the copy mode.
80
+
81
+
82
+
### ZSH
83
+
84
+
Functions:
85
+
86
+
*`reloadzsh`: reload `.zshrc`, `.zshenv` and run `rehash` (that permit to recreate hash table that contains all functions in PATH. This is usefull for completion)
87
+
88
+
Shortcuts:
89
+
90
+
* <kbd>ALT</kbd> + <kbd>g</kbd>: `git status --short`
91
+
92
+
Usefull aliases:
93
+
94
+
*`gl`: `git log`
95
+
*`gc`: `git commit`
96
+
97
+
98
+
### ZSH customizations
99
+
100
+
To customize ZSH, you can add ZSH files in the `~/.zshrc.d` directory. You can still used the features provided by home-manager and Nix to override some parameters or add plugins.
0 commit comments