create helix module
This commit is contained in:
parent
18e527080a
commit
085772367c
69
user/helix.nix
Normal file
69
user/helix.nix
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
{ config, pkgs, lib, font, ... }: let
|
||||||
|
inherit (import ./variables.nix) key theme color accent font;
|
||||||
|
in {
|
||||||
|
config = {
|
||||||
|
programs.helix = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.unstable.helix;
|
||||||
|
settings = {
|
||||||
|
theme = "gruvbox";
|
||||||
|
editor = {
|
||||||
|
whitespace.render = "all";
|
||||||
|
whitespace.characters = {
|
||||||
|
space = "·";
|
||||||
|
tab = "→";
|
||||||
|
newline = "¬";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
keys.normal = {
|
||||||
|
# basic movement
|
||||||
|
n = "move_char_left";
|
||||||
|
e = "move_line_down";
|
||||||
|
i = "move_line_up";
|
||||||
|
o = "move_char_right";
|
||||||
|
# search
|
||||||
|
l = "search_next";
|
||||||
|
L = "search_prev";
|
||||||
|
# edits
|
||||||
|
s = "insert_mode";
|
||||||
|
# open newline
|
||||||
|
h = "open_below";
|
||||||
|
H = "open_above";
|
||||||
|
# selections
|
||||||
|
k = "select_regex";
|
||||||
|
K = "split_selection";
|
||||||
|
"C-k" = "split_selection_on_newline";
|
||||||
|
# goto mode
|
||||||
|
g.n = "goto_line_start";
|
||||||
|
g.o = "goto_line_end";
|
||||||
|
};
|
||||||
|
keys.select = {
|
||||||
|
# basic movement
|
||||||
|
n = "extend_char_left";
|
||||||
|
e = "extend_line_down";
|
||||||
|
i = "extend_line_up";
|
||||||
|
o = "extend_char_right";
|
||||||
|
# search
|
||||||
|
l = "search_next";
|
||||||
|
L = "search_prev";
|
||||||
|
# edits
|
||||||
|
s = "insert_mode";
|
||||||
|
# open newline
|
||||||
|
h = "open_below";
|
||||||
|
H = "open_above";
|
||||||
|
# selections
|
||||||
|
k = "select_regex";
|
||||||
|
K = "split_selection";
|
||||||
|
"C-k" = "split_selection_on_newline";
|
||||||
|
# goto mode
|
||||||
|
g.n = "goto_line_start";
|
||||||
|
g.o = "goto_line_end";
|
||||||
|
};
|
||||||
|
keys.insert = { "A-k" = "normal_mode"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
pkgs.unstable.helix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -122,6 +122,7 @@ let
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./waybar.nix
|
./waybar.nix
|
||||||
|
./helix.nix
|
||||||
];
|
];
|
||||||
# Home Manager needs a bit of information about you and the
|
# Home Manager needs a bit of information about you and the
|
||||||
# paths it should manage.
|
# paths it should manage.
|
||||||
|
@ -143,7 +144,6 @@ in {
|
||||||
exa
|
exa
|
||||||
fd
|
fd
|
||||||
# text manipulation
|
# text manipulation
|
||||||
pkgs.unstable.helix
|
|
||||||
sd
|
sd
|
||||||
ripgrep
|
ripgrep
|
||||||
# desktop
|
# desktop
|
||||||
|
@ -359,66 +359,6 @@ in {
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
programs.helix = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.unstable.helix;
|
|
||||||
settings = {
|
|
||||||
theme = "gruvbox";
|
|
||||||
editor = {
|
|
||||||
whitespace.render = "all";
|
|
||||||
whitespace.characters = {
|
|
||||||
space = "·";
|
|
||||||
tab = "→";
|
|
||||||
newline = "¬";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
keys.normal = {
|
|
||||||
# basic movement
|
|
||||||
n = "move_char_left";
|
|
||||||
e = "move_line_down";
|
|
||||||
i = "move_line_up";
|
|
||||||
o = "move_char_right";
|
|
||||||
# search
|
|
||||||
l = "search_next";
|
|
||||||
L = "search_prev";
|
|
||||||
# edits
|
|
||||||
s = "insert_mode";
|
|
||||||
# open newline
|
|
||||||
h = "open_below";
|
|
||||||
H = "open_above";
|
|
||||||
# selections
|
|
||||||
k = "select_regex";
|
|
||||||
K = "split_selection";
|
|
||||||
"C-k" = "split_selection_on_newline";
|
|
||||||
# goto mode
|
|
||||||
g.n = "goto_line_start";
|
|
||||||
g.o = "goto_line_end";
|
|
||||||
};
|
|
||||||
keys.select = {
|
|
||||||
# basic movement
|
|
||||||
n = "extend_char_left";
|
|
||||||
e = "extend_line_down";
|
|
||||||
i = "extend_line_up";
|
|
||||||
o = "extend_char_right";
|
|
||||||
# search
|
|
||||||
l = "search_next";
|
|
||||||
L = "search_prev";
|
|
||||||
# edits
|
|
||||||
s = "insert_mode";
|
|
||||||
# open newline
|
|
||||||
h = "open_below";
|
|
||||||
H = "open_above";
|
|
||||||
# selections
|
|
||||||
k = "select_regex";
|
|
||||||
K = "split_selection";
|
|
||||||
"C-k" = "split_selection_on_newline";
|
|
||||||
# goto mode
|
|
||||||
g.n = "goto_line_start";
|
|
||||||
g.o = "goto_line_end";
|
|
||||||
};
|
|
||||||
keys.insert = { "A-k" = "normal_mode"; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
programs.kakoune = {
|
programs.kakoune = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = let
|
extraConfig = let
|
||||||
|
|
Loading…
Reference in a new issue