diff --git a/config/hosts/aspects/doloro-desktop/home.nix b/config/hosts/aspects/doloro-desktop/home.nix index 7ccaa32..84d6c81 100644 --- a/config/hosts/aspects/doloro-desktop/home.nix +++ b/config/hosts/aspects/doloro-desktop/home.nix @@ -57,6 +57,10 @@ "gamemode" ]; }; + # Register GSettings schemas so GTK/GLib apps (orca-slicer) can find + # them; without this GLib aborts with "No GSettings schemas are + # installed on the system" on non-GNOME desktops. + programs.dconf.enable = true; virtualisation.libvirtd.enable = false; # virtualisation.waydroid.enable = true; # # Newer kernel versions may need @@ -100,17 +104,24 @@ blender bottles pi-coding-agent + # orca-slicer's wrapGAppsHook does not actually wrap the installed + # binary, so neither the GSettings schema path nor the NVIDIA/zink + # workaround env from `withNvidiaGLWorkaround` reach the process. + # Wrap it ourselves: prepend the gtk3 + gsettings-desktop schema dirs + # to XDG_DATA_DIRS (fixes "No GSettings schemas are installed on the + # system") and set the zink GL workaround explicitly. (pkgs.symlinkJoin { name = "orca-slicer"; - paths = [ pkgs.orca-slicer ]; - buildInputs = [ pkgs.makeWrapper ]; + paths = [ (pkgs.orca-slicer.override { withNvidiaGLWorkaround = true; }) ]; + nativeBuildInputs = [ pkgs.makeWrapper ]; postBuild = '' wrapProgram $out/bin/orca-slicer \ - --prefix LC_ALL : C \ - --prefix MESA_LOADER_DRIVER_OVERRIDE : zink \ - --prefix WEBKIT_DISABLE_DMABUF_RENDERER : 1 \ - --prefix __EGL_VENDOR_LIBRARY_FILENAMES : ${pkgs.mesa}/share/glvnd/egl_vendor.d/50_mesa.json \ - --prefix GALLIUM_DRIVER : zink + --prefix XDG_DATA_DIRS : "${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}:${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}" \ + --set __GLX_VENDOR_LIBRARY_NAME mesa \ + --set __EGL_VENDOR_LIBRARY_FILENAMES /run/opengl-driver/share/glvnd/egl_vendor.d/50_mesa.json \ + --set MESA_LOADER_DRIVER_OVERRIDE zink \ + --set GALLIUM_DRIVER zink \ + --set WEBKIT_DISABLE_DMABUF_RENDERER 1 ''; }) ]; diff --git a/config/hosts/aspects/doloro-desktop/host.nix b/config/hosts/aspects/doloro-desktop/host.nix index 2cdd2ed..9cc61e9 100644 --- a/config/hosts/aspects/doloro-desktop/host.nix +++ b/config/hosts/aspects/doloro-desktop/host.nix @@ -47,6 +47,15 @@ hardware.graphics = { enable = true; + extraPackages = with pkgs; [ + libva-minimal + vulkan-loader + ]; + }; + + environment.sessionVariables = { + LIBVA_DRIVER_NAME = "nvidia"; + NVD_BACKEND = "direct"; }; services.xserver.videoDrivers = [ "nvidia" ]; @@ -86,7 +95,7 @@ # supported GPUs is at: # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus # Only available from driver 515.43.04+ - open = false; + open = true; # Enable the Nvidia settings menu, # accessible via `nvidia-settings`. diff --git a/config/hosts/aspects/servers/rpi5.nix b/config/hosts/aspects/servers/rpi5.nix index 0d0758d..e9de5b4 100644 --- a/config/hosts/aspects/servers/rpi5.nix +++ b/config/hosts/aspects/servers/rpi5.nix @@ -3,7 +3,8 @@ __findFile, modules, ... -}: { +}: +{ den.aspects.rpi5 = { includes = [ @@ -14,41 +15,66 @@ ]; - nixos = { - networking.hostName = "nixos-001-rp5"; + nixos = + { pkgs, ... }: + { + networking.hostName = "nixos-001-rp5"; - fileSystems = { - "/" = { - device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888"; - fsType = "ext4"; - options = ["noatime"]; + fileSystems = { + "/" = { + device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888"; + fsType = "ext4"; + options = [ "noatime" ]; + }; + "/boot/firmware" = { + device = "/dev/disk/by-uuid/2175-794E"; + fsType = "vfat"; + options = [ "noatime" ]; + }; }; - "/boot/firmware" = { - device = "/dev/disk/by-uuid/2175-794E"; - fsType = "vfat"; - options = ["noatime"]; + + networking.firewall = { + enable = true; + allowedTCPPorts = [ + 80 + 443 + 8080 + ]; + allowedUDPPortRanges = [ ]; + }; + + system.activationScripts.docker-config-fix = '' + if [ -d /root/.docker/config.json ]; then + rm -rf /root/.docker/config.json + echo '{}' > /root/.docker/config.json + fi + ''; + + virtualisation.docker.enable = true; + virtualisation.docker.package = pkgs.docker; + virtualisation.docker.autoPrune = { + enable = true; + dates = "weekly"; + flags = [ + "--all" + "--volumes" + ]; + }; + virtualisation.oci-containers.backend = "docker"; + + services.openssh.enable = true; + nixpkgs.hostPlatform = "aarch64-linux"; + + nix.gc = { + automatic = true; }; }; - - networking.firewall = { - enable = true; - allowedTCPPorts = [ - 80 - 443 - 8080 + homeManager = + { pkgs, ... }: + { + home.packages = [ + pkgs.btop ]; - allowedUDPPortRanges = []; }; - - virtualisation.docker.enable = true; - virtualisation.oci-containers.backend = "docker"; - - services.openssh.enable = true; - nixpkgs.hostPlatform = "aarch64-linux"; - - nix.gc = { - automatic = true; - }; - }; }; } diff --git a/config/modules/helium.nix b/config/modules/helium.nix index dcf5679..70e1c20 100644 --- a/config/modules/helium.nix +++ b/config/modules/helium.nix @@ -16,10 +16,39 @@ modules.helium = settings: { homeManager = { pkgs, ... }: + let + heliumPkg = inputs.heliumFlake.packages.${pkgs.stdenv.hostPlatform.system}.helium; + # The upstream `helium` launcher is a plain Nix wrapper that ignores any + # *-flags.conf file (that convention is Arch-specific, not NixOS). So to + # actually pass command-line flags we re-wrap the launcher here. + # + # Flag names verified against this Helium build's binary strings. + # - AcceleratedVideoDecodeLinuxGL / ...ZeroCopyGL: the VA-API GL decode + # path (renamed from the old Vaapi* names, which are no-ops here). + # - VaapiOnNvidiaGPUs: required. Chromium disables VA-API on NVIDIA by + # default and hard-skips the nvidia-drm device ("Should skip nVidia + # device named: nvidia-drm" in the logs); this re-enables it, routing + # decode to NVDEC through the nvidia-vaapi-driver bridge. + # - VaapiIgnoreDriverChecks: bypass the driver allowlist. + # HEVC decode itself needs no runtime flag in this build (enable_platform_hevc + # is compiled in and on by default). Wayland-only: the NVIDIA VA-API path + # is broken under X11. Upstream considers nvidia-vaapi-driver unsupported, + # so confirm via chrome://media-internals (decoder should read VaapiVideoDecoder). + helium = pkgs.symlinkJoin { + name = "helium-wrapped"; + paths = [ heliumPkg ]; + nativeBuildInputs = [ pkgs.makeWrapper ]; + postBuild = '' + wrapProgram $out/bin/helium \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ pkgs.vulkan-loader ]}" \ + --add-flags "--enable-features=AcceleratedVideoDecodeLinuxGL,AcceleratedVideoDecodeLinuxZeroCopyGL,VaapiOnNvidiaGPUs,VaapiIgnoreDriverChecks" \ + --add-flags "--ignore-gpu-blocklist" \ + --add-flags "--disable-gpu-sandbox" + ''; + }; + in { - home.packages = [ - inputs.heliumFlake.packages.${pkgs.stdenv.hostPlatform.system}.helium - ]; + home.packages = [ helium ]; nixpkgs.config.allowUnfree = true; # Gives me widevine support. yay xdg.configFile."net.imput.helium/WidevineCdm/latest-component-updated-widevine-cdm" = { diff --git a/config/modules/raspberry-pi.nix b/config/modules/raspberry-pi.nix index 1bbf0d2..68cb136 100644 --- a/config/modules/raspberry-pi.nix +++ b/config/modules/raspberry-pi.nix @@ -4,7 +4,8 @@ modules, inputs, ... -}: { +}: +{ flake-file.inputs = { raspberry-pi-nix.url = "github:cmyk/raspberry-pi-nix"; nixos-raspberrypi.url = "github:nvmd/nixos-raspberrypi/main"; @@ -13,17 +14,22 @@ modules.raspberry-pi = { provides = { "5" = { - nixos = {pkgs, ...}: { - imports = [ - inputs.nixos-hardware.nixosModules.raspberry-pi-5 - ]; + nixos = + { pkgs, ... }: + { + imports = [ + inputs.nixos-hardware.nixosModules.raspberry-pi-5 + ]; - environment.systemPackages = with pkgs; [ - libraspberrypi - ]; + boot.kernelPackages = pkgs.linuxPackages; + boot.kernel.sysctl."vm.mmap_rnd_bits" = pkgs.lib.mkForce 16; - boot.supportedFilesystems.zfs = false; - }; + environment.systemPackages = with pkgs; [ + libraspberrypi + ]; + + boot.supportedFilesystems.zfs = false; + }; }; }; }; diff --git a/config/modules/services/rtmp-to-whip.nix b/config/modules/services/rtmp-to-whip.nix index 9a06dd7..c03e2a1 100644 --- a/config/modules/services/rtmp-to-whip.nix +++ b/config/modules/services/rtmp-to-whip.nix @@ -3,69 +3,103 @@ __findFile, modules, ... -}: { +}: +{ modules.services.provides.rtmp-to-whip = { - nixos = { - config, - pkgs, - ... - }: { - systemd.services.init-rtmp-to-whip-network = { - description = "Create rtmp-to-whip docker network"; - after = [ "docker.service" "docker.socket" ]; - requires = [ "docker.service" "docker.socket" ]; - before = [ "docker-rtmp-to-whip.service" "docker-rtmp-to-whip-frontend.service" ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - script = '' - ${pkgs.docker}/bin/docker network inspect rtmp-to-whip >/dev/null 2>&1 || \ - ${pkgs.docker}/bin/docker network create rtmp-to-whip - ''; - }; - - virtualisation.oci-containers.containers = { - rtmp-to-whip = { - image = "reg.h.doloro.co.uk/doloro/rtmp-to-whip:latest"; - ports = [ - "0.0.0.0:1935:1935" # RTMP ingestion - "0.0.0.0:6969:6969/udp" # WebRTC UDP + nixos = + { + config, + pkgs, + ... + }: + { + systemd.services.init-rtmp-to-whip-network = { + description = "Create rtmp-to-whip docker network"; + after = [ + "docker.service" + "docker.socket" ]; - environment = { - PUBLIC_DOMAIN = "rtmp.h.doloro.co.uk"; - RTC_PORT = "6969"; - SIGNUP_CODE = ""; + requires = [ + "docker.service" + "docker.socket" + ]; + before = [ + "docker-rtmp-to-whip.service" + "docker-rtmp-to-whip-frontend.service" + ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; }; - volumes = [ - "/data/rtmp-to-whip/db.sqlite:/app/db.sqlite" - ]; - extraOptions = [ "--network=rtmp-to-whip" ]; + script = '' + ${pkgs.docker}/bin/docker network inspect rtmp-to-whip >/dev/null 2>&1 || \ + ${pkgs.docker}/bin/docker network create rtmp-to-whip + ''; }; - rtmp-to-whip-frontend = { - image = "reg.h.doloro.co.uk/doloro/rtmp-to-whip-frontend:latest"; - ports = [ - "0.0.0.0:3002:3000" - ]; - environment = { - VITE_API_URL = "http://rtmp-to-whip:3000"; + virtualisation.oci-containers.containers = { + rtmp-to-whip = { + image = "reg.h.doloro.co.uk/doloro/rtmp-to-whip:latest-aarch64"; + ports = [ + "0.0.0.0:1935:1935" + "0.0.0.0:6969:6969/udp" + "127.0.0.1:3001:3000" + ]; + environment = { + PUBLIC_DOMAIN = "stream.h.doloro.co.uk"; + RTC_PORT = "6969"; + SIGNUP_CODE = "mreowmreow-pawsatyou"; + RUST_LOG = "info,warn"; + }; + volumes = [ + "/data/rtmp-to-whip/db:/db" + ]; + extraOptions = [ "--network=rtmp-to-whip" ]; }; - extraOptions = [ "--network=rtmp-to-whip" ]; + + rtmp-to-whip-frontend = { + image = "reg.h.doloro.co.uk/doloro/rtmp-to-whip-frontend:latest-aarch64"; + ports = [ + "127.0.0.1:3002:3000" + ]; + environment = { + VITE_API_URL = "https://stream.h.doloro.co.uk/api"; + }; + extraOptions = [ "--network=rtmp-to-whip" ]; + }; + + rtmp-to-whip-watchtower = { + image = "ghcr.io/nicholas-fedor/watchtower:latest"; + volumes = [ + "/var/run/docker.sock:/var/run/docker.sock" + ]; + environment = { + WATCHTOWER_CLEANUP = "true"; + WATCHTOWER_POLL_INTERVAL = "300"; + }; + cmd = [ + "rtmp-to-whip" + "rtmp-to-whip-frontend" + ]; + }; + }; + + networking.firewall = { + allowedTCPPorts = [ 1935 ]; + allowedUDPPorts = [ 6969 ]; + }; + + services.caddy = pkgs.lib.mkIf config.services.caddy.enable { + virtualHosts."stream.h.doloro.co.uk".extraConfig = '' + handle /api* { + reverse_proxy :3001 + } + handle { + reverse_proxy :3002 + } + ''; }; }; - - networking.firewall = { - allowedTCPPorts = [ 1935 ]; - allowedUDPPorts = [ 6969 ]; - }; - - services.caddy = pkgs.lib.mkIf config.services.caddy.enable { - virtualHosts."stream.h.doloro.co.uk".extraConfig = '' - reverse_proxy :3002 - ''; - }; - }; }; } diff --git a/flake.lock b/flake.lock index c01ef39..427aa7f 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ "cachyos-kernel": { "flake": false, "locked": { - "lastModified": 1781883168, - "narHash": "sha256-raAojJGk0aWdscfFn/9ikZ6V5oUuAZcAz5kjAZ2QN3E=", + "lastModified": 1783173044, + "narHash": "sha256-IzB6XWH8zyBhR3zS2eCKwtVOLipOpVSwN8Lnpgn+5k0=", "owner": "CachyOS", "repo": "linux-cachyos", - "rev": "daed450e9b1a4fadfef68fb4fa5e2f3391fedb34", + "rev": "d96a067ff30ed47ff1743d60a569b4badd2d7670", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "cachyos-kernel-patches": { "flake": false, "locked": { - "lastModified": 1782242233, - "narHash": "sha256-AUwTZq++PBq0qjDVFKqD0AZNNwa0b1RK41bM9XMbkW8=", + "lastModified": 1782814529, + "narHash": "sha256-YGYe7cy8vUFguQzdCt6FP1B/viF53cJdFZhNJ8Rpp5Y=", "owner": "CachyOS", "repo": "kernel-patches", - "rev": "19250dcc39862169961756c733b8a6ba77754c22", + "rev": "f98908d8b5cacc4c24a6039ffd9f41f6a0de4ba2", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1781766454, - "narHash": "sha256-f4yQVdfmgflkqah/bSzgamaZPajl73TQYpvkWptujko=", + "lastModified": 1782976048, + "narHash": "sha256-4Zpmn8rJqBWi2gW0BnYWGlYUjqmDVKCaJKyPVk30s6k=", "owner": "Mic92", "repo": "direnv-instant", - "rev": "0dcf752d9476f7f8b75a9e94a43ca376f0716be4", + "rev": "c3d76e36f5431e34c7f33a3017c28d4bd53bb3c1", "type": "github" }, "original": { @@ -305,11 +305,11 @@ ] }, "locked": { - "lastModified": 1778716662, - "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", + "lastModified": 1782949081, + "narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", + "rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e", "type": "github" }, "original": { @@ -325,11 +325,11 @@ ] }, "locked": { - "lastModified": 1778716662, - "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", + "lastModified": 1782949081, + "narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", + "rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e", "type": "github" }, "original": { @@ -343,11 +343,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1778716662, - "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", + "lastModified": 1782949081, + "narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", + "rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e", "type": "github" }, "original": { @@ -364,11 +364,11 @@ ] }, "locked": { - "lastModified": 1778716662, - "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", + "lastModified": 1782949081, + "narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", + "rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e", "type": "github" }, "original": { @@ -450,28 +450,6 @@ "type": "github" } }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "hyprland", - "pre-commit-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "gnome-shell": { "flake": false, "locked": { @@ -497,11 +475,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1782532589, - "narHash": "sha256-SbRcgRa3CYE0UWW+Zbbgih4amUqYKCaFQe/v3H4380U=", + "lastModified": 1783223803, + "narHash": "sha256-tm6T+BmxX03IV5m5YLR9RixTATCs/FXbJMjZa4kzsA8=", "owner": "vikingnope", "repo": "helium-browser-nix-flake", - "rev": "66082f4d174c15ff00b25a20bbd593255fce6d35", + "rev": "a4d5eb6e4b8a44d84fd66fe6771c49b51369bf51", "type": "github" }, "original": { @@ -517,11 +495,11 @@ ] }, "locked": { - "lastModified": 1782749631, - "narHash": "sha256-slFTUgDy0KTPA4LBAmC/9SngDq8GCPdX+ZR0yQHHN1E=", + "lastModified": 1783479733, + "narHash": "sha256-d/JatqgG+Pmo+IuCTZfnrEAPWU3fdha48GQeXuFO+bE=", "owner": "nix-community", "repo": "home-manager", - "rev": "5d72a29fc36ac21adae6ae35568fe5ee6700850f", + "rev": "cee3f0e7fec85d80c149c7afc29926747f7bd3c2", "type": "github" }, "original": { @@ -605,11 +583,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1782755845, - "narHash": "sha256-pMax4dvo/BbKCO2zvCT8fgziiWbfXGhRH0/5uF8pyd0=", + "lastModified": 1783449028, + "narHash": "sha256-X7T5MtKdw7daUN2r2v7zVLrN4OKowJ3hgm+rSPeESnw=", "owner": "hyprwm", "repo": "Hyprland", - "rev": "254d6bae775258b554e1d3a4a853f3bc244190d9", + "rev": "6a8eb0490ce3ff3cbf9b00815f7a215e895d87e0", "type": "github" }, "original": { @@ -782,11 +760,11 @@ ] }, "locked": { - "lastModified": 1782639496, - "narHash": "sha256-mjt47Xun3jPcGrXpGpYU85lzUnqvJ2rXLbQjVI1yvLo=", + "lastModified": 1783002634, + "narHash": "sha256-xGqHIUK0wIZoW7SiMalwvO6uGOO/VrlQwoRobpE7dDI=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "d2b40ffe7bfcb001bbf5888bb56ff646de53e7db", + "rev": "41fb809557abd29a57151b6e1aaeabd05f9437e1", "type": "github" }, "original": { @@ -904,11 +882,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1780649164, - "narHash": "sha256-r/mEL19Zf331vj31IWK51jdPfjyzpdRn/JLGtZ9rWqI=", + "lastModified": 1782928785, + "narHash": "sha256-NHonNXZTRLSNWCHhg1Kbxh+LqIrG4MzIBn7RXIMxMGM=", "ref": "refs/heads/main", - "rev": "5ae28029ef039da228ecbb9f55ab460a63093957", - "revCount": 74, + "rev": "6331a7c8ec01fa6732f1ca08e918323c7d226207", + "revCount": 75, "type": "git", "url": "https://git.scug.io/nikkuss/pkgs.git" }, @@ -929,11 +907,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1782765817, - "narHash": "sha256-RsObTWb8IfWFUHPUIrN681QCsBAgKyuJPliijjgeZwU=", + "lastModified": 1783510829, + "narHash": "sha256-VtZC3AiKp3w6oCTRlEaraI9Fi2T8CmdDuhzGf3lNG9M=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "aea1aaeffbf135445f76112f345b7185c27432fd", + "rev": "ba8fc95733e53354e82dd1a821d8391dcd56e4bc", "type": "github" }, "original": { @@ -962,11 +940,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1781781064, - "narHash": "sha256-Ii/koEm/sRyg65qbAQWqEgboSEIhdH0EL4KglAc14p0=", + "lastModified": 1783506058, + "narHash": "sha256-LyuNO/1BM7GphVyt4C4Qj2OkdHZvM/9Hxs7mQ5ExjYc=", "owner": "YaLTeR", "repo": "niri", - "rev": "49fc6117fd6c043adaa2ead316b82db5ed735d36", + "rev": "ef5b7379dc444d33b01a7faec2bd6592d3188357", "type": "github" }, "original": { @@ -984,11 +962,11 @@ "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1782415778, - "narHash": "sha256-Qts73QQA+lADfxWjonL3Q1JcZssVZPsQI38L3qZyS0o=", + "lastModified": 1783276891, + "narHash": "sha256-7+9RDZQxflIV5AuRqxIh+ZK+GrFUgngAzo5wPyhxBP4=", "owner": "xddxdd", "repo": "nix-cachyos-kernel", - "rev": "1740ec90e7b07730c212a3a1ff5e71af08a5270b", + "rev": "cf393892e55698ed5ac49377a24476d87bd880d4", "type": "github" }, "original": { @@ -1019,11 +997,11 @@ "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1782562157, - "narHash": "sha256-a7+T6QSeowynwZ1ZJJbP8T8ntAytvrui8kFGJmIZt2c=", + "lastModified": 1783370751, + "narHash": "sha256-E+3MIMvKuo9k+K+qLQ9YXzsBzkgHuyVLnsEbN2DFfuc=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "a9cf7546a938c737b079e738de73934a13de9784", + "rev": "662bd6e312d2c8b212e32cb377abaee190749320", "type": "github" }, "original": { @@ -1067,11 +1045,11 @@ "nixpkgs": "nixpkgs_8" }, "locked": { - "lastModified": 1779023229, - "narHash": "sha256-MInilg7B/06c34SwOuGSBho4l0H1EZcmvxTkSWCs5pE=", + "lastModified": 1783459375, + "narHash": "sha256-S2pb+Mtv0qTeRr+6J5ESgelNjG2YKl4WqKjdPrJx5rM=", "owner": "nvmd", "repo": "nixos-raspberrypi", - "rev": "06c6e3513e1ee64b651913193fc6ac38aa4963f5", + "rev": "c845922f260b306d4529a4535bbb6e7f8cfe2887", "type": "github" }, "original": { @@ -1087,11 +1065,11 @@ "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1781182279, - "narHash": "sha256-V5EQQbDnmdiXGQXrEF1PEL7QYsFqfH8N1E89Z5ONwFk=", + "lastModified": 1783336371, + "narHash": "sha256-ZisTtweyb7JUwPP54HAXE9TypT8m89dIxDI36Ak0hAs=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "5675822ba756e6e56f8f6a5a76e90e0da2ece94d", + "rev": "a9620cfa43f0c1c30a46c31ae3c6e58cdb124a14", "type": "github" }, "original": { @@ -1102,11 +1080,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1781577229, - "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=", + "lastModified": 1782723713, + "narHash": "sha256-oPXCU/SSUokcGaJREHibG1CBX3+s/W7orDWQOZDsEeQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f", + "rev": "b5aa0fbd538984f6e3d201be0005b4463d8b09f8", "type": "github" }, "original": { @@ -1118,11 +1096,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1777168982, - "narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=", + "lastModified": 1782614948, + "narHash": "sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC+eBu2zKlp8=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14", + "rev": "db3f255737b94216eb71cce308e2912cf6bc2d7c", "type": "github" }, "original": { @@ -1133,11 +1111,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1782651437, - "narHash": "sha256-10srBgrJz7JOWzS1KG5BhrwHCUPTcPqZgwNKo5N9YE4=", + "lastModified": 1782847189, + "narHash": "sha256-twXPFqFsrrY5r28Zh7Homgcp2gUMBgQ6WDS98Q/3xFI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0a47451dbe2082a660b88a79a83efdc8d85de445", + "rev": "b6018f87da91d19d0ab4cf979885689b469cdd41", "type": "github" }, "original": { @@ -1149,11 +1127,11 @@ }, "nixpkgs_10": { "locked": { - "lastModified": 1782467914, - "narHash": "sha256-pGvFkM8N0xEkIIXDe5YYfbEAvHrk4IxBrjB/x8OomhE=", + "lastModified": 1783224372, + "narHash": "sha256-8i/87eeoqiGE4yOTjwSA3Eh/ziJRQEmd/unYU+K27sk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e73de5be04e0eff4190a1432b946d469c794e7b4", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", "type": "github" }, "original": { @@ -1165,11 +1143,11 @@ }, "nixpkgs_11": { "locked": { - "lastModified": 1781607440, - "narHash": "sha256-rxO+uc/KFbSJp+pgyXRuAX6QlG9hJdnt0BXpEQRXY+U=", + "lastModified": 1783279667, + "narHash": "sha256-/NAkDSsve+GNM0Bt6tleJdCGfsTlK89nPjkVOzZMo0s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3e41b24abd260e8f71dbe2f5737d24122f972158", + "rev": "f205b5574fd0cb7da5b702a2da51507b7f4fdd1b", "type": "github" }, "original": { @@ -1213,11 +1191,11 @@ }, "nixpkgs_14": { "locked": { - "lastModified": 1782467914, - "narHash": "sha256-inDx/w70OSJoJPqtKh0BrzAsbZZhpya7YgS43jHnhwg=", - "rev": "e73de5be04e0eff4190a1432b946d469c794e7b4", + "lastModified": 1783224372, + "narHash": "sha256-FGQ8TfSm9WviNE/fQAWsKs+y4GkX8fU4EScewpw54Y8=", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", "type": "tarball", - "url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1022855.e73de5be04e0/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1027867.d407951447dc/nixexprs.tar.xz" }, "original": { "type": "tarball", @@ -1255,11 +1233,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1782467914, - "narHash": "sha256-pGvFkM8N0xEkIIXDe5YYfbEAvHrk4IxBrjB/x8OomhE=", + "lastModified": 1783224372, + "narHash": "sha256-8i/87eeoqiGE4yOTjwSA3Eh/ziJRQEmd/unYU+K27sk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e73de5be04e0eff4190a1432b946d469c794e7b4", + "rev": "d407951447dcd00442e97087bf374aad70c04cea", "type": "github" }, "original": { @@ -1287,11 +1265,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1782378976, - "narHash": "sha256-UqQgBlQATXM3aBvzTRE/1wxHrCdKg5/ePlXfG/7Eqd8=", + "lastModified": 1783264223, + "narHash": "sha256-3Uiwx/j6LYuQH3hYkPLOZrKjLtQO03fPkO3K0hIp8Jc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5df71f3d167f0aad71658608361c1301147b9eb6", + "rev": "28d4faad49f8095ec21ebf0454aa8e9c7d7d0af9", "type": "github" }, "original": { @@ -1316,11 +1294,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1778737229, - "narHash": "sha256-6xWoytx8jFW4PF1GjRm/i/53trbpKGfz6zjzQGBr4cI=", + "lastModified": 1782847189, + "narHash": "sha256-twXPFqFsrrY5r28Zh7Homgcp2gUMBgQ6WDS98Q/3xFI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d7a713c0b7e47c908258e71cba7a2d77cc8d71d5", + "rev": "b6018f87da91d19d0ab4cf979885689b469cdd41", "type": "github" }, "original": { @@ -1353,11 +1331,11 @@ "systems": "systems_4" }, "locked": { - "lastModified": 1782706849, - "narHash": "sha256-b2ODGxKD3hgrwuesLtDomp2DKF3UiOn3+EBTDXpcqGo=", + "lastModified": 1783349931, + "narHash": "sha256-aYE76ATiGBg7/cQ2dHASRq97WvNum4OOIPgZ8xIK0QI=", "owner": "nix-community", "repo": "nixvim", - "rev": "c6a99bb41fb0f37e03ca38b1d81b006e98e3bf1a", + "rev": "4fd45857deecb90d2732c87e0315daa48505515e", "type": "github" }, "original": { @@ -1396,11 +1374,11 @@ "nixpkgs": "nixpkgs_12" }, "locked": { - "lastModified": 1781618766, - "narHash": "sha256-4PFt9cI8ZeBTwd0vOmf6NGES+AwkEcigjbWq3TgjtdY=", + "lastModified": 1783357537, + "narHash": "sha256-M7clXqSngBP+2h0T0jyE3QyEcUeGyULqM09dSZh+mJ4=", "ref": "main", - "rev": "cb27b28f71d5c86d950b055fa12037beab343423", - "revCount": 187, + "rev": "2652622fc9e737bafdf2269a9d55ba1fc58d5e3b", + "revCount": 226, "type": "git", "url": "https://git.molez.org/mandlm/omp-nix" }, @@ -1413,18 +1391,17 @@ "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat", - "gitignore": "gitignore", "nixpkgs": [ "hyprland", "nixpkgs" ] }, "locked": { - "lastModified": 1781733627, - "narHash": "sha256-U3yTuGBnmXvXoQI3qkpfEDsn9RovQPAjN7ndRco+3u0=", + "lastModified": 1783008725, + "narHash": "sha256-jGiy6+sxjNWXSjp25uoJuNfyH9zBK1PEDY0lVoL4ibQ=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "3bbec39bc90eadfa031e6f3b77272f3f60803e39", + "rev": "bca82caa46d5ec0f5d422c61fb1e30bc51313cbe", "type": "github" }, "original": { @@ -1580,11 +1557,11 @@ ] }, "locked": { - "lastModified": 1782165805, - "narHash": "sha256-478kKQBvK6SYTOdN2h9jhKJv94nbXRbFMfuL1WshErg=", + "lastModified": 1783174389, + "narHash": "sha256-aCWC8ngycU7OdJrU2+Je3qf+1a2ykuBvpPhZT/9tXMc=", "owner": "Mic92", "repo": "sops-nix", - "rev": "56b24064fdcaedca53553b1a6d607fd23b613a24", + "rev": "f1406619a3884cd5c47992a70b8b35c9c0fcb4c9", "type": "github" }, "original": { @@ -1599,11 +1576,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1782633406, - "narHash": "sha256-JOSMk12GgnTLVlUSCuKkqyUF6cw82wl7t7e1WuFfg5s=", + "lastModified": 1783303713, + "narHash": "sha256-d6Zs6wD0kvWQXn7qPU0YsuqoqBhT7zi5+1M365FINt8=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "5ff9a6ca9dcbad7cccea2c97d30237468b16feda", + "rev": "d9d714243e2f8d10af28db5111f018ec2d77acc9", "type": "github" }, "original": { @@ -1632,11 +1609,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1782771270, - "narHash": "sha256-1W5Oga37XF1fzjpUut98j32NS9XcLQ5HmZDuOqSSrrY=", + "lastModified": 1783358511, + "narHash": "sha256-/F85cBWvU8b2hpawuCog464065ZTJtdMgVPWwJ9yHjE=", "owner": "nix-community", "repo": "stylix", - "rev": "47571deb317bb1e53fbbe9c3cbf2a941cd94f794", + "rev": "14814ef555d8148ab82eba5054e654cd9eae3a1f", "type": "github" }, "original": { @@ -1841,11 +1818,11 @@ }, "x1e-kernel": { "locked": { - "lastModified": 1781643843, - "narHash": "sha256-Vpx5yF7Rw3YXADnlUINsBv8OzMSxpUfTpBtR5+x6qvs=", + "lastModified": 1782927159, + "narHash": "sha256-FJGCl7pk4h+cSjEL6UakyovkUNBPLGLn9eo+TLEBSfQ=", "ref": "refs/heads/main", - "rev": "c8afdbf71a964c64de9eddd586f1ccc8de5a3f9b", - "revCount": 8, + "rev": "ca7db709ee29ecdd3c00fec679febdfb2ebfaa32", + "revCount": 9, "type": "git", "url": "https://git.scug.io/nikkuss/x1e-nixos.git" }, @@ -1882,11 +1859,11 @@ ] }, "locked": { - "lastModified": 1782311043, - "narHash": "sha256-07zLc2M3/ax+JsjxGTft17/Joua41LHE9/9AC/F9zeU=", + "lastModified": 1782644412, + "narHash": "sha256-/iSa/bL1QQFLv+uJ9gI0N87J8gOeZXvca7EjoPGKE6w=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "882ad01e195ce201b07c618bbee44a0cad8b9e5a", + "rev": "c01c99fc278ec68c82e9865923088f043c7c1621", "type": "github" }, "original": { @@ -1935,11 +1912,11 @@ ] }, "locked": { - "lastModified": 1782624757, - "narHash": "sha256-pqFaCAV+g8H+p0kE4vYn9ZgcEFvt644zGy7SyCdf9c8=", + "lastModified": 1783063092, + "narHash": "sha256-H6lM+h8+ZT25uWJwmYkER5yj5RJ9DP2++n5um/XH3J0=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "907465791e7064d86d37964dd95e23280dfb68da", + "rev": "36b24209358c82e0ea5404ba003ae8dc37334c86", "type": "github" }, "original": {