From 5a20a69218836aab5a85ba3751b2d82bad52f06f Mon Sep 17 00:00:00 2001 From: servius Date: Sun, 19 Apr 2026 02:32:36 +0530 Subject: [PATCH] feat: Move shadps4-qtlauncher to overlay and modularize overlays --- home/apps/shadps4.nix | 66 +------------ overlays.nix | 177 +++------------------------------- overlays/ai.nix | 47 +++++++++ overlays/applications.nix | 16 ++++ overlays/darwin.nix | 10 ++ overlays/gaming.nix | 191 +++++++++++++++++++++++++++++++++++++ overlays/media.nix | 4 + overlays/networking.nix | 6 ++ overlays/shell-scripts.nix | 9 ++ overlays/system-libs.nix | 21 ++++ overlays/terminal.nix | 20 ++++ overlays/themes.nix | 7 ++ 12 files changed, 345 insertions(+), 229 deletions(-) create mode 100644 overlays/ai.nix create mode 100644 overlays/applications.nix create mode 100644 overlays/darwin.nix create mode 100644 overlays/gaming.nix create mode 100644 overlays/media.nix create mode 100644 overlays/networking.nix create mode 100644 overlays/shell-scripts.nix create mode 100644 overlays/system-libs.nix create mode 100644 overlays/terminal.nix create mode 100644 overlays/themes.nix diff --git a/home/apps/shadps4.nix b/home/apps/shadps4.nix index ec007df..53d9211 100644 --- a/home/apps/shadps4.nix +++ b/home/apps/shadps4.nix @@ -1,23 +1,8 @@ { pkgs, lib, - masterPkgs, ... }: let - shadps4_qtlauncher = pkgs.fetchFromGitHub { - owner = "shadps4-emu"; - repo = "shadps4-qtlauncher"; - rev = "v224"; - sha256 = "sha256-KBjAP0t2A6Q0eD7A0/9HzIQrUJ97YUkx2nx4SB+poHU="; - fetchSubmodules = true; - }; - # diegolixShadps4 = pkgs.fetchFromGitHub { - # owner = "diegolix"; - # repo = "shadps4-qtlauncher"; - # rev = "a1b2c3d4e5f67890123456789abcdef01234567"; - # sha256 = "sha256-PLACEHOLDERFORHASHVALUE1234567890ABCDEFGH="; - # fetchSubmodules = true; - # }; bblauncher = pkgs.fetchFromGitHub { owner = "rainmakerv3"; repo = "BB_Launcher"; @@ -27,55 +12,8 @@ }; in { home.packages = lib.optionals pkgs.stdenv.isLinux [ - masterPkgs.shadps4 - # (pkgs.shadps4.overrideAttrs - # (oldAttrs: { - # nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [pkgs.cudatoolkit]; - # buildInputs = oldAttrs.buildInputs ++ [pkgs.cudatoolkit]; - # })) - (pkgs.stdenv.mkDerivation { - pname = "shadps4-qt"; - version = "1.0.0"; - src = shadps4_qtlauncher; - nativeBuildInputs = [ - pkgs.cmake - pkgs.pkg-config - pkgs.qt6.wrapQtAppsHook - ]; - buildInputs = [ - pkgs.alsa-lib - pkgs.ffmpeg - pkgs.fmt - pkgs.glslang - pkgs.jack2 - pkgs.libedit - pkgs.libevdev - pkgs.libpng - pkgs.libpulseaudio - pkgs.libxkbcommon - pkgs.openal - pkgs.openssl - pkgs.qt6.qtbase - pkgs.qt6.qtmultimedia - pkgs.qt6.qttools - pkgs.qt6.qtwayland - pkgs.SDL2 - pkgs.sdl3 - pkgs.sndio - pkgs.stb - pkgs.udev - pkgs.vulkan-headers - pkgs.vulkan-tools - pkgs.vulkan-utility-libraries - pkgs.wayland - pkgs.wayland-protocols - pkgs.libxcb - pkgs.xcbutil - pkgs.xcbutilkeysyms - pkgs.xcbutilwm - pkgs.zlib - ]; - }) + pkgs.shadps4 + pkgs.shadps4-qt (pkgs.stdenv.mkDerivation { pname = "BBLauncher"; diff --git a/overlays.nix b/overlays.nix index fcb73bf..7015731 100644 --- a/overlays.nix +++ b/overlays.nix @@ -1,171 +1,18 @@ -{inputs, ...} @ self: let - cratesNix = pkgs: inputs.crates-nix.mkLib {inherit pkgs;}; - # --- Shell / CLI utilities --- - shell-scripts = final: prev: { - handlr-xdg = final.pkgs.writeShellApplication { - name = "xdg-open"; - runtimeInputs = [final.pkgs.handlr-regex]; - text = '' - handlr open "$@" - ''; - }; - }; - - # --- Terminal multiplexers --- - terminal = final: prev: { - tmuxPlugins = - prev.tmuxPlugins - // { - tmux-super-fingers = final.pkgs.tmuxPlugins.mkTmuxPlugin { - pluginName = "tmux-super-fingers"; - version = "v1-2024-02-14"; - src = final.pkgs.fetchFromGitHub { - owner = "artemave"; - repo = "tmux_super_fingers"; - rev = "518044ef78efa1cf3c64f2e693fef569ae570ddd"; - sha256 = "sha256-iKfx9Ytk2vSuINvQTB6Kww8Vv7i51cFEnEBHLje+IJw="; - }; - }; - }; - tmux-float = inputs.tmux-float.packages.${prev.stdenv.hostPlatform.system}.default; - zellijPlugins = { - zjstatus = inputs.zjstatus.packages.${prev.stdenv.hostPlatform.system}.default; - }; - }; - - # --- System libraries --- - system-libs = final: prev: { - # Custom libfprint with CS9711 fingerprint reader support - # https://github.com/archeYR/libfprint-CS9711/commits/cs9711-rebase/ - libfprint = prev.libfprint.overrideAttrs (oldAttrs: { - version = "git"; - src = final.fetchFromGitHub { - owner = "archeYR"; - repo = "libfprint-CS9711"; - rev = "c2d163fbb06d33e80a5177815bb0b8ca2f01739f"; - sha256 = "sha256-JygOJ3SybXKR3CjLxLbAZDaYCl9LuQYDQfFC8Si5oaw"; - }; - buildInputs = oldAttrs.buildInputs ++ [final.nss_latest]; - nativeBuildInputs = - oldAttrs.nativeBuildInputs - ++ [ - final.opencv - final.cmake - final.doctest - ]; - }); - }; - - # --- Networking --- - networking = final: prev: { - caddyWithCloudflare = inputs.nixpkgs.legacyPackages.${prev.stdenv.hostPlatform.system}.caddy.withPlugins { - plugins = ["github.com/caddy-dns/cloudflare@v0.2.2"]; - hash = "sha256-7DGnojZvcQBZ6LEjT0e5O9gZgsvEeHlQP9aKaJIs/Zg="; - }; - }; - - # --- Media --- - media = final: prev: { - ddcbacklight = inputs.ddcbacklight.packages.${prev.stdenv.hostPlatform.system}.ddcbacklight; - music-player-git = inputs.music-player.packages.${prev.stdenv.hostPlatform.system}.default; - }; - - # --- macOS-specific --- - darwin = final: prev: { - kitty = inputs.nixpkgs-stable.legacyPackages.${prev.stdenv.hostPlatform.system}.kitty; - yabai = prev.yabai.overrideAttrs (oldAttrs: rec { - version = "7.1.16"; - src = final.fetchzip { - url = "https://github.com/koekeishiya/yabai/releases/download/v${version}/yabai-v${version}.tar.gz"; - hash = "sha256-rEO+qcat6heF3qrypJ02Ivd2n0cEmiC/cNUN53oia4w="; - }; - }); - }; - - applications = final: prev: { - iamb = inputs.iamb.packages.${prev.stdenv.hostPlatform.system}.default; - # hyprland = inputs.hyprland.packages.${prev.stdenv.hostPlatform.system}.hyprland; - # xdg-desktop-portal-hyprland = prev.enableDebugging inputs.hyprland.packages.${prev.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; - # xdph = inputs.nixpkgs-master.legacyPackages.${prev.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; - opencode = inputs.nixpkgs-master.legacyPackages.${prev.stdenv.hostPlatform.system}.opencode; - ironclaw = (cratesNix prev).buildCrate "ironclaw" { - nativeBuildInputs = [prev.pkg-config]; - buildInputs = [prev.openssl]; - doCheck = false; - }; - less = inputs.nixpkgs-stable.legacyPackages.${prev.stdenv.hostPlatform.system}.less; - notmuch = inputs.nixpkgs-stable.legacyPackages.${prev.stdenv.hostPlatform.system}.notmuch; - }; - - # --- Themes and assets --- - themes = final: prev: { - catppuccinThemes = import ./themes/catppuccin.nix {pkgs = final.pkgs;}; - nix-index-database = final.runCommandLocal "nix-index-database" {} '' - mkdir -p $out - ln -s ${inputs.nix-index-database.legacyPackages.${prev.stdenv.hostPlatform.system}.database} $out/files - ''; - }; - - # --- AI/ML --- - ai = final: prev: { - codex = prev.codex.overrideAttrs (oldAttrs: rec { - version = "0.121.0"; - src = final.fetchFromGitHub { - owner = "openai"; - repo = "codex"; - tag = "rust-v${version}"; - hash = "sha256-wjiUMox9V5tFggNgaFyHXWhRlpPerK7W+U/eR2Ddbbc="; - }; - sourceRoot = "${src.name}/codex-rs"; - cargoDeps = final.rustPlatform.fetchCargoVendor { - inherit src sourceRoot; - name = "${oldAttrs.pname}-${version}-vendor.tar.gz"; - hash = "sha256-zpQ0vg9XuarLfdZYiRIhcwLHUOdunNbOb5xLW3MPzp8="; - }; - }); - ollama = prev.ollama.overrideAttrs (oldAttrs: rec { - version = "0.20.3"; - src = final.fetchFromGitHub { - owner = "ollama"; - repo = "ollama"; - tag = "v${version}"; - hash = "sha256-o9iCqdOfNMxfIyThQAOSSQZE2ZyBuyJWFr6wqvQo1A0="; - }; - vendorHash = "sha256-Lc1Ktdqtv2VhJQssk8K1UOimeEjVNvDWePE9WkamCos="; - }); - ollama-cuda = prev.ollama-cuda.overrideAttrs (oldAttrs: rec { - version = "0.20.3"; - src = final.fetchFromGitHub { - owner = "ollama"; - repo = "ollama"; - tag = "v${version}"; - hash = "sha256-o9iCqdOfNMxfIyThQAOSSQZE2ZyBuyJWFr6wqvQo1A0="; - }; - vendorHash = "sha256-Lc1Ktdqtv2VhJQssk8K1UOimeEjVNvDWePE9WkamCos="; - }); - ollama-rocm = prev.ollama-rocm.overrideAttrs (oldAttrs: rec { - version = "0.20.3"; - src = final.fetchFromGitHub { - owner = "ollama"; - repo = "ollama"; - tag = "v${version}"; - hash = "sha256-o9iCqdOfNMxfIyThQAOSSQZE2ZyBuyJWFr6wqvQo1A0="; - }; - vendorHash = "sha256-Lc1Ktdqtv2VhJQssk8K1UOimeEjVNvDWePE9WkamCos="; - }); - }; +{inputs, ...}: let + args = {inherit inputs;}; in [ # Local overlays - shell-scripts - terminal - system-libs - networking - media - darwin - themes - applications - ai + (import ./overlays/shell-scripts.nix args) + (import ./overlays/terminal.nix args) + (import ./overlays/system-libs.nix args) + (import ./overlays/networking.nix args) + (import ./overlays/media.nix args) + (import ./overlays/darwin.nix args) + (import ./overlays/themes.nix args) + (import ./overlays/gaming.nix args) + (import ./overlays/applications.nix args) + (import ./overlays/ai.nix args) # External input overlays inputs.deploy-rs.overlays.default diff --git a/overlays/ai.nix b/overlays/ai.nix new file mode 100644 index 0000000..1773a11 --- /dev/null +++ b/overlays/ai.nix @@ -0,0 +1,47 @@ +{...}: final: prev: { + codex = prev.codex.overrideAttrs (oldAttrs: rec { + version = "0.121.0"; + src = final.fetchFromGitHub { + owner = "openai"; + repo = "codex"; + tag = "rust-v${version}"; + hash = "sha256-wjiUMox9V5tFggNgaFyHXWhRlpPerK7W+U/eR2Ddbbc="; + }; + sourceRoot = "${src.name}/codex-rs"; + cargoDeps = final.rustPlatform.fetchCargoVendor { + inherit src sourceRoot; + name = "${oldAttrs.pname}-${version}-vendor.tar.gz"; + hash = "sha256-zpQ0vg9XuarLfdZYiRIhcwLHUOdunNbOb5xLW3MPzp8="; + }; + }); + ollama = prev.ollama.overrideAttrs (oldAttrs: rec { + version = "0.20.3"; + src = final.fetchFromGitHub { + owner = "ollama"; + repo = "ollama"; + tag = "v${version}"; + hash = "sha256-o9iCqdOfNMxfIyThQAOSSQZE2ZyBuyJWFr6wqvQo1A0="; + }; + vendorHash = "sha256-Lc1Ktdqtv2VhJQssk8K1UOimeEjVNvDWePE9WkamCos="; + }); + ollama-cuda = prev.ollama-cuda.overrideAttrs (oldAttrs: rec { + version = "0.20.3"; + src = final.fetchFromGitHub { + owner = "ollama"; + repo = "ollama"; + tag = "v${version}"; + hash = "sha256-o9iCqdOfNMxfIyThQAOSSQZE2ZyBuyJWFr6wqvQo1A0="; + }; + vendorHash = "sha256-Lc1Ktdqtv2VhJQssk8K1UOimeEjVNvDWePE9WkamCos="; + }); + ollama-rocm = prev.ollama-rocm.overrideAttrs (oldAttrs: rec { + version = "0.20.3"; + src = final.fetchFromGitHub { + owner = "ollama"; + repo = "ollama"; + tag = "v${version}"; + hash = "sha256-o9iCqdOfNMxfIyThQAOSSQZE2ZyBuyJWFr6wqvQo1A0="; + }; + vendorHash = "sha256-Lc1Ktdqtv2VhJQssk8K1UOimeEjVNvDWePE9WkamCos="; + }); +} diff --git a/overlays/applications.nix b/overlays/applications.nix new file mode 100644 index 0000000..c046741 --- /dev/null +++ b/overlays/applications.nix @@ -0,0 +1,16 @@ +{inputs, ...}: final: prev: let + cratesNix = pkgs: inputs.crates-nix.mkLib {inherit pkgs;}; +in { + iamb = inputs.iamb.packages.${prev.stdenv.hostPlatform.system}.default; + # hyprland = inputs.hyprland.packages.${prev.stdenv.hostPlatform.system}.hyprland; + # xdg-desktop-portal-hyprland = prev.enableDebugging inputs.hyprland.packages.${prev.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; + # xdph = inputs.nixpkgs-master.legacyPackages.${prev.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; + opencode = inputs.nixpkgs-master.legacyPackages.${prev.stdenv.hostPlatform.system}.opencode; + ironclaw = (cratesNix prev).buildCrate "ironclaw" { + nativeBuildInputs = [prev.pkg-config]; + buildInputs = [prev.openssl]; + doCheck = false; + }; + less = inputs.nixpkgs-stable.legacyPackages.${prev.stdenv.hostPlatform.system}.less; + notmuch = inputs.nixpkgs-stable.legacyPackages.${prev.stdenv.hostPlatform.system}.notmuch; +} diff --git a/overlays/darwin.nix b/overlays/darwin.nix new file mode 100644 index 0000000..a119511 --- /dev/null +++ b/overlays/darwin.nix @@ -0,0 +1,10 @@ +{inputs, ...}: final: prev: { + kitty = inputs.nixpkgs-stable.legacyPackages.${prev.stdenv.hostPlatform.system}.kitty; + yabai = prev.yabai.overrideAttrs (oldAttrs: rec { + version = "7.1.16"; + src = final.fetchzip { + url = "https://github.com/koekeishiya/yabai/releases/download/v${version}/yabai-v${version}.tar.gz"; + hash = "sha256-rEO+qcat6heF3qrypJ02Ivd2n0cEmiC/cNUN53oia4w="; + }; + }); +} diff --git a/overlays/gaming.nix b/overlays/gaming.nix new file mode 100644 index 0000000..3bb7a43 --- /dev/null +++ b/overlays/gaming.nix @@ -0,0 +1,191 @@ +{...}: final: prev: { + shadps4 = prev.shadps4.overrideAttrs (oldAttrs: rec { + version = "0.15.0"; + src = final.fetchFromGitHub { + owner = "shadps4-emu"; + repo = "shadPS4"; + tag = "v.${version}"; + hash = "sha256-ZYY8PlHEz6jj000Lrllqsk4Da6/CnNdSQHx1+89+yZM="; + fetchSubmodules = true; + leaveDotGit = true; + postFetch = '' + cd "$out" + git rev-parse --short=8 HEAD > $out/COMMIT + date -u -d "@$(git log -1 --pretty=%ct)" "+%Y-%m-%dT%H:%M:%SZ" > $out/SOURCE_DATE_EPOCH + find "$out" -name .git -print0 | xargs -0 rm -rf + ''; + }; + buildInputs = with final; [ + alsa-lib + boost + cryptopp + glslang + ffmpeg + fmt + half + jack2 + libdecor + libpulseaudio + libunwind + libusb1 + libx11 + libxcb + libxcursor + libxext + libxi + libxrandr + libxscrnsaver + libxtst + magic-enum + libgbm + pipewire + pugixml + rapidjson + renderdoc + robin-map + sndio + stb + toml11 + util-linux + vulkan-headers + vulkan-loader + vulkan-memory-allocator + xbyak + xxHash + zenity + zlib-ng + zydis + ]; + nativeBuildInputs = with final; [ + cmake + pkg-config + makeWrapper + ]; + installPhase = '' + runHook preInstall + + install -D -t $out/bin shadps4 + install -Dm644 $src/.github/shadps4.png $out/share/icons/hicolor/512x512/apps/net.shadps4.shadPS4.png + install -Dm644 -t $out/share/applications $src/dist/net.shadps4.shadPS4.desktop + install -Dm644 -t $out/share/metainfo $src/dist/net.shadps4.shadPS4.metainfo.xml + + wrapProgram $out/bin/shadps4 \ + --prefix LD_LIBRARY_PATH : ${ + final.lib.makeLibraryPath [ + final.libpulseaudio + final.pipewire + ] + } \ + --prefix PATH : ${final.lib.makeBinPath [final.zenity]} + + runHook postInstall + ''; + }); + + shadps4-qt = let + shadps4 = final.shadps4; + shadps4Wrapped = final.symlinkJoin { + name = "shadps4-wrapped"; + paths = [shadps4]; + postBuild = let + versionsJson = final.writeText "versions.json" (builtins.toJSON [{ + codename = "built-in"; + name = "built-in"; + path = "@shadps4@"; + type = 0; + }]); + qtUiIni = final.writeText "qt_ui.ini" '' + [version_manager] + versionSelected=@shadps4@ + ''; + in '' + mkdir -p $out/share + substitute ${versionsJson} $out/share/versions.json \ + --replace-fail @shadps4@ $out/bin/shadps4 + substitute ${qtUiIni} $out/share/qt_ui.ini \ + --replace-fail @shadps4@ $out/bin/shadps4 + ''; + }; + in + prev.stdenv.mkDerivation { + pname = "shadps4-qt"; + version = "224"; + + src = final.fetchFromGitHub { + owner = "shadps4-emu"; + repo = "shadps4-qtlauncher"; + tag = "v224"; + hash = "sha256-KBjAP0t2A6Q0eD7A0/9HzIQrUJ97YUkx2nx4SB+poHU="; + fetchSubmodules = true; + }; + + postPatch = '' + substituteInPlace src/common/scm_rev.cpp.in \ + --replace-fail @APP_VERSION@ ${shadps4.version} \ + --replace-fail @GIT_REV@ v224 \ + --replace-fail @GIT_BRANCH@ v224 \ + --replace-fail @GIT_DESC@ nixpkgs \ + --replace-fail @BUILD_DATE@ 1970-01-01T00:00:00Z + + substituteInPlace src/common/versions.cpp \ + --replace-fail 'Common::FS::GetUserPath(Common::FS::PathType::LauncherDir) / "versions.json"' \ + '"${shadps4Wrapped}/share/versions.json"' + + substituteInPlace src/qt_gui/gui_settings.cpp \ + --replace-fail 'ComputeSettingsDir() + "qt_ui.ini"' \ + 'QString::fromStdString("${shadps4Wrapped}/share/qt_ui.ini")' + ''; + + inherit (shadps4) cmakeBuildType dontStrip runtimeDependencies; + + nativeBuildInputs = + (shadps4.nativeBuildInputs or []) + ++ [ + final.qt6.wrapQtAppsHook + ]; + + buildInputs = + (shadps4.buildInputs or []) + ++ [ + final.qt6.qtbase + final.qt6.qttools + final.qt6.qtmultimedia + ]; + + cmakeFlags = [ + (final.lib.cmakeBool "ENABLE_UPDATER" false) + (final.lib.cmakeBool "HIDE_VERSION_MANAGER" true) + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + ln -s ${shadps4Wrapped}/bin/shadps4 $out/bin + + install -Dm644 $src/.github/shadps4.png $out/share/icons/hicolor/512x512/apps/net.shadps4.shadPS4.png + install -Dm644 -t $out/share/applications $src/dist/net.shadps4.shadps4-qtlauncher.desktop + install -Dm644 -t $out/share/metainfo $src/dist/net.shadps4.shadps4-qtlauncher.metainfo.xml + + install -Dm755 shadPS4QtLauncher $out/bin/shadps4-qt + + runHook postInstall + ''; + + fixupPhase = '' + runHook preFixup + + substituteInPlace $out/share/applications/net.shadps4.shadps4-qtlauncher.desktop \ + --replace-fail 'Exec=shadPS4QtLauncher' 'Exec=shadps4-qt' + + runHook postFixup + ''; + + meta = { + inherit (shadps4.meta) platforms license maintainers; + description = shadps4.meta.description + " (Qt UI)"; + homepage = "https://github.com/shadps4-emu/shadps4-qtlauncher"; + mainProgram = "shadps4-qt"; + }; + }; +} diff --git a/overlays/media.nix b/overlays/media.nix new file mode 100644 index 0000000..88fa3f2 --- /dev/null +++ b/overlays/media.nix @@ -0,0 +1,4 @@ +{inputs, ...}: final: prev: { + ddcbacklight = inputs.ddcbacklight.packages.${prev.stdenv.hostPlatform.system}.ddcbacklight; + music-player-git = inputs.music-player.packages.${prev.stdenv.hostPlatform.system}.default; +} diff --git a/overlays/networking.nix b/overlays/networking.nix new file mode 100644 index 0000000..2eb7c60 --- /dev/null +++ b/overlays/networking.nix @@ -0,0 +1,6 @@ +{inputs, ...}: final: prev: { + caddyWithCloudflare = inputs.nixpkgs.legacyPackages.${prev.stdenv.hostPlatform.system}.caddy.withPlugins { + plugins = ["github.com/caddy-dns/cloudflare@v0.2.2"]; + hash = "sha256-7DGnojZvcQBZ6LEjT0e5O9gZgsvEeHlQP9aKaJIs/Zg="; + }; +} diff --git a/overlays/shell-scripts.nix b/overlays/shell-scripts.nix new file mode 100644 index 0000000..b884aaf --- /dev/null +++ b/overlays/shell-scripts.nix @@ -0,0 +1,9 @@ +{...}: final: prev: { + handlr-xdg = final.pkgs.writeShellApplication { + name = "xdg-open"; + runtimeInputs = [final.pkgs.handlr-regex]; + text = '' + handlr open "$@" + ''; + }; +} diff --git a/overlays/system-libs.nix b/overlays/system-libs.nix new file mode 100644 index 0000000..845d818 --- /dev/null +++ b/overlays/system-libs.nix @@ -0,0 +1,21 @@ +{...}: final: prev: { + # Custom libfprint with CS9711 fingerprint reader support + # https://github.com/archeYR/libfprint-CS9711/commits/cs9711-rebase/ + libfprint = prev.libfprint.overrideAttrs (oldAttrs: { + version = "git"; + src = final.fetchFromGitHub { + owner = "archeYR"; + repo = "libfprint-CS9711"; + rev = "c2d163fbb06d33e80a5177815bb0b8ca2f01739f"; + sha256 = "sha256-JygOJ3SybXKR3CjLxLbAZDaYCl9LuQYDQfFC8Si5oaw"; + }; + buildInputs = oldAttrs.buildInputs ++ [final.nss_latest]; + nativeBuildInputs = + oldAttrs.nativeBuildInputs + ++ [ + final.opencv + final.cmake + final.doctest + ]; + }); +} diff --git a/overlays/terminal.nix b/overlays/terminal.nix new file mode 100644 index 0000000..57eb809 --- /dev/null +++ b/overlays/terminal.nix @@ -0,0 +1,20 @@ +{inputs, ...}: final: prev: { + tmuxPlugins = + prev.tmuxPlugins + // { + tmux-super-fingers = final.pkgs.tmuxPlugins.mkTmuxPlugin { + pluginName = "tmux-super-fingers"; + version = "v1-2024-02-14"; + src = final.pkgs.fetchFromGitHub { + owner = "artemave"; + repo = "tmux_super_fingers"; + rev = "518044ef78efa1cf3c64f2e693fef569ae570ddd"; + sha256 = "sha256-iKfx9Ytk2vSuINvQTB6Kww8Vv7i51cFEnEBHLje+IJw="; + }; + }; + }; + tmux-float = inputs.tmux-float.packages.${prev.stdenv.hostPlatform.system}.default; + zellijPlugins = { + zjstatus = inputs.zjstatus.packages.${prev.stdenv.hostPlatform.system}.default; + }; +} diff --git a/overlays/themes.nix b/overlays/themes.nix new file mode 100644 index 0000000..3806a21 --- /dev/null +++ b/overlays/themes.nix @@ -0,0 +1,7 @@ +{inputs, ...}: final: prev: { + catppuccinThemes = import ../themes/catppuccin.nix {pkgs = final.pkgs;}; + nix-index-database = final.runCommandLocal "nix-index-database" {} '' + mkdir -p $out + ln -s ${inputs.nix-index-database.legacyPackages.${prev.stdenv.hostPlatform.system}.database} $out/files + ''; +} -- 2.51.2