From 0ad695abcf8d49cfbe4e869417edd41cbfb6c648 Mon Sep 17 00:00:00 2001 From: zoey Date: Sun, 15 Jun 2025 18:15:28 -0400 Subject: [PATCH] changes :3 --- flake.lock | 635 +++++++++--------- flake.nix | 10 +- homes/x86_64-linux/zoey@earth/default.nix | 19 +- lib/theme/default.nix | 4 +- modules/home/apps/helpers/waybar/style.css | 2 +- modules/home/apps/term/alacritty/default.nix | 15 +- modules/home/apps/term/ghostty/default.nix | 6 +- modules/home/apps/term/kitty/default.nix | 14 +- .../neovim/config/lua/config/options.lua | 4 +- .../tools/neovim/config/lua/plugins/core.lua | 100 +-- .../neovim/config/lua/plugins/example.lua | 193 ------ .../neovim/config/lua/plugins/line_num.lua | 43 -- .../neovim/config/lua/plugins/lualine.lua | 6 +- .../tools/neovim/config/snippets/package.json | 11 + modules/home/scripts/default.nix | 47 ++ modules/home/scripts/opsearch.sh | 323 +++++++++ modules/home/services/quickshell/default.nix | 55 ++ modules/home/shell/fish/functions/ops.fish | 75 +++ modules/home/shells/fish/default.nix | 7 +- modules/home/shells/nu/default.nix | 1 - modules/home/shells/zsh/default.nix | 3 - modules/home/wms/hyprland/default.nix | 7 +- modules/home/wms/niri/default.nix | 1 + modules/nixos/protocols/wayland/default.nix | 10 +- modules/nixos/sites/minio/default.nix | 2 +- modules/nixos/ui/fonts/default.nix | 74 +- systems/x86_64-linux/earth/default.nix | 11 + 27 files changed, 1022 insertions(+), 656 deletions(-) delete mode 100644 modules/home/apps/tools/neovim/config/lua/plugins/example.lua delete mode 100644 modules/home/apps/tools/neovim/config/lua/plugins/line_num.lua create mode 100644 modules/home/apps/tools/neovim/config/snippets/package.json create mode 100644 modules/home/scripts/default.nix create mode 100755 modules/home/scripts/opsearch.sh create mode 100644 modules/home/services/quickshell/default.nix create mode 100644 modules/home/shell/fish/functions/ops.fish diff --git a/flake.lock b/flake.lock index e1cdc5e..6de2f18 100644 --- a/flake.lock +++ b/flake.lock @@ -65,11 +65,11 @@ ] }, "locked": { - "lastModified": 1747864449, - "narHash": "sha256-PIjVAWghZhr3L0EFM2UObhX84UQxIACbON0IC0zzSKA=", + "lastModified": 1749155310, + "narHash": "sha256-t0HfHg/1+TbSra5s6nNM0o4tnb3uqWedShSpZXsUMYY=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "389372c5f4dc1ac0e7645ed29a35fd6d71672ef5", + "rev": "94981cf75a9f11da0b6dd6a1abbd7c50a36ab2d3", "type": "github" }, "original": { @@ -139,11 +139,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1747989804, - "narHash": "sha256-FACXQA+OH5jHx/MZIJoGNxg5H5XolsxOMmBLMWUCIQs=", + "lastModified": 1750013871, + "narHash": "sha256-UQx3rC3QDjD/sIen51+5Juk1rqN3y/sTeMY1WinmhqQ=", "owner": "catppuccin", "repo": "nix", - "rev": "21e495cba91b63e8897d1a00155d58787d0e6e18", + "rev": "fe78fa558d6603481c03eb03a946eadb970d1801", "type": "github" }, "original": { @@ -161,17 +161,17 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1747983519, - "narHash": "sha256-34lBcWPnN9z6M98VjaVCyxRew5XIhgxwWY0iuUatokQ=", + "lastModified": 1748296215, + "narHash": "sha256-xRctAsHhXMvjLHrTEYT9oOn4EHZuYxXA/13JZBOuweQ=", "owner": "chaotic-cx", "repo": "nyx", - "rev": "984cbc0e62124837f2171bcd0636d851f9f168f0", + "rev": "7b20daf110d06962ee99114220f2fb98cdc8673d", "type": "github" }, "original": { "owner": "chaotic-cx", - "ref": "nyxpkgs-unstable", "repo": "nyx", + "rev": "7b20daf110d06962ee99114220f2fb98cdc8673d", "type": "github" } }, @@ -238,11 +238,11 @@ "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1748352827, - "narHash": "sha256-sNUUP6qxGkK9hXgJ+p362dtWLgnIWwOCmiq72LAWtYo=", + "lastModified": 1749873626, + "narHash": "sha256-1Mc/D/1RwwmDKY59f4IpDBgcQttxffm+4o0m67lQ8hc=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "44a7d0e687a87b73facfe94fba78d323a6686a90", + "rev": "2f140d6ac8840c6089163fb43ba95220c230f22b", "type": "github" }, "original": { @@ -258,11 +258,11 @@ ] }, "locked": { - "lastModified": 1747742835, - "narHash": "sha256-kYL4GCwwznsypvsnA20oyvW8zB/Dvn6K5G/tgMjVMT4=", + "lastModified": 1749436314, + "narHash": "sha256-CqmqU5FRg5AadtIkxwu8ulDSOSoIisUMZRLlcED3Q5w=", "owner": "nix-community", "repo": "disko", - "rev": "df522e787fdffc4f32ed3e1fca9ed0968a384d62", + "rev": "dfa4d1b9c39c0342ef133795127a3af14598017a", "type": "github" }, "original": { @@ -277,11 +277,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1747993936, - "narHash": "sha256-q0WVevi2qcN8/xkRK5IjujhJoHhAOi7KFO1/MqZ/3C4=", + "lastModified": 1750007756, + "narHash": "sha256-ubcXh/a2YWJlsnW2XomABgRzBuIRigz3YwHzB5WBTfM=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "88b4b5a913f6f2c257851d275640831fb8dd5825", + "rev": "c545e874be1fa5453ad4f365e90e9b3dcf6f81ee", "type": "github" }, "original": { @@ -315,11 +315,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -519,11 +519,11 @@ ] }, "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "lastModified": 1749398372, + "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", "type": "github" }, "original": { @@ -558,11 +558,11 @@ "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { - "lastModified": 1743550720, - "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "lastModified": 1748821116, + "narHash": "sha256-F82+gS044J1APL0n4hH50GYdPRv/5JWm34oCJYmVKdE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "rev": "49f0870db23e8c1ca0b5259734a02cd9e1e371a1", "type": "github" }, "original": { @@ -822,17 +822,16 @@ "inputs": { "flake-compat": "flake-compat", "flake-utils": "flake-utils_3", - "nixpkgs-stable": "nixpkgs-stable_2", - "nixpkgs-unstable": "nixpkgs-unstable", + "nixpkgs": "nixpkgs_8", "zig": "zig", "zon2nix": "zon2nix" }, "locked": { - "lastModified": 1748009746, - "narHash": "sha256-ycF9T9pZKiA2pqNt4BztsQK6qf+L4EYE2f7fgE3fG9w=", + "lastModified": 1749999431, + "narHash": "sha256-NYeQIpFu4gHrEo+gcvTgBvLyIQnUDgeiMNTtJDHUl+c=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "26a42fac0ec8f612a3ddce60bab9842c79a2756a", + "rev": "b46673e63151f495c973d3043bf20612f80deda0", "type": "github" }, "original": { @@ -854,11 +853,11 @@ ] }, "locked": { - "lastModified": 1742649964, - "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "lastModified": 1749636823, + "narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "rev": "623c56286de5a3193aa38891a6991b28f9bab056", "type": "github" }, "original": { @@ -877,11 +876,11 @@ ] }, "locked": { - "lastModified": 1747372754, - "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", + "lastModified": 1749636823, + "narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", + "rev": "623c56286de5a3193aa38891a6991b28f9bab056", "type": "github" }, "original": { @@ -987,11 +986,11 @@ ] }, "locked": { - "lastModified": 1747284884, - "narHash": "sha256-lTSKhRrassMcJ1ZsuUVunyl/F04vvCKY80HB/4rvvm4=", + "lastModified": 1748000383, + "narHash": "sha256-EaAJhwfJGBncgIV/0NlJviid2DP93cTMc9h0q6P6xXk=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "7168f6002a6b48a9b6151e1e97e974a0722ecfdc", + "rev": "231726642197817d20310b9d39dd4afb9e899489", "type": "github" }, "original": { @@ -1029,11 +1028,11 @@ ] }, "locked": { - "lastModified": 1747875884, - "narHash": "sha256-tdVx4kghhdy62LKuTnwE2RytOe8o88tah/yhpyuL0D4=", + "lastModified": 1748182899, + "narHash": "sha256-r6MHSalDFydlUmjorVTSsyhLjIt8VWNtGc5+mffXvFQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "f9186c64fcc6ee5f0114547acf9e814c806a640b", + "rev": "901f8fef7f349cf8a8e97b3230b22fd592df9160", "type": "github" }, "original": { @@ -1049,11 +1048,11 @@ ] }, "locked": { - "lastModified": 1747978958, - "narHash": "sha256-pQQnbxWpY3IiZqgelXHIe/OAE/Yv4NSQq7fch7M6nXQ=", + "lastModified": 1749999552, + "narHash": "sha256-iCUuEq9qXUh8L1c2bRyCayAqfuUEs9nGAUlXv2RcoF8=", "owner": "nix-community", "repo": "home-manager", - "rev": "7419250703fd5eb50e99bdfb07a86671939103ea", + "rev": "04672588c61aebd18c0d0ada66dd7bb4d8edab0d", "type": "github" }, "original": { @@ -1099,11 +1098,11 @@ ] }, "locked": { - "lastModified": 1745948457, - "narHash": "sha256-lzTV10FJTCGNtMdgW5YAhCAqezeAzKOd/97HbQK8GTU=", + "lastModified": 1749155331, + "narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "ac903e80b33ba6a88df83d02232483d99f327573", + "rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80", "type": "github" }, "original": { @@ -1128,11 +1127,11 @@ ] }, "locked": { - "lastModified": 1745015490, - "narHash": "sha256-apEJ9zoSzmslhJ2vOKFcXTMZLUFYzh1ghfB6Rbw3Low=", + "lastModified": 1749238452, + "narHash": "sha256-8qiKEWcxUrjpUpK+WyFNg/72C8rp70LUuyTD23T+SdQ=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "60754910946b4e2dc1377b967b7156cb989c5873", + "rev": "c7225d73755a6c4c7c72f4d4f3925ea426e325a8", "type": "github" }, "original": { @@ -1153,11 +1152,11 @@ "systems": "systems_7" }, "locked": { - "lastModified": 1747688623, - "narHash": "sha256-QfFRh7FBbMtN/MPZKSTuVCtauRGPHg9Pgx9tV5rb5bg=", + "lastModified": 1749162425, + "narHash": "sha256-8LFke/vOxFOW1t9fJoLmO1r4kA8oXXRe8QKKq/lsPlc=", "owner": "hyprwm", "repo": "hypridle", - "rev": "4f1c165d3e340331de020b46b33a3edb2fd9d55e", + "rev": "b2bc15baffb5182051e94787f1342464fc9d241e", "type": "github" }, "original": { @@ -1176,19 +1175,17 @@ "hyprlang": "hyprlang_2", "hyprutils": "hyprutils_2", "hyprwayland-scanner": "hyprwayland-scanner_2", - "nixpkgs": [ - "nixpkgs" - ], + "nixpkgs": "nixpkgs_9", "pre-commit-hooks": "pre-commit-hooks", "systems": "systems_8", "xdph": "xdph" }, "locked": { - "lastModified": 1747926140, - "narHash": "sha256-j5LAlXg5o8p52+OfzjgOakyyzvG7Zf2IZbanTaHUbmA=", + "lastModified": 1750022037, + "narHash": "sha256-VGH144n/mkDn97qECPyaiVNo2Ga8ARBSyJKR0jbZoIw=", "ref": "refs/heads/main", - "rev": "bd4733a0ff2b89fd3f22dc6ec9ff00e070753662", - "revCount": 6131, + "rev": "bd5703d5c6f09e07321de58b19da438ac715b668", + "revCount": 6194, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -1211,11 +1208,11 @@ ] }, "locked": { - "lastModified": 1737556638, - "narHash": "sha256-laKgI3mr2qz6tas/q3tuGPxMdsGhBi/w+HO+hO2f1AY=", + "lastModified": 1749046714, + "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "4c75dd5c015c8a0e5a34c6d02a018a650f57feb5", + "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", "type": "github" }, "original": { @@ -1236,11 +1233,11 @@ ] }, "locked": { - "lastModified": 1743714874, - "narHash": "sha256-yt8F7NhMFCFHUHy/lNjH/pjZyIDFNk52Q4tivQ31WFo=", + "lastModified": 1749046714, + "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "3a5c2bda1c1a4e55cc1330c782547695a93f05b2", + "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", "type": "github" }, "original": { @@ -1268,11 +1265,11 @@ ] }, "locked": { - "lastModified": 1737634706, - "narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=", + "lastModified": 1749154592, + "narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=", "owner": "hyprwm", "repo": "hyprland-qt-support", - "rev": "8810df502cdee755993cb803eba7b23f189db795", + "rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074", "type": "github" }, "original": { @@ -1304,11 +1301,11 @@ ] }, "locked": { - "lastModified": 1745951494, - "narHash": "sha256-2dModE32doiyQMmd6EDAQeZnz+5LOs6KXyE0qX76WIg=", + "lastModified": 1749155776, + "narHash": "sha256-t1PM0wxQLQwv2F2AW23uA7pm5giwmcgYEWbNIRct9r4=", "owner": "hyprwm", "repo": "hyprland-qtutils", - "rev": "4be1d324faf8d6e82c2be9f8510d299984dfdd2e", + "rev": "396e8aa1c06274835b69da7f9a015fff9a9b7522", "type": "github" }, "original": { @@ -1333,11 +1330,11 @@ ] }, "locked": { - "lastModified": 1737634606, - "narHash": "sha256-W7W87Cv6wqZ9PHegI6rH1+ve3zJPiyevMFf0/HwdbCQ=", + "lastModified": 1749145882, + "narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "f41271d35cc0f370d300413d756c2677f386af9d", + "rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676", "type": "github" }, "original": { @@ -1362,11 +1359,11 @@ ] }, "locked": { - "lastModified": 1747484975, - "narHash": "sha256-+LAQ81HBwG0lwshHlWe0kfWg4KcChIPpnwtnwqmnoEU=", + "lastModified": 1749145882, + "narHash": "sha256-qr0KXeczF8Sma3Ae7+dR2NHhvG7YeLBJv19W4oMu6ZE=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "163c83b3db48a17c113729c220a60b94596c9291", + "rev": "1bfb84f54d50c7ae6558c794d3cfd5f6a7e6e676", "type": "github" }, "original": { @@ -1387,11 +1384,11 @@ ] }, "locked": { - "lastModified": 1737632363, - "narHash": "sha256-X9I8POSlHxBVjD0fiX1O2j7U9Zi1+4rIkrsyHP0uHXY=", + "lastModified": 1749135356, + "narHash": "sha256-Q8mAKMDsFbCEuq7zoSlcTuxgbIBVhfIYpX0RjE32PS0=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "006620eb29d54ea9086538891404c78563d1bae1", + "rev": "e36db00dfb3a3d3fdcc4069cb292ff60d2699ccb", "type": "github" }, "original": { @@ -1412,11 +1409,11 @@ ] }, "locked": { - "lastModified": 1746635225, - "narHash": "sha256-W9G9bb0zRYDBRseHbVez0J8qVpD5QbizX67H/vsudhM=", + "lastModified": 1749819919, + "narHash": "sha256-7F/KG8dwSH9JXdlpOVrEEArS+PJSn0iEnx5eVCk89/I=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "674ea57373f08b7609ce93baff131117a0dfe70d", + "rev": "57ab2a867d8b554ad89f29060c15efd11631db91", "type": "github" }, "original": { @@ -1437,11 +1434,11 @@ ] }, "locked": { - "lastModified": 1735493474, - "narHash": "sha256-fktzv4NaqKm94VAkAoVqO/nqQlw+X0/tJJNAeCSfzK4=", + "lastModified": 1749145760, + "narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "de913476b59ee88685fdc018e77b8f6637a2ae0b", + "rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6", "type": "github" }, "original": { @@ -1462,11 +1459,11 @@ ] }, "locked": { - "lastModified": 1747584298, - "narHash": "sha256-PH9qZqWLHvSBQiUnA0NzAyQA3tu2no2z8kz0ZeHWj4w=", + "lastModified": 1749145760, + "narHash": "sha256-IHaGWpGrv7seFWdw/1A+wHtTsPlOGIKMrk1TUIYJEFI=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "e511882b9c2e1d7a75d45d8fddd2160daeafcbc3", + "rev": "817918315ea016cc2d94004bfb3223b5fd9dfcc6", "type": "github" }, "original": { @@ -1484,11 +1481,11 @@ ] }, "locked": { - "lastModified": 1747893327, - "narHash": "sha256-9MVhGXDVDG3+eqzNsxK4n2uriPGVvjOvlxUKEEnGiAs=", + "lastModified": 1747990026, + "narHash": "sha256-sG5VbID+x5+xUC+jjgHibnzg8IllVcH+K2TLmYHLPME=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "953023adda652e7ff9c64dacaa9f44da7c120191", + "rev": "e2f4ced874406541a7957f7e2b8f05a0d59a0f00", "type": "github" }, "original": { @@ -1552,7 +1549,7 @@ "lexical": { "inputs": { "flake-parts": "flake-parts_7", - "nixpkgs": "nixpkgs_22", + "nixpkgs": "nixpkgs_24", "systems": "systems_21" }, "locked": { @@ -1609,15 +1606,15 @@ "blobs": "blobs", "flake-compat": "flake-compat_4", "git-hooks": "git-hooks", - "nixpkgs": "nixpkgs_10", + "nixpkgs": "nixpkgs_12", "nixpkgs-25_05": "nixpkgs-25_05" }, "locked": { - "lastModified": 1747965231, - "narHash": "sha256-BW3ktviEhfCN/z3+kEyzpDKAI8qFTwO7+S0NVA0C90o=", + "lastModified": 1749959313, + "narHash": "sha256-4ACYwiWQgx/MUVqon4/7hRwGgs4budZeupwLQ5eJ+KY=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "53007af63fade28853408370c4c600a63dd97f41", + "rev": "67b0a7e946861d8e3b3f3930b73625f7e2fec0e2", "type": "gitlab" }, "original": { @@ -1633,15 +1630,15 @@ "git-hooks": "git-hooks_2", "hercules-ci-effects": "hercules-ci-effects", "neovim-src": "neovim-src", - "nixpkgs": "nixpkgs_11", + "nixpkgs": "nixpkgs_13", "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1747987636, - "narHash": "sha256-fJtS5KNmnucEjMr62t/fqU0w7/O4ANmmfcl054nFU7M=", + "lastModified": 1749968275, + "narHash": "sha256-PXVWCsdJwHnveLuhFoH4sIMEVtKEt8rviGqrMGZ3GWs=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "6536895e719b971f664a6f055bdd950f93efb414", + "rev": "e2f2d0bf44d32dba49004ae974a9e93812d3b11b", "type": "github" }, "original": { @@ -1653,11 +1650,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1747957932, - "narHash": "sha256-SC6hFCcDtsD/n0L65RqJvKPvgzzOV4sYGy/h+TsJgnw=", + "lastModified": 1749937343, + "narHash": "sha256-UWQpnJ46TMdnB4TUFuYZ3qhZaIttXYuGuWnn+MdpRQU=", "owner": "neovim", "repo": "neovim", - "rev": "079e7d2b112af0e0b4bc1b2de8f706c02e220049", + "rev": "0d658660c29e920e74c4dade3819d80dccad0dde", "type": "github" }, "original": { @@ -1670,17 +1667,17 @@ "inputs": { "niri-stable": "niri-stable", "niri-unstable": "niri-unstable", - "nixpkgs": "nixpkgs_12", - "nixpkgs-stable": "nixpkgs-stable_4", + "nixpkgs": "nixpkgs_14", + "nixpkgs-stable": "nixpkgs-stable_3", "xwayland-satellite-stable": "xwayland-satellite-stable", "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1747980132, - "narHash": "sha256-jdQZZDMYl9JBtWupRRneP1NLDylf2KPUu8z72tJVBJI=", + "lastModified": 1749991461, + "narHash": "sha256-6wXRZuUe5JmIVLiyP0NQ+2Rv4TOITtUxnhKhAvT6ep8=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "d5ccd8c5e6198bdac760ea65dd6c46e83a55b6f6", + "rev": "3f3f1573fcd823a45c7fbb21110fdadb9563fa27", "type": "github" }, "original": { @@ -1698,11 +1695,11 @@ "rust-overlay": "rust-overlay_3" }, "locked": { - "lastModified": 1747977864, - "narHash": "sha256-BEXi6zHNguEsBD3TIUk/2EMOh5c4Z664UaDeUYpWDhw=", + "lastModified": 1749797708, + "narHash": "sha256-P5x0U6AW5Zn20bARv4D83d8XlNaWK1st9QwBfSe+Vfg=", "owner": "YaLTeR", "repo": "niri", - "rev": "7fdb918cd04076b173a38f026dc5c27ac830b028", + "rev": "f3f6e79eeca8924ff9cfea4b30006e5b782bc93e", "type": "github" }, "original": { @@ -1731,11 +1728,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1747977864, - "narHash": "sha256-BEXi6zHNguEsBD3TIUk/2EMOh5c4Z664UaDeUYpWDhw=", + "lastModified": 1749797708, + "narHash": "sha256-P5x0U6AW5Zn20bARv4D83d8XlNaWK1st9QwBfSe+Vfg=", "owner": "YaLTeR", "repo": "niri", - "rev": "7fdb918cd04076b173a38f026dc5c27ac830b028", + "rev": "f3f6e79eeca8924ff9cfea4b30006e5b782bc93e", "type": "github" }, "original": { @@ -1751,11 +1748,11 @@ ] }, "locked": { - "lastModified": 1748352827, - "narHash": "sha256-sNUUP6qxGkK9hXgJ+p362dtWLgnIWwOCmiq72LAWtYo=", - "owner": "nix-darwin", + "lastModified": 1749873626, + "narHash": "sha256-1Mc/D/1RwwmDKY59f4IpDBgcQttxffm+4o0m67lQ8hc=", + "owner": "LnL7", "repo": "nix-darwin", - "rev": "44a7d0e687a87b73facfe94fba78d323a6686a90", + "rev": "2f140d6ac8840c6089163fb43ba95220c230f22b", "type": "github" }, "original": { @@ -1839,11 +1836,11 @@ }, "nixos-stable": { "locked": { - "lastModified": 1747862697, - "narHash": "sha256-U4HaNZ1W26cbOVm0Eb5OdGSnfQVWQKbLSPrSSa78KC0=", + "lastModified": 1749834526, + "narHash": "sha256-izgPGLeUeFB9loC+n2X6TO2n8pOGvVcR3jKqxTGOwgc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2baa12ff69913392faf0ace833bc54bba297ea95", + "rev": "db8414903dd6b3042e1ac471eafc18ca4ccb54a4", "type": "github" }, "original": { @@ -1855,27 +1852,25 @@ }, "nixpkgs": { "locked": { - "lastModified": 1748370509, - "narHash": "sha256-QlL8slIgc16W5UaI3w7xHQEP+Qmv/6vSNTpoZrrSlbk=", + "lastModified": 1749794982, + "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4faa5f5321320e49a78ae7848582f684d64783e9", + "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, "nixpkgs-25_05": { "locked": { - "lastModified": 1747610100, - "narHash": "sha256-rpR5ZPMkWzcnCcYYo3lScqfuzEw5Uyfh+R0EKZfroAc=", + "lastModified": 1749727998, + "narHash": "sha256-mHv/yeUbmL91/TvV95p+mBVahm9mdQMJoqaTVTALaFw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ca49c4304acf0973078db0a9d200fd2bae75676d", + "rev": "fd487183437963a59ba763c0cc4f27e3447dd6dd", "type": "github" }, "original": { @@ -1899,11 +1894,11 @@ }, "nixpkgs-lib_2": { "locked": { - "lastModified": 1743296961, - "narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=", + "lastModified": 1748740939, + "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa", + "rev": "656a64127e9d791a334452c6b6606d17539476e2", "type": "github" }, "original": { @@ -1938,11 +1933,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1747862697, - "narHash": "sha256-U4HaNZ1W26cbOVm0Eb5OdGSnfQVWQKbLSPrSSa78KC0=", + "lastModified": 1749834526, + "narHash": "sha256-izgPGLeUeFB9loC+n2X6TO2n8pOGvVcR3jKqxTGOwgc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2baa12ff69913392faf0ace833bc54bba297ea95", + "rev": "db8414903dd6b3042e1ac471eafc18ca4ccb54a4", "type": "github" }, "original": { @@ -1953,22 +1948,6 @@ } }, "nixpkgs-stable_2": { - "locked": { - "lastModified": 1741992157, - "narHash": "sha256-nlIfTsTrMSksEJc1f7YexXiPVuzD1gOfeN1ggwZyUoc=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "da4b122f63095ca1199bd4d526f9e26426697689", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "release-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_3": { "locked": { "lastModified": 1710695816, "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", @@ -1984,65 +1963,49 @@ "type": "github" } }, - "nixpkgs-stable_4": { + "nixpkgs-stable_3": { "locked": { - "lastModified": 1747862697, - "narHash": "sha256-U4HaNZ1W26cbOVm0Eb5OdGSnfQVWQKbLSPrSSa78KC0=", + "lastModified": 1749857119, + "narHash": "sha256-tG5xUn3hFaPpAHYIvr2F88b+ovcIO5k1HqajFy7ZFPM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2baa12ff69913392faf0ace833bc54bba297ea95", + "rev": "5f4f306bea96741f1588ea4f450b2a2e29f42b98", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-unstable": { - "locked": { - "lastModified": 1741865919, - "narHash": "sha256-4thdbnP6dlbdq+qZWTsm4ffAwoS8Tiq1YResB+RP6WE=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "573c650e8a14b2faa0041645ab18aed7e60f0c9a", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_10": { "locked": { - "lastModified": 1747179050, - "narHash": "sha256-qhFMmDkeJX9KJwr5H32f1r7Prs7XbQWtO0h3V0a0rFY=", + "lastModified": 1728538411, + "narHash": "sha256-f0SBJz1eZ2yOuKUr5CA9BHULGXVSn6miBuUWdTyhUhU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "adaa24fbf46737f3f1b5497bf64bae750f82942e", + "rev": "b69de56fac8c2b6f8fd27f2eca01dcda8e0a4221", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_11": { "locked": { - "lastModified": 1747920628, - "narHash": "sha256-IlAuXnIi+ZmyS89tt1YOFDCv7FKs9bNBHd3MXMp8PxE=", - "owner": "NixOS", + "lastModified": 1731890469, + "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "e314d5c6d3b3a0f40ec5bcbc007b0cbe412f48ae", + "rev": "5083ec887760adfe12af64830a66807423a859a7", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" @@ -2050,11 +2013,11 @@ }, "nixpkgs_12": { "locked": { - "lastModified": 1747744144, - "narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=", + "lastModified": 1749285348, + "narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f", + "rev": "3e3afe5174c561dee0df6f2c2b2236990146329f", "type": "github" }, "original": { @@ -2066,11 +2029,43 @@ }, "nixpkgs_13": { "locked": { - "lastModified": 1747744144, - "narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=", + "lastModified": 1749871736, + "narHash": "sha256-K9yBph93OLTNw02Q6e9CYFGrUhvEXnh45vrZqIRWfvQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "6afe187897bef7933475e6af374c893f4c84a293", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_14": { + "locked": { + "lastModified": 1749794982, + "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_15": { + "locked": { + "lastModified": 1749794982, + "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f", + "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "type": "github" }, "original": { @@ -2080,7 +2075,7 @@ "type": "github" } }, - "nixpkgs_14": { + "nixpkgs_16": { "locked": { "lastModified": 1702151865, "narHash": "sha256-9VAt19t6yQa7pHZLDbil/QctAgVsA66DLnzdRGqDisg=", @@ -2096,7 +2091,7 @@ "type": "github" } }, - "nixpkgs_15": { + "nixpkgs_17": { "locked": { "lastModified": 1736189585, "narHash": "sha256-GBC2LIBk9BuJR4HXfjuNlIWeY15U6jFvaqc7PeToGLw=", @@ -2112,7 +2107,7 @@ "type": "github" } }, - "nixpkgs_16": { + "nixpkgs_18": { "locked": { "lastModified": 1712883908, "narHash": "sha256-icE1IJE9fHcbDfJ0+qWoDdcBXUoZCcIJxME4lMHwvSM=", @@ -2128,7 +2123,7 @@ "type": "github" } }, - "nixpkgs_17": { + "nixpkgs_19": { "locked": { "lastModified": 1744536153, "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", @@ -2144,38 +2139,6 @@ "type": "github" } }, - "nixpkgs_18": { - "locked": { - "lastModified": 1744868846, - "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_19": { - "locked": { - "lastModified": 1740547748, - "narHash": "sha256-Ly2fBL1LscV+KyCqPRufUBuiw+zmWrlJzpWOWbahplg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "3a05eebede89661660945da1f151959900903b6a", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_2": { "locked": { "lastModified": 1712883908, @@ -2193,6 +2156,38 @@ } }, "nixpkgs_20": { + "locked": { + "lastModified": 1744868846, + "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_21": { + "locked": { + "lastModified": 1740547748, + "narHash": "sha256-Ly2fBL1LscV+KyCqPRufUBuiw+zmWrlJzpWOWbahplg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3a05eebede89661660945da1f151959900903b6a", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_22": { "locked": { "lastModified": 1747542820, "narHash": "sha256-GaOZntlJ6gPPbbkTLjbd8BMWaDYafhuuYRNrxCGnPJw=", @@ -2208,7 +2203,7 @@ "type": "github" } }, - "nixpkgs_21": { + "nixpkgs_23": { "locked": { "lastModified": 1743448293, "narHash": "sha256-bmEPmSjJakAp/JojZRrUvNcDX2R5/nuX6bm+seVaGhs=", @@ -2224,7 +2219,7 @@ "type": "github" } }, - "nixpkgs_22": { + "nixpkgs_24": { "locked": { "lastModified": 1719931832, "narHash": "sha256-0LD+KePCKKEb4CcPsTBOwf019wDtZJanjoKm1S8q3Do=", @@ -2272,11 +2267,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1747744144, - "narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=", + "lastModified": 1748190013, + "narHash": "sha256-R5HJFflOfsP5FBtk+zE8FpL8uqE7n62jqOsADvVshhE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f", + "rev": "62b852f6c6742134ade1abdd2a21685fd617a291", "type": "github" }, "original": { @@ -2304,11 +2299,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1747744144, - "narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=", + "lastModified": 1749794982, + "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f", + "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "type": "github" }, "original": { @@ -2320,32 +2315,29 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1728538411, - "narHash": "sha256-f0SBJz1eZ2yOuKUr5CA9BHULGXVSn6miBuUWdTyhUhU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "b69de56fac8c2b6f8fd27f2eca01dcda8e0a4221", - "type": "github" + "lastModified": 1748189127, + "narHash": "sha256-zRDR+EbbeObu4V2X5QCd2Bk5eltfDlCr5yvhBwUT6pY=", + "rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334", + "type": "tarball", + "url": "https://releases.nixos.org/nixos/25.05/nixos-25.05.802491.7c43f080a7f2/nixexprs.tar.xz" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" + "type": "tarball", + "url": "https://channels.nixos.org/nixos-25.05/nixexprs.tar.xz" } }, "nixpkgs_9": { "locked": { - "lastModified": 1731890469, - "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=", - "owner": "nixos", + "lastModified": 1749794982, + "narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "5083ec887760adfe12af64830a66807423a859a7", + "rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } @@ -2372,7 +2364,7 @@ "pnpm2nix_2": { "inputs": { "flake-utils": "flake-utils_6", - "nixpkgs": "nixpkgs_14" + "nixpkgs": "nixpkgs_16" }, "locked": { "lastModified": 1706694632, @@ -2390,7 +2382,7 @@ }, "posting": { "inputs": { - "nixpkgs": "nixpkgs_15", + "nixpkgs": "nixpkgs_17", "utils": "utils" }, "locked": { @@ -2417,11 +2409,11 @@ ] }, "locked": { - "lastModified": 1747372754, - "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", + "lastModified": 1749636823, + "narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", + "rev": "623c56286de5a3193aa38891a6991b28f9bab056", "type": "github" }, "original": { @@ -2441,7 +2433,7 @@ "lanzaboote", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_3" + "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { "lastModified": 1717664902, @@ -2472,9 +2464,29 @@ "type": "github" } }, + "quickshell": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1749982371, + "narHash": "sha256-+lrgH2+Hwmoo13DvztAj6D+a4kiTl08LFFzpXcnPHAw=", + "ref": "refs/heads/master", + "rev": "d9164578a2fc4f0721aaf61c2af8bc6c5cdb11b4", + "revCount": 581, + "type": "git", + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" + }, + "original": { + "type": "git", + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" + } + }, "resume": { "inputs": { - "nixpkgs": "nixpkgs_16", + "nixpkgs": "nixpkgs_18", "systems": "systems_14" }, "locked": { @@ -2501,11 +2513,11 @@ "systems": "systems_15" }, "locked": { - "lastModified": 1747905296, - "narHash": "sha256-+8PQ2g24U4TWUsIUY+ORcEzVxFXIPq1kfdiTq69Qy54=", + "lastModified": 1749997335, + "narHash": "sha256-doeCv2CvZwmt4Zrk7H7zryTlmMWfmW1URDWrTuAn8f0=", "owner": "raphamorim", "repo": "rio", - "rev": "903a7d2f52031467f877da5a6804ede9c86c1486", + "rev": "8eba9cb7b246c378c3d10f76da65b8175202621a", "type": "github" }, "original": { @@ -2539,9 +2551,10 @@ "nix-darwin": "nix-darwin", "nixos-generators": "nixos-generators", "nixos-stable": "nixos-stable", - "nixpkgs": "nixpkgs_13", + "nixpkgs": "nixpkgs_15", "pnpm2nix": "pnpm2nix_2", "posting": "posting", + "quickshell": "quickshell", "resume": "resume", "rio-term": "rio-term", "rust-overlay": "rust-overlay_5", @@ -2576,7 +2589,7 @@ }, "rust-overlay": { "inputs": { - "nixpkgs": "nixpkgs_8" + "nixpkgs": "nixpkgs_10" }, "locked": { "lastModified": 1733279627, @@ -2640,14 +2653,14 @@ }, "rust-overlay_4": { "inputs": { - "nixpkgs": "nixpkgs_17" + "nixpkgs": "nixpkgs_19" }, "locked": { - "lastModified": 1747449297, - "narHash": "sha256-veyXchTz6eWwvuW5X49UluHkheHkFcqHJSwGuKBhrmQ=", + "lastModified": 1749263796, + "narHash": "sha256-m52UsUrcNjAzgc0cwcg94INkiFyVPTn6KbFGr4x4cu8=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "f44db7d7cea4528288780c6347756173a8248225", + "rev": "6e1d910306edfe6e4b718878f222c5672500d6b2", "type": "github" }, "original": { @@ -2663,11 +2676,11 @@ ] }, "locked": { - "lastModified": 1747967795, - "narHash": "sha256-76s4jDRbQzxRO+5y8ilMp5V30qVgY9R6n8U7aOap8ig=", + "lastModified": 1749955444, + "narHash": "sha256-CllTHvHX8KAdAZ+Lxzd23AmZTxO1Pfy+zC43/5tYkAE=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "f1d5bfa8c692cacd798a3e1fb93d54c1b9ac701a", + "rev": "539ba15741f0e6691a2448743dbc601d8910edce", "type": "github" }, "original": { @@ -2747,14 +2760,14 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_18" + "nixpkgs": "nixpkgs_20" }, "locked": { - "lastModified": 1747603214, - "narHash": "sha256-lAblXm0VwifYCJ/ILPXJwlz0qNY07DDYdLD+9H+Wc8o=", + "lastModified": 1749592509, + "narHash": "sha256-VunQzfZFA+Y6x3wYi2UE4DEQ8qKoAZZCnZPUlSoqC+A=", "owner": "Mic92", "repo": "sops-nix", - "rev": "8d215e1c981be3aa37e47aeabd4e61bb069548fd", + "rev": "50754dfaa0e24e313c626900d44ef431f3210138", "type": "github" }, "original": { @@ -2771,11 +2784,11 @@ "systems": "systems_18" }, "locked": { - "lastModified": 1747607404, - "narHash": "sha256-xj2Ji+rE+oYjf0BsTDT7K/StnYuZQK9MTbX8U1DUcC0=", + "lastModified": 1749961984, + "narHash": "sha256-1Nmycj9cVUIkoDsVEn9k8SGMS9V+BcBUL+rDXNapslw=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "8c1be0e5e9a7f35ccd6f7b10bcfa08f2734dad91", + "rev": "c9f12a733e8edcf8d408ccd178c1a11e753ffa08", "type": "github" }, "original": { @@ -3117,7 +3130,7 @@ }, "treefmt-nix": { "inputs": { - "nixpkgs": "nixpkgs_9" + "nixpkgs": "nixpkgs_11" }, "locked": { "lastModified": 1733222881, @@ -3141,11 +3154,11 @@ ] }, "locked": { - "lastModified": 1747912973, - "narHash": "sha256-XgxghfND8TDypxsMTPU2GQdtBEsHTEc3qWE6RVEk8O0=", + "lastModified": 1749194973, + "narHash": "sha256-eEy8cuS0mZ2j/r/FE0/LYBSBcIs/MKOIVakwHVuqTfk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "020cb423808365fa3f10ff4cb8c0a25df35065a3", + "rev": "a05be418a1af1198ca0f63facb13c985db4cb3c5", "type": "github" }, "original": { @@ -3156,15 +3169,15 @@ }, "umu": { "inputs": { - "nixpkgs": "nixpkgs_19" + "nixpkgs": "nixpkgs_21" }, "locked": { "dir": "packaging/nix", - "lastModified": 1747242981, - "narHash": "sha256-MFvG2fiPdmkNU88A7RzPjcHfexOiJxRwAX0SxeC0C5k=", + "lastModified": 1749871705, + "narHash": "sha256-h8MqN18V27ZYsWnrDyNioGSMgXCeXqfwqK4jvwdTXkc=", "owner": "Open-Wine-Components", "repo": "umu-launcher", - "rev": "eff12416f0e8135031a62579910608e442d83d22", + "rev": "5194507371d76025ffbd9199b833dcc55324e372", "type": "github" }, "original": { @@ -3194,15 +3207,15 @@ }, "walker": { "inputs": { - "nixpkgs": "nixpkgs_20", + "nixpkgs": "nixpkgs_22", "systems": "systems_20" }, "locked": { - "lastModified": 1747746261, - "narHash": "sha256-qZ9AwEiAB2GkSLBR23NUVi35TWhcy7lTFEdGHXLAr94=", + "lastModified": 1748502384, + "narHash": "sha256-nmTVxvbENySXZryA+TOGZ9nRr3m/+Xqc07Sy3aSN5Nw=", "owner": "abenz1267", "repo": "walker", - "rev": "0fed5e4af1530ede04da6d18e0d3bd423f7caceb", + "rev": "ade63feb9f1d91f1b1bf709bb139060579126c19", "type": "github" }, "original": { @@ -3219,11 +3232,11 @@ ] }, "locked": { - "lastModified": 1745487176, - "narHash": "sha256-eF1l/KB8eXKTNf+CJ34gh5si3RZCZzme/W9StA+oTiw=", + "lastModified": 1749796347, + "narHash": "sha256-29g4SN3Yr4q7zxYS3dU48i634jVsXHBwUUeALPAHZGM=", "owner": "Alexays", "repo": "Waybar", - "rev": "0332d2ebf84392c82c86d615079f762f27de94ba", + "rev": "2c482a29173ffcc03c3e4859808eaef6c9014a1f", "type": "github" }, "original": { @@ -3260,11 +3273,11 @@ ] }, "locked": { - "lastModified": 1745871725, - "narHash": "sha256-M24SNc2flblWGXFkGQfqSlEOzAGZnMc9QG3GH4K/KbE=", + "lastModified": 1749490041, + "narHash": "sha256-R9Dn9IyUdPaJHD2Oqd7XJnnxpka6M6UYw4Ld0iA46HM=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "76bbf1a6b1378e4ab5230bad00ad04bc287c969e", + "rev": "3cf35e178bc192ee51e3fddfd69e531e2c106a30", "type": "github" }, "original": { @@ -3293,11 +3306,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1747111562, - "narHash": "sha256-GAqhWoxaBIk0tgoecZPa8gTHDHxNc0JtlwWHZN2iOOo=", + "lastModified": 1749315541, + "narHash": "sha256-bEik1BfVOFnWvtOrcOHluos/edJ8f+G2y1QySbt/0Ak=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "ec9ff64c1e0cbec42710b580b7c0f759b1694e72", + "rev": "da2ecb5be816de35e2efe23a408a1c49fe8b11ba", "type": "github" }, "original": { @@ -3309,14 +3322,14 @@ "zen-browser": { "inputs": { "home-manager": "home-manager_4", - "nixpkgs": "nixpkgs_21" + "nixpkgs": "nixpkgs_23" }, "locked": { - "lastModified": 1747998984, - "narHash": "sha256-G5UvtOKD3fmVTnVTh1XCZVoD0HsKO8QI18sMWlYxjLs=", + "lastModified": 1749991041, + "narHash": "sha256-+jss4bkSbzURttaspRke/LVtrthBRDoafJmn/xem5f0=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "e48b7105d570f5e66e1891292525e585eeffa58d", + "rev": "ff841ca63c73796117f298c730d9f1dc2b18e7e7", "type": "github" }, "original": { @@ -3336,15 +3349,15 @@ ], "nixpkgs": [ "ghostty", - "nixpkgs-stable" + "nixpkgs" ] }, "locked": { - "lastModified": 1741825901, - "narHash": "sha256-aeopo+aXg5I2IksOPFN79usw7AeimH1+tjfuMzJHFdk=", + "lastModified": 1748261582, + "narHash": "sha256-3i0IL3s18hdDlbsf0/E+5kyPRkZwGPbSFngq5eToiAA=", "owner": "mitchellh", "repo": "zig-overlay", - "rev": "0b14285e283f5a747f372fb2931835dd937c4383", + "rev": "aafb1b093fb838f7a02613b719e85ec912914221", "type": "github" }, "original": { @@ -3385,7 +3398,7 @@ ], "nixpkgs": [ "ghostty", - "nixpkgs-unstable" + "nixpkgs" ] }, "locked": { diff --git a/flake.nix b/flake.nix index b547d60..cb6423a 100644 --- a/flake.nix +++ b/flake.nix @@ -74,7 +74,7 @@ hyprland = { url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; - inputs.nixpkgs.follows = "nixpkgs"; + # inputs.nixpkgs.follows = "nixpkgs"; }; kb-gui = { @@ -135,9 +135,15 @@ niri-src.url = "github:YaLTeR/niri"; niri-src.inputs.nixpkgs.follows = "nixpkgs"; + quickshell = { + url = "git+https://git.outfoxxed.me/outfoxxed/quickshell"; + + inputs.nixpkgs.follows = "nixpkgs"; + }; + niri.url = "github:sodiboo/niri-flake"; - chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; + chaotic.url = "github:chaotic-cx/nyx/7b20daf110d06962ee99114220f2fb98cdc8673d"; }; outputs = inputs @ {self, ...}: let diff --git a/homes/x86_64-linux/zoey@earth/default.nix b/homes/x86_64-linux/zoey@earth/default.nix index eb64917..808157c 100644 --- a/homes/x86_64-linux/zoey@earth/default.nix +++ b/homes/x86_64-linux/zoey@earth/default.nix @@ -1,4 +1,5 @@ { + config, inputs, pkgs, system, @@ -6,7 +7,7 @@ ... }: { wms.hyprland.enable = false; - wms.niri.enable = true; + wms.niri.enable = false; apps = { web.librewolf.enable = true; web.zen.setDefault = true; @@ -124,10 +125,24 @@ work.vpn.enable = true; + programs.atuin = { + enable = true; + enableFishIntegration = config.programs.fish.enable; + enableZshIntegration = config.programs.zsh.enable; + enableNushellIntegration = config.programs.nushell.enable; + }; + home.packages = with pkgs; [ gimp3 slack + drawio + + littlenavmap + + app2unit + + awscli2 monero-cli devenv @@ -246,6 +261,8 @@ options = ["--cmd cd"]; }; + services.quickshell.enable = true; + home.file.".mozilla/native-messaging-hosts/gpgmejson.json".text = builtins.toJSON { name = "gpgmejson"; description = "JavaScript binding for GnuPG"; diff --git a/lib/theme/default.nix b/lib/theme/default.nix index aa75dd5..ecb0c65 100644 --- a/lib/theme/default.nix +++ b/lib/theme/default.nix @@ -68,7 +68,7 @@ in { x = c: "#${c}"; fonts = { - mono = "Iosevka"; + mono = "BerkeleyMono Nerd Font Mono"; ui = "SF Pro Display"; }; @@ -145,6 +145,7 @@ in { lavender = { hex = "#b4befe"; rgb = "rgb(180, 190, 254)"; + hypr = "rgb(b4befe)"; hsl = "hsl(232, 97%, 85%)"; }; text = { @@ -195,6 +196,7 @@ in { base = { hex = "#1e1e2e"; rgb = "rgb(30, 30, 46)"; + hypr = "rgb(1e1e2e)"; hsl = "hsl(240, 21%, 15%)"; }; mantle = { diff --git a/modules/home/apps/helpers/waybar/style.css b/modules/home/apps/helpers/waybar/style.css index 73e084f..8c755d7 100644 --- a/modules/home/apps/helpers/waybar/style.css +++ b/modules/home/apps/helpers/waybar/style.css @@ -1,5 +1,5 @@ * { - font-family: Iosevka Nerd Font, monospace; + font-family: monospace; min-height: 14px; font-size: 14px; border: none; diff --git a/modules/home/apps/term/alacritty/default.nix b/modules/home/apps/term/alacritty/default.nix index 726b0fc..51b4255 100644 --- a/modules/home/apps/term/alacritty/default.nix +++ b/modules/home/apps/term/alacritty/default.nix @@ -95,9 +95,18 @@ in { font = { size = 16.0; normal = fonts.mono; - bold = "${fonts.mono} Bold"; - italic = "${fonts.mono} Italic"; - bold_italic = "${fonts.mono} Bold Italic"; + bold = { + family = fonts.mono; + style = "Bold"; + }; + italic = { + family = fonts.mono; + style = "Italic"; + }; + bold_italic = { + family = fonts.mono; + style = "Bold Italic"; + }; offset = { x = 0; diff --git a/modules/home/apps/term/ghostty/default.nix b/modules/home/apps/term/ghostty/default.nix index 274d703..dd22fc2 100644 --- a/modules/home/apps/term/ghostty/default.nix +++ b/modules/home/apps/term/ghostty/default.nix @@ -23,13 +23,11 @@ in { background = colors.crust.hex; + alpha-blending = "linear-corrected"; + window-padding-x = 20; window-padding-y = 20; window-padding-balance = true; - font-style = "SemiBold"; - font-style-bold = "Bold"; - font-style-italic = "SemiBold Italic"; - font-style-bold-italic = "Bold Italic"; }; }; }; diff --git a/modules/home/apps/term/kitty/default.nix b/modules/home/apps/term/kitty/default.nix index f3d88cc..abaa1ee 100644 --- a/modules/home/apps/term/kitty/default.nix +++ b/modules/home/apps/term/kitty/default.nix @@ -17,24 +17,28 @@ in { programs.kitty = { enable = true; font = { - name = fonts.mono; + name = "${fonts.mono} SemiLight"; size = 16; }; extraConfig = '' - bold_font ${fonts.mono} Bold - italic_font ${fonts.mono} Italic - bold_italic_font ${fonts.mono} Bold Italic + bold_font ${fonts.mono} SemiBold + italic_font ${fonts.mono} SemiLight + bold_italic_font ${fonts.mono} SemiBold ''; catppuccin.enable = true; settings = { window_padding_width = 20; - # background_opacity = "0.9"; + background_opacity = "0.9"; background = colors.crust.hex; foreground = colors.text.hex; + font_hinting = "slight"; + + text_composition_strategy = "1.2 10"; + # Normal colors color0 = colors.surface1.hex; # black color1 = colors.red.hex; # red diff --git a/modules/home/apps/tools/neovim/config/lua/config/options.lua b/modules/home/apps/tools/neovim/config/lua/config/options.lua index 329fdd6..a93bd4c 100644 --- a/modules/home/apps/tools/neovim/config/lua/config/options.lua +++ b/modules/home/apps/tools/neovim/config/lua/config/options.lua @@ -9,7 +9,7 @@ end -- in this case. vim.g.lazyvim_blink_main = true - +vim.g.snacks_animate = false vim.o.termguicolors = true -vim.g.lazyvim_python_lsp = "basedpyright" +vim.g.lazyvim_python_lsp = "pyright" diff --git a/modules/home/apps/tools/neovim/config/lua/plugins/core.lua b/modules/home/apps/tools/neovim/config/lua/plugins/core.lua index 436b23a..052f9b5 100644 --- a/modules/home/apps/tools/neovim/config/lua/plugins/core.lua +++ b/modules/home/apps/tools/neovim/config/lua/plugins/core.lua @@ -8,47 +8,50 @@ return { }, { "catppuccin", - config = function() - require("catppuccin").setup({ - transparent_background = false, - integrations = { - blink_cmp = true, - nvimtree = true, - }, - custom_highlights = function(colors) - return { - Normal = { bg = colors.crust }, - NormalFloat = { bg = colors.crust }, - - -- Completion menu (nvim-cmp) - Pmenu = { bg = colors.crust }, - PmenuSel = { bg = colors.surface0 }, - CmpItemAbbr = { bg = colors.crust }, - CmpItemAbbrMatch = { bg = colors.crust }, - - -- Tabs - TabLine = { bg = colors.crust }, - TabLineFill = { bg = colors.crust }, - TabLineSel = { bg = colors.crust }, - - -- Status line - StatusLine = { bg = colors.crust }, - StatusLineNC = { bg = colors.crust }, - - -- Line numbers - LineNr = { bg = colors.crust }, - SignColumn = { bg = colors.crust }, - } - end, - color_overrides = { - mocha = { - base = "#11111b", - mantle = "#11111b", - crust = "#11111b", - }, - }, - }) - end, + opts = { + transparent_background = true, + }, + -- config = function() + -- require("catppuccin").setup({ + -- transparent_background = true, + -- integrations = { + -- blink_cmp = true, + -- nvimtree = true, + -- }, + -- custom_highlights = function(colors) + -- return { + -- Normal = { bg = colors.crust }, + -- NormalFloat = { bg = colors.crust }, + -- + -- -- Completion menu (nvim-cmp) + -- Pmenu = { bg = colors.crust }, + -- PmenuSel = { bg = colors.surface0 }, + -- CmpItemAbbr = { bg = colors.crust }, + -- CmpItemAbbrMatch = { bg = colors.crust }, + -- + -- -- Tabs + -- TabLine = { bg = colors.crust }, + -- TabLineFill = { bg = colors.crust }, + -- TabLineSel = { bg = colors.crust }, + -- + -- -- Status line + -- StatusLine = { bg = colors.crust }, + -- StatusLineNC = { bg = colors.crust }, + -- + -- -- Line numbers + -- LineNr = { bg = colors.crust }, + -- SignColumn = { bg = colors.crust }, + -- } + -- end, + -- color_overrides = { + -- mocha = { + -- base = "#11111b", + -- mantle = "#11111b", + -- crust = "#11111b", + -- }, + -- }, + -- }) + -- end, }, "f-person/git-blame.nvim", { @@ -83,12 +86,12 @@ return { { "", "TmuxNavigatePrevious" }, }, }, - { - "m4xshen/hardtime.nvim", - lazy = false, - dependencies = { "MunifTanjim/nui.nvim" }, - opts = {}, - }, + -- { + -- "m4xshen/hardtime.nvim", + -- lazy = false, + -- dependencies = { "MunifTanjim/nui.nvim" }, + -- opts = {}, + -- }, { "neovim/nvim-lspconfig", ---@class PluginLspOpts @@ -99,6 +102,9 @@ return { filetypes = { "html", "jinja" }, }, somesass_ls = {}, + qmlls = { + cmd = { "qmlls", "-E" }, + }, slangd = { settings = { slangd = { diff --git a/modules/home/apps/tools/neovim/config/lua/plugins/example.lua b/modules/home/apps/tools/neovim/config/lua/plugins/example.lua deleted file mode 100644 index 4ad9825..0000000 --- a/modules/home/apps/tools/neovim/config/lua/plugins/example.lua +++ /dev/null @@ -1,193 +0,0 @@ --- since this is just an example spec, don't actually load anything here and return an empty spec --- stylua: ignore -if true then return {} end - --- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim --- --- In your plugin files, you can: --- * add extra plugins --- * disable/enabled LazyVim plugins --- * override the configuration of LazyVim plugins -return { - -- add gruvbox - { "ellisonleao/gruvbox.nvim" }, - - -- Configure LazyVim to load gruvbox - { - "LazyVim/LazyVim", - opts = { - colorscheme = "gruvbox", - }, - }, - - -- change trouble config - { - "folke/trouble.nvim", - -- opts will be merged with the parent spec - opts = { use_diagnostic_signs = true }, - }, - - -- disable trouble - { "folke/trouble.nvim", enabled = false }, - - -- override nvim-cmp and add cmp-emoji - { - "hrsh7th/nvim-cmp", - dependencies = { "hrsh7th/cmp-emoji" }, - ---@param opts cmp.ConfigSchema - opts = function(_, opts) - table.insert(opts.sources, { name = "emoji" }) - end, - }, - - -- change some telescope options and a keymap to browse plugin files - { - "nvim-telescope/telescope.nvim", - keys = { - -- add a keymap to browse plugin files - -- stylua: ignore - { - "fp", - function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, - desc = "Find Plugin File", - }, - }, - -- change some options - opts = { - defaults = { - layout_strategy = "horizontal", - layout_config = { prompt_position = "top" }, - sorting_strategy = "ascending", - winblend = 0, - }, - }, - }, - - -- add pyright to lspconfig - { - "neovim/nvim-lspconfig", - ---@class PluginLspOpts - opts = { - ---@type lspconfig.options - servers = { - -- pyright will be automatically installed with mason and loaded with lspconfig - pyright = {}, - }, - }, - }, - - -- add tsserver and setup with typescript.nvim instead of lspconfig - { - "neovim/nvim-lspconfig", - dependencies = { - "jose-elias-alvarez/typescript.nvim", - init = function() - require("lazyvim.util").lsp.on_attach(function(_, buffer) - -- stylua: ignore - vim.keymap.set( "n", "co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) - vim.keymap.set("n", "cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) - end) - end, - }, - ---@class PluginLspOpts - opts = { - ---@type lspconfig.options - servers = { - -- tsserver will be automatically installed with mason and loaded with lspconfig - tsserver = {}, - }, - -- you can do any additional lsp server setup here - -- return true if you don't want this server to be setup with lspconfig - ---@type table - setup = { - -- example to setup with typescript.nvim - tsserver = function(_, opts) - require("typescript").setup({ server = opts }) - return true - end, - -- Specify * to use this function as a fallback for any server - -- ["*"] = function(server, opts) end, - }, - }, - }, - - -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, - -- treesitter, mason and typescript.nvim. So instead of the above, you can use: - { import = "lazyvim.plugins.extras.lang.typescript" }, - - -- add more treesitter parsers - { - "nvim-treesitter/nvim-treesitter", - opts = { - ensure_installed = { - "bash", - "html", - "javascript", - "json", - "lua", - "markdown", - "markdown_inline", - "python", - "query", - "regex", - "tsx", - "typescript", - "vim", - "yaml", - }, - }, - }, - - -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above - -- would overwrite `ensure_installed` with the new value. - -- If you'd rather extend the default config, use the code below instead: - { - "nvim-treesitter/nvim-treesitter", - opts = function(_, opts) - -- add tsx and treesitter - vim.list_extend(opts.ensure_installed, { - "tsx", - "typescript", - }) - end, - }, - - -- the opts function can also be used to change the default opts: - { - "nvim-lualine/lualine.nvim", - event = "VeryLazy", - opts = function(_, opts) - table.insert(opts.sections.lualine_x, "😄") - end, - }, - - -- or you can return new options to override all the defaults - { - "nvim-lualine/lualine.nvim", - event = "VeryLazy", - opts = function() - return { - --[[add your custom lualine config here]] - } - end, - }, - - -- use mini.starter instead of alpha - { import = "lazyvim.plugins.extras.ui.mini-starter" }, - - -- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc - { import = "lazyvim.plugins.extras.lang.json" }, - - -- add any tools you want to have installed below - { - "williamboman/mason.nvim", - opts = { - ensure_installed = { - "stylua", - "shellcheck", - "shfmt", - "flake8", - }, - }, - }, -} diff --git a/modules/home/apps/tools/neovim/config/lua/plugins/line_num.lua b/modules/home/apps/tools/neovim/config/lua/plugins/line_num.lua deleted file mode 100644 index e5dc5ec..0000000 --- a/modules/home/apps/tools/neovim/config/lua/plugins/line_num.lua +++ /dev/null @@ -1,43 +0,0 @@ -return { - "sethen/line-number-change-mode.nvim", - config = function() - require("catppuccin").setup({ - flavour = "mocha", - }) - local palette = require("catppuccin.palettes").get_palette("mocha") - - if palette == nil then - return nil - end - - require("line-number-change-mode").setup({ - mode = { - i = { - bg = palette.green, - fg = palette.mantle, - bold = true, - }, - n = { - bg = palette.blue, - fg = palette.mantle, - bold = true, - }, - R = { - bg = palette.maroon, - fg = palette.mantle, - bold = true, - }, - v = { - bg = palette.mauve, - fg = palette.mantle, - bold = true, - }, - V = { - bg = palette.mauve, - fg = palette.mantle, - bold = true, - }, - }, - }) - end, -} diff --git a/modules/home/apps/tools/neovim/config/lua/plugins/lualine.lua b/modules/home/apps/tools/neovim/config/lua/plugins/lualine.lua index d656e74..e3cd4ba 100644 --- a/modules/home/apps/tools/neovim/config/lua/plugins/lualine.lua +++ b/modules/home/apps/tools/neovim/config/lua/plugins/lualine.lua @@ -188,17 +188,17 @@ return { ins_left({ "filename", cond = conditions.buffer_not_empty, - color = { fg = ctp.sapphire }, + color = { fg = ctp.subtext0 }, }) ins_left({ -- filesize component "filesize", cond = conditions.buffer_not_empty, - color = { fg = ctp.subtext0 }, + color = { fg = ctp.subtext1 }, }) - ins_left({ "location", color = { fg = ctp.subtext0 } }) + ins_left({ "location", color = { fg = ctp.subtext1 } }) ins_left({ "diagnostics", diff --git a/modules/home/apps/tools/neovim/config/snippets/package.json b/modules/home/apps/tools/neovim/config/snippets/package.json new file mode 100644 index 0000000..5fc941d --- /dev/null +++ b/modules/home/apps/tools/neovim/config/snippets/package.json @@ -0,0 +1,11 @@ +{ + "name": "personal-snippets", + "contributes": { + "snippets": [ + { + "language": "nix", + "path": "./nixconfig.json" + } + ] + } +} diff --git a/modules/home/scripts/default.nix b/modules/home/scripts/default.nix new file mode 100644 index 0000000..7fea39e --- /dev/null +++ b/modules/home/scripts/default.nix @@ -0,0 +1,47 @@ +{ + pkgs, + config, + lib, + ... +}: +with lib; +with lib.custom; let + cfg = config.scripts; +in { + options.scripts = with types; { + enable = mkBoolOpt false "Enable custom scripts"; + onepassword = { + enable = mkBoolOpt false "Enable 1Password search utility"; + }; + }; + + config = mkIf cfg.enable { + home.packages = with pkgs; + [ + (writeShellScriptBin "opsearch" (builtins.readFile ./opsearch.sh)) + ] + ++ ( + if cfg.onepassword.enable + then + with pkgs; [ + jq + wl-clipboard + ] + else [] + ); + + # Ensure the scripts directory exists and copy scripts there + home.file = { + ".local/bin/opsearch.sh" = { + source = ./opsearch.sh; + executable = true; + }; + + # Add fish function for 1Password search if fish is enabled + ".config/fish/functions/ops.fish" = mkIf cfg.onepassword.enable { + source = ../shell/fish/functions/ops.fish; + executable = true; + }; + }; + }; +} diff --git a/modules/home/scripts/opsearch.sh b/modules/home/scripts/opsearch.sh new file mode 100755 index 0000000..e59f1ea --- /dev/null +++ b/modules/home/scripts/opsearch.sh @@ -0,0 +1,323 @@ +#!/usr/bin/env bash +# opsearch.sh - A tool to search through 1Password items +# +# Usage: +# opsearch [options] +# +# Options: +# -c, --category Filter by category (login, password, document, etc.) +# -t, --tag Filter by tag +# -v, --vault Specify vault to search in +# -f, --field Search only in specific fields +# -j, --json Output results in JSON format +# -d, --detail Show detailed output for each item +# -n, --nushell Use Nushell for output formatting (if available) +# -p, --password Retrieve and copy password after selection +# -h, --help Show this help message + +set -e + +# Default options +FORMAT="json" +SHOW_DETAIL=false +CATEGORY="" +TAG="" +VAULT="" +FIELD="" +SEARCH_TERM="" +USE_NUSHELL=false +GET_PASSWORD=false + +# Check if 1Password CLI is available +if ! command -v op &>/dev/null; then + echo "Error: 1Password CLI (op) not found." + echo "Please install it from https://1password.com/downloads/command-line/" + exit 1 +fi + +# Check if 1Password CLI is signed in +if ! op account get --format=json &>/dev/null; then + echo "You need to sign in to 1Password CLI first." + echo "Run: eval \$(op signin)" + exit 1 +fi + +# Function to display help +show_help() { + cat << EOF +opsearch - Search 1Password items with grep-like functionality + +Usage: + opsearch [options] + +Options: + -c, --category Filter by category (login, password, document, etc.) + -t, --tag Filter by tag + -v, --vault Specify vault to search in + -f, --field Search only in specific fields + -j, --json Output results in JSON format + -d, --detail Show detailed output for each item + -n, --nushell Use Nushell for output formatting (if available) + -p, --password Retrieve and copy password after selection + -h, --help Show this help message + +Examples: + opsearch github # Search for "github" in all items + opsearch amazon -c login # Search for "amazon" in login items + opsearch bank -v Personal # Search for "bank" in the Personal vault + opsearch -t finance # Show all items with "finance" tag + opsearch email -f username # Search for "email" in username fields + opsearch ssh -d # Show detailed info for SSH items + opsearch github -p # Get GitHub password after selecting item + +EOF + exit 0 +} + +# Parse arguments +while [[ $# -gt 0 ]]; do + case "$1" in + -h|--help) + show_help + ;; + -j|--json) + FORMAT="json" + shift + ;; + -d|--detail) + SHOW_DETAIL=true + shift + ;; + -n|--nushell) + USE_NUSHELL=true + shift + ;; + -p|--password) + GET_PASSWORD=true + shift + ;; + -c|--category) + CATEGORY="$2" + shift 2 + ;; + -t|--tag) + TAG="$2" + shift 2 + ;; + -v|--vault) + VAULT="$2" + shift 2 + ;; + -f|--field) + FIELD="$2" + shift 2 + ;; + -*) + echo "Unknown option: $1" + show_help + ;; + *) + if [[ -z "$SEARCH_TERM" ]]; then + SEARCH_TERM="$1" + else + echo "Error: Multiple search terms provided. Use quotes for terms with spaces." + exit 1 + fi + shift + ;; + esac +done + +# Check for required tools +check_dependencies() { + if ! command -v jq &> /dev/null; then + echo "Error: jq is required for this script to function properly." + echo "Please install it using your package manager." + exit 1 + fi + + if [[ "$USE_NUSHELL" == "true" ]] && ! command -v nu &> /dev/null; then + echo "Warning: Nushell not found, falling back to jq for formatting." + USE_NUSHELL=false + fi + + if [[ "$GET_PASSWORD" == "true" ]]; then + if ! command -v xclip &> /dev/null && ! command -v pbcopy &> /dev/null && ! command -v wl-copy &> /dev/null; then + echo "Warning: No clipboard utility found (xclip, pbcopy, or wl-copy required)." + echo "Password will be displayed but not copied." + fi + fi +} + +# Build the 1Password CLI command +OP_CMD="op item list --format=json" + +# Add filters to the command +if [[ -n "$CATEGORY" ]]; then + OP_CMD="$OP_CMD --categories=$CATEGORY" +fi + +if [[ -n "$TAG" ]]; then + OP_CMD="$OP_CMD --tags=$TAG" +fi + +if [[ -n "$VAULT" ]]; then + OP_CMD="$OP_CMD --vault=$VAULT" +fi + +# Function to colorize the output +highlight_match() { + local text="$1" + local pattern="$2" + echo "$text" | grep --color=always -i "$pattern" || echo "$text" +} + +# Function to copy to clipboard +copy_to_clipboard() { + local text="$1" + + if command -v wl-copy &> /dev/null; then + echo -n "$text" | wl-copy + echo "Copied to clipboard with wl-copy" + elif command -v xclip &> /dev/null; then + echo -n "$text" | xclip -selection clipboard + echo "Copied to clipboard with xclip" + elif command -v pbcopy &> /dev/null; then + echo -n "$text" | pbcopy + echo "Copied to clipboard with pbcopy" + else + echo "No clipboard utility found. Here's the value:" + echo "$text" + fi +} + +# Main function to format and display results +display_items() { + local items="$1" + local count=$(echo "$items" | jq 'length') + + if [[ $count -eq 0 ]]; then + echo "No items found matching your search criteria." + exit 0 + fi + + echo "Found $count matching items:" + + if [[ "$USE_NUSHELL" == "true" ]]; then + # Use Nushell for pretty output + echo "$items" | nu -c "open - | select id title category updated vault_id | sort-by title" + else + # Use jq for formatting + echo "$items" | jq -r ' + ["ID", "TITLE", "CATEGORY", "UPDATED"] as $headers | + ([$headers] + + (. | map([.id, .title, .category, .updated[0:10]]))) | + .[] | @tsv' | column -t -s $'\t' + fi + + if [[ $count -gt 0 ]]; then + echo "" + select_item "$items" + fi +} + +# Function to select an item and show details or get password +select_item() { + local items="$1" + local count=$(echo "$items" | jq 'length') + + echo "Select an item by number (1-$count) or press Enter to exit:" + select opt in $(echo "$items" | jq -r '.[].title'); do + if [[ -z "$opt" ]]; then + echo "Exiting." + exit 0 + fi + + local idx=$((REPLY-1)) + if [[ $idx -ge 0 && $idx -lt $count ]]; then + local item_id=$(echo "$items" | jq -r ".[$idx].id") + local item_title=$(echo "$items" | jq -r ".[$idx].title") + + echo "Selected: $item_title (ID: $item_id)" + + if [[ "$GET_PASSWORD" == "true" ]]; then + # Get password and copy to clipboard + local password=$(op item get "$item_id" --fields password) + if [[ -n "$password" ]]; then + copy_to_clipboard "$password" + else + echo "No password field found for this item." + + # Show available fields + echo "Available fields:" + op item get "$item_id" --format=json | jq -r '.fields[] | select(.id != "notesPlain") | "\(.id): \(.label)"' + + echo "Get a specific field? Enter field ID or press Enter to skip:" + read -r field_id + + if [[ -n "$field_id" ]]; then + local field_value=$(op item get "$item_id" --fields "$field_id") + if [[ -n "$field_value" ]]; then + copy_to_clipboard "$field_value" + else + echo "Field not found or empty." + fi + fi + fi + elif [[ "$SHOW_DETAIL" == "true" ]]; then + # Show detailed information + echo "Detailed information:" + echo "------------------------------------------------" + if [[ -n "$FIELD" ]]; then + # Show only the requested field + op item get "$item_id" --fields "$FIELD" + else + # Show all fields + if [[ "$USE_NUSHELL" == "true" ]]; then + op item get "$item_id" --format=json | nu -c "open - | get fields | where id != 'notesPlain' | sort-by label" + else + op item get "$item_id" --format=json | jq -r '.fields[] | select(.id != "notesPlain") | "\(.label): \(.value)"' + fi + fi + echo "------------------------------------------------" + else + # Show basic information + op item get "$item_id" --format=json | jq -r '.fields[] | select(.id == "username" or .id == "password" or .id == "notesPlain") | "\(.label): \(.value // "[Hidden]")"' + fi + + echo "" + echo "Select another item or press Ctrl+C to exit:" + else + echo "Invalid selection. Please choose a number between 1 and $count." + fi + done +} + +# Execute search +check_dependencies + +if [[ -z "$SEARCH_TERM" && -z "$TAG" && -z "$CATEGORY" ]]; then + echo "Error: No search term provided." + show_help + exit 1 +fi + +# Execute the command and store the results +RESULT=$(eval "$OP_CMD") + +# Filter results based on search term +if [[ -n "$SEARCH_TERM" ]]; then + FILTERED_RESULT=$(echo "$RESULT" | jq --arg term "$SEARCH_TERM" -r '[.[] | select( + (.title | ascii_downcase | contains($term | ascii_downcase)) or + (.id | ascii_downcase | contains($term | ascii_downcase)) or + (.additional_information | ascii_downcase | contains($term | ascii_downcase)) or + (.urls != null and (.urls[] | ascii_downcase | contains($term | ascii_downcase))) or + (.tags != null and (.tags[] | ascii_downcase | contains($term | ascii_downcase))) + )]') +else + FILTERED_RESULT="$RESULT" +fi + +# Display the results +display_items "$FILTERED_RESULT" + diff --git a/modules/home/services/quickshell/default.nix b/modules/home/services/quickshell/default.nix new file mode 100644 index 0000000..8dec8eb --- /dev/null +++ b/modules/home/services/quickshell/default.nix @@ -0,0 +1,55 @@ +{ + lib, + config, + pkgs, + system, + inputs, + ... +}: +with lib; +with lib.custom; let + cfg = config.services.quickshell; + + mkService = recursiveUpdate { + Unit.PartOf = ["graphical-session.target"]; + Unit.After = ["graphical-session.target"]; + Install.WantedBy = ["graphical-session.target"]; + }; +in { + options.services.quickshell = with types; { + enable = mkBoolOpt false "Enable or Disable QuickShell"; + }; + config = mkIf cfg.enable { + systemd.user.services = { + quickshell = mkService { + Unit.Description = "QuickShell Service"; + Service = { + Environment = [ + "QSG_RENDER_LOOP=threaded" + # "QT_QUICK_BACKEND=software" + "QT_QPA_PLATFORM=wayland" + "QSG_RENDERER_TIMING=true" + "QML_DISABLE_DISTANCEFIELD=1" + "QT_WAYLAND_DISABLE_WINDOWDECORATION=1" + "QT_QPA_PLATFORMTHEME=qt5ct" + "QT_QPA_REFRESH_RATE=240" + "__GL_SYNC_TO_VBLANK=0" + "LIBGL_ALWAYS_SOFTWARE=0" + "__GL_SYNC_DISPLAY_DEVICE=DP-1" # Adjust this to match your display connection + "QML_ANIMATION_DRIVER=cadence" + "QML_CADENCE_DURATION=4" + "QML_CADENCE_MAX_RENDER_TIME=3.5" + "QSG_RENDERER_USE_THREADED_GL=1" + "QSG_RHI_PREFER_SOFTWARE_RENDERER=0" + "QSG_RHI_FORCE_SYNC=0" + "QSG_INFO=1" + ]; + ExecStart = '' + ${inputs.quickshell.packages.${system}.default}/bin/qs --log-rules 'quickshell.dbus.properties.warning = false;quickshell.dbus.dbusmenu.warning = false;quickshell.service.notifications.warning = false;quickshell.service.sni.host.warning = false' + ''; + Restart = "always"; + }; + }; + }; + }; +} diff --git a/modules/home/shell/fish/functions/ops.fish b/modules/home/shell/fish/functions/ops.fish new file mode 100644 index 0000000..5c3290b --- /dev/null +++ b/modules/home/shell/fish/functions/ops.fish @@ -0,0 +1,75 @@ +function ops --description "Search 1Password with grep-like functionality" + set -l options 'h/help' 'c/category=' 't/tag=' 'v/vault=' 'f/field=' 'j/json' 'd/detail' 'n/nushell' 'p/password' + argparse $options -- $argv + + if set -q _flag_help + echo "ops - Fish wrapper for opsearch (1Password search utility)" + echo + echo "Usage:" + echo " ops [search_term] [options]" + echo + echo "Options:" + echo " -c/--category [category] Filter by category (login, password, document, etc.)" + echo " -t/--tag [tag] Filter by tag" + echo " -v/--vault [vault] Specify vault to search in" + echo " -f/--field [field] Search only in specific fields" + echo " -j/--json Output results in JSON format" + echo " -d/--detail Show detailed output for each item" + echo " -n/--nushell Use Nushell for output formatting (if available)" + echo " -p/--password Retrieve and copy password after selection" + echo " -h/--help Show this help message" + echo + echo "Examples:" + echo " ops github # Search for \"github\" in all items" + echo " ops amazon -c login # Search for \"amazon\" in login items" + echo " ops bank -v Personal # Search for \"bank\" in the Personal vault" + echo " ops -t finance # Show all items with \"finance\" tag" + echo " ops email -f username # Search for \"email\" in username fields" + echo " ops ssh -d # Show detailed info for SSH items" + echo " ops github -p # Get GitHub password after selection" + return 0 + end + + set -l cmd_args + + # Convert fish options to bash-style options for the shell script + if set -q _flag_category + set -a cmd_args "--category" $_flag_category + end + + if set -q _flag_tag + set -a cmd_args "--tag" $_flag_tag + end + + if set -q _flag_vault + set -a cmd_args "--vault" $_flag_vault + end + + if set -q _flag_field + set -a cmd_args "--field" $_flag_field + end + + if set -q _flag_json + set -a cmd_args "--json" + end + + if set -q _flag_detail + set -a cmd_args "--detail" + end + + if set -q _flag_nushell + set -a cmd_args "--nushell" + end + + if set -q _flag_password + set -a cmd_args "--password" + end + + # Add search term if provided + if test (count $argv) -gt 0 + set -a cmd_args $argv + end + + # Execute the shell script with all arguments + $HOME/.local/bin/opsearch.sh $cmd_args +end \ No newline at end of file diff --git a/modules/home/shells/fish/default.nix b/modules/home/shells/fish/default.nix index be0e9bb..4c49268 100644 --- a/modules/home/shells/fish/default.nix +++ b/modules/home/shells/fish/default.nix @@ -24,6 +24,11 @@ in { set -g FZF_PREVIEW_FILE_CMD "head -n 10" set -g FZF_PREVIEW_DIR_CMD "ls" + set -gx AWS_DEFAULT_PROFILE (cat ~/.aws_profile | string collect) + + set -Ux MANROFFOPT '-c' + set -Ux MANPAGER "sh -c 'col -bx | bat -l man -p'" + if not set -q TMUX tmux end @@ -99,8 +104,6 @@ in { # download from yt and other websites yt-dlp - zsh-history - # man pages for tiktok attention span mfs tealdeer diff --git a/modules/home/shells/nu/default.nix b/modules/home/shells/nu/default.nix index 30906e3..6eca880 100644 --- a/modules/home/shells/nu/default.nix +++ b/modules/home/shells/nu/default.nix @@ -57,7 +57,6 @@ in { onefetch cpufetch yt-dlp - zsh-history tealdeer glow hyperfine diff --git a/modules/home/shells/zsh/default.nix b/modules/home/shells/zsh/default.nix index 2db4371..387635e 100644 --- a/modules/home/shells/zsh/default.nix +++ b/modules/home/shells/zsh/default.nix @@ -36,7 +36,6 @@ in { initContent = let sources = with pkgs; [ "${zsh-nix-shell}/share/zsh-nix-shell/nix-shell.plugin.zsh" - "${zsh-history}/share/zsh/init.zsh" "${zsh-fzf-tab}/share/fzf-tab/fzf-tab.plugin.zsh" "${zsh-f-sy-h}/share/zsh/site-functions/F-Sy-H.plugin.zsh" "${zsh-you-should-use}/share/zsh/plugins/you-should-use/you-should-use.plugin.zsh" @@ -104,8 +103,6 @@ in { # download from yt and other websites yt-dlp - zsh-history - # man pages for tiktok attention span mfs tealdeer diff --git a/modules/home/wms/hyprland/default.nix b/modules/home/wms/hyprland/default.nix index 6ea73f7..a5efb04 100644 --- a/modules/home/wms/hyprland/default.nix +++ b/modules/home/wms/hyprland/default.nix @@ -129,8 +129,8 @@ in { allow_tearing = true; # active border color - "col.active_border" = "${colors.lavender.rgb}"; - "col.inactive_border" = "${colors.base.rgb}"; + "col.active_border" = colors.lavender.hypr; + "col.inactive_border" = colors.base.hypr; }; input = { @@ -146,7 +146,7 @@ in { decoration = { # fancy corners - rounding = 0; + rounding = 8; # blur blur = { enabled = true; @@ -257,6 +257,7 @@ in { # }; # }; + services.quickshell.enable = true; services.wallpaper.enable = true; }; } diff --git a/modules/home/wms/niri/default.nix b/modules/home/wms/niri/default.nix index 37400e6..3d818a5 100644 --- a/modules/home/wms/niri/default.nix +++ b/modules/home/wms/niri/default.nix @@ -507,6 +507,7 @@ with lib.custom; { }; }; + services.quickshell.enable = false; services.wallpaper.enable = true; }; } diff --git a/modules/nixos/protocols/wayland/default.nix b/modules/nixos/protocols/wayland/default.nix index f5599a0..acb33a9 100644 --- a/modules/nixos/protocols/wayland/default.nix +++ b/modules/nixos/protocols/wayland/default.nix @@ -9,6 +9,8 @@ with lib; with lib.custom; let cfg = config.protocols.wayland; + + tuigreet = "${pkgs.greetd.tuigreet}/bin/tuigreet"; in { options.protocols.wayland = with types; { enable = mkBoolOpt false "Enable Wayland Protocol"; @@ -19,8 +21,8 @@ in { enable = true; settings = { default_session = { - command = "niri-session"; - user = "zoey"; + command = "${tuigreet} --time --remember --remember-session"; + user = "greeter"; }; }; }; @@ -51,8 +53,8 @@ in { # ]; programs.hyprland = { - withUWSM = false; - enable = false; + withUWSM = true; + enable = true; xwayland.enable = true; package = inputs.hyprland.packages.${pkgs.system}.hyprland; portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland; diff --git a/modules/nixos/sites/minio/default.nix b/modules/nixos/sites/minio/default.nix index 6780554..3dc1e5c 100644 --- a/modules/nixos/sites/minio/default.nix +++ b/modules/nixos/sites/minio/default.nix @@ -38,7 +38,7 @@ in { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; - client_max_body_size 1G; + client_max_body_size 4G; ''; }; }; diff --git a/modules/nixos/ui/fonts/default.nix b/modules/nixos/ui/fonts/default.nix index f0e19d3..014a552 100644 --- a/modules/nixos/ui/fonts/default.nix +++ b/modules/nixos/ui/fonts/default.nix @@ -28,33 +28,33 @@ in { lexend jost dejavu_fonts - # iosevka + iosevka cantarell-fonts - (iosevka.override - { - set = "Custom"; - privateBuildPlan = '' - [buildPlans.IosevkaCustom] - family = "Iosevka" - spacing = "fontconfig-mono" - serifs = "sans" - noCvSs = true - exportGlyphNames = true - - [buildPlans.IosevkaCustom.variants] - inherits = "ss08" - - [buildPlans.IosevkaCustom.widths.Normal] - shape = 500 - menu = 5 - css = "normal" - - [buildPlans.IosevkaCustom.widths.Extended] - shape = 600 - menu = 7 - css = "expanded" - ''; - }) + # (iosevka.override + # { + # set = "Custom"; + # privateBuildPlan = '' + # [buildPlans.IosevkaCustom] + # family = "Iosevka" + # spacing = "fontconfig-mono" + # serifs = "sans" + # noCvSs = true + # exportGlyphNames = true + # + # [buildPlans.IosevkaCustom.variants] + # inherits = "ss08" + # + # [buildPlans.IosevkaCustom.widths.Normal] + # shape = 500 + # menu = 5 + # css = "normal" + # + # [buildPlans.IosevkaCustom.widths.Extended] + # shape = 600 + # menu = 7 + # css = "expanded" + # ''; + # }) noto-fonts noto-fonts-cjk-sans noto-fonts-emoji @@ -66,6 +66,28 @@ in { adwaita-fonts cozette scientifica + (material-symbols.overrideAttrs { + src = fetchFromGitHub { + owner = "google"; + repo = "material-design-icons"; + rev = "941fa95d7f6084a599a54ca71bc565f48e7c6d9e"; + hash = "sha256-rH/SSBP3xgiyUDyF371pmg8wAi2xavS79vKmOhyLEmI="; + sparseCheckout = ["variablefont" "font"]; + }; + + installPhase = '' + runHook preInstall + + rename 's/\[FILL,GRAD,opsz,wght\]//g' variablefont/* + install -Dm755 variablefont/*.ttf -t $out/share/fonts/TTF + install -Dm755 variablefont/*.woff2 -t $out/share/fonts/woff2 + + install -Dm755 font/*.ttf -t $out/share/fonts/TTF + install -Dm755 font/*.otf -t $out/share/fonts/OTF + + runHook postInstall + ''; + }) # (nerdfonts.override {fonts = ["ZedMono" "Iosevka"];}) ]; diff --git a/systems/x86_64-linux/earth/default.nix b/systems/x86_64-linux/earth/default.nix index 8d845d7..4366a0e 100644 --- a/systems/x86_64-linux/earth/default.nix +++ b/systems/x86_64-linux/earth/default.nix @@ -100,6 +100,8 @@ ui.fonts.enable = true; + security.sudo-rs.enable = true; + protocols.wayland.enable = true; programs.openvpn3.enable = true; @@ -140,6 +142,7 @@ pkiBundle = "/etc/secureboot"; }; boot.loader.efi.canTouchEfiVariables = true; + boot.blacklistedKernelModules = ["joydev"]; networking.hostName = "earth"; # Define your hostname. networking.hostId = "a2a8bfcc"; @@ -190,6 +193,7 @@ pkgs.sbctl pkgs.kdiskmark pkgs.mangohud + inputs.quickshell.packages.${system}.default (pkgs.shadps4.overrideAttrs { version = "0.9.0"; src = pkgs.fetchFromGitHub { @@ -260,6 +264,11 @@ networking.firewall.allowedTCPPorts = [22]; + services.monero = { + enable = false; + mining.enable = false; + }; + services.samba = { enable = true; openFirewall = true; @@ -279,6 +288,8 @@ catppuccin.enable = true; programs.virt-manager.enable = true; + qt.enable = true; + # Enable Ananicy for automatic process priority management services.ananicy = { enable = true;