aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--flake.lock18
-rw-r--r--flake.nix10
-rw-r--r--user/kakoune/default.nix16
-rw-r--r--user/kakoune/kakrc2
-rw-r--r--user/kakoune/qml.kak28
-rw-r--r--user/wm/librewolf.nix9
-rw-r--r--user/zsh.nix1
8 files changed, 67 insertions, 18 deletions
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;