From 5f310a704312058aa4cf1ee57359fe036a60fea5 Mon Sep 17 00:00:00 2001 From: sefidel Date: Mon, 21 Aug 2023 19:28:42 +0900 Subject: chore(home): base/helix -> development/helix --- home/profiles/development/default.nix | 70 +++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) (limited to 'home/profiles/development/default.nix') diff --git a/home/profiles/development/default.nix b/home/profiles/development/default.nix index 3f42416..0e3c049 100644 --- a/home/profiles/development/default.nix +++ b/home/profiles/development/default.nix @@ -107,6 +107,76 @@ in IdentitiesOnly true ''; + programs.helix = { + enable = true; + settings = { + theme = "rasmus-ext"; + + editor = { + statusline = { + left = [ "mode" "spinner" "file-name" "position" "separator" "spacer" "diagnostics" "file-modification-indicator" ]; + center = [ "version-control" ]; + right = [ "selections" "file-encoding" "file-line-ending" "file-type" ]; + mode.normal = "NORMAL"; + mode.insert = "INSERT"; + mode.select = "SELECT"; + }; + + cursor-shape = { + insert = "bar"; + normal = "block"; + select = "underline"; + }; + + # lsp = { + # display-inlay-hints = true; + # }; + + line-number = "relative"; + color-modes = true; + bufferline = "multiple"; + }; + + keys.normal = { + space = { + q = ":buffer-previous"; + e = ":buffer-next"; + u = ":buffer-close"; + o = ":new"; + ";" = "command_mode"; + "/" = "toggle_comments"; + }; + A-r = [ "extend_to_line_bounds" "delete_selection" "paste_after" ]; + A-e = [ "extend_to_line_bounds" "delete_selection" "move_line_up" "paste_before" ]; + }; + }; + themes = { + rasmus-ext = { + inherits = "rasmus"; + + # Transparent background + # "ui.background" = {}; + # Bar cursor + "ui.virtual" = { fg = "white"; }; + # lightened ui.cursor.{normal,insert,select} + "ui.cursor.primary.normal" = { bg = "gray045"; }; + "ui.cursor.primary.insert" = { bg = "white"; }; + "ui.cursor.primary.select" = { bg = "gray035"; }; + # TODO: Use proper search group after + # https://github.com/helix-editor/helix/pull/5702 + # "ui.selection" = { /* fg = "accent01"; */ bg = "accent02"; }; + # "ui.selection.primary" = { /* fg = "accent01"; */ bg = "accent02"; }; + + palette = { + gray035 = "#4b4b49"; + gray045 = "#525250"; + accent01 = "#f0a0c0"; + accent02 = "#302028"; + }; + }; + }; + }; + home.packages = [ pkgs.bfg-repo-cleaner pkgs.diffoscopeMinimal -- cgit 1.4.1