Nix configurations for my homelab
1{ pkgs, ... }:
2{
3 nixpkgs.overlays = [
4 (final: prev: {
5 kakoune-unwrapped = prev.kakoune-unwrapped.overrideAttrs (
6 finalAttrs: prevAttrs: {
7 patches = [
8 (prev.writeText "escript.patch" ''
9 diff --git a/rc/filetype/erlang.kak b/rc/filetype/erlang.kak
10 index 35b60cf2..3e42263d 100644
11 --- a/rc/filetype/erlang.kak
12 +++ b/rc/filetype/erlang.kak
13 @@ -6,7 +6,7 @@
14
15 # Detection
16 # ‾‾‾‾‾‾‾‾‾
17 -hook global BufCreate .*[.](erl|hrl) %{
18 +hook global BufCreate .*[.](erl|escript|hrl) %{
19 set-option buffer filetype erlang
20 }
21
22 @@ -31,6 +31,7 @@ provide-module erlang %[
23 add-highlighter shared/erlang regions
24 add-highlighter shared/erlang/default default-region group
25
26 +add-highlighter shared/erlang/shebang region ^#! $ fill meta
27 add-highlighter shared/erlang/comment region '(?<!\$)%' '$' fill comment
28 add-highlighter shared/erlang/attribute_atom_single_quoted region %{-'} %{(?<!\\)(?:\\\\)*'(?=[\( \.])} fill builtin
29 add-highlighter shared/erlang/attribute region '\b-[a-z][\w@]*(?=[\( \.])' '\K' fill builtin
30 '')
31 ];
32 }
33 );
34 })
35 ];
36
37 environment = {
38 sessionVariables = {
39 EDITOR = "kak";
40 VISUAL = "kak";
41 };
42 systemPackages = with pkgs; [
43 file
44 kakoune-unwrapped
45 ];
46 };
47
48 users.users.mou.packages = with pkgs; [
49 kakoune-lsp
50 shellcheck
51 ];
52}