Compare commits
2 commits
8bd64fbe79
...
9a11fd1b38
Author | SHA1 | Date | |
---|---|---|---|
Natsu Kagami | 9a11fd1b38 | ||
Natsu Kagami | 530a746260 |
|
@ -1223,11 +1223,11 @@
|
|||
},
|
||||
"nixpkgs_9": {
|
||||
"locked": {
|
||||
"lastModified": 1720691131,
|
||||
"narHash": "sha256-CWT+KN8aTPyMIx8P303gsVxUnkinIz0a/Cmasz1jyIM=",
|
||||
"lastModified": 1720954236,
|
||||
"narHash": "sha256-1mEKHp4m9brvfQ0rjCca8P1WHpymK3TOr3v34ydv9bs=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a046c1202e11b62cbede5385ba64908feb7bfac4",
|
||||
"rev": "53e81e790209e41f0c1efa9ff26ff2fd7ab35e27",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -36,11 +36,6 @@ in
|
|||
pinentry-gnome3 # until pinentry-qt introduces caching
|
||||
];
|
||||
|
||||
# Git "safe-directory"
|
||||
programs.git.extraConfig.safe.directory = [
|
||||
"${config.home.homeDirectory}/.config/nixpkgs"
|
||||
];
|
||||
|
||||
systemd.user.startServices = "sd-switch";
|
||||
|
||||
# Audio stuff!
|
||||
|
|
|
@ -109,6 +109,7 @@
|
|||
.envrc
|
||||
.kakrc
|
||||
''}";
|
||||
safe.directory = "*";
|
||||
merge.conflictstyle = "diff3";
|
||||
};
|
||||
};
|
||||
|
|
79
home/kakoune/catppuccin-latte.kak
Normal file
79
home/kakoune/catppuccin-latte.kak
Normal file
|
@ -0,0 +1,79 @@
|
|||
# Catppuccin theme for Kakoune
|
||||
|
||||
declare-option str rosewater "rgb:dc8a78"
|
||||
declare-option str flamingo "rgb:dd7878"
|
||||
declare-option str pink "rgb:ea76cb"
|
||||
declare-option str mauve "rgb:8839ef"
|
||||
declare-option str red "rgb:d20f39"
|
||||
declare-option str maroon "rgb:e64553"
|
||||
declare-option str peach "rgb:fe640b"
|
||||
declare-option str yellow "rgb:df8e1d"
|
||||
declare-option str green "rgb:40a02b"
|
||||
declare-option str teal "rgb:179299"
|
||||
declare-option str sky "rgb:04a5e5"
|
||||
declare-option str sapphire "rgb:209fb5"
|
||||
declare-option str blue "rgb:1e66f5"
|
||||
declare-option str lavender "rgb:7287fd"
|
||||
declare-option str text "rgb:4c4f69"
|
||||
declare-option str subtext1 "rgb:5c5f77"
|
||||
declare-option str subtext0 "rgb:6c6f85"
|
||||
declare-option str overlay2 "rgb:7c7f93"
|
||||
declare-option str overlay1 "rgb:8c8fa1"
|
||||
declare-option str overlay0 "rgb:9ca0b0"
|
||||
declare-option str surface2 "rgb:acb0be"
|
||||
declare-option str surface1 "rgb:bcc0cc"
|
||||
declare-option str surface0 "rgb:ccd0da"
|
||||
declare-option str base "rgb:eff1f5"
|
||||
declare-option str mantle "rgb:e6e9ef"
|
||||
declare-option str crust "rgb:dce0e8"
|
||||
|
||||
|
||||
set-face global title "%opt{text}+b"
|
||||
set-face global header "%opt{subtext0}+b"
|
||||
set-face global bold "%opt{maroon}+b"
|
||||
set-face global italic "%opt{maroon}+i"
|
||||
set-face global mono "%opt{green}"
|
||||
set-face global block "%opt{sapphire}"
|
||||
set-face global link "%opt{blue}"
|
||||
set-face global bullet "%opt{peach}"
|
||||
set-face global list "%opt{peach}"
|
||||
|
||||
set-face global Default "%opt{text},%opt{base}"
|
||||
set-face global PrimarySelection "%opt{text},%opt{surface2}"
|
||||
set-face global SecondarySelection "%opt{text},%opt{surface2}"
|
||||
set-face global PrimaryCursor "%opt{crust},%opt{rosewater}"
|
||||
set-face global SecondaryCursor "%opt{text},%opt{overlay0}"
|
||||
set-face global PrimaryCursorEol "%opt{surface2},%opt{lavender}"
|
||||
set-face global SecondaryCursorEol "%opt{surface2},%opt{overlay1}"
|
||||
set-face global LineNumbers "%opt{overlay1},%opt{base}"
|
||||
set-face global LineNumberCursor "%opt{rosewater},%opt{surface2}+b"
|
||||
set-face global LineNumbersWrapped "%opt{rosewater},%opt{surface2}+i"
|
||||
set-face global MenuForeground "%opt{text},%opt{surface1}+b"
|
||||
set-face global MenuBackground "%opt{text},%opt{surface0}"
|
||||
set-face global MenuInfo "%opt{crust},%opt{teal}"
|
||||
set-face global Information "%opt{crust},%opt{teal}"
|
||||
set-face global Error "%opt{crust},%opt{red}"
|
||||
set-face global StatusLine "%opt{text},%opt{mantle}"
|
||||
set-face global StatusLineMode "%opt{crust},%opt{yellow}"
|
||||
set-face global StatusLineInfo "%opt{crust},%opt{teal}"
|
||||
set-face global StatusLineValue "%opt{crust},%opt{yellow}"
|
||||
set-face global StatusCursor "%opt{crust},%opt{rosewater}"
|
||||
set-face global Prompt "%opt{teal},%opt{base}+b"
|
||||
set-face global MatchingChar "%opt{maroon},%opt{base}"
|
||||
set-face global Whitespace "%opt{overlay1},%opt{base}+f"
|
||||
set-face global WrapMarker "Whitespace"
|
||||
set-face global BufferPadding "%opt{base},%opt{base}"
|
||||
|
||||
set-face global value "%opt{peach}"
|
||||
set-face global type "%opt{blue}"
|
||||
set-face global variable "%opt{text}"
|
||||
set-face global module "%opt{maroon}"
|
||||
set-face global function "%opt{blue}"
|
||||
set-face global string "%opt{green}"
|
||||
set-face global keyword "%opt{mauve}"
|
||||
set-face global operator "%opt{sky}"
|
||||
set-face global attribute "%opt{green}"
|
||||
set-face global comment "%opt{overlay0}"
|
||||
set-face global documentation "comment"
|
||||
set-face global meta "%opt{yellow}"
|
||||
set-face global builtin "%opt{red}"
|
|
@ -201,8 +201,7 @@ in
|
|||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-go";
|
||||
rev = "v0.20.0";
|
||||
hash = "sha256-XUSXOTqUySShJ7gebnhObwaFllfIxEYIHN70/wpiJdw=";
|
||||
leaveDotGit = true;
|
||||
hash = "sha256-G7d8CHCyKDAb9j6ijRfHk/HlgPqSI+uvkuRIRRvjkHI=";
|
||||
};
|
||||
in
|
||||
{
|
||||
|
@ -212,11 +211,7 @@ in
|
|||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-scala";
|
||||
rev = "70afdd5632d57dd63a960972ab25945e353a52f6";
|
||||
hash =
|
||||
if pkgs.stdenv.isDarwin
|
||||
then lib.fakeHash
|
||||
else "sha256-Q8KSI8H7+d/sUdSlcNAiOPn2THKk7SFqC3U7rLqSqtE=";
|
||||
leaveDotGit = true;
|
||||
hash = "sha256-bi0Lqo/Zs2Uaz1efuKAARpEDg5Hm59oUe7eSXgL1Wow=";
|
||||
};
|
||||
in
|
||||
{
|
||||
|
@ -230,11 +225,7 @@ in
|
|||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-haskell";
|
||||
rev = "ba0bfb0e5d8e9e31c160d287878c6f26add3ec08";
|
||||
sha256 =
|
||||
if pkgs.stdenv.isDarwin
|
||||
then "sha256-lW3E4gSZV/m2RfofUqeiCu8KDz06YEvXbYKs8smXFi4="
|
||||
else "sha256-H5Z4vPTZCFxDCWguOB8oVSGPJyQonrD8FWAQZTYPG2U=";
|
||||
leaveDotGit = true;
|
||||
hash = "sha256-ZSOF0CLOn82GwU3xgvFefmh/AD2j5zz8I0t5YPwfan0=";
|
||||
};
|
||||
in
|
||||
{
|
||||
|
@ -248,8 +239,7 @@ in
|
|||
owner = "ikatyang";
|
||||
repo = "tree-sitter-yaml";
|
||||
rev = "0e36bed171768908f331ff7dff9d956bae016efb";
|
||||
hash = "sha256-rN/a8dYffDQNuvnhNp/nfu0AzhYrR1ESACQbQWb/n5w=";
|
||||
leaveDotGit = true;
|
||||
hash = "sha256-bpiT3FraOZhJaoiFWAoVJX1O+plnIi8aXOW2LwyU23M=";
|
||||
};
|
||||
grammar.compile.args = [ "-c" "-fpic" "../scanner.cc" "../parser.c" "-I" ".." ];
|
||||
grammar.link.args = [ "-shared" "-fpic" "scanner.o" "parser.o" ];
|
||||
|
@ -259,8 +249,7 @@ in
|
|||
owner = "helix-editor";
|
||||
repo = "helix";
|
||||
rev = "dbd248fdfa680373d94fbc10094a160aafa0f7a7";
|
||||
hash = "sha256-dv/T8ROXmwEdjM71gza1RzF2HoINA7Zl2jmz63kCZyQ=";
|
||||
leaveDotGit = true;
|
||||
hash = "sha256-wk8qVUDFXhAOi1Ibc6iBMzDCXb6t+YiWZcTd0IJybqc=";
|
||||
};
|
||||
queries.path = "runtime/queries/yaml";
|
||||
};
|
||||
|
@ -271,27 +260,17 @@ in
|
|||
owner = "vrischmann";
|
||||
repo = "tree-sitter-templ";
|
||||
rev = "044ad200092170727650fa6d368df66a8da98f9d";
|
||||
hash = "sha256-umhemFnz/nLzkJk75wMoMAHT+Zs9MYOqWPoYQwoFu74=";
|
||||
leaveDotGit = true;
|
||||
hash = "sha256-hJuB3h5pp+LLfP0/7bAYH0uLVo+OQk5jpzJb3J9BNkY=";
|
||||
};
|
||||
in
|
||||
{
|
||||
grammar.src = src;
|
||||
queries.src = pkgs.runCommandLocal "templ-tree-sitter-queries" { } ''
|
||||
mkdir -p queries
|
||||
# copy most stuff from tree-sitter-templ
|
||||
install -m644 ${src}/queries/templ/* queries
|
||||
# override inherited files
|
||||
cat ${tree-sitter-go}/queries/highlights.scm ${src}/queries/templ/highlights.scm > queries/highlights.scm
|
||||
|
||||
mkdir -p $out/queries
|
||||
cp -r queries $out/queries/templ
|
||||
cd $out
|
||||
${lib.getExe pkgs.git} init
|
||||
${lib.getExe pkgs.git} config user.email "a@b.com"
|
||||
${lib.getExe pkgs.git} config user.name "a"
|
||||
${lib.getExe pkgs.git} add .
|
||||
${lib.getExe pkgs.git} commit -m "Just making a git commit"
|
||||
# copy most stuff from tree-sitter-templ
|
||||
install -m644 ${src}/queries/templ/* $out/queries
|
||||
# override inherited files
|
||||
cat ${tree-sitter-go}/queries/highlights.scm ${src}/queries/templ/highlights.scm > $out/queries/highlights.scm
|
||||
'';
|
||||
queries.path = "queries/templ";
|
||||
};
|
||||
|
@ -317,11 +296,11 @@ in
|
|||
'';
|
||||
|
||||
programs.my-kakoune.extraFaces = {
|
||||
Default = "%opt{white},%opt{background}";
|
||||
BufferPadding = "%opt{background},%opt{background}";
|
||||
MenuForeground = "blue,white+bF";
|
||||
MenuBackground = "bright-blue,white+F";
|
||||
Information = "bright-blue,white";
|
||||
Default = "%opt{text},%opt{base}";
|
||||
BufferPadding = "%opt{base},%opt{base}";
|
||||
MenuForeground = "%opt{blue},white+bF";
|
||||
MenuBackground = "%opt{sky},white+F";
|
||||
Information = "%opt{sky},white";
|
||||
# Markdown help color scheme
|
||||
InfoDefault = "Information";
|
||||
InfoBlock = "@block";
|
||||
|
@ -513,10 +492,7 @@ in
|
|||
}
|
||||
];
|
||||
programs.my-kakoune.themes = {
|
||||
catppuccin-latte = builtins.fetchurl {
|
||||
url = "https://raw.githubusercontent.com/catppuccin/kakoune/f6d43770609433c45046632f1bb68d1395305dbb/colors/catppuccin_latte.kak";
|
||||
sha256 = "sha256:0ycvxs8hmsvd0zrpxiby16wzmapvmz6p34b6j343pc1girw6fi4i";
|
||||
};
|
||||
catppuccin-latte = ./catppuccin-latte.kak;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
# Enable kak-tree-sitter
|
||||
eval %sh{ kak-tree-sitter --kakoune -d --server --with-text-objects }
|
||||
eval %sh{test -z "$WE_STARTED_KAK" && kak-tree-sitter --kakoune -d --server --init $kak_session}
|
||||
map global normal <c-t> ": enter-user-mode tree-sitter<ret>"
|
||||
## Set some color overrides
|
||||
set global kts_yellow "rgb:e2b75e"
|
||||
set global kts_teal "rgb:008080"
|
||||
set global kts_mauve "rgb:c264ff"
|
||||
set global kts_sky "rgb:6aa622"
|
||||
# ## Set some color overrides
|
||||
# set global kts_yellow "rgb:e2b75e"
|
||||
# set global kts_teal "rgb:008080"
|
||||
# set global kts_mauve "rgb:c264ff"
|
||||
# set global kts_sky "rgb:6aa622"
|
||||
# Color scheme
|
||||
colorscheme catppuccin-latte
|
||||
set global background default
|
||||
set global base "default"
|
||||
|
||||
# Set indentation guides
|
||||
add-highlighter global/indent-guides show-whitespaces -tab " " -spc " " -lf " " -nbsp " "
|
||||
|
|
|
@ -43,83 +43,96 @@ in
|
|||
};
|
||||
package = mkPackageOption pkgs "kak-tree-sitter" { };
|
||||
|
||||
features = {
|
||||
highlighting = mkOption {
|
||||
type = types.bool;
|
||||
description = "Enable highlighting";
|
||||
default = true;
|
||||
};
|
||||
text_objects = mkOption {
|
||||
type = types.bool;
|
||||
description = "Enable text objects";
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
|
||||
highlighterGroups = mkOption {
|
||||
type = types.attrsOf types.str;
|
||||
default = {
|
||||
attribute = "@attribute";
|
||||
comment = "@comment";
|
||||
conceal = "%opt{kts_mauve}+i";
|
||||
constant = "%opt{kts_peach}";
|
||||
constant_builtin_boolean = "%opt{kts_sky}";
|
||||
constant_character = "%opt{kts_yellow}";
|
||||
constant_macro = "%opt{kts_mauve}";
|
||||
constant_numeric = "%opt{kts_peach}";
|
||||
constructor = "%opt{kts_sapphire}";
|
||||
diff_plus = "%opt{kts_green}";
|
||||
diff_minus = "%opt{kts_red}";
|
||||
diff_delta = "%opt{kts_blue}";
|
||||
diff_delta_moved = "%opt{kts_mauve}";
|
||||
error = "%opt{kts_red}+b";
|
||||
conceal = "%opt{mauve}+i";
|
||||
constant = "%opt{peach}";
|
||||
constant_builtin_boolean = "%opt{sky}";
|
||||
constant_character = "%opt{yellow}";
|
||||
constant_macro = "%opt{mauve}";
|
||||
constant_numeric = "%opt{peach}";
|
||||
constructor = "%opt{sapphire}";
|
||||
diff_plus = "%opt{green}";
|
||||
diff_minus = "%opt{red}";
|
||||
diff_delta = "%opt{blue}";
|
||||
diff_delta_moved = "%opt{mauve}";
|
||||
error = "%opt{red}+b";
|
||||
function = "@function";
|
||||
function_builtin = "@builtin";
|
||||
function_macro = "+i@ts_function";
|
||||
hint = "%opt{kts_blue}+b";
|
||||
info = "%opt{kts_green}+b";
|
||||
hint = "%opt{blue}+b";
|
||||
info = "%opt{green}+b";
|
||||
keyword = "keyword";
|
||||
keyword_conditional = "+i@ts_keyword";
|
||||
keyword_control_conditional = "+i@ts_keyword";
|
||||
keyword_control_directive = "+i@ts_keyword";
|
||||
keyword_control_import = "+i@ts_keyword";
|
||||
keyword_directive = "+i@ts_keyword";
|
||||
label = "%opt{kts_sapphire}+i";
|
||||
markup_bold = "%opt{kts_peach}+b";
|
||||
markup_heading = "%opt{kts_red}";
|
||||
markup_heading_1 = "%opt{kts_red}";
|
||||
markup_heading_2 = "%opt{kts_mauve}";
|
||||
markup_heading_3 = "%opt{kts_green}";
|
||||
markup_heading_4 = "%opt{kts_yellow}";
|
||||
markup_heading_5 = "%opt{kts_pink}";
|
||||
markup_heading_6 = "%opt{kts_teal}";
|
||||
markup_heading_marker = "%opt{kts_peach}+b";
|
||||
markup_italic = "%opt{kts_pink}+i";
|
||||
markup_list_checked = "%opt{kts_green}";
|
||||
markup_list_numbered = "%opt{kts_blue}+i";
|
||||
markup_list_unchecked = "%opt{kts_teal}";
|
||||
markup_list_unnumbered = "%opt{kts_mauve}";
|
||||
markup_link_label = "%opt{kts_blue}";
|
||||
markup_link_url = "%opt{kts_teal}+u";
|
||||
markup_link_uri = "%opt{kts_teal}+u";
|
||||
markup_link_text = "%opt{kts_blue}";
|
||||
markup_quote = "%opt{kts_gray1}";
|
||||
markup_raw = "%opt{kts_sky}";
|
||||
markup_raw_block = "%opt{kts_sky}";
|
||||
markup_raw_inline = "%opt{kts_green}";
|
||||
markup_strikethrough = "%opt{kts_gray1}+s";
|
||||
label = "%opt{sapphire}+i";
|
||||
markup_bold = "%opt{peach}+b";
|
||||
markup_heading = "%opt{red}";
|
||||
markup_heading_1 = "%opt{red}";
|
||||
markup_heading_2 = "%opt{mauve}";
|
||||
markup_heading_3 = "%opt{green}";
|
||||
markup_heading_4 = "%opt{yellow}";
|
||||
markup_heading_5 = "%opt{pink}";
|
||||
markup_heading_6 = "%opt{teal}";
|
||||
markup_heading_marker = "%opt{peach}+b";
|
||||
markup_italic = "%opt{pink}+i";
|
||||
markup_list_checked = "%opt{green}";
|
||||
markup_list_numbered = "%opt{blue}+i";
|
||||
markup_list_unchecked = "%opt{teal}";
|
||||
markup_list_unnumbered = "%opt{mauve}";
|
||||
markup_link_label = "%opt{blue}";
|
||||
markup_link_url = "%opt{teal}+u";
|
||||
markup_link_uri = "%opt{teal}+u";
|
||||
markup_link_text = "%opt{blue}";
|
||||
markup_quote = "%opt{crust}";
|
||||
markup_raw = "%opt{sky}";
|
||||
markup_raw_block = "%opt{sky}";
|
||||
markup_raw_inline = "%opt{green}";
|
||||
markup_strikethrough = "%opt{crust}+s";
|
||||
namespace = "@module";
|
||||
operator = "@operator";
|
||||
property = "%opt{kts_sky}";
|
||||
punctuation = "%opt{kts_overlay2}";
|
||||
punctuation_special = "%opt{kts_sky}";
|
||||
special = "%opt{kts_blue}";
|
||||
spell = "%opt{kts_mauve}";
|
||||
string = "%opt{kts_green}";
|
||||
string_regex = "%opt{kts_peach}";
|
||||
string_regexp = "%opt{kts_peach}";
|
||||
string_escape = "%opt{kts_mauve}";
|
||||
string_special = "%opt{kts_blue}";
|
||||
string_special_path = "%opt{kts_green}";
|
||||
string_special_symbol = "%opt{kts_mauve}";
|
||||
string_symbol = "%opt{kts_red}";
|
||||
tag = "%opt{kts_teal}";
|
||||
tag_error = "%opt{kts_red}";
|
||||
text_title = "%opt{kts_mauve}";
|
||||
type = "%opt{kts_yellow}";
|
||||
type_enum_variant = "%opt{kts_flamingo}";
|
||||
property = "%opt{sky}";
|
||||
punctuation = "%opt{overlay2}";
|
||||
punctuation_special = "%opt{sky}";
|
||||
special = "%opt{blue}";
|
||||
spell = "%opt{mauve}";
|
||||
string = "%opt{green}";
|
||||
string_regex = "%opt{peach}";
|
||||
string_regexp = "%opt{peach}";
|
||||
string_escape = "%opt{mauve}";
|
||||
string_special = "%opt{blue}";
|
||||
string_special_path = "%opt{green}";
|
||||
string_special_symbol = "%opt{mauve}";
|
||||
string_symbol = "%opt{red}";
|
||||
tag = "%opt{teal}";
|
||||
tag_error = "%opt{red}";
|
||||
text_title = "%opt{mauve}";
|
||||
type = "@type";
|
||||
type_enum_variant = "+i@ts_type";
|
||||
variable = "@variable";
|
||||
variable_builtin = "@builtin";
|
||||
variable_other_member = "%opt{kts_teal}";
|
||||
variable_parameter = "%opt{kts_maroon}+i";
|
||||
warning = "%opt{kts_peach}+b";
|
||||
variable_other_member = "%opt{teal}";
|
||||
variable_parameter = "+i@variable";
|
||||
warning = "%opt{peach}+b";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -174,8 +187,6 @@ in
|
|||
|
||||
config =
|
||||
let
|
||||
aliasedOnce = name: values: if asserts.assertMsg (builtins.length values 1) "face ${name} was aliased more than once: ${toString values}" then (builtins.head values) else [ ];
|
||||
|
||||
allGroups = attrsets.recursiveUpdate cfg.highlighterGroups cfg.extraHighlighterGroups;
|
||||
|
||||
aliases = attrsets.recursiveUpdate cfg.aliases cfg.extraAliases;
|
||||
|
@ -189,10 +200,24 @@ in
|
|||
|
||||
toml = pkgs.formats.toml { };
|
||||
|
||||
srcName = src: lib.removePrefix "/nix/store/" src.outPath;
|
||||
mkGitRepo = src: pkgs.runCommandLocal "${src.name}-git" { } ''
|
||||
cp -r --no-preserve=all ${src} $out
|
||||
cd $out
|
||||
if ! test -d $out/.git; then
|
||||
${lib.getExe pkgs.git} init -b ${srcName src}
|
||||
${lib.getExe pkgs.git} config user.email "a@b.com"
|
||||
${lib.getExe pkgs.git} config user.name "a"
|
||||
${lib.getExe pkgs.git} add .
|
||||
${lib.getExe pkgs.git} commit -m "Just making a git commit"
|
||||
fi
|
||||
'';
|
||||
|
||||
toLanguageConf = name: lang: with lang; {
|
||||
grammar = {
|
||||
inherit (grammar) path;
|
||||
url = "${grammar.src}";
|
||||
source.git.url = "${mkGitRepo grammar.src}";
|
||||
source.git.pin = "${srcName grammar.src}";
|
||||
compile = grammar.compile.command;
|
||||
compile_args = grammar.compile.args;
|
||||
compile_flags = grammar.compile.flags;
|
||||
|
@ -201,7 +226,8 @@ in
|
|||
link_flags = grammar.link.flags;
|
||||
};
|
||||
queries = {
|
||||
url = "${queries.src}";
|
||||
source.git.url = "${mkGitRepo queries.src}";
|
||||
source.git.pin = "${srcName queries.src}";
|
||||
path = if queries.path == null then "runtime/queries/${name}" else queries.path;
|
||||
};
|
||||
};
|
||||
|
@ -220,18 +246,13 @@ in
|
|||
xdg.configFile."kak-tree-sitter/config.toml" = {
|
||||
source = toml.generate "config.toml" {
|
||||
highlight.groups = builtins.map toScm (builtins.attrNames allGroups ++ builtins.attrNames aliases);
|
||||
|
||||
features = cfg.features;
|
||||
language = builtins.mapAttrs toLanguageConf cfg.languages;
|
||||
};
|
||||
|
||||
onChange =
|
||||
let
|
||||
buildCmd = lang: "${cfg.package}/bin/ktsctl -fci ${lang}";
|
||||
buildAll = strings.concatMapStringsSep "\n" buildCmd (builtins.attrNames cfg.languages);
|
||||
in
|
||||
''
|
||||
# Rebuild languages
|
||||
${buildAll}
|
||||
onChange = ''
|
||||
export PATH=$PATH:${lib.getBin pkgs.gcc}
|
||||
${cfg.package}/bin/ktsctl sync -a
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
11
overlay.nix
11
overlay.nix
|
@ -86,17 +86,6 @@ let
|
|||
})
|
||||
];
|
||||
};
|
||||
|
||||
# rbw: https://github.com/doy/rbw/pull/189
|
||||
rbw = prev.rbw.overrideAttrs (attrs: {
|
||||
patches = (attrs.patches or [ ]) ++ [
|
||||
(final.fetchurl
|
||||
{
|
||||
url = "https://github.com/doy/rbw/pull/189.patch";
|
||||
hash = "sha256-617nYL9Jmu+inpAzDu/+iYXhajckzpsxW+jlhcRwseM=";
|
||||
})
|
||||
];
|
||||
});
|
||||
};
|
||||
|
||||
overlay-libs = final: prev: {
|
||||
|
|
|
@ -1,20 +1,41 @@
|
|||
{ lib, rustPlatform, fetchFromGitHub, symlinkJoin, clang, git, ... }:
|
||||
{ lib, rustPlatform, fetchFromSourcehut, symlinkJoin, clang, git, writeText, ... }:
|
||||
let
|
||||
src = fetchFromGitHub {
|
||||
owner = "phaazon";
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~hadronized";
|
||||
repo = "kak-tree-sitter";
|
||||
rev = "61cce127ca03e3c969df1ff46f41074a3c69be31";
|
||||
hash = "sha256-wcgc1L6Y6obLTIonWLJzNK72fWW8oJ0yMEfGotCg5b8=";
|
||||
rev = "kak-tree-sitter-v1.1.2";
|
||||
hash = "sha256-wBWfSyR8LGtug/mCD0bJ4lbdN3trIA/03AnCxZoEOSA=";
|
||||
};
|
||||
|
||||
kak-tree-sitter = rustPlatform.buildRustPackage rec {
|
||||
kak-tree-sitter = rustPlatform.buildRustPackage {
|
||||
inherit src;
|
||||
pname = "kak-tree-sitter";
|
||||
version = "0.5.5-${lib.substring 0 6 src.rev}";
|
||||
cargoHash = "sha256-Ozzcn4k+1Q+50zxCy9Flvv8vZKNcAesrHT/izVAgn54=";
|
||||
version = "1.1.2";
|
||||
cargoHash = "sha256-OQPUWqJAts8DbFNSsC/CmMCbuZ9TVxRTR05O7oiodKI=";
|
||||
cargoBuildOptions = [ "--package" "kak-tree-sitter" "--package" "ktsctl" ];
|
||||
|
||||
nativeBuildInputs = [ clang git ];
|
||||
|
||||
patches = [
|
||||
# Allow absolute-path style repos
|
||||
(writeText "resources.patch" ''
|
||||
diff --git a/ktsctl/src/resources.rs b/ktsctl/src/resources.rs
|
||||
index f1da3ff..ac89345 100644
|
||||
--- a/ktsctl/src/resources.rs
|
||||
+++ b/ktsctl/src/resources.rs
|
||||
@@ -48,7 +48,8 @@ impl Resources {
|
||||
url
|
||||
.trim_start_matches("http")
|
||||
.trim_start_matches('s')
|
||||
- .trim_start_matches("://"),
|
||||
+ .trim_start_matches(":/")
|
||||
+ .trim_start_matches("/"),
|
||||
);
|
||||
|
||||
self.runtime_dir.join("sources").join(url_dir)
|
||||
'')
|
||||
];
|
||||
};
|
||||
in
|
||||
kak-tree-sitter
|
||||
|
||||
|
|
Loading…
Reference in a new issue