From c05813575ff005727b6770fd374351380bf81a73 Mon Sep 17 00:00:00 2001 From: gwg313 Date: Sat, 24 Jan 2026 09:44:01 -0500 Subject: [PATCH] stuff --- common/gui/steam.nix | 2 +- common/networking/hosts.nix | 4 +- common/networking/networkmanager.nix | 3 +- common/style/stylix.nix | 2 +- common/style/vars/vars.nix | 6 +- flake.lock | 1397 +++++++++++------ flake.nix | 21 +- home-manager/machines/candlekeep.nix | 2 + home-manager/machines/dorino.nix | 5 +- .../modules/caelestia-shell/appearance.nix | 51 + home-manager/modules/caelestia-shell/bar.nix | 69 + .../modules/caelestia-shell/bindings.nix | 58 + .../modules/caelestia-shell/default.nix | 62 + .../modules/caelestia-shell/launcher.nix | 174 ++ .../modules/caelestia-shell/scheme.nix | 135 ++ .../session-gif-hacker-cat.gif | Bin 0 -> 52409 bytes home-manager/modules/common-gui.nix | 8 +- home-manager/modules/common.nix | 3 +- home-manager/modules/ghostty.nix | 12 +- home-manager/modules/hyprland/bindings.nix | 90 +- home-manager/modules/hyprland/default.nix | 19 +- home-manager/modules/hyprland/hyprpaper.nix | 29 + home-manager/modules/niri/applications.nix | 11 + home-manager/modules/niri/autostart.nix | 22 + home-manager/modules/niri/default.nix | 16 + home-manager/modules/niri/keybinds.nix | 69 + home-manager/modules/niri/noctaliashell.nix | 68 + home-manager/modules/niri/rules.nix | 48 + home-manager/modules/niri/scripts.nix | 31 + home-manager/modules/niri/settings.nix | 145 ++ home-manager/modules/nvf/default.nix | 47 + home-manager/modules/nvf/languages.nix | 1 - home-manager/modules/ssh.nix | 25 + home-manager/modules/vesktop.nix | 186 +++ home-manager/modules/vicinae.nix | 37 + home-manager/modules/zen.nix | 6 +- hosts/seikan/routes.nix | 10 +- hosts/waypoint/routes.nix | 6 +- hosts/waypoint/routes_zerotier.nix | 6 +- hosts/waypoint/services.nix | 4 +- 40 files changed, 2364 insertions(+), 526 deletions(-) create mode 100644 home-manager/modules/caelestia-shell/appearance.nix create mode 100644 home-manager/modules/caelestia-shell/bar.nix create mode 100644 home-manager/modules/caelestia-shell/bindings.nix create mode 100644 home-manager/modules/caelestia-shell/default.nix create mode 100644 home-manager/modules/caelestia-shell/launcher.nix create mode 100644 home-manager/modules/caelestia-shell/scheme.nix create mode 100644 home-manager/modules/caelestia-shell/session-gif-hacker-cat.gif create mode 100644 home-manager/modules/hyprland/hyprpaper.nix create mode 100644 home-manager/modules/niri/applications.nix create mode 100644 home-manager/modules/niri/autostart.nix create mode 100644 home-manager/modules/niri/default.nix create mode 100644 home-manager/modules/niri/keybinds.nix create mode 100644 home-manager/modules/niri/noctaliashell.nix create mode 100644 home-manager/modules/niri/rules.nix create mode 100644 home-manager/modules/niri/scripts.nix create mode 100644 home-manager/modules/niri/settings.nix create mode 100644 home-manager/modules/vesktop.nix create mode 100644 home-manager/modules/vicinae.nix diff --git a/common/gui/steam.nix b/common/gui/steam.nix index 6c94923..3025e53 100644 --- a/common/gui/steam.nix +++ b/common/gui/steam.nix @@ -48,7 +48,7 @@ }; environment.systemPackages = with pkgs; [ - protonup + protonup-ng steam-devices-udev-rules scanmem ]; diff --git a/common/networking/hosts.nix b/common/networking/hosts.nix index dfe592c..6c4df8d 100644 --- a/common/networking/hosts.nix +++ b/common/networking/hosts.nix @@ -15,7 +15,7 @@ _: { 10.147.17.246 uptime.zerotier.gwg313.xyz 10.147.17.246 hdoc.zerotier.gwg313.xyz 10.147.17.246 cache.zerotier.gwg313.xyz - 10.147.17.246 a3-dev.zerotier.gwg313.xyz + 10.147.17.246 pm.zerotier.gwg313.xyz 10.147.17.246 argocd.zerotier.gwg313.xyz @@ -33,6 +33,6 @@ _: { 10.1.10.9 uptime.gwg313.xyz 10.1.10.50 hdoc.gwg313.xyz 10.1.10.13 cache.gwg313.xyz - 10.1.10.50 a3-dev.gwg313.xyz + 10.1.10.50 pm.gwg313.xyz ''; } diff --git a/common/networking/networkmanager.nix b/common/networking/networkmanager.nix index b025d2d..c158275 100644 --- a/common/networking/networkmanager.nix +++ b/common/networking/networkmanager.nix @@ -4,8 +4,7 @@ ... }: { - - environment.systemPackages = with pkgs; [ linuxKernel.packages.linux_5_4.wireguard ]; + # environment.systemPackages = with pkgs; [ linuxKernel.packages.linux_5_4.wireguard ]; sops.secrets."wireless.env" = { }; networking = { diff --git a/common/style/stylix.nix b/common/style/stylix.nix index aa8688b..b2adbbf 100644 --- a/common/style/stylix.nix +++ b/common/style/stylix.nix @@ -49,7 +49,7 @@ }; emoji = { - package = pkgs.noto-fonts-emoji; + package = pkgs.noto-fonts-color-emoji; name = "Noto Color Emoji"; }; }; diff --git a/common/style/vars/vars.nix b/common/style/vars/vars.nix index 905dddc..64852d2 100644 --- a/common/style/vars/vars.nix +++ b/common/style/vars/vars.nix @@ -32,7 +32,7 @@ config.stylix = { enable = true; - + targets.zen-browser.profileNames = [ "Default Profile" ]; # See https://tinted-theming.github.io/tinted-gallery/ for more schemes # base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml"; base16Scheme = { @@ -78,7 +78,7 @@ }; emoji = { - package = pkgs.noto-fonts-emoji; + package = pkgs.noto-fonts-color-emoji; name = "Noto Color Emoji"; }; sizes = { @@ -90,6 +90,6 @@ }; polarity = "light"; - image = ../../../wallpapers/oasis.png; + image = lib.mkForce ../../../wallpapers/oasis.png; }; } diff --git a/flake.lock b/flake.lock index 75600f9..201e9d6 100644 --- a/flake.lock +++ b/flake.lock @@ -6,11 +6,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1760176229, - "narHash": "sha256-Awrvmjo57VJHrVZCfGjPyf1NHFGopomoZiPUPT/3uls=", + "lastModified": 1764289441, + "narHash": "sha256-ak+lgFiYE5PHByN1/BRkO5JP498hno6Ix24C1Qf/vec=", "owner": "Aylur", "repo": "ags", - "rev": "772f6ade645a1ca7ba06cb5845c479bbf4ac06f5", + "rev": "e169694390548dfd38ff40f1ef2163d6c3ffe3ea", "type": "github" }, "original": { @@ -39,11 +39,11 @@ ] }, "locked": { - "lastModified": 1760101617, - "narHash": "sha256-8jf/3ZCi+B7zYpIyV04+3wm72BD7Z801IlOzsOACR7I=", + "lastModified": 1767024902, + "narHash": "sha256-sMdk6QkMDhIOnvULXKUM8WW8iyi551SWw2i6KQHbrrU=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "1826a9923881320306231b1c2090379ebf9fa4f8", + "rev": "b8a0c5ba5a9fbd2c660be7dd98bdde0ff3798556", "type": "github" }, "original": { @@ -76,11 +76,11 @@ ] }, "locked": { - "lastModified": 1752743471, - "narHash": "sha256-4izhj1j7J4mE8LgljCXSIUDculqOsxxhdoC81VhqizM=", + "lastModified": 1762356719, + "narHash": "sha256-qwd/xdoOya1m8FENle+4hWnydCtlXUWLAW/Auk6WL7s=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "e31b575d19e7cf8a8f4398e2f9cffe27a1332506", + "rev": "6d0b3567584691bf9d8fedb5d0093309e2f979c7", "type": "github" }, "original": { @@ -97,11 +97,11 @@ ] }, "locked": { - "lastModified": 1759873585, - "narHash": "sha256-DsYbOkDXSl162XcQPxu4bknsevArxmWoqmL1qqcVNSI=", + "lastModified": 1764173295, + "narHash": "sha256-Jh4VtPcK2Ov+RTcV9FtyQRsxiJmXFQGfqX6jjM7/mgc=", "owner": "aylur", "repo": "astal", - "rev": "8d9ed4c624981156f52846ae58826f7c94f30546", + "rev": "7d1fac8a4b2a14954843a978d2ddde86168c75ef", "type": "github" }, "original": { @@ -131,28 +131,28 @@ "base16-fish": { "flake": false, "locked": { - "lastModified": 1754405784, - "narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=", + "lastModified": 1765809053, + "narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=", "owner": "tomyun", "repo": "base16-fish", - "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", + "rev": "86cbea4dca62e08fb7fd83a70e96472f92574782", "type": "github" }, "original": { "owner": "tomyun", "repo": "base16-fish", - "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", + "rev": "86cbea4dca62e08fb7fd83a70e96472f92574782", "type": "github" } }, "base16-helix": { "flake": false, "locked": { - "lastModified": 1752979451, - "narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=", + "lastModified": 1760703920, + "narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=", "owner": "tinted-theming", "repo": "base16-helix", - "rev": "27cf1e66e50abc622fb76a3019012dc07c678fac", + "rev": "d646af9b7d14bff08824538164af99d0c521b185", "type": "github" }, "original": { @@ -184,7 +184,8 @@ "devenv" ], "flake-compat": [ - "devenv" + "devenv", + "flake-compat" ], "git-hooks": [ "devenv", @@ -196,11 +197,11 @@ ] }, "locked": { - "lastModified": 1752264895, - "narHash": "sha256-1zBPE/PNAkPNUsOWFET4J0cjlvziH8DOekesDmjND+w=", + "lastModified": 1760971495, + "narHash": "sha256-IwnNtbNVrlZIHh7h4Wz6VP0Furxg9Hh0ycighvL5cZc=", "owner": "cachix", "repo": "cachix", - "rev": "47053aef762f452e816e44eb9a23fbc3827b241a", + "rev": "c5bfd933d1033672f51a863c47303fc0e093c2d2", "type": "github" }, "original": { @@ -210,6 +211,98 @@ "type": "github" } }, + "caelestia-cli": { + "inputs": { + "caelestia-shell": "caelestia-shell", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1767838220, + "narHash": "sha256-kVsBPYrjmDVWM2PxOO/Est9zfOLE7DuCoW4/MkfBECM=", + "owner": "caelestia-dots", + "repo": "cli", + "rev": "86b0c94bd1520ec37e344c08953c3679ba36ac73", + "type": "github" + }, + "original": { + "owner": "caelestia-dots", + "repo": "cli", + "type": "github" + } + }, + "caelestia-cli_2": { + "inputs": { + "caelestia-shell": [ + "caelestia-shell" + ], + "nixpkgs": [ + "caelestia-shell", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1767320190, + "narHash": "sha256-HXi1ED3ub/7yn3SEUw8641dLMFuxRlcMs/RgIbU91I8=", + "owner": "caelestia-dots", + "repo": "cli", + "rev": "337c711371e070fa28c2e55fffc5b0115a7cf40b", + "type": "github" + }, + "original": { + "owner": "caelestia-dots", + "repo": "cli", + "type": "github" + } + }, + "caelestia-shell": { + "inputs": { + "caelestia-cli": [ + "caelestia-cli" + ], + "nixpkgs": [ + "caelestia-cli", + "nixpkgs" + ], + "quickshell": "quickshell" + }, + "locked": { + "lastModified": 1767490542, + "narHash": "sha256-NkwDCzDC5soGuAE4k8YuvdzYOi7ugrBjUxavKwmFoUM=", + "owner": "caelestia-dots", + "repo": "shell", + "rev": "1b4b90a3ad9532f7002ef2593d8efb68443f21f3", + "type": "github" + }, + "original": { + "owner": "caelestia-dots", + "repo": "shell", + "type": "github" + } + }, + "caelestia-shell_2": { + "inputs": { + "caelestia-cli": "caelestia-cli_2", + "nixpkgs": [ + "nixpkgs" + ], + "quickshell": "quickshell_2" + }, + "locked": { + "lastModified": 1767490542, + "narHash": "sha256-NkwDCzDC5soGuAE4k8YuvdzYOi7ugrBjUxavKwmFoUM=", + "owner": "caelestia-dots", + "repo": "shell", + "rev": "1b4b90a3ad9532f7002ef2593d8efb68443f21f3", + "type": "github" + }, + "original": { + "owner": "caelestia-dots", + "repo": "shell", + "type": "github" + } + }, "colmena": { "inputs": { "flake-compat": "flake-compat", @@ -219,11 +312,11 @@ "stable": "stable" }, "locked": { - "lastModified": 1755272288, - "narHash": "sha256-ypTPb2eKcOBbOoyvPV0j4ZOXs4kayo73/2KI456QnE0=", + "lastModified": 1762034856, + "narHash": "sha256-QVey3iP3UEoiFVXgypyjTvCrsIlA4ecx6Acaz5C8/PQ=", "owner": "zhaofengli", "repo": "colmena", - "rev": "5bf4ce6a24adba74a5184f4a9bef01d545a09473", + "rev": "349b035a5027f23d88eeb3bc41085d7ee29f18ed", "type": "github" }, "original": { @@ -239,16 +332,17 @@ "flake-parts": "flake-parts", "git-hooks": "git-hooks", "nix": "nix", + "nixd": "nixd", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1760987569, - "narHash": "sha256-RAYg2y8R5yiSYQJhZWUf7rEopgXcyGDaOLTlCN/LfT4=", + "lastModified": 1767816354, + "narHash": "sha256-amiVbJDC+H8DJqZmguGQg8KEEtG6HFjsargXmvmrmQk=", "owner": "cachix", "repo": "devenv", - "rev": "829e3dba0dbf0f50772f95e683e5aeb9c93f0314", + "rev": "e63ad676a7dc73a3ff2f2428f7c01cdd8aa014e7", "type": "github" }, "original": { @@ -261,11 +355,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1758112371, - "narHash": "sha256-lizRM2pj6PHrR25yimjyFn04OS4wcdbc38DCdBVa2rk=", + "lastModified": 1764724327, + "narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "0909cfe4a2af8d358ad13b20246a350e14c2473d", + "rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047", "type": "github" }, "original": { @@ -293,11 +387,11 @@ "flake-compat_2": { "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "lastModified": 1761588595, + "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", "owner": "edolstra", "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", "type": "github" }, "original": { @@ -309,15 +403,15 @@ "flake-compat_3": { "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", - "owner": "edolstra", + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "NixOS", "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", "type": "github" }, "original": { - "owner": "edolstra", + "owner": "NixOS", "repo": "flake-compat", "type": "github" } @@ -325,11 +419,11 @@ "flake-compat_4": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -345,7 +439,7 @@ "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", "revCount": 69, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz?rev=ff81ac966bb2cae68946d5ed5fc4994f96d0ffec&revCount=69" + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" }, "original": { "type": "tarball", @@ -371,15 +465,15 @@ "flake-compat_7": { "flake": false, "locked": { - "lastModified": 1747046372, - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", - "owner": "edolstra", + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "NixOS", "repo": "flake-compat", - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", "type": "github" }, "original": { - "owner": "edolstra", + "owner": "NixOS", "repo": "flake-compat", "type": "github" } @@ -408,11 +502,11 @@ ] }, "locked": { - "lastModified": 1756770412, - "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", + "lastModified": 1760948891, + "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "4524271976b625a4a605beefd893f270620fd751", + "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", "type": "github" }, "original": { @@ -426,11 +520,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1754091436, - "narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=", + "lastModified": 1765835352, + "narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd", + "rev": "a34fae9c08a15ad73f295041fec82323541400a9", "type": "github" }, "original": { @@ -447,11 +541,11 @@ ] }, "locked": { - "lastModified": 1759362264, - "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", + "lastModified": 1765835352, + "narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "758cf7296bee11f1706a574c77d072b8a7baa881", + "rev": "a34fae9c08a15ad73f295041fec82323541400a9", "type": "github" }, "original": { @@ -468,11 +562,11 @@ ] }, "locked": { - "lastModified": 1759362264, - "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", + "lastModified": 1760948891, + "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "758cf7296bee11f1706a574c77d072b8a7baa881", + "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", "type": "github" }, "original": { @@ -489,11 +583,11 @@ ] }, "locked": { - "lastModified": 1756770412, - "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", + "lastModified": 1763759067, + "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "4524271976b625a4a605beefd893f270620fd751", + "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", "type": "github" }, "original": { @@ -502,6 +596,21 @@ "type": "github" } }, + "flake-root": { + "locked": { + "lastModified": 1723604017, + "narHash": "sha256-rBtQ8gg+Dn4Sx/s+pvjdq3CB2wQNzx9XGFq/JVGCB6k=", + "owner": "srid", + "repo": "flake-root", + "rev": "b759a56851e10cb13f6b8e5698af7b59c44be26e", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "flake-root", + "type": "github" + } + }, "flake-utils": { "locked": { "lastModified": 1659877975, @@ -519,25 +628,7 @@ }, "flake-utils_2": { "inputs": { - "systems": "systems_4" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_3": { - "inputs": { - "systems": "systems_8" + "systems": "systems_7" }, "locked": { "lastModified": 1731533236, @@ -582,11 +673,11 @@ ] }, "locked": { - "lastModified": 1758108966, - "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=", + "lastModified": 1760663237, + "narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b", + "rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37", "type": "github" }, "original": { @@ -686,18 +777,20 @@ "gnome-shell": { "flake": false, "locked": { - "lastModified": 1748186689, - "narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=", + "host": "gitlab.gnome.org", + "lastModified": 1764524476, + "narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=", "owner": "GNOME", "repo": "gnome-shell", - "rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0", - "type": "github" + "rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22", + "type": "gitlab" }, "original": { + "host": "gitlab.gnome.org", "owner": "GNOME", - "ref": "48.2", + "ref": "gnome-49", "repo": "gnome-shell", - "type": "github" + "type": "gitlab" } }, "gomod2nix": { @@ -732,11 +825,11 @@ ] }, "locked": { - "lastModified": 1760973044, - "narHash": "sha256-Ij3H0qkzZ66X9934kH0JYoI3b/F2vamrDD9abT5Pi70=", + "lastModified": 1767824564, + "narHash": "sha256-DRhbz2dZaEmj5MgLFMXjEPfmKYfMG6LwNT9Bv8zeLPQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "c3a5e5f0df6f53aa4b51adc0107796cc407c641c", + "rev": "4fee4bd14b5e4178855ad0041df89fa44f3f2bea", "type": "github" }, "original": { @@ -754,11 +847,11 @@ ] }, "locked": { - "lastModified": 1752603129, - "narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=", + "lastModified": 1767104570, + "narHash": "sha256-GKgwu5//R+cLdKysZjGqvUEEOGXXLdt93sNXeb2M/Lk=", "owner": "nix-community", "repo": "home-manager", - "rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b", + "rev": "e4e78a2cbeaddd07ab7238971b16468cc1d14daf", "type": "github" }, "original": { @@ -815,11 +908,11 @@ ] }, "locked": { - "lastModified": 1749155331, - "narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=", + "lastModified": 1753964049, + "narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80", + "rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5", "type": "github" }, "original": { @@ -844,11 +937,11 @@ ] }, "locked": { - "lastModified": 1760445448, - "narHash": "sha256-fXGjL6dw31FPFRrmIemzGiNSlfvEJTJNsmadZi+qNhI=", + "lastModified": 1766946335, + "narHash": "sha256-MRD+Jr2bY11MzNDfenENhiK6pvN+nHygxdHoHbZ1HtE=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "50fb9f069219f338a11cf0bcccb9e58357d67757", + "rev": "4af02a3925b454deb1c36603843da528b67ded6c", "type": "github" }, "original": { @@ -876,11 +969,11 @@ ] }, "locked": { - "lastModified": 1752149140, - "narHash": "sha256-gbh1HL98Fdqu0jJIWN4OJQN7Kkth7+rbkFpSZLm/62A=", + "lastModified": 1762462052, + "narHash": "sha256-6roLYzcDf4V38RUMSqycsOwAnqfodL6BmhRkUtwIgdA=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "340494a38b5ec453dfc542c6226481f736cc8a9a", + "rev": "ffc999d980c7b3bca85d3ebd0a9fbadf984a8162", "type": "github" }, "original": { @@ -894,22 +987,23 @@ "aquamarine": "aquamarine", "hyprcursor": "hyprcursor", "hyprgraphics": "hyprgraphics", + "hyprland-guiutils": "hyprland-guiutils", "hyprland-protocols": "hyprland-protocols", - "hyprland-qtutils": "hyprland-qtutils", "hyprlang": "hyprlang", "hyprutils": "hyprutils", "hyprwayland-scanner": "hyprwayland-scanner", + "hyprwire": "hyprwire", "nixpkgs": "nixpkgs_3", "pre-commit-hooks": "pre-commit-hooks", "systems": "systems", "xdph": "xdph" }, "locked": { - "lastModified": 1760959370, - "narHash": "sha256-eM1kSyA88KiZiY+xqnN/YbAAFeECtzJTrOF62Uuxs+o=", + "lastModified": 1767812022, + "narHash": "sha256-5IAOLd+773ciTZXlukGMjk8K1ZOHHuwxnDt8LihZ2+k=", "ref": "refs/heads/main", - "rev": "46dab01bcc47b2e29f36cd4d35d04091e4134a67", - "revCount": 6515, + "rev": "918e2bb9be0e1d233f9394f1d569137788c43c01", + "revCount": 6793, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -920,6 +1014,100 @@ "url": "https://github.com/hyprwm/Hyprland" } }, + "hyprland-guiutils": { + "inputs": { + "aquamarine": [ + "hyprland", + "aquamarine" + ], + "hyprgraphics": [ + "hyprland", + "hyprgraphics" + ], + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "hyprtoolkit": "hyprtoolkit", + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1767023960, + "narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=", + "owner": "hyprwm", + "repo": "hyprland-guiutils", + "rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-guiutils", + "type": "github" + } + }, + "hyprland-guiutils_2": { + "inputs": { + "aquamarine": [ + "hyprspace", + "hyprland", + "aquamarine" + ], + "hyprgraphics": [ + "hyprspace", + "hyprland", + "hyprgraphics" + ], + "hyprlang": [ + "hyprspace", + "hyprland", + "hyprlang" + ], + "hyprtoolkit": "hyprtoolkit_2", + "hyprutils": [ + "hyprspace", + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprspace", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprspace", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1762465111, + "narHash": "sha256-dS13YZdWjgGGLBjpT4FHB6xf8I/WiAU+mgNWXsZgDUs=", + "owner": "hyprwm", + "repo": "hyprland-guiutils", + "rev": "a415eba866a953f3096d661318f771aa0082eb98", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-guiutils", + "type": "github" + } + }, "hyprland-protocols": { "inputs": { "nixpkgs": [ @@ -932,11 +1120,11 @@ ] }, "locked": { - "lastModified": 1759610243, - "narHash": "sha256-+KEVnKBe8wz+a6dTLq8YDcF3UrhQElwsYJaVaHXJtoI=", + "lastModified": 1765214753, + "narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "bd153e76f751f150a09328dbdeb5e4fab9d23622", + "rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab", "type": "github" }, "original": { @@ -959,11 +1147,11 @@ ] }, "locked": { - "lastModified": 1749046714, - "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", + "lastModified": 1759610243, + "narHash": "sha256-+KEVnKBe8wz+a6dTLq8YDcF3UrhQElwsYJaVaHXJtoI=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", + "rev": "bd153e76f751f150a09328dbdeb5e4fab9d23622", "type": "github" }, "original": { @@ -973,38 +1161,6 @@ } }, "hyprland-qt-support": { - "inputs": { - "hyprlang": [ - "hyprland", - "hyprland-qtutils", - "hyprlang" - ], - "nixpkgs": [ - "hyprland", - "hyprland-qtutils", - "nixpkgs" - ], - "systems": [ - "hyprland", - "hyprland-qtutils", - "systems" - ] - }, - "locked": { - "lastModified": 1749154592, - "narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=", - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "type": "github" - } - }, - "hyprland-qt-support_2": { "inputs": { "hyprlang": "hyprlang_2", "nixpkgs": [ @@ -1030,127 +1186,16 @@ "type": "github" } }, - "hyprland-qt-support_3": { - "inputs": { - "hyprlang": [ - "hyprspace", - "hyprland", - "hyprland-qtutils", - "hyprlang" - ], - "nixpkgs": [ - "hyprspace", - "hyprland", - "hyprland-qtutils", - "nixpkgs" - ], - "systems": [ - "hyprspace", - "hyprland", - "hyprland-qtutils", - "systems" - ] - }, - "locked": { - "lastModified": 1749154592, - "narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=", - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qt-support", - "type": "github" - } - }, - "hyprland-qtutils": { - "inputs": { - "hyprland-qt-support": "hyprland-qt-support", - "hyprlang": [ - "hyprland", - "hyprlang" - ], - "hyprutils": [ - "hyprland", - "hyprland-qtutils", - "hyprlang", - "hyprutils" - ], - "nixpkgs": [ - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1759080228, - "narHash": "sha256-RgDoAja0T1hnF0pTc56xPfLfFOO8Utol2iITwYbUhTk=", - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "rev": "629b15c19fa4082e4ce6be09fdb89e8c3312aed7", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "type": "github" - } - }, - "hyprland-qtutils_2": { - "inputs": { - "hyprland-qt-support": "hyprland-qt-support_3", - "hyprlang": [ - "hyprspace", - "hyprland", - "hyprlang" - ], - "hyprutils": [ - "hyprspace", - "hyprland", - "hyprland-qtutils", - "hyprlang", - "hyprutils" - ], - "nixpkgs": [ - "hyprspace", - "hyprland", - "nixpkgs" - ], - "systems": [ - "hyprspace", - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1750371812, - "narHash": "sha256-D868K1dVEACw17elVxRgXC6hOxY+54wIEjURztDWLk8=", - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "rev": "b13c7481e37856f322177010bdf75fccacd1adc8", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "hyprland-qtutils", - "type": "github" - } - }, "hyprland_2": { "inputs": { "aquamarine": "aquamarine_2", "hyprcursor": "hyprcursor_2", "hyprgraphics": "hyprgraphics_2", + "hyprland-guiutils": "hyprland-guiutils_2", "hyprland-protocols": "hyprland-protocols_2", - "hyprland-qtutils": "hyprland-qtutils_2", "hyprlang": "hyprlang_3", "hyprutils": "hyprutils_4", - "hyprwayland-scanner": "hyprwayland-scanner_2", + "hyprwayland-scanner": "hyprwayland-scanner_3", "nixpkgs": "nixpkgs_5", "pre-commit-hooks": "pre-commit-hooks_2", "systems": [ @@ -1160,11 +1205,11 @@ "xdph": "xdph_2" }, "locked": { - "lastModified": 1753523167, - "narHash": "sha256-VlRatMh0YqAYP2zUUe62mafb6jEuuzXX3mQ98b1Ifbo=", + "lastModified": 1762731096, + "narHash": "sha256-Kma5MxOipSBamO6DnwBeqJNjJ+VwEO73zh9h1hs/2Aw=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "e1fff05d0db9c266679ec7ea1b5734c73d6b0a57", + "rev": "967c3c7404d4fa00234e29c70df3e263386d2597", "type": "github" }, "original": { @@ -1189,11 +1234,11 @@ ] }, "locked": { - "lastModified": 1758927902, - "narHash": "sha256-LZgMds7M94+vuMql2bERQ6LiFFdhgsEFezE4Vn+Ys3A=", + "lastModified": 1764612430, + "narHash": "sha256-54ltTSbI6W+qYGMchAgCR6QnC1kOdKXN6X6pJhOWxFg=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "4dafa28d4f79877d67a7d1a654cddccf8ebf15da", + "rev": "0d00dc118981531aa731150b6ea551ef037acddd", "type": "github" }, "original": { @@ -1249,11 +1294,11 @@ ] }, "locked": { - "lastModified": 1750371198, - "narHash": "sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE=", + "lastModified": 1758927902, + "narHash": "sha256-LZgMds7M94+vuMql2bERQ6LiFFdhgsEFezE4Vn+Ys3A=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "cee01452bca58d6cadb3224e21e370de8bc20f0b", + "rev": "4dafa28d4f79877d67a7d1a654cddccf8ebf15da", "type": "github" }, "original": { @@ -1264,7 +1309,7 @@ }, "hyprpolkitagent": { "inputs": { - "hyprland-qt-support": "hyprland-qt-support_2", + "hyprland-qt-support": "hyprland-qt-support", "hyprutils": "hyprutils_3", "nixpkgs": "nixpkgs_4", "systems": "systems_2" @@ -1289,11 +1334,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1759033501, - "narHash": "sha256-QhcOFLJYC9CiSVPkci62ghMEAJChzl+L98To1pKvnRQ=", + "lastModified": 1764820995, + "narHash": "sha256-IMa4mvkF0w7OAy+yEzPFYs2an332K30lf5qfUOAS9Cw=", "owner": "KZDKM", "repo": "Hyprspace", - "rev": "e54884da1d6a1af76af9d053887bf3750dd554fd", + "rev": "0467be86b18cfc324fab04afbd40fe9ef80f7fa9", "type": "github" }, "original": { @@ -1302,6 +1347,112 @@ "type": "github" } }, + "hyprtoolkit": { + "inputs": { + "aquamarine": [ + "hyprland", + "hyprland-guiutils", + "aquamarine" + ], + "hyprgraphics": [ + "hyprland", + "hyprland-guiutils", + "hyprgraphics" + ], + "hyprlang": [ + "hyprland", + "hyprland-guiutils", + "hyprlang" + ], + "hyprutils": [ + "hyprland", + "hyprland-guiutils", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprland-guiutils", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "hyprland-guiutils", + "nixpkgs" + ], + "systems": [ + "hyprland", + "hyprland-guiutils", + "systems" + ] + }, + "locked": { + "lastModified": 1764592794, + "narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=", + "owner": "hyprwm", + "repo": "hyprtoolkit", + "rev": "5cfe0743f0e608e1462972303778d8a0859ee63e", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprtoolkit", + "type": "github" + } + }, + "hyprtoolkit_2": { + "inputs": { + "aquamarine": [ + "hyprspace", + "hyprland", + "hyprland-guiutils", + "aquamarine" + ], + "hyprgraphics": [ + "hyprspace", + "hyprland", + "hyprland-guiutils", + "hyprgraphics" + ], + "hyprlang": [ + "hyprspace", + "hyprland", + "hyprland-guiutils", + "hyprlang" + ], + "hyprutils": [ + "hyprspace", + "hyprland", + "hyprland-guiutils", + "hyprutils" + ], + "hyprwayland-scanner": "hyprwayland-scanner_2", + "nixpkgs": [ + "hyprspace", + "hyprland", + "hyprland-guiutils", + "nixpkgs" + ], + "systems": [ + "hyprspace", + "hyprland", + "hyprland-guiutils", + "systems" + ] + }, + "locked": { + "lastModified": 1762463729, + "narHash": "sha256-2fYkU/mdz8WKY3dkDPlE/j6hTxIwqultsx4gMMsMns0=", + "owner": "hyprwm", + "repo": "hyprtoolkit", + "rev": "88483bdee5329ec985f0c8f834c519cd18cfe532", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprtoolkit", + "type": "github" + } + }, "hyprutils": { "inputs": { "nixpkgs": [ @@ -1314,11 +1465,11 @@ ] }, "locked": { - "lastModified": 1759619523, - "narHash": "sha256-r1ed7AR2ZEb2U8gy321/Xcp1ho2tzn+gG1te/Wxsj1A=", + "lastModified": 1766253372, + "narHash": "sha256-1+p4Kw8HdtMoFSmJtfdwjxM4bPxDK9yg27SlvUMpzWA=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "3df7bde01efb3a3e8e678d1155f2aa3f19e177ef", + "rev": "51a4f93ce8572e7b12b7284eb9e6e8ebf16b4be9", "type": "github" }, "original": { @@ -1395,11 +1546,11 @@ ] }, "locked": { - "lastModified": 1752252310, - "narHash": "sha256-06i1pIh6wb+sDeDmWlzuPwIdaFMxLlj1J9I5B9XqSeo=", + "lastModified": 1762387740, + "narHash": "sha256-gQ9zJ+pUI4o+Gh4Z6jhJll7jjCSwi8ZqJIhCE2oqwhQ=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "bcabcbada90ed2aacb435dc09b91001819a6dc82", + "rev": "926689ddb9c0a8787e58c02c765a62e32d63d1f7", "type": "github" }, "original": { @@ -1420,11 +1571,11 @@ ] }, "locked": { - "lastModified": 1755184602, - "narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=", + "lastModified": 1763640274, + "narHash": "sha256-Uan1Nl9i4TF/kyFoHnTq1bd/rsWh4GAK/9/jDqLbY5A=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d", + "rev": "f6cf414ca0e16a4d30198fd670ec86df3c89f671", "type": "github" }, "original": { @@ -1434,6 +1585,37 @@ } }, "hyprwayland-scanner_2": { + "inputs": { + "nixpkgs": [ + "hyprspace", + "hyprland", + "hyprland-guiutils", + "hyprtoolkit", + "nixpkgs" + ], + "systems": [ + "hyprspace", + "hyprland", + "hyprland-guiutils", + "hyprtoolkit", + "systems" + ] + }, + "locked": { + "lastModified": 1755184602, + "narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, + "hyprwayland-scanner_3": { "inputs": { "nixpkgs": [ "hyprspace", @@ -1447,11 +1629,11 @@ ] }, "locked": { - "lastModified": 1751897909, - "narHash": "sha256-FnhBENxihITZldThvbO7883PdXC/2dzW4eiNvtoV5Ao=", + "lastModified": 1755184602, + "narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "fcca0c61f988a9d092cbb33e906775014c61579d", + "rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d", "type": "github" }, "original": { @@ -1460,31 +1642,32 @@ "type": "github" } }, - "ixx": { + "hyprwire": { "inputs": { - "flake-utils": [ - "nixvim", - "nuschtosSearch", - "flake-utils" + "hyprutils": [ + "hyprland", + "hyprutils" ], "nixpkgs": [ - "nixvim", - "nuschtosSearch", + "hyprland", "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" ] }, "locked": { - "lastModified": 1754860581, - "narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=", - "owner": "NuschtOS", - "repo": "ixx", - "rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281", + "lastModified": 1767473322, + "narHash": "sha256-RGOeG+wQHeJ6BKcsSB8r0ZU77g9mDvoQzoTKj2dFHwA=", + "owner": "hyprwm", + "repo": "hyprwire", + "rev": "d5e7d6b49fe780353c1cf9a1cf39fa8970bd9d11", "type": "github" }, "original": { - "owner": "NuschtOS", - "ref": "v0.1.1", - "repo": "ixx", + "owner": "hyprwm", + "repo": "hyprwire", "type": "github" } }, @@ -1503,6 +1686,83 @@ "type": "github" } }, + "ndg": { + "inputs": { + "nixpkgs": [ + "nvf", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1765720983, + "narHash": "sha256-tWtukpABmux6EC/FuCJEgA1kmRjcRPtED44N+GGPq+4=", + "owner": "feel-co", + "repo": "ndg", + "rev": "f399ace8bb8e1f705dd8942b24d207aa4d75c936", + "type": "github" + }, + "original": { + "owner": "feel-co", + "repo": "ndg", + "type": "github" + } + }, + "niri": { + "inputs": { + "niri-stable": "niri-stable", + "niri-unstable": "niri-unstable", + "nixpkgs": "nixpkgs_6", + "nixpkgs-stable": "nixpkgs-stable", + "xwayland-satellite-stable": "xwayland-satellite-stable", + "xwayland-satellite-unstable": "xwayland-satellite-unstable" + }, + "locked": { + "lastModified": 1769170609, + "narHash": "sha256-LiyaKNga2z/iG4pNr86iQLySEDoOytEzTCblxzRjnCk=", + "owner": "sodiboo", + "repo": "niri-flake", + "rev": "08d6e6adf34b0af12be7eaeacc0b4c1a8580b3da", + "type": "github" + }, + "original": { + "owner": "sodiboo", + "repo": "niri-flake", + "type": "github" + } + }, + "niri-stable": { + "flake": false, + "locked": { + "lastModified": 1756556321, + "narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294", + "type": "github" + }, + "original": { + "owner": "YaLTeR", + "ref": "v25.08", + "repo": "niri", + "type": "github" + } + }, + "niri-unstable": { + "flake": false, + "locked": { + "lastModified": 1768678265, + "narHash": "sha256-Ub8eed4DsfIDWyg30xEe+8bSxL/z5Af/gCjmvJ0V/Hs=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "d7184a04b904e07113f4623610775ae78d32394c", + "type": "github" + }, + "original": { + "owner": "YaLTeR", + "repo": "niri", + "type": "github" + } + }, "nix": { "inputs": { "flake-compat": [ @@ -1529,16 +1789,16 @@ ] }, "locked": { - "lastModified": 1758763079, - "narHash": "sha256-Bx1A+lShhOWwMuy3uDzZQvYiBKBFcKwy6G6NEohhv6A=", + "lastModified": 1766922625, + "narHash": "sha256-O0wExzdYqSNqbPYCQhUWeoKlDa7q6wxhuWiHolxqdl8=", "owner": "cachix", "repo": "nix", - "rev": "6f0140527c2b0346df4afad7497baa08decb929f", + "rev": "c62c4bdb6673871ae5cdc51c498df6292d5169aa", "type": "github" }, "original": { "owner": "cachix", - "ref": "devenv-2.30.5", + "ref": "devenv-2.32", "repo": "nix", "type": "github" } @@ -1571,11 +1831,11 @@ ] }, "locked": { - "lastModified": 1760846226, - "narHash": "sha256-xmU8kAsRprJiTGBTaGrwmjBP3AMA9ltlrxHKFuy5JWc=", + "lastModified": 1765267181, + "narHash": "sha256-d3NBA9zEtBu2JFMnTBqWj7Tmi7R5OikoU2ycrdhQEws=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "5024e1901239a76b7bf94a4cd27f3507e639d49e", + "rev": "82befcf7dc77c909b0f2a09f5da910ec95c5b78f", "type": "github" }, "original": { @@ -1591,11 +1851,11 @@ ] }, "locked": { - "lastModified": 1760948931, - "narHash": "sha256-guAocn26kDPdkl6tPXJt5pPaIIsrGI4taw+1U3+FM7E=", + "lastModified": 1766997865, + "narHash": "sha256-pcmoWAlf/CSDFNptUAYKG3k8FwGNYSJBDF6li9+y+cI=", "owner": "Mic92", "repo": "nix-ld", - "rev": "a48b2dc9a256bcef9182f0f92c481de975302b1e", + "rev": "f388fe13b4370336982c53916744028465fbfc81", "type": "github" }, "original": { @@ -1608,14 +1868,14 @@ "inputs": { "flake-compat": "flake-compat_5", "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1760689525, - "narHash": "sha256-Dl0jvgL5NjgCGkQ8PCLmGIisWcbFhGWPqKRyIGJ9uus=", + "lastModified": 1767772998, + "narHash": "sha256-uW5BgnDOn41rlKn1JxdN7CU4bbOgZf+axEw8pBVP6RU=", "owner": "kaylorben", "repo": "nixcord", - "rev": "81d2f10a849c4312fefa0cf323dce0a1460dcbbe", + "rev": "d9f83906a12678900b2b36c3bdf7329e8efaa0c0", "type": "github" }, "original": { @@ -1624,13 +1884,40 @@ "type": "github" } }, + "nixd": { + "inputs": { + "flake-parts": [ + "devenv", + "flake-parts" + ], + "flake-root": "flake-root", + "nixpkgs": [ + "devenv", + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1763964548, + "narHash": "sha256-JTRoaEWvPsVIMFJWeS4G2isPo15wqXY/otsiHPN0zww=", + "owner": "nix-community", + "repo": "nixd", + "rev": "d4bf15e56540422e2acc7bc26b20b0a0934e3f5e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixd", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1759733170, - "narHash": "sha256-TXnlsVb5Z8HXZ6mZoeOAIwxmvGHp1g4Dw89eLvIwKVI=", + "lastModified": 1763966396, + "narHash": "sha256-6eeL1YPcY1MV3DDStIDIdy/zZCDKgHdkCmsrLJFiZf0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8913c168d1c56dc49a7718685968f38752171c3b", + "rev": "5ae3b07d8d6527c42f17c876e404993199144b6a", "type": "github" }, "original": { @@ -1658,11 +1945,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1753579242, - "narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=", + "lastModified": 1765674936, + "narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e", + "rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85", "type": "github" }, "original": { @@ -1671,13 +1958,29 @@ "type": "github" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1769089682, + "narHash": "sha256-9yA/LIuAVQq0lXelrZPjLuLVuZdm03p8tfmHhnDIkms=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "078d69f03934859a181e81ba987c2bb033eebfc5", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-unstable": { "locked": { - "lastModified": 1760878510, - "narHash": "sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs=", + "lastModified": 1767767207, + "narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5e2a59a5b1a82f89f2c7e598302a9cacebb72a67", + "rev": "5912c1772a44e31bf1c63c0390b90501e5026886", "type": "github" }, "original": { @@ -1688,6 +1991,22 @@ } }, "nixpkgs_10": { + "locked": { + "lastModified": 1767364772, + "narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "16c7794d0a28b5a37904d55bcca36003b9109aaa", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { "locked": { "lastModified": 1757487488, "narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=", @@ -1703,13 +2022,29 @@ "type": "github" } }, - "nixpkgs_11": { + "nixpkgs_12": { "locked": { - "lastModified": 1755615617, - "narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=", + "lastModified": 1762111121, + "narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_13": { + "locked": { + "lastModified": 1766902085, + "narHash": "sha256-coBu0ONtFzlwwVBzmjacUQwj3G+lybcZ1oeNSQkgC0M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "20075955deac2583bb12f07151c2df830ef346b4", + "rev": "c0b0e0fddf73fd517c3471e546c0df87a42d53f4", "type": "github" }, "original": { @@ -1737,11 +2072,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1760878510, - "narHash": "sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs=", + "lastModified": 1767379071, + "narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5e2a59a5b1a82f89f2c7e598302a9cacebb72a67", + "rev": "fb7944c166a3b630f177938e478f0378e64ce108", "type": "github" }, "original": { @@ -1769,11 +2104,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1752687322, - "narHash": "sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo=", + "lastModified": 1762363567, + "narHash": "sha256-YRqMDEtSMbitIMj+JLpheSz0pwEr0Rmy5mC7myl17xs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6e987485eb2c77e5dcc5af4e3c70843711ef9251", + "rev": "ae814fd3904b621d8ab97418f1d0f2eb0d3716f4", "type": "github" }, "original": { @@ -1785,27 +2120,43 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1754028485, - "narHash": "sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk=", + "lastModified": 1769018530, + "narHash": "sha256-MJ27Cy2NtBEV5tsK+YraYr2g851f3Fl1LpNHDzDX15c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "59e69648d345d6e8fef86158c555730fa12af9de", + "rev": "88d3861acdd3d2f0e361767018218e51810df8a1", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-25.05", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_7": { "locked": { - "lastModified": 1760878510, - "narHash": "sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs=", + "lastModified": 1766885793, + "narHash": "sha256-P6RVkrM9JLCW6xBjSwHfgTOQ1JwBUma5xe5LI8xAPC0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9ef261221d1e72399f2036786498d78c38185c46", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_8": { + "locked": { + "lastModified": 1767767207, + "narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5e2a59a5b1a82f89f2c7e598302a9cacebb72a67", + "rev": "5912c1772a44e31bf1c63c0390b90501e5026886", "type": "github" }, "original": { @@ -1815,29 +2166,13 @@ "type": "github" } }, - "nixpkgs_8": { - "locked": { - "lastModified": 1759632233, - "narHash": "sha256-krgZxGAIIIKFJS+UB0l8do3sYUDWJc75M72tepmVMzE=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d7f52a7a640bc54c7bb414cca603835bf8dd4b10", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_9": { "locked": { - "lastModified": 1760596604, - "narHash": "sha256-J/i5K6AAz/y5dBePHQOuzC7MbhyTOKsd/GLezSbEFiM=", + "lastModified": 1767026758, + "narHash": "sha256-7fsac/f7nh/VaKJ/qm3I338+wAJa/3J57cOGpXi0Sbg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3cbe716e2346710d6e1f7c559363d14e11c32a43", + "rev": "346dd96ad74dc4457a9db9de4f4f57dab2e5731d", "type": "github" }, "original": { @@ -1850,16 +2185,15 @@ "nixvim": { "inputs": { "flake-parts": "flake-parts_3", - "nixpkgs": "nixpkgs_8", - "nuschtosSearch": "nuschtosSearch", - "systems": "systems_5" + "nixpkgs": "nixpkgs_9", + "systems": "systems_4" }, "locked": { - "lastModified": 1760960598, - "narHash": "sha256-UP1v+sEkHuvD2+qyhxbkQpBR+dl9U0ljml3/dMI2jeU=", + "lastModified": 1767608728, + "narHash": "sha256-kmSJCTgrx+BxgqQOTPHAOkohvO+lbRsPWqu+PSPcz3I=", "owner": "nix-community", "repo": "nixvim", - "rev": "e3b77e803b2350b72f4d72c8f175ab0fbfe5a642", + "rev": "851399eebd0fb383d2fd76269d859f16021dc7a8", "type": "github" }, "original": { @@ -1868,6 +2202,26 @@ "type": "github" } }, + "noctalia": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1769206596, + "narHash": "sha256-4NjNjPwSW8GJpDSiuO16p/ukeSmgOrOHN2MEEJHJFNY=", + "owner": "noctalia-dev", + "repo": "noctalia-shell", + "rev": "0c56347d3a4181e6f093845b9b7a26d10c340d45", + "type": "github" + }, + "original": { + "owner": "noctalia-dev", + "repo": "noctalia-shell", + "type": "github" + } + }, "nur": { "inputs": { "flake-parts": [ @@ -1880,11 +2234,11 @@ ] }, "locked": { - "lastModified": 1758998580, - "narHash": "sha256-VLx0z396gDCGSiowLMFz5XRO/XuNV+4EnDYjdJhHvUk=", + "lastModified": 1764773531, + "narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=", "owner": "nix-community", "repo": "NUR", - "rev": "ba8d9c98f5f4630bcb0e815ab456afd90c930728", + "rev": "1d9616689e98beded059ad0384b9951e967a17fa", "type": "github" }, "original": { @@ -1893,45 +2247,23 @@ "type": "github" } }, - "nuschtosSearch": { - "inputs": { - "flake-utils": "flake-utils_2", - "ixx": "ixx", - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1758662783, - "narHash": "sha256-igrxT+/MnmcftPOHEb+XDwAMq3Xg1Xy7kVYQaHhPlAg=", - "owner": "NuschtOS", - "repo": "search", - "rev": "7d4c0fc4ffe3bd64e5630417162e9e04e64b27a4", - "type": "github" - }, - "original": { - "owner": "NuschtOS", - "repo": "search", - "type": "github" - } - }, "nvf": { "inputs": { "flake-compat": "flake-compat_6", "flake-parts": "flake-parts_4", "mnw": "mnw", + "ndg": "ndg", "nixpkgs": [ "nixpkgs" ], - "systems": "systems_6" + "systems": "systems_5" }, "locked": { - "lastModified": 1760153667, - "narHash": "sha256-F7KmXT/Izse6Q6CkD5GCImoGPaDJxl03Kd7eD+eY/bU=", + "lastModified": 1767766515, + "narHash": "sha256-Hr87qJDIi4rL/d0njZYPyKDjtom6lDF3AV2UZL+K/fk=", "owner": "notashelf", "repo": "nvf", - "rev": "9df9d51fd9fc8f9a8fc377f984ea3b7ae796172d", + "rev": "ceaae0eb2ece9e06159d6de80b0709e38d77f6a4", "type": "github" }, "original": { @@ -1950,11 +2282,11 @@ ] }, "locked": { - "lastModified": 1760663237, - "narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=", + "lastModified": 1767281941, + "narHash": "sha256-6MkqajPICgugsuZ92OMoQcgSHnD6sJHwk8AxvMcIgTE=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37", + "rev": "f0927703b7b1c8d97511c4116eb9b4ec6645a0fa", "type": "github" }, "original": { @@ -1974,11 +2306,11 @@ ] }, "locked": { - "lastModified": 1750779888, - "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", + "lastModified": 1762441963, + "narHash": "sha256-j+rNQ119ffYUkYt2YYS6rnd6Jh/crMZmbqpkGLXaEt0=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", + "rev": "8e7576e79b88c16d7ee3bbd112c8d90070832885", "type": "github" }, "original": { @@ -1996,11 +2328,11 @@ ] }, "locked": { - "lastModified": 1760663237, - "narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=", + "lastModified": 1767281941, + "narHash": "sha256-6MkqajPICgugsuZ92OMoQcgSHnD6sJHwk8AxvMcIgTE=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37", + "rev": "f0927703b7b1c8d97511c4116eb9b4ec6645a0fa", "type": "github" }, "original": { @@ -2009,28 +2341,77 @@ "type": "github" } }, + "quickshell": { + "inputs": { + "nixpkgs": [ + "caelestia-cli", + "caelestia-shell", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1766725085, + "narHash": "sha256-O2aMFdDUYJazFrlwL7aSIHbUSEm3ADVZjmf41uBJfHs=", + "ref": "refs/heads/master", + "rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff", + "revCount": 715, + "type": "git", + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" + }, + "original": { + "type": "git", + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" + } + }, + "quickshell_2": { + "inputs": { + "nixpkgs": [ + "caelestia-shell", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1766725085, + "narHash": "sha256-O2aMFdDUYJazFrlwL7aSIHbUSEm3ADVZjmf41uBJfHs=", + "ref": "refs/heads/master", + "rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff", + "revCount": 715, + "type": "git", + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" + }, + "original": { + "type": "git", + "url": "https://git.outfoxxed.me/outfoxxed/quickshell" + } + }, "root": { "inputs": { "ags": "ags", + "caelestia-cli": "caelestia-cli", + "caelestia-shell": "caelestia-shell_2", "colmena": "colmena", "devenv": "devenv", "home-manager": "home-manager", "hyprland": "hyprland", "hyprpolkitagent": "hyprpolkitagent", "hyprspace": "hyprspace", + "niri": "niri", "nix-index-database": "nix-index-database", "nix-ld": "nix-ld", "nixcord": "nixcord", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_8", "nixpkgs-24_05": "nixpkgs-24_05", "nixpkgs-unstable": "nixpkgs-unstable", "nixvim": "nixvim", + "noctalia": "noctalia", "nvf": "nvf", "pre-commit-hooks": "pre-commit-hooks_3", "secrets": "secrets", "sops-nix": "sops-nix", "stylix": "stylix", "superfile": "superfile", + "vicinae": "vicinae", + "vicinae-extensions": "vicinae-extensions", "zen-browser": "zen-browser" } }, @@ -2051,14 +2432,14 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_9" + "nixpkgs": "nixpkgs_10" }, "locked": { - "lastModified": 1760845571, - "narHash": "sha256-PwGzU3EOU65Ef1VvuNnVLie+l+P0g/fzf/PGUG82KbM=", + "lastModified": 1767826491, + "narHash": "sha256-WSBENPotD2MIhZwolL6GC9npqgaS5fkM7j07V2i/Ur8=", "owner": "Mic92", "repo": "sops-nix", - "rev": "9c9a9798be331ed3f4b2902933d7677d0659ee61", + "rev": "ea3adcb6d2a000d9a69d0e23cad1f2cacb3a9fbe", "type": "github" }, "original": { @@ -2096,7 +2477,7 @@ "nixpkgs" ], "nur": "nur", - "systems": "systems_7", + "systems": "systems_6", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -2104,11 +2485,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1760472212, - "narHash": "sha256-4C3I/ssFsq8EgaUmZP0xv5V7RV0oCHgL/Rx+MUkuE+E=", + "lastModified": 1767652667, + "narHash": "sha256-zsgfockkvK0JrSvzVAb8JeUq3SDdITu6ViUf7yeIpi4=", "owner": "danth", "repo": "stylix", - "rev": "8d008296a1b3be9b57ad570f7acea00dd2fc92db", + "rev": "a4406d9799d002c41296c72378a1094a8fc9aa1b", "type": "github" }, "original": { @@ -2120,16 +2501,16 @@ "superfile": { "inputs": { "flake-compat": "flake-compat_8", - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_2", "gomod2nix": "gomod2nix", - "nixpkgs": "nixpkgs_10" + "nixpkgs": "nixpkgs_11" }, "locked": { - "lastModified": 1760420543, - "narHash": "sha256-NJprvSummITIhJn+A2wTtQ8YhWLSWQN6j5gjnLqWSAc=", + "lastModified": 1767694207, + "narHash": "sha256-G96jz3u2a/UEt6qc+SZukPqFCTqR9u+TgPUDtC+z6PM=", "owner": "MHNightCat", "repo": "superfile", - "rev": "552b7f8a2ef839145326c5174985fb9b4de611b3", + "rev": "a434c557e5383253236ea43f7fe3b09ebbac6984", "type": "github" }, "original": { @@ -2258,6 +2639,21 @@ "type": "github" } }, + "systems_9": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tinted-foot": { "flake": false, "locked": { @@ -2294,11 +2690,11 @@ "tinted-schemes": { "flake": false, "locked": { - "lastModified": 1757716333, - "narHash": "sha256-d4km8W7w2zCUEmPAPUoLk1NlYrGODuVa3P7St+UrqkM=", + "lastModified": 1763914658, + "narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=", "owner": "tinted-theming", "repo": "schemes", - "rev": "317a5e10c35825a6c905d912e480dfe8e71c7559", + "rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c", "type": "github" }, "original": { @@ -2310,11 +2706,11 @@ "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1757811970, - "narHash": "sha256-n5ZJgmzGZXOD9pZdAl1OnBu3PIqD+X3vEBUGbTi4JiI=", + "lastModified": 1764465359, + "narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "d217ba31c846006e9e0ae70775b0ee0f00aa6b1e", + "rev": "edf89a780e239263cc691a987721f786ddc4f6aa", "type": "github" }, "original": { @@ -2326,11 +2722,11 @@ "tinted-zed": { "flake": false, "locked": { - "lastModified": 1757811247, - "narHash": "sha256-4EFOUyLj85NRL3OacHoLGEo0wjiRJzfsXtR4CZWAn6w=", + "lastModified": 1764464512, + "narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=", "owner": "tinted-theming", "repo": "base16-zed", - "rev": "824fe0aacf82b3c26690d14e8d2cedd56e18404e", + "rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a", "type": "github" }, "original": { @@ -2339,6 +2735,94 @@ "type": "github" } }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "devenv", + "nixd", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1734704479, + "narHash": "sha256-MMi74+WckoyEWBRcg/oaGRvXC9BVVxDZNRMpL+72wBI=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "65712f5af67234dad91a5a4baee986a8b62dbf8f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "vicinae": { + "inputs": { + "nixpkgs": "nixpkgs_12", + "systems": "systems_8" + }, + "locked": { + "lastModified": 1767815010, + "narHash": "sha256-OPBgcM2ZzbVEUS6lwRpJo2JBfiRK8TmYVSmZImEW2gA=", + "owner": "vicinaehq", + "repo": "vicinae", + "rev": "aab965dcf29529c5fab67b9c2fb5f8168f76fa1b", + "type": "github" + }, + "original": { + "owner": "vicinaehq", + "repo": "vicinae", + "type": "github" + } + }, + "vicinae-extensions": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems_9", + "vicinae": "vicinae_2" + }, + "locked": { + "lastModified": 1767678555, + "narHash": "sha256-/Yx97SOwvJXPxvv6e81j+ID87J9DQGq0QGYnmsWKoz8=", + "owner": "vicinaehq", + "repo": "extensions", + "rev": "e01fe274f037e4d2b7436718258fa898f80dc4b2", + "type": "github" + }, + "original": { + "owner": "vicinaehq", + "repo": "extensions", + "type": "github" + } + }, + "vicinae_2": { + "inputs": { + "nixpkgs": [ + "vicinae-extensions", + "nixpkgs" + ], + "systems": [ + "vicinae-extensions", + "systems" + ] + }, + "locked": { + "lastModified": 1763768455, + "narHash": "sha256-ZwqW2uH36vPUKrlbzDyz7NoFXKjJOT1Ijvlaz4sIp8E=", + "owner": "vicinaehq", + "repo": "vicinae", + "rev": "5c965e0777dc4bcb01808c7f214dc56f997bd9c7", + "type": "github" + }, + "original": { + "owner": "vicinaehq", + "repo": "vicinae", + "type": "github" + } + }, "xdph": { "inputs": { "hyprland-protocols": [ @@ -2367,11 +2851,11 @@ ] }, "locked": { - "lastModified": 1760713634, - "narHash": "sha256-5HXelmz2x/uO26lvW7MudnadbAfoBnve4tRBiDVLtOM=", + "lastModified": 1761431178, + "narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "753bbbdf6a052994da94062e5b753288cef28dfb", + "rev": "4b8801228ff958d028f588f0c2b911dbf32297f9", "type": "github" }, "original": { @@ -2414,11 +2898,11 @@ ] }, "locked": { - "lastModified": 1751300244, - "narHash": "sha256-PFuv1TZVYvQhha0ac53E3YgdtmLShrN0t4T6xqHl0jE=", + "lastModified": 1761431178, + "narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "6115f3fdcb2c1a57b4a80a69f3c797e47607b90a", + "rev": "4b8801228ff958d028f588f0c2b911dbf32297f9", "type": "github" }, "original": { @@ -2427,17 +2911,50 @@ "type": "github" } }, + "xwayland-satellite-stable": { + "flake": false, + "locked": { + "lastModified": 1755491097, + "narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=", + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "rev": "388d291e82ffbc73be18169d39470f340707edaa", + "type": "github" + }, + "original": { + "owner": "Supreeeme", + "ref": "v0.7", + "repo": "xwayland-satellite", + "type": "github" + } + }, + "xwayland-satellite-unstable": { + "flake": false, + "locked": { + "lastModified": 1768765571, + "narHash": "sha256-C1JbyJ3ftogmN3vmLNfyPtnJw2wY64TiUTIhFtk1Leg=", + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "rev": "ed1cef792b4def3321ff9ab5479df09609f17a69", + "type": "github" + }, + "original": { + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "type": "github" + } + }, "zen-browser": { "inputs": { "home-manager": "home-manager_2", - "nixpkgs": "nixpkgs_11" + "nixpkgs": "nixpkgs_13" }, "locked": { - "lastModified": 1760934351, - "narHash": "sha256-RehxVjBRC9EiBO36EPZROLHhVVSWFe3KEROhaEapboM=", + "lastModified": 1767763594, + "narHash": "sha256-5ysv8EuVAgDoYmNuXEUNf7vBzdeRaFxeIlIndv5HMvs=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "596c3ac14be576b93f5db9252a1b0581e453ec9f", + "rev": "8b2302d8c10369c9135552cc892da75cff5ddb03", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 96d2b57..4a33885 100644 --- a/flake.nix +++ b/flake.nix @@ -17,7 +17,11 @@ hyprspace = { url = "github:KZDKM/Hyprspace"; }; - + niri.url = "github:sodiboo/niri-flake"; + noctalia = { + url = "github:noctalia-dev/noctalia-shell"; + inputs.nixpkgs.follows = "nixpkgs"; + }; # Home manager home-manager.url = "github:nix-community/home-manager/master"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; @@ -66,6 +70,19 @@ pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix"; pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs"; colmena.url = "github:zhaofengli/colmena"; + vicinae.url = "github:vicinaehq/vicinae"; + vicinae-extensions = { + url = "github:vicinaehq/extensions"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + caelestia-shell = { + url = "github:caelestia-dots/shell"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + caelestia-cli = { + url = "github:caelestia-dots/cli"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = @@ -75,6 +92,7 @@ home-manager, colmena, nix-ld, + vicinae, ... }@inputs: let @@ -197,6 +215,7 @@ ./home-manager/machines/candlekeep.nix inputs.nixcord.homeModules.nixcord inputs.stylix.homeModules.stylix + inputs.vicinae.homeManagerModules.default ]; }; }; diff --git a/home-manager/machines/candlekeep.nix b/home-manager/machines/candlekeep.nix index 6c9d961..3a72462 100644 --- a/home-manager/machines/candlekeep.nix +++ b/home-manager/machines/candlekeep.nix @@ -26,12 +26,14 @@ ../modules/common.nix ../../common/style/vars/vars.nix ../modules/hyprland + # ../modules/niri ../modules/common-gui.nix ../modules/linux-gui.nix ../modules/devenv.nix ../modules/ssh.nix ../modules/gh-dash.nix ../modules/ags.nix + ../modules/vesktop.nix # ../modules/neovim ../modules/yazi.nix # ../modules/hyprpanel.nix diff --git a/home-manager/machines/dorino.nix b/home-manager/machines/dorino.nix index 2180bb6..f274f29 100644 --- a/home-manager/machines/dorino.nix +++ b/home-manager/machines/dorino.nix @@ -7,7 +7,8 @@ config, pkgs, ... -}: { +}: +{ # You can import other home-manager modules here imports = [ # If you want to use modules your own flake exports (from modules/home-manager): @@ -80,7 +81,7 @@ }; emoji = { - package = pkgs.noto-fonts-emoji; + package = pkgs.noto-fonts-color-emoji; name = "Noto Color Emoji"; }; }; diff --git a/home-manager/modules/caelestia-shell/appearance.nix b/home-manager/modules/caelestia-shell/appearance.nix new file mode 100644 index 0000000..28bfb91 --- /dev/null +++ b/home-manager/modules/caelestia-shell/appearance.nix @@ -0,0 +1,51 @@ +{ + pkgs, + config, + ... +}: +let + rounding = config.theme.rounding + config.theme.gaps-out; + inherit (config.stylix) fonts; +in +{ + home.packages = with pkgs; [ + papirus-icon-theme + ]; + + programs.caelestia.settings = { + paths.sessionGif = ./session-gif-hacker-cat.gif; + background.enabled = true; + appearance = { + transparency = { + enable = true; + base = 0.85; + layers = 0.4; + }; + font.family = { + material = "Material Symbols Rounded"; + mono = fonts.monospace.name; + sans = fonts.sansSerif.name; + }; + }; + utilities = { + enabled = true; + maxToasts = 4; + toasts = { + audioInputChanged = true; + audioOutputChanged = true; + capsLockChanged = false; + chargingChanged = true; + configLoaded = false; + dndChanged = true; + gameModeChanged = true; + numLockChanged = false; + nowPlaying = false; + kbLayoutChanged = false; + }; + }; + border = { + inherit rounding; + thickness = 8; + }; + }; +} diff --git a/home-manager/modules/caelestia-shell/bar.nix b/home-manager/modules/caelestia-shell/bar.nix new file mode 100644 index 0000000..b85de87 --- /dev/null +++ b/home-manager/modules/caelestia-shell/bar.nix @@ -0,0 +1,69 @@ +{ + programs.caelestia.settings.bar = { + clock.showIcon = false; + popouts.activeWindow = false; + persistent = true; + status = { + showBattery = true; + showMicrophone = false; + showLockStatus = false; + showBluetooth = true; + showAudio = true; + showKbLayout = false; + showNetwork = true; + }; + workspaces = { + activeIndicator = true; + activeLabel = "󰪥 "; + activeTrail = false; + label = " "; + occupiedBg = true; + occupiedLabel = "󰪥 "; + rounded = true; + showWindows = false; + shown = 5; + }; + entries = [ + { + id = "logo"; + enabled = true; + } + { + id = "workspaces"; + enabled = true; + } + { + id = "spacer"; + enabled = true; + } + { + id = "activeWindow"; + enabled = true; + } + { + id = "spacer"; + enabled = true; + } + { + id = "tray"; + enabled = true; + } + { + id = "clock"; + enabled = true; + } + { + id = "statusIcons"; + enabled = true; + } + { + id = "power"; + enabled = true; + } + ]; + tray = { + background = false; + recolour = false; + }; + }; +} diff --git a/home-manager/modules/caelestia-shell/bindings.nix b/home-manager/modules/caelestia-shell/bindings.nix new file mode 100644 index 0000000..82665fc --- /dev/null +++ b/home-manager/modules/caelestia-shell/bindings.nix @@ -0,0 +1,58 @@ +{ + wayland.windowManager.hyprland.settings = { + bindin = [ + # Launcher + "$mod, mouse:272, global, caelestia:launcherInterrupt" + "$mod, mouse:273, global, caelestia:launcherInterrupt" + "$mod, mouse:274, global, caelestia:launcherInterrupt" + "$mod, mouse:275, global, caelestia:launcherInterrupt" + "$mod, mouse:276, global, caelestia:launcherInterrupt" + "$mod, mouse:277, global, caelestia:launcherInterrupt" + "$mod, mouse_up, global, caelestia:launcherInterrupt" + "$mod, mouse_down, global, caelestia:launcherInterrupt" + ]; + bind = [ + # Launcher + "$mod, SPACE, global, caelestia:launcher" + "$mod, X, global, caelestia:session" # Powermenu + + # Misc + "$mod, L, global, caelestia:lock" + "$mod, N, exec, caelestia shell drawers toggle sidebar" + + # Utilities + "$mod+Shift, SPACE, exec, caelestia shell gameMode toggle" # Toggle Focus/Game mode + "$mod+Shift, S, global, caelestia:screenshotFreeze" # Capture region (freeze) + "$mod+Shift+Alt, S, global, caelestia:screenshot" # Capture region + "$mod+Alt, R, exec, caelestia record -s" # Record screen with sound + "Ctrl+Alt, R, exec, caelestia record" # Record screen + "$mod+Shift+Alt, R, exec, caelestia record -r" # Record region + + "$mod+Shift, E, exec, pkill fuzzel || caelestia emoji -p" + ]; + bindl = [ + # Brightness + ", XF86MonBrightnessUp, global, caelestia:brightnessUp" + ", XF86MonBrightnessDown, global, caelestia:brightnessDown" + "$mod, F2, exec, nightshift-toggle" + "$mod, F3, exec, nightshift-toggle" + + # Media + ", XF86AudioPlay, global, caelestia:mediaToggle" + ", XF86AudioPause, global, caelestia:mediaToggle" + ", XF86AudioNext, global, caelestia:mediaNext" + ", XF86AudioPrev, global, caelestia:mediaPrev" + ", XF86AudioStop, global, caelestia:mediaStop" + + # Sound + ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" + + # Utilities + ", Print, exec, caelestia screenshot" # Full screen capture > clipboard + ]; + bindle = [ + ", XF86AudioRaiseVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+" + ", XF86AudioLowerVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" + ]; + }; +} diff --git a/home-manager/modules/caelestia-shell/default.nix b/home-manager/modules/caelestia-shell/default.nix new file mode 100644 index 0000000..6cba6a9 --- /dev/null +++ b/home-manager/modules/caelestia-shell/default.nix @@ -0,0 +1,62 @@ +{ + pkgs, + inputs, + ... +}: +{ + imports = [ + inputs.caelestia-shell.homeManagerModules.default + ./bindings.nix + ./bar.nix + ./launcher.nix + ./appearance.nix + ./scheme.nix + ]; + + programs.caelestia = { + enable = true; + systemd.enable = false; + settings = { + services.weatherLocation = "Ottawa"; + services.useFahrenheit = false; + general = { + apps = { + terminal = [ "ghostty" ]; + audio = [ "pavucontrol" ]; + explorer = [ "thunar" ]; + }; + idle = { + timeouts = [ ]; + }; + }; + }; + cli = { + enable = true; + settings.theme = { + enableTerm = false; + enableDiscord = false; + enableSpicetify = false; + enableBtop = false; + enableCava = false; + enableHypr = false; + enableGtk = false; + enableQt = false; + }; + }; + }; + + home.packages = with pkgs; [ + gpu-screen-recorder + ]; + + wayland.windowManager.hyprland.settings.exec-once = [ + "uwsm app -- caelestia resizer -d" + "uwsm app -- caelestia shell -d" + "caelestia scheme set -n custom" + ]; + + services.cliphist = { + enable = true; + allowImages = true; + }; +} diff --git a/home-manager/modules/caelestia-shell/launcher.nix b/home-manager/modules/caelestia-shell/launcher.nix new file mode 100644 index 0000000..36e4418 --- /dev/null +++ b/home-manager/modules/caelestia-shell/launcher.nix @@ -0,0 +1,174 @@ +{ + programs.caelestia.settings = { + session.commands = { + logout = [ + "loginctl" + "terminate-user" + "" + ]; + shutdown = [ + "systemctl" + "poweroff" + ]; + hibernate = [ + "systemctl" + "hibernate" + ]; + reboot = [ + "systemctl" + "reboot" + ]; + }; + launcher = { + actionPrefix = "/"; + actions = [ + { + name = "Calculator"; + icon = "calculate"; + description = "Do simple math equations (powered by Qalc)"; + command = [ + "autocomplete" + "calc" + ]; + enabled = true; + dangerous = false; + } + { + name = "Shutdown"; + icon = "power_settings_new"; + description = "Shutdown the system"; + command = [ + "systemctl" + "poweroff" + ]; + enabled = true; + dangerous = true; + } + { + name = "Reboot"; + icon = "cached"; + description = "Reboot the system"; + command = [ + "systemctl" + "reboot" + ]; + enabled = true; + dangerous = true; + } + { + name = "Logout"; + icon = "exit_to_app"; + description = "Log out of the current session"; + command = [ + "loginctl" + "terminate-user" + "" + ]; + enabled = true; + dangerous = true; + } + { + name = "Lock"; + icon = "lock"; + description = "Lock the current session"; + command = [ + "loginctl" + "lock-session" + ]; + enabled = true; + dangerous = false; + } + { + name = "Sleep"; + icon = "bedtime"; + description = "Suspend then hibernate"; + command = [ + "systemctl" + "suspend-then-hibernate" + ]; + enabled = true; + dangerous = false; + } + { + name = "Restart caelestia"; + icon = "cached"; + description = "Restart caelestia"; + command = [ + "hyprctl" + "dispatch" + "exec" + "caelestia-shell kill | sleep 1 | caelestia-shell" + ]; + enabled = true; + dangerous = false; + } + { + name = "Emoji Picker"; + icon = "mood"; + description = "Toggle the emoji picker"; + command = [ + "caelestia" + "emoji" + "-p" + ]; + enabled = true; + dangerous = false; + } + { + name = "Clipboard History"; + icon = "content_paste"; + description = "Toggle the clipboard history"; + command = [ + "caelestia" + "clipboard" + ]; + enabled = true; + dangerous = false; + } + { + name = "Delete from Clipboard History"; + icon = "content_paste_off"; + description = "Delete a line from the clipboard history"; + command = [ + "caelestia" + "clipboard" + ]; + enabled = true; + dangerous = false; + } + { + name = "Night Shift"; + icon = "moon_stars"; + description = "Toggle Night Shift, the blue light filter"; + command = [ "nightshift-toggle" ]; + enabled = true; + dangerous = false; + } + { + name = "Hyprpicker"; + icon = "colorize"; + description = "Pick an hex color"; + command = [ + "hyprpicker" + "-a" + ]; + enabled = true; + dangerous = false; + } + ]; + dragThreshold = 50; + enableDangerousActions = false; + maxShown = 7; + specialPrefix = "@"; + useFuzzy = { + apps = false; + actions = false; + schemes = false; + variants = false; + wallpapers = false; + }; + showOnHover = false; + hiddenApps = [ ]; + }; + }; +} diff --git a/home-manager/modules/caelestia-shell/scheme.nix b/home-manager/modules/caelestia-shell/scheme.nix new file mode 100644 index 0000000..e1ff316 --- /dev/null +++ b/home-manager/modules/caelestia-shell/scheme.nix @@ -0,0 +1,135 @@ +{ + pkgs, + inputs, + config, + ... +}: +let + colors = config.lib.stylix.colors; + + customSchemeFile = pkgs.writeText "custom-dark.txt" '' + primary_paletteKeyColor ${colors.base0D} + secondary_paletteKeyColor ${colors.base04} + tertiary_paletteKeyColor ${colors.base08} + neutral_paletteKeyColor ${colors.base03} + neutral_variant_paletteKeyColor ${colors.base03} + background ${colors.base00} + onBackground ${colors.base05} + surface ${colors.base00} + surfaceDim ${colors.base00} + surfaceBright ${colors.base02} + surfaceContainerLowest ${colors.base01} + surfaceContainerLow ${colors.base01} + surfaceContainer ${colors.base01} + surfaceContainerHigh ${colors.base02} + surfaceContainerHighest ${colors.base02} + onSurface ${colors.base05} + surfaceVariant ${colors.base02} + onSurfaceVariant ${colors.base04} + inverseSurface ${colors.base05} + inverseOnSurface ${colors.base00} + outline ${colors.base03} + outlineVariant ${colors.base02} + shadow ${colors.base00} + scrim ${colors.base00} + surfaceTint ${colors.base0D} + primary ${colors.base0D} + onPrimary ${colors.base00} + primaryContainer ${colors.base0D} + onPrimaryContainer ${colors.base05} + inversePrimary ${colors.base0D} + secondary ${colors.base0C} + onSecondary ${colors.base00} + secondaryContainer ${colors.base02} + onSecondaryContainer ${colors.base0C} + tertiary ${colors.base08} + onTertiary ${colors.base00} + tertiaryContainer ${colors.base08} + onTertiaryContainer ${colors.base00} + error ${colors.base08} + onError ${colors.base00} + errorContainer ${colors.base08} + onErrorContainer ${colors.base05} + primaryFixed ${colors.base0D} + primaryFixedDim ${colors.base0D} + onPrimaryFixed ${colors.base00} + onPrimaryFixedVariant ${colors.base00} + secondaryFixed ${colors.base0C} + secondaryFixedDim ${colors.base0C} + onSecondaryFixed ${colors.base00} + onSecondaryFixedVariant ${colors.base02} + tertiaryFixed ${colors.base08} + tertiaryFixedDim ${colors.base08} + onTertiaryFixed ${colors.base00} + onTertiaryFixedVariant ${colors.base00} + term0 ${colors.base00} + term1 ${colors.base08} + term2 ${colors.base0B} + term3 ${colors.base0A} + term4 ${colors.base0D} + term5 ${colors.base0E} + term6 ${colors.base0C} + term7 ${colors.base05} + term8 ${colors.base03} + term9 ${colors.base08} + term10 ${colors.base0B} + term11 ${colors.base0A} + term12 ${colors.base0D} + term13 ${colors.base0E} + term14 ${colors.base0C} + term15 ${colors.base07} + rosewater ${colors.base06} + flamingo ${colors.base0F} + pink ${colors.base0E} + mauve ${colors.base0D} + red ${colors.base08} + maroon ${colors.base08} + peach ${colors.base09} + yellow ${colors.base0A} + green ${colors.base0B} + teal ${colors.base0C} + sky ${colors.base0C} + sapphire ${colors.base0C} + blue ${colors.base0D} + lavender ${colors.base0D} + klink ${colors.base0D} + klinkSelection ${colors.base0D} + kvisited ${colors.base0E} + kvisitedSelection ${colors.base0E} + knegative ${colors.base08} + knegativeSelection ${colors.base08} + kneutral ${colors.base0A} + kneutralSelection ${colors.base0A} + kpositive ${colors.base0B} + kpositiveSelection ${colors.base0B} + text ${colors.base05} + subtext1 ${colors.base04} + subtext0 ${colors.base03} + overlay2 ${colors.base03} + overlay1 ${colors.base03} + overlay0 ${colors.base02} + surface2 ${colors.base02} + surface1 ${colors.base01} + surface0 ${colors.base01} + base ${colors.base00} + mantle ${colors.base00} + crust ${colors.base00} + success ${colors.base0B} + onSuccess ${colors.base00} + successContainer ${colors.base0B} + onSuccessContainer ${colors.base05} + ''; + + customCli = + inputs.caelestia-cli.packages.${pkgs.stdenv.hostPlatform.system}.default.overrideAttrs + (oldAttrs: { + postUnpack = '' + mkdir -p $sourceRoot/src/caelestia/data/schemes/custom/main + cp ${customSchemeFile} $sourceRoot/src/caelestia/data/schemes/custom/main/dark.txt + echo "Custom scheme added to source" + ''; + }); +in +{ + programs.caelestia.cli.package = customCli; +} diff --git a/home-manager/modules/caelestia-shell/session-gif-hacker-cat.gif b/home-manager/modules/caelestia-shell/session-gif-hacker-cat.gif new file mode 100644 index 0000000000000000000000000000000000000000..4cc58d5ef52501ff07b184cdb6b202a7f4586656 GIT binary patch literal 52409 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 MAX )) && new=$MAX + elif [[ "$1" == "down" ]]; then + new=$((current - STEP)) + (( new < MIN )) && new=$MIN + else + exit 1 + fi + + ddcutil --bus=$BUS setvcp 10 "$new" + echo "$new" > "$OSD_FILE" + ''; +in +{ + home.packages = [ + brightnessScript + ]; +} diff --git a/home-manager/modules/niri/settings.nix b/home-manager/modules/niri/settings.nix new file mode 100644 index 0000000..59058d6 --- /dev/null +++ b/home-manager/modules/niri/settings.nix @@ -0,0 +1,145 @@ +{ + config, + pkgs, + ... +}: +{ + home.sessionVariables = { + XDG_ICON_DIR = "${pkgs.whitesur-icon-theme}/share/icons/WhiteSur"; + GSETTINGS_SCHEMA_DIR = "${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}/glib-2.0/schemas"; + XCURSOR_THEME = "Bibata-Original-Ice"; + XCURSOR_SIZE = "20"; + }; + programs.niri = { + enable = true; + package = pkgs.niri; + settings = { + environment = { + # CLUTTER_BACKEND = "wayland"; + # DISPLAY = null; + # MOZ_ENABLE_WAYLAND = "1"; + # NIXOS_OZONE_WL = "1"; + # QT_QPA_PLATFORM = "wayland;xcb"; + # QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + SDL_VIDEODRIVER = "wayland"; + WLR_RENDERER = "vulkan"; + WLR_NO_HARDWARE_CURSORS = "1"; + QT_QPA_PLATFORMTHEME = "qt6ct"; + GTK_IM_MODULE = "simple"; + }; + spawn-at-startup = [ + { + command = [ + "noctalia-shell" + ]; + } + ]; + + prefer-no-csd = true; + + hotkey-overlay = { + skip-at-startup = true; + }; + + layout = { + preset-column-widths = [ + { proportion = 1. / 3.; } + { proportion = 1. / 2.; } + { proportion = 2. / 3.; } + ]; + default-column-width = { + proportion = 0.5; + }; + + preset-window-heights = [ + { proportion = 1. / 3.; } + { proportion = 1. / 2.; } + { proportion = 2. / 3.; } + ]; + + background-color = "#00000000"; + + focus-ring = { + enable = true; + width = 3; + active = { + color = "#A8AEFF"; + }; + inactive = { + color = "#505050"; + }; + }; + + gaps = 6; + + struts = { + left = 20; + right = 20; + top = 20; + bottom = 20; + }; + }; + + input = { + touchpad = { + click-method = "button-areas"; + dwt = true; + dwtp = true; + natural-scroll = true; + scroll-method = "two-finger"; + tap = true; + tap-button-map = "left-right-middle"; + middle-emulation = true; + accel-profile = "adaptive"; + }; + focus-follows-mouse.enable = true; + warp-mouse-to-focus.enable = false; + }; + + outputs = { + "eDP-1" = { + mode = { + width = 1920; + height = 1080; + }; + scale = 1.0; + position = { + x = 0; + y = 0; + }; + }; + + "desc:Microstep MSI MP161 E2 PB7H314B00225" = { + mode = { + width = 1920; + height = 1080; + }; + scale = 1.0; + position = { + x = 0; + y = 1080; + }; + }; + }; + + cursor = { + size = 20; + theme = "Adwaita"; + }; + + environment = { + CLUTTER_BACKEND = "wayland"; + GDK_BACKEND = "wayland,x11"; + MOZ_ENABLE_WAYLAND = "1"; + NIXOS_OZONE_WL = "1"; + QT_QPA_PLATFORM = "wayland"; + QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; + ELECTRON_OZONE_PLATFORM_HINT = "auto"; + + XDG_SESSION_TYPE = "wayland"; + XDG_CURRENT_DESKTOP = "niri"; + DISPLAY = ":0"; + }; + }; + }; +} diff --git a/home-manager/modules/nvf/default.nix b/home-manager/modules/nvf/default.nix index 0f5d306..2bb0f9b 100644 --- a/home-manager/modules/nvf/default.nix +++ b/home-manager/modules/nvf/default.nix @@ -55,5 +55,52 @@ }) ''; }; + settings.vim.augroups = [ + { name = "SwiftSetup"; } + ]; + + settings.vim.autocmds = [ + # Start Swift LSP automatically for Swift files + { + event = [ "FileType" ]; + pattern = [ "swift" ]; + group = "SwiftSetup"; + desc = "Start sourcekit-lsp for Swift files"; + callback = lib.generators.mkLuaInline '' + function() + local lspconfig = require("lspconfig") + + -- Avoid starting LSP multiple times + for _, client in pairs(vim.lsp.get_active_clients()) do + if client.name == "sourcekit" then + return + end + end + + lspconfig.sourcekit.setup({ + cmd = { "sourcekit-lsp" }, + filetypes = { "swift", "swiftpm" }, + root_dir = lspconfig.util.root_pattern("Package.swift", ".git"), + }) + end + ''; + } + + # Format Swift files on save using swift-format + { + event = [ "BufWritePost" ]; + pattern = [ "*.swift" ]; + group = "SwiftSetup"; + desc = "Format Swift files on save"; + callback = lib.generators.mkLuaInline '' + function() + if vim.fn.executable("swift-format") == 1 then + vim.cmd("silent! noautocmd !swift-format -i %") + vim.cmd("checktime") + end + end + ''; + } + ]; }; } diff --git a/home-manager/modules/nvf/languages.nix b/home-manager/modules/nvf/languages.nix index 997c48f..7e4e4a5 100644 --- a/home-manager/modules/nvf/languages.nix +++ b/home-manager/modules/nvf/languages.nix @@ -41,7 +41,6 @@ context.enable = true; highlight = { enable = true; - additionalVimRegexHighlighting = true; }; }; lsp = { diff --git a/home-manager/modules/ssh.nix b/home-manager/modules/ssh.nix index e7fb17a..1034db4 100644 --- a/home-manager/modules/ssh.nix +++ b/home-manager/modules/ssh.nix @@ -32,6 +32,9 @@ hostname = "grymforge.zt"; # added to hosts in zerotier config user = "gwg313"; identityFile = "/home/gwg313/.ssh/home/id_ed25519"; + extraOptions = { + "VisualHostKey" = "no"; + }; }; "waypoint" = { @@ -57,6 +60,28 @@ user = "root"; identityFile = "/home/gwg313/.ssh/colmena/id_ed25519"; }; + + "qnx" = { + hostname = "10.1.40.32"; + user = "qnxuser"; + identitiesOnly = true; + identityFile = "/home/gwg313/.ssh/qnxuser"; + extraOptions = { + "Ciphers" = "aes256-ctr"; + }; + }; + + "qnxzt" = { + hostname = "10.1.40.32"; + user = "qnxuser"; + identitiesOnly = true; + identityFile = "/home/gwg313/.ssh/qnxuser"; + proxyJump = "grymforge.zt"; + extraOptions = { + "Ciphers" = "aes256-ctr"; + "VisualHostKey" = "no"; + }; + }; }; }; } diff --git a/home-manager/modules/vesktop.nix b/home-manager/modules/vesktop.nix new file mode 100644 index 0000000..eebf3cd --- /dev/null +++ b/home-manager/modules/vesktop.nix @@ -0,0 +1,186 @@ +{ pkgs, ... }: +{ + services.arrpc.enable = true; + + home.packages = with pkgs; [ + discord-ptb # Used for completing Discord quests + ]; + + programs.nixcord = { + enable = true; + discord.enable = false; + + vesktop.enable = true; + vesktop.useSystemVencord = false; + + config = { + themeLinks = [ + # "https://raw.githubusercontent.com/refact0r/system24/refs/heads/main/theme/system24.theme.css" + "https://catppuccin.github.io/discord/dist/catppuccin-mocha.theme.css" + # "https://catppuccin.github.io/discord/dist/catppuccin-mocha-lavender.theme.css" + ]; + frameless = true; + disableMinSize = true; + plugins = { + accountPanelServerProfile.enable = true; + alwaysExpandRoles.enable = true; + alwaysTrust.enable = true; + anonymiseFileNames.enable = true; + betterGifAltText.enable = true; + betterGifPicker.enable = true; + betterNotesBox.enable = true; + betterRoleContext.enable = true; + betterRoleDot.enable = true; + betterSessions.enable = false; + betterSettings.enable = true; + betterUploadButton.enable = true; + biggerStreamPreview.enable = true; + BlurNSFW.enable = true; + callTimer = { + enable = true; + format = "human"; + }; + ClearURLs.enable = true; + colorSighted.enable = true; + consoleJanitor.enable = true; + consoleShortcuts.enable = true; + copyEmojiMarkdown.enable = true; + copyFileContents.enable = true; + CopyUserURLs.enable = true; + CustomRPC = { + enable = false; # TODO + }; + dearrow.enable = true; + decor.enable = true; + disableCallIdle.enable = true; + dontRoundMyTimestamps.enable = true; + experiments = { + enable = true; + toolbarDevMenu = true; + }; + f8Break.enable = true; + fakeProfileThemes.enable = true; + favoriteEmojiFirst.enable = true; + favoriteGifSearch.enable = true; + fixCodeblockGap.enable = true; + fixImagesQuality.enable = true; + fixSpotifyEmbeds.enable = true; + fixYoutubeEmbeds.enable = true; + forceOwnerCrown.enable = true; + friendInvites.enable = true; + friendsSince.enable = true; + fullSearchContext.enable = true; + gameActivityToggle.enable = true; + gifPaste.enable = true; + greetStickerPicker.enable = true; + iLoveSpam.enable = true; + imageLink.enable = true; + imageZoom = { + enable = true; + nearestNeighbour = true; + }; + implicitRelationships.enable = true; + # invisibleChat.enable = true; # Equicord only + keepCurrentChannel.enable = true; + memberCount.enable = true; + mentionAvatars.enable = true; + messageClickActions = { + enable = true; + enableDoubleClickToEdit = false; + enableDoubleClickToReply = false; + }; + messageLatency = { + enable = true; + latency = 4; + }; + messageLinkEmbeds.enable = true; + messageLogger.enable = true; + messageTags.enable = true; + # moreCommands.enable = true; + # moreKaomoji.enable = true; + # moreUserTags.enable = true; + MutualGroupDMs.enable = true; + newGuildSettings = { + enable = true; + # Values: 0 = All messages, 1 = Only @mentions, 2 = Nothing, 3 = Server default''; + messages = 1; + role = false; + }; + noBlockedMessages.enable = true; + noDevtoolsWarning.enable = true; + noF1.enable = true; + noMosaic.enable = true; + noOnboardingDelay.enable = true; + noPendingCount.enable = true; + noTypingAnimation.enable = true; + noUnblockToJump.enable = true; + normalizeMessageLinks.enable = true; + openInApp.enable = true; + overrideForumDefaults.enable = true; + permissionFreeWill.enable = true; + permissionsViewer.enable = true; + petpet.enable = true; + pictureInPicture.enable = true; + PinDMs.enable = true; + platformIndicators.enable = true; + previewMessage.enable = true; + quickMention.enable = true; + quickReply.enable = true; + reactErrorDecoder.enable = true; + readAllNotificationsButton.enable = true; + relationshipNotifier.enable = true; + replaceGoogleSearch.enable = true; + replyTimestamp.enable = true; + revealAllSpoilers.enable = true; + reverseImageSearch.enable = true; + roleColorEverywhere.enable = true; + summaries.enable = true; + sendTimestamps.enable = true; + serverInfo.enable = true; + shikiCodeblocks.enable = true; + showAllMessageButtons.enable = true; + showConnections.enable = true; + showHiddenChannels = { + enable = true; + # Values: 0 = Lock Icon replacing channel icon, 2 = Eye icon on the right, 1 = Lock icon on the right + showMode = 0; + }; + showHiddenThings.enable = true; + showTimeoutDuration.enable = true; + silentMessageToggle.enable = true; + sortFriendRequests.enable = true; + spotifyControls.enable = true; + spotifyCrack.enable = true; + spotifyShareCommands.enable = true; + startupTimings.enable = true; + streamerModeOnStream.enable = true; + themeAttributes.enable = true; + translate.enable = true; + typingIndicator.enable = true; + typingTweaks.enable = true; + unindent.enable = true; + unlockedAvatarZoom.enable = true; + unsuppressEmbeds.enable = true; + userVoiceShow.enable = true; + validReply.enable = true; + validUser.enable = true; + voiceChatDoubleClick.enable = true; + vencordToolbox.enable = true; + viewIcons.enable = true; + viewRaw.enable = true; + voiceDownload.enable = true; + voiceMessages.enable = true; + volumeBooster.enable = true; + youtubeAdblock.enable = true; + }; + }; + + vesktopConfig = { + plugins = { + webKeybinds.enable = true; + webRichPresence.enable = true; + webScreenShareFixes.enable = true; + }; + }; + }; +} diff --git a/home-manager/modules/vicinae.nix b/home-manager/modules/vicinae.nix new file mode 100644 index 0000000..0cfc632 --- /dev/null +++ b/home-manager/modules/vicinae.nix @@ -0,0 +1,37 @@ +{ + inputs, + pkgs, + ... +}: +{ + # ... + + services.vicinae = { + enable = true; + systemd = { + enable = true; + autoStart = true; + environment = { + USE_LAYER_SHELL = 1; + }; + }; + settings = { + close_on_focus_loss = true; + consider_preedit = true; + pop_to_root_on_close = true; + favicon_service = "twenty"; + search_files_in_root = true; + font = { + normal = { + size = 12; + normal = "Comic Code Ligatures"; + }; + }; + }; + extensions = with inputs.vicinae-extensions.packages.${pkgs.stdenv.hostPlatform.system}; [ + bluetooth + nix + power-profile + ]; + }; +} diff --git a/home-manager/modules/zen.nix b/home-manager/modules/zen.nix index 9f83f37..8f92506 100644 --- a/home-manager/modules/zen.nix +++ b/home-manager/modules/zen.nix @@ -1,5 +1,9 @@ # Zen is a minimalistic web browser. -{ inputs, ... }: +{ + inputs, + config, + ... +}: { imports = [ inputs.zen-browser.homeModules.beta diff --git a/hosts/seikan/routes.nix b/hosts/seikan/routes.nix index 32027a6..780393a 100644 --- a/hosts/seikan/routes.nix +++ b/hosts/seikan/routes.nix @@ -93,9 +93,9 @@ } ]; - a3-dev_zt.loadBalancer.servers = [ + pm_zt.loadBalancer.servers = [ { - url = "https://a3-dev.zerotier.gwg313.xyz"; + url = "https://pm.zerotier.gwg313.xyz"; } ]; }; @@ -220,10 +220,10 @@ middlewares = [ "headers" ]; }; - a3-dev_zt = { + pm_zt = { entryPoints = [ "websecure" ]; - rule = "Host(`a3-dev.gwg313.xyz`)"; - service = "a3-dev_zt"; + rule = "Host(`pm.gwg313.xyz`)"; + service = "pm_zt"; tls.certResolver = "le"; middlewares = [ "headers" ]; }; diff --git a/hosts/waypoint/routes.nix b/hosts/waypoint/routes.nix index 56328c0..58b18ee 100644 --- a/hosts/waypoint/routes.nix +++ b/hosts/waypoint/routes.nix @@ -124,10 +124,10 @@ middlewares = [ "headers" ]; }; - a3-dev = { + pm = { entryPoints = [ "websecure" ]; - rule = "Host(`a3-dev.gwg313.xyz`)"; - service = "a3-dev_local"; + rule = "Host(`pm.gwg313.xyz`)"; + service = "pm_local"; tls.certResolver = "le"; middlewares = [ "headers" ]; }; diff --git a/hosts/waypoint/routes_zerotier.nix b/hosts/waypoint/routes_zerotier.nix index f971f02..2bc8a09 100644 --- a/hosts/waypoint/routes_zerotier.nix +++ b/hosts/waypoint/routes_zerotier.nix @@ -124,10 +124,10 @@ middlewares = [ "headers" ]; }; - a3-dev_zt = { + pm_zt = { entryPoints = [ "websecure" ]; - rule = "Host(`a3-dev.zerotier.gwg313.xyz`)"; - service = "a3-dev_local"; + rule = "Host(`pm.zerotier.gwg313.xyz`)"; + service = "pm_local"; tls.certResolver = "le"; middlewares = [ "headers" ]; }; diff --git a/hosts/waypoint/services.nix b/hosts/waypoint/services.nix index c218a20..d80cfde 100644 --- a/hosts/waypoint/services.nix +++ b/hosts/waypoint/services.nix @@ -108,9 +108,9 @@ } ]; - a3-dev_local.loadBalancer.servers = [ + pm_local.loadBalancer.servers = [ { - url = "https://a3-dev.gwg313.xyz"; + url = "https://pm.gwg313.xyz"; } ]; };