From d37741dd73c7ae3703587ac9318e9d0855553e95 Mon Sep 17 00:00:00 2001 From: Rosa Date: Sat, 10 Jan 2026 14:28:50 -0500 Subject: minor changes, prepping for a refactor --- .gitignore | 1 + flake.lock | 18 +++++++++--------- flake.nix | 10 ++++++---- user/kakoune/default.nix | 16 ++++++++++++++-- user/kakoune/kakrc | 2 ++ user/kakoune/qml.kak | 28 ++++++++++++++++++++++++++++ user/wm/librewolf.nix | 9 ++++++--- user/zsh.nix | 1 + 8 files changed, 67 insertions(+), 18 deletions(-) create mode 100644 .gitignore create mode 100644 user/kakoune/qml.kak diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7ad6275 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/.direnv diff --git a/flake.lock b/flake.lock index e48803b..f71eae3 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1765794845, - "narHash": "sha256-YD5QWlGnusNbZCqR3pxG8tRxx9yUXayLZfAJRWspq2s=", + "lastModified": 1766150702, + "narHash": "sha256-P0kM+5o+DKnB6raXgFEk3azw8Wqg5FL6wyl9jD+G5a4=", "owner": "nix-community", "repo": "disko", - "rev": "7194cfe5b7a3660726b0fe7296070eaef601cae9", + "rev": "916506443ecd0d0b4a0f4cf9d40a3c22ce39b378", "type": "github" }, "original": { @@ -27,11 +27,11 @@ ] }, "locked": { - "lastModified": 1765860045, - "narHash": "sha256-7Lxp/PfOy4h3QIDtmWG/EgycaswqRSkDX4DGtet14NE=", + "lastModified": 1767971841, + "narHash": "sha256-TwDXF4MkmjI9c3Sly9FOWXf4sPbre6ZujG87v39G1Ig=", "owner": "nix-community", "repo": "home-manager", - "rev": "09de9577d47d8bffb11c449b6a3d24e32ac16c99", + "rev": "0e4217b2c4827e71e2e612accccb01981c16afda", "type": "github" }, "original": { @@ -42,11 +42,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1765779637, - "narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=", + "lastModified": 1767892417, + "narHash": "sha256-dhhvQY67aboBk8b0/u0XB6vwHdgbROZT3fJAjyNh5Ww=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1306659b587dc277866c7b69eb97e5f07864d8c4", + "rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index c718b16..b59d8d4 100644 --- a/flake.nix +++ b/flake.nix @@ -3,13 +3,13 @@ inputs = { disko = { - url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/disko"; }; home-manager = { - url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/home-manager"; }; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; @@ -22,9 +22,11 @@ home-manager, nixpkgs, }: + let + pkgs = nixpkgs.legacyPackages.x86_64-linux; + in { - formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style; - + formatter.x86_64-linux = pkgs.nixfmt-rfc-style; nixosConfigurations = { limbo = nixpkgs.lib.nixosSystem { modules = [ diff --git a/user/kakoune/default.nix b/user/kakoune/default.nix index 8ccad3e..2a76f7a 100644 --- a/user/kakoune/default.nix +++ b/user/kakoune/default.nix @@ -15,18 +15,28 @@ { commands = "lsp-enable-window"; name = "WinSetOption"; - option = "filetype=(javascript|kotlin|typescript|zig)"; + option = "filetype=(javascript|kotlin|qml|typescript|zig)"; } { commands = '' set-option buffer lsp_servers %{ [kotlin-language-server] - root_globs = ["build.gradle.kts"] + root_globs = ["build.gradle.kts"] } ''; name = "BufSetOption"; option = "filetype=kotlin"; } + { + commands = '' + set-option buffer lsp_servers %{ + [qmlls] + root_globs = ["shell.qml"] + } + ''; + name = "BufSetOption"; + option = "filetype=qml"; + } ]; keyMappings = [ @@ -57,4 +67,6 @@ kakoune-lsp ]; }; + + xdg.configFile."kak/qml.kak".source = ./qml.kak; } diff --git a/user/kakoune/kakrc b/user/kakoune/kakrc index b327805..fa3152a 100644 --- a/user/kakoune/kakrc +++ b/user/kakoune/kakrc @@ -1,2 +1,4 @@ enable-auto-pairs eval %sh{kak-lsp --kakoune -s $kak_session} +# hacky workaround for kakoune seemingly only loading from one autoload dir +source /home/rosa/.config/kak/qml.kak diff --git a/user/kakoune/qml.kak b/user/kakoune/qml.kak new file mode 100644 index 0000000..697467f --- /dev/null +++ b/user/kakoune/qml.kak @@ -0,0 +1,28 @@ +hook global BufCreate .+\.qml %{ + set-option buffer filetype qml +} + +hook global WinSetOption filetype=qml %{ + require-module qml + add-highlighter window/qml ref qml + hook -once global WinSetOption filetype=.+\.(?!qml) %{ + remove-highlighter window/qml + } +} + +provide-module qml %{ + add-highlighter shared/qml regions + add-highlighter shared/qml/comment-line region '//' '\n' fill comment + add-highlighter shared/qml/comment-block region '/\*' '\*/' fill comment + add-highlighter shared/qml/string region '"' '"' fill string + add-highlighter shared/qml/other default-region group + add-highlighter shared/qml/other/keywords regex \ + \b(import|as|property|final|readonly|required|default)\b 0:keyword + add-highlighter shared/qml/other/numbers regex -?[0-9]+(\.[0-9]+)? 0:value + add-highlighter shared/qml/other/booleans regex true|false 0:value + # this one was kind of annoying :( + add-highlighter shared/qml/other/type regex '([a-zA-Z]+ *)(\{.*\})' 1:type + add-highlighter shared/qml/other/builtin-types regex \ + \b(bool|date|double|int|list|real|string|url|var(iant)?|void)\b 0:type + add-highlighter shared/qml/other/function regex ([a-zA-Z]+[a-zA-Z0-9]*)\(.*\) 1:function +} diff --git a/user/wm/librewolf.nix b/user/wm/librewolf.nix index ab353dd..d596716 100644 --- a/user/wm/librewolf.nix +++ b/user/wm/librewolf.nix @@ -15,9 +15,12 @@ noRFP = { id = 1; name = "RFP Disabled"; - settings = lib.mkMerge [config.programs.librewolf.profiles.default.settings { - "privacy.resistFingerprinting" = false; - }]; + settings = lib.mkMerge [ + config.programs.librewolf.profiles.default.settings + { + "privacy.resistFingerprinting" = false; + } + ]; }; }; }; diff --git a/user/zsh.nix b/user/zsh.nix index 730f0e7..d264bd9 100644 --- a/user/zsh.nix +++ b/user/zsh.nix @@ -1,5 +1,6 @@ { config, ... }: { + programs.direnv.enable = true; programs.zsh = { enable = true; autocd = true; -- cgit v1.3.1