@jaspermayone.com's dotfiles
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add QMD package

+56
+1
flake.nix
··· 97 97 # Custom packages 98 98 zmx-binary = prev.callPackage ./packages/zmx.nix { }; 99 99 wut = final.unstable.callPackage ./packages/wut.nix { }; 100 + qmd = prev.callPackage ./packages/qmd.nix { }; 100 101 101 102 # Caddy with Cloudflare DNS plugin for ACME DNS challenges 102 103 caddy-cloudflare = prev.caddy.withPlugins {
+1
home/default.nix
··· 172 172 173 173 home.packages = with pkgs; [ 174 174 eza 175 + qmd 175 176 ]; 176 177 177 178 # Git configuration
+54
packages/qmd.nix
··· 1 + { 2 + lib, 3 + buildNpmPackage, 4 + fetchFromGitHub, 5 + nodejs, 6 + python3, 7 + stdenv, 8 + darwin, 9 + }: 10 + 11 + buildNpmPackage rec { 12 + pname = "qmd"; 13 + version = "unstable-2025-01-31"; 14 + 15 + src = fetchFromGitHub { 16 + owner = "tobi"; 17 + repo = "qmd"; 18 + rev = "47b705409eb1427e574ce82c16e1860b216869ed"; 19 + hash = lib.fakeHash; 20 + }; 21 + 22 + npmDepsHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; # Placeholder - needs to be updated 23 + 24 + nativeBuildInputs = [ 25 + nodejs 26 + python3 27 + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ 28 + darwin.cctools 29 + ]; 30 + 31 + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin ( 32 + with darwin.apple_sdk.frameworks; [ 33 + Security 34 + ] 35 + ); 36 + 37 + # Skip npm install scripts that might fail 38 + npmInstallFlags = [ "--ignore-scripts" ]; 39 + 40 + # QMD requires Bun runtime but can be built with npm 41 + postInstall = '' 42 + # Ensure binary is executable 43 + chmod +x $out/bin/qmd 44 + ''; 45 + 46 + meta = with lib; { 47 + description = "On-device search engine for markdown notes and knowledge bases"; 48 + homepage = "https://github.com/tobi/qmd"; 49 + license = licenses.mit; 50 + maintainers = [ ]; 51 + mainProgram = "qmd"; 52 + platforms = platforms.unix; 53 + }; 54 + }