Skip to content

vicinae: init at 0.15.5#451675

Merged
JohnRTitor merged 3 commits intoNixOS:masterfrom
zstg:zstg
Oct 26, 2025
Merged

vicinae: init at 0.15.5#451675
JohnRTitor merged 3 commits intoNixOS:masterfrom
zstg:zstg

Conversation

@zstg
Copy link
Copy Markdown
Member

@zstg zstg commented Oct 13, 2025

Packaged vicinae.

Vicinae (pronounced "vih-SIN-ay") is a high-performance, native launcher for Linux — built with C++ and Qt.

Documentation: https://docs.vicinae.com/

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 12.first-time contribution This PR is the author's first one; please be gentle! 8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` labels Oct 13, 2025
Copy link
Copy Markdown
Member

@JohnRTitor JohnRTitor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First commit title should be maintainers: add zstg

Also, please run nix-shell --run treefmt to format the changed files.

Copy link
Copy Markdown
Member

@JohnRTitor JohnRTitor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CC @schromp @TomRomeo for review as well

@whispersofthedawn
Copy link
Copy Markdown
Contributor

whispersofthedawn commented Oct 23, 2025

Have you seen vicinaehq/vicinae#245 by @bendi-github? This PR here seems to be derived from what is available upstream in nix/vicinae.nix, but that PR offers some major simplifications to the derivations. It's out of date, but I've adapted them to the latest version, and it seems to build and run completely fine on my system (x86_64-linux). It might be worth adapting some of the simplifications here and seeing if they help? I've included a possible version below.

Adapted version of vicinae#245
{
  cmake,
  cmark-gfm,
  fetchFromGitHub,
  fetchNpmDeps,
  grpc-tools,
  kdePackages,
  lib,
  libqalculate,
  minizip,
  ninja,
  nodejs,
  npmHooks,
  pkg-config,
  protobuf,
  qt6,
  rapidfuzz-cpp,
  stdenv,
  wayland,
}:
stdenv.mkDerivation (
  finalAttrs:
  let
    apiDeps = fetchNpmDeps {
      src = "${finalAttrs.src}/typescript/api";
      hash = "sha256-dSHEzw15lSRRbldl9PljuWFf2htdG+HgSeKPAB88RBg=";
    };

    extensionManagerDeps = fetchNpmDeps {
      src = "${finalAttrs.src}/typescript/extension-manager";
      hash = "sha256-TCT7uZRZn4rsLA/z2yLeK5Bt4DJPmdSC4zkmuCxTtc8=";
    };
  in
  {
    pname = "vicinae";
    version = "0.15.3";

    src = fetchFromGitHub {
      owner = "vicinaehq";
      repo = "vicinae";
      tag = "v${finalAttrs.version}";
      hash = "sha256-wmlnRd5/imOkN2g3jiOH4hdblDH6XSrBS7KzOqRhPHc=";
    };

    cmakeFlags = [
      "-DVICINAE_GIT_TAG=v${finalAttrs.version}"
      "-DVICINAE_PROVENANCE=nix"
      "-DINSTALL_NODE_MODULES=OFF"
      "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
      "-DCMAKE_INSTALL_DATAROOTDIR=share"
      "-DCMAKE_INSTALL_BINDIR=bin"
      "-DCMAKE_INSTALL_LIBDIR=lib"
    ];

    nativeBuildInputs = [
      cmake
      ninja
      nodejs
      pkg-config
      protobuf
      qt6.wrapQtAppsHook
    ];

    buildInputs = [
      cmark-gfm
      grpc-tools
      kdePackages.layer-shell-qt
      kdePackages.qtkeychain
      libqalculate
      minizip
      nodejs
      protobuf
      qt6.qtbase
      qt6.qtsvg
      qt6.qtwayland
      rapidfuzz-cpp
      wayland
    ];

    postPatch = ''
      local postPatchHooks=()
      	source ${npmHooks.npmConfigHook}/nix-support/setup-hook
      	npmRoot=typescript/api npmDeps=${apiDeps} npmConfigHook
      	npmRoot=typescript/extension-manager npmDeps=${extensionManagerDeps} npmConfigHook
    '';

    postFixup = ''
      wrapProgram "$out/bin/vicinae" --prefix PATH : ${
        lib.makeBinPath [
          nodejs
          (placeholder "out")
        ]
      }
    '';

    meta = {
      description = "A focused launcher for your desktop — native, fast, extensible";
      homepage = "https://github.com/vicinaehq/vicinae";
      license = lib.licenses.gpl3Plus;
      mainProgram = "vicinae";
      maintainers = [ ];
      platforms = lib.platforms.linux;
    };
  }
)

(As a minor nicety, this also happens to build significantly faster (6m55s vs 17m34s on my machine) for reasons entirely unknown to me.)

@schromp
Copy link
Copy Markdown
Contributor

schromp commented Oct 23, 2025

Have you seen vicinaehq/vicinae#245 by @bendi-github? This PR here seems to be derived from what is available upstream in nix/vicinae.nix, but that PR offers some major simplifications to the derivations. It's out of date, but I've adapted them to the latest version, and it seems to build and run completely fine on my system (x86_64-linux). It might be worth adapting some of the simplifications here and seeing if they help? I've included a possible version below.
Adapted version of vicinae#245

(As a minor nicety, this also happens to build significantly faster (6m55s vs 17m34s on my machine) for reasons entirely unknown to me.)

i agree that we should take this chance to clean up the build.

@schromp
Copy link
Copy Markdown
Contributor

schromp commented Oct 23, 2025

Also the version is outdated already so we should bump that

@JohnRTitor
Copy link
Copy Markdown
Member

CC @schromp @dawnofmidnight for review

description = "A focused launcher for your desktop — native, fast, extensible";
homepage = "https://github.com/vicinaehq/vicinae";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ zstg ];
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
maintainers = with lib.maintainers; [ zstg ];
maintainers = [ lib.maintainers.zstg ];

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a stylistic change, and will need to be reversed if more maintainers are added later.

Copy link
Copy Markdown
Contributor

@whispersofthedawn whispersofthedawn Oct 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah okay. I was under the impression that with was generally being phased out (I'm not particularly involved in nixpkgs things), but if that's the norm, sounds good to me.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

with lib is being phased out for meta and other attrs. Using with in a smaller scope like meta.maintainers in fine, using it for the whole meta attr isn't.

Copy link
Copy Markdown
Member

@JohnRTitor JohnRTitor Oct 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Anyways, I won't be able to maintain this. I applied the changes as a commiter. And given chaotic-cx/nyx#1220 (comment), would any of you like to co maintain this package?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd be willing to handle updates and such if necessary, but I have not maintained nixpkgs packages before, and so would need to be added to the maintainer-list. If you could do that on top of this PR, we can provide a patch, or we could open a quick PR just to add us as a maintainer.

Patch to maintainer list
From 833511c8a8feafc0d05be8a0836bbaa0f7cc4a1a Mon Sep 17 00:00:00 2001
From: dawnofmidnight <dawnofmidnight@duck.com>
Date: Sun, 26 Oct 2025 12:45:09 -0400
Subject: [PATCH] maintainers: add dawnofmidnight

---
 maintainers/maintainer-list.nix | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index bb777bcd9e45..526567194b82 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -5960,6 +5960,12 @@
     githubId = 49904992;
     name = "Dawid Sowa";
   };
+  dawnofmidnight = {
+    email = "dawnofmidnight@duck.com";
+    github = "dawnofmidnight";
+    githubId = 78233879;
+    name = "whispers";
+  };
   dawoox = {
     email = "contact@antoinebellanger.fr";
     github = "Dawoox";
--
2.51.0

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. Feel free to ping me if you want to get an update PR merged.

@nixpkgs-ci nixpkgs-ci bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Oct 26, 2025
@JohnRTitor JohnRTitor changed the title vicinae: init at 0.14.5 vicinae: init at 0.15.5 Oct 26, 2025
@JohnRTitor JohnRTitor added this pull request to the merge queue Oct 26, 2025
Merged via the queue into NixOS:master with commit f01a5c8 Oct 26, 2025
26 of 30 checks passed
@zstg
Copy link
Copy Markdown
Member Author

zstg commented Oct 27, 2025

Thank you for merging @JohnRTitor . Shall I bump the version to 0.15.6?

@JohnRTitor
Copy link
Copy Markdown
Member

Go ahead, you don't need anyone's permission.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person. 12.first-time contribution This PR is the author's first one; please be gentle!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants