My dotfiles (written in Nix, btw!) ❄
1{
2 self,
3 userSettings,
4 systemSettings,
5 ...
6}: {
7 home.shellAliases = {
8 "nvim" = "hx";
9 "vim" = "hx";
10 "vi" = "hx";
11 "v" = "hx";
12 "nano" = "hx";
13 };
14 programs.helix = {
15 enable = true;
16 settings = {
17 # theme = "nord";
18 editor = {
19 mouse = false;
20 line-number = "relative";
21 scroll-lines = 2;
22 bufferline = "always";
23 rulers = [80];
24 clipboard-provider = "wayland";
25 statusline = {
26 left = ["mode" "file-name" "file-modification-indicator"];
27 center = ["diagnostics" "read-only-indicator"];
28 right = ["register" "version-control" "position"];
29 };
30 lsp = {
31 display-inlay-hints = true;
32 };
33 cursor-shape.insert = "underline";
34 file-picker = {
35 hidden = true; # false -> show hidden files
36 };
37 inline-diagnostics = {
38 cursor-line = "hint";
39 other-lines = "info";
40 };
41 };
42 };
43 languages = {
44 language = [
45 {
46 name = "nix";
47 language-servers = ["nixd"];
48 formatter = {
49 command = "alejandra";
50 };
51 }
52 ];
53 language-server.nixd = {
54 config = let
55 flake = "(builtins.getFlake \"${self}\");";
56 in {
57 nixos.expr = "${flake}.nixosConfigurations.\"${systemSettings.hostname}\".options";
58 home_manager.expr = "${flake}.homeConfigurations.\"${userSettings.username}\".options";
59 };
60 };
61 };
62 };
63}