diff --git a/flake.nix b/flake.nix index c79c10e..6773231 100644 --- a/flake.nix +++ b/flake.nix @@ -86,7 +86,9 @@ ./modules/system/desktop-environments/gnome.nix ] #extra modules to load - []; #extra modules to be loaded by home-manager + [ + ./modules/home-manager/helix.nix + ]; #extra modules to be loaded by home-manager }; packages.${system} = { dconfnixdump = pkgs.writeScriptBin "deconfnixdump"'' diff --git a/modules/home-manager/helix.nix b/modules/home-manager/helix.nix index e69de29..b709d72 100644 --- a/modules/home-manager/helix.nix +++ b/modules/home-manager/helix.nix @@ -0,0 +1,81 @@ +{ pkgs, config, lib, ...}: +{ + programs.helix = { + enable = true; + settings = { + theme = "monokai_pro_octagon"; + editor.line-number = "relative"; + editor.shell = ["zsh" "-c"]; + }; + themes = { + monokai_pro_octagon = let + red = "#ff657a"; + orange = "#ff9b5e"; + yellow = "#ffd76d"; + green = "#bad761"; + blue = "#9cd1bb"; + purple = "#c39ac9"; + base0 = "#161821"; + base1 = "#1e1f2b"; + base2 = "#282a3a"; + base3 = "#3a3d4b"; + base4 = "#535763"; + base5 = "#696d77"; + base6 = "#767b81"; + base7 = "#b2b9bd"; + base8 = "#eaf2f1"; + base8x0c = "#303342"; + in { + "ui.linenr.selected" = { bg = base3; }; "ui.text.focus" = { fg = yellow; modifiers = ["bold"]; }; "ui.menu" = { fg = base8; bg = base3; }; "ui.menu.selected" = { fg = base2; bg = yellow; }; "ui.virtual.whitespace" = base5; "ui.virtual.ruler" = { bg = base1; }; "info" = base8; "hint" = base8; "ui.background" = {}; "ui.statusline.inactive" = { fg = base8; bg = base8x0c; }; "ui.statusline" = { fg = base8; bg = base4; }; "ui.statusline.normal" = { fg = base4; bg = blue; }; "ui.statusline.insert" = { fg = base4; bg = green; }; "ui.statusline.select" = { fg = base4; bg = purple; }; "ui.popup" = { bg = base3; }; "ui.window" = { bg = base3; }; + "ui.help" = { fg = base8; bg = base3; }; + "ui.selection" = { bg = base4; }; + "ui.cursor.match" = { bg = base4; }; + "ui.cursorline" = { bg = base1; }; + "comment" = { fg = base5; modifiers = ["italic"]; }; + "ui.linenr" = { fg = base5; }; + "ui.cursor.primary" = { fg = base7; modifiers = ["reversed"]; }; + "attribute" = blue; + "variable" = base8; + "constant" = orange; + "variable.builtin" = red; + "constant.builtin" = red; + "namespace" = base8; + "ui.text" = { fg = base8; }; + "punctuation" = base6; + "type" = green; + "type.builtin" = { fg = red; }; + "label" = base8; + "constructor" = blue; + "function" = green; + "function.macro" = { fg = blue; }; + "function.builtin" = { fg = "cyan"; }; + "operator" = red; + "variable.other.member" = base8; + "keyword" = { fg = red; }; + "keyword.directive" = blue; + "variable.parameter" = "#f59762"; + "error" = red; + "special" = "#f59762"; + "module" = "#f59762"; + "warning" = "orange"; + "constant.character.escape" = { fg = base8; }; + "string" = yellow; + "constant.numeric" = purple; + "diff.plus" = green; + "diff.delta" = "orange"; + "diff.minus" = red; + "diagnostic.warning" = { underline = { color = "orange"; style = "curl"; }; }; + "diagnostic.error" = { underline = { color = red; style = "curl"; }; }; + "diagnostic.info" = { underline = { color = base8; style = "curl"; }; }; + "diagnostic.hint" = { underline = { color = base8; style = "curl"; }; }; + "markup.heading" = green; + "markup.bold" = { fg = "orange"; modifiers = ["bold"]; }; + "markup.italic" = { fg = "orange"; modifiers = ["italic"]; }; + "markup.strikethrough" = { modifiers = ["crossed_out"]; }; + "markup.link.url" = { fg = "orange"; modifiers = ["underlined"]; }; + "markup.link.text" = yellow; + "markup.quote" = green; + }; + }; + }; +} \ No newline at end of file diff --git a/users/speccon18/home.nix b/users/speccon18/home.nix index 03ff77c..fee3297 100644 --- a/users/speccon18/home.nix +++ b/users/speccon18/home.nix @@ -32,7 +32,6 @@ starship just alacritty - ncspot bacon bottom xplr @@ -203,99 +202,6 @@ "window.zoomLevel" = 1; }; }; - helix = { - enable = true; - settings = { - theme = "monokai_pro_octagon"; - editor.line-number = "relative"; - editor.shell = ["zsh" "-c"]; - }; - themes = { - monokai_pro_octagon = let - red = "#ff657a"; - orange = "#ff9b5e"; - yellow = "#ffd76d"; - green = "#bad761"; - blue = "#9cd1bb"; - purple = "#c39ac9"; - base0 = "#161821"; - base1 = "#1e1f2b"; - base2 = "#282a3a"; - base3 = "#3a3d4b"; - base4 = "#535763"; - base5 = "#696d77"; - base6 = "#767b81"; - base7 = "#b2b9bd"; - base8 = "#eaf2f1"; - base8x0c = "#303342"; - in { - "ui.linenr.selected" = { bg = base3; }; - "ui.text.focus" = { fg = yellow; modifiers = ["bold"]; }; - "ui.menu" = { fg = base8; bg = base3; }; - "ui.menu.selected" = { fg = base2; bg = yellow; }; - "ui.virtual.whitespace" = base5; - "ui.virtual.ruler" = { bg = base1; }; - "info" = base8; - "hint" = base8; - "ui.background" = {}; - "ui.statusline.inactive" = { fg = base8; bg = base8x0c; }; - "ui.statusline" = { fg = base8; bg = base4; }; - "ui.statusline.normal" = { fg = base4; bg = blue; }; - "ui.statusline.insert" = { fg = base4; bg = green; }; - "ui.statusline.select" = { fg = base4; bg = purple; }; - "ui.popup" = { bg = base3; }; - "ui.window" = { bg = base3; }; - "ui.help" = { fg = base8; bg = base3; }; - "ui.selection" = { bg = base4; }; - "ui.cursor.match" = { bg = base4; }; - "ui.cursorline" = { bg = base1; }; - "comment" = { fg = base5; modifiers = ["italic"]; }; - "ui.linenr" = { fg = base5; }; - "ui.cursor.primary" = { fg = base7; modifiers = ["reversed"]; }; - "attribute" = blue; - "variable" = base8; - "constant" = orange; - "variable.builtin" = red; - "constant.builtin" = red; - "namespace" = base8; - "ui.text" = { fg = base8; }; - "punctuation" = base6; - "type" = green; - "type.builtin" = { fg = red; }; - "label" = base8; - "constructor" = blue; - "function" = green; - "function.macro" = { fg = blue; }; - "function.builtin" = { fg = "cyan"; }; - "operator" = red; - "variable.other.member" = base8; - "keyword" = { fg = red; }; - "keyword.directive" = blue; - "variable.parameter" = "#f59762"; - "error" = red; - "special" = "#f59762"; - "module" = "#f59762"; - "warning" = "orange"; - "constant.character.escape" = { fg = base8; }; - "string" = yellow; - "constant.numeric" = purple; - "diff.plus" = green; - "diff.delta" = "orange"; - "diff.minus" = red; - "diagnostic.warning" = { underline = { color = "orange"; style = "curl"; }; }; - "diagnostic.error" = { underline = { color = red; style = "curl"; }; }; - "diagnostic.info" = { underline = { color = base8; style = "curl"; }; }; - "diagnostic.hint" = { underline = { color = base8; style = "curl"; }; }; - "markup.heading" = green; - "markup.bold" = { fg = "orange"; modifiers = ["bold"]; }; - "markup.italic" = { fg = "orange"; modifiers = ["italic"]; }; - "markup.strikethrough" = { modifiers = ["crossed_out"]; }; - "markup.link.url" = { fg = "orange"; modifiers = ["underlined"]; }; - "markup.link.text" = yellow; - "markup.quote" = green; - }; - }; - }; git = { enable = true; userName = "specCon18";