Compare commits

...

9 Commits

Author SHA1 Message Date
Olivier bbc73fc47e Update librepods to version 0.2.0-alpha.2 and adjust GitHub source reference
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-25.05.tar.gz, chiasson) (push) Successful in 3m17s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-unstable.tar.gz, chiasson) (push) Successful in 2m41s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, chiasson) (push) Successful in 2m45s
2026-04-15 18:52:55 -03:00
Olivier ee1f72ff01 Remove cloudflare-warp package
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-25.05.tar.gz, chiasson) (push) Successful in 2m1s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-unstable.tar.gz, chiasson) (push) Successful in 1m59s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, chiasson) (push) Successful in 1m56s
2026-01-23 20:51:55 -04:00
Olivier fb5e1e2451 Update flake.nix to allow unfree package cloudflare-warp
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-25.05.tar.gz, chiasson) (push) Successful in 2m15s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-unstable.tar.gz, chiasson) (push) Successful in 1m55s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, chiasson) (push) Successful in 2m7s
2026-01-23 20:00:10 -04:00
Olivier c311013c0e Add cloudflare-warp package
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-25.05.tar.gz, chiasson) (push) Successful in 1m59s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-unstable.tar.gz, chiasson) (push) Successful in 2m8s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, chiasson) (push) Successful in 2m0s
2026-01-23 19:43:48 -04:00
Olivier a1149682cb Fix build issues in looking-glass-client by suppressing GCC warning for maybe-uninitialized in vendored nanosvg.
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-25.05.tar.gz, chiasson) (push) Successful in 3m14s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-unstable.tar.gz, chiasson) (push) Successful in 3m8s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, chiasson) (push) Successful in 2m3s
2026-01-23 18:02:21 -04:00
Olivier 987029e6c8 Added looking-glass-client package
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-25.05.tar.gz, chiasson) (push) Failing after 2m54s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-unstable.tar.gz, chiasson) (push) Failing after 2m59s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, chiasson) (push) Failing after 3m6s
2026-01-22 20:07:40 -04:00
Olivier 104d0afbd2 Stabilize launcher name for flow-browser-bin by creating a symlink to the versioned binary, ensuring consistent naming in menus.
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-25.05.tar.gz, chiasson) (push) Successful in 1m55s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-unstable.tar.gz, chiasson) (push) Successful in 1m48s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, chiasson) (push) Successful in 1m45s
2026-01-12 19:42:44 -04:00
Olivier ac3834846f Update flow-browser-bin desktop entry: fix Exec and TryExec paths for improved launcher detection.
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-25.05.tar.gz, chiasson) (push) Successful in 1m56s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-unstable.tar.gz, chiasson) (push) Successful in 1m47s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, chiasson) (push) Successful in 1m51s
2026-01-12 18:24:07 -04:00
Olivier 41c3ebec4b Enhance flow-browser-bin package: add mesa dependency, improve libvips symlink handling, and stabilize launcher name in desktop entry.
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-25.05.tar.gz, chiasson) (push) Successful in 1m54s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-unstable.tar.gz, chiasson) (push) Successful in 1m49s
Build and populate cache / tests (chiasson, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, chiasson) (push) Successful in 1m46s
2026-01-11 20:53:38 -04:00
5 changed files with 187 additions and 7 deletions
+2
View File
@@ -6,6 +6,8 @@ Personal [NUR](https://github.com/nix-community/NUR) repository.
- **librepods**: LibrePods Linux app (Qt6) — AirPods controls and battery monitoring. - **librepods**: LibrePods Linux app (Qt6) — AirPods controls and battery monitoring.
- Upstream: `https://github.com/kavishdevar/librepods` - Upstream: `https://github.com/kavishdevar/librepods`
- **looking-glass-client**: Looking Glass client.
- Upstream: `https://github.com/gnif/LookingGlass`
## Usage ## Usage
+1
View File
@@ -17,6 +17,7 @@
# example-package = pkgs.callPackage ./pkgs/example-package { }; # example-package = pkgs.callPackage ./pkgs/example-package { };
librepods = pkgs.callPackage ./pkgs/librepods { }; librepods = pkgs.callPackage ./pkgs/librepods { };
flow-browser-bin = pkgs.callPackage ./pkgs/flow-browser-bin { }; flow-browser-bin = pkgs.callPackage ./pkgs/flow-browser-bin { };
looking-glass-client = pkgs.callPackage ./pkgs/looking-glass-client { };
# some-qt5-package = pkgs.libsForQt5.callPackage ./pkgs/some-qt5-package { }; # some-qt5-package = pkgs.libsForQt5.callPackage ./pkgs/some-qt5-package { };
# ... # ...
} }
+41 -4
View File
@@ -3,6 +3,7 @@
, fetchurl , fetchurl
, runCommand , runCommand
, stdenv , stdenv
, mesa
, vips , vips
}: }:
@@ -18,8 +19,17 @@ let
mkdir -p $out/lib mkdir -p $out/lib
# Link to the SONAME symlinks provided by nixpkgs, so we don't hardcode the # Link to the SONAME symlinks provided by nixpkgs, so we don't hardcode the
# 42.x.y patchlevel. # 42.x.y patchlevel.
ln -s ${vips.out}/lib/libvips-cpp.so.42 $out/lib/libvips-cpp.so.${vips.version} ln -sf ${vips.out}/lib/libvips-cpp.so.42 $out/lib/libvips-cpp.so.8
ln -s ${vips.out}/lib/libvips.so.42 $out/lib/libvips.so.${vips.version} ln -sf ${vips.out}/lib/libvips.so.42 $out/lib/libvips.so.8
# `sharp` wants an exact libvips filename including patchlevel (observed in
# Flow 0.8.6: libvips-cpp.so.8.17.3). Provide a small compatibility set:
# - the version bundled with Flow (`8.17.3`)
# - the current nixpkgs vips.version (helps when they match)
for v in 8.17.3 ${vips.version}; do
ln -sf ${vips.out}/lib/libvips-cpp.so.42 $out/lib/libvips-cpp.so.$v
ln -sf ${vips.out}/lib/libvips.so.42 $out/lib/libvips.so.$v
done
''; '';
src = src =
@@ -43,12 +53,19 @@ in
appimageTools.wrapType2 { appimageTools.wrapType2 {
inherit pname version src; inherit pname version src;
extraPkgs = pkgs: [ vipsSharpCompat ]; extraPkgs = _pkgs: [
vipsSharpCompat
mesa
];
# Ensure `sharp` can find libvips in the bubblewrapped FHS env. # Ensure `sharp` can find libvips in the bubblewrapped FHS env.
# (Relying on /usr/lib64 + ld.so cache can be flaky depending on the env.) # (Relying on /usr/lib64 + ld.so cache can be flaky depending on the env.)
profile = '' profile = ''
export LD_LIBRARY_PATH="${vipsSharpCompat}/lib''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH" export LD_LIBRARY_PATH="${vipsSharpCompat}/lib''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
# Help Electron/ANGLE find GL/EGL drivers inside the FHS env.
export LIBGL_DRIVERS_PATH="${mesa}/lib/dri"
export __EGL_VENDOR_LIBRARY_DIRS="${mesa}/share/glvnd/egl_vendor.d''${__EGL_VENDOR_LIBRARY_DIRS:+:}$__EGL_VENDOR_LIBRARY_DIRS"
''; '';
extraInstallCommands = '' extraInstallCommands = ''
@@ -57,7 +74,27 @@ appimageTools.wrapType2 {
$out/share/applications/flow-browser.desktop $out/share/applications/flow-browser.desktop
substituteInPlace $out/share/applications/flow-browser.desktop \ substituteInPlace $out/share/applications/flow-browser.desktop \
--replace-fail 'Exec=AppRun' 'Exec=${pname}' --replace-fail 'Exec=AppRun' "Exec=$out/bin/${pname}"
# Help launchers detect the binary without relying on PATH.
if grep -q '^TryExec=' $out/share/applications/flow-browser.desktop; then
sed -i "s|^TryExec=.*|TryExec=$out/bin/${pname}|" $out/share/applications/flow-browser.desktop
else
echo "TryExec=$out/bin/${pname}" >> $out/share/applications/flow-browser.desktop
fi
# appimageTools.wrapType2 tends to name the wrapper with the version suffix
# (e.g. flow-browser-bin-0.8.6). Provide a stable name for launchers/scripts.
if [ -e "$out/bin/${pname}-${version}" ] && [ ! -e "$out/bin/${pname}" ]; then
ln -s "$out/bin/${pname}-${version}" "$out/bin/${pname}"
fi
# Keep the launcher name stable (avoid showing version suffixes in menus).
if grep -q '^Name=' $out/share/applications/flow-browser.desktop; then
sed -i 's/^Name=.*/Name=Flow/' $out/share/applications/flow-browser.desktop
else
echo 'Name=Flow' >> $out/share/applications/flow-browser.desktop
fi
# Icon # Icon
install -D -m 444 ${appimageContents}/usr/share/icons/hicolor/512x512/apps/Flow.png \ install -D -m 444 ${appimageContents}/usr/share/icons/hicolor/512x512/apps/Flow.png \
+3 -3
View File
@@ -10,13 +10,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "librepods"; pname = "librepods";
version = "0.1.0"; version = "0.2.0-alpha.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kavishdevar"; owner = "kavishdevar";
repo = "librepods"; repo = "librepods";
rev = "linux-v${version}"; rev = "v${version}";
hash = "sha256-ZvHbSSW0rfcsNUORZURe0oBHQbnqmS5XT9ffVMwjIMU="; hash = "sha256-37dLiXC+eO4f5waLKgMMpHXH1m6W54O/l2axJsnyU5M=";
}; };
sourceRoot = "${src.name}/linux"; sourceRoot = "${src.name}/linux";
+140
View File
@@ -0,0 +1,140 @@
{
stdenv,
lib,
fetchFromGitHub,
pkg-config,
cmake,
freefont_ttf,
spice-protocol,
nettle,
libbfd,
fontconfig,
libffi,
expat,
libGL,
nanosvg,
libX11,
libxkbcommon,
libXext,
libXrandr,
libXi,
libXScrnSaver,
libXinerama,
libXcursor,
libXpresent,
libXdmcp,
wayland,
wayland-protocols,
wayland-scanner,
pipewire,
pulseaudio,
libsamplerate,
openGLSupport ? true,
xorgSupport ? true,
waylandSupport ? true,
pipewireSupport ? true,
pulseSupport ? true,
rev ? "27fe47cb",
hash ? "sha256-I84oVLeS63mnR19vTalgvLvA5RzCPTXV+tSsw+ImDwQ=",
}:
stdenv.mkDerivation (finalAttrs: {
pname = "looking-glass-client";
version = rev;
src = fetchFromGitHub {
owner = "gnif";
repo = "LookingGlass";
rev = rev;
hash = hash;
fetchSubmodules = true;
};
nativeBuildInputs = [
cmake
pkg-config
wayland-scanner
];
buildInputs =
[
libX11
libGL
freefont_ttf
spice-protocol
expat
libbfd
nettle
fontconfig
libffi
nanosvg
]
++ lib.optionals xorgSupport [
libxkbcommon
libXi
libXScrnSaver
libXinerama
libXcursor
libXpresent
libXext
libXrandr
libXdmcp
]
++ lib.optionals waylandSupport [
libxkbcommon
wayland
wayland-protocols
]
++ lib.optionals pipewireSupport [
pipewire
libsamplerate
]
++ lib.optionals pulseSupport [
pulseaudio
libsamplerate
];
cmakeFlags =
[
"-DOPTIMIZE_FOR_NATIVE=OFF"
]
++ lib.optionals (!openGLSupport) ["-DENABLE_OPENGL=no"]
++ lib.optionals (!xorgSupport) ["-DENABLE_X11=no"]
++ lib.optionals (!waylandSupport) ["-DENABLE_WAYLAND=no"]
++ lib.optionals (!pulseSupport) ["-DENABLE_PULSEAUDIO=no"]
++ lib.optionals (!pipewireSupport) ["-DENABLE_PIPEWIRE=no"];
# GCC can warn about maybe-uninitialized inside vendored nanosvg and Looking
# Glass treats warnings as errors, which breaks the build.
NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [
"-Wno-error=maybe-uninitialized"
];
postUnpack = ''
echo ${finalAttrs.src.rev} > source/VERSION
export sourceRoot="source/client"
'';
postInstall = ''
mkdir -p $out/share/pixmaps
cp $src/resources/lg-logo.png $out/share/pixmaps
'';
meta = with lib; {
description = "KVM Frame Relay (KVMFR) implementation";
longDescription = ''
Looking Glass is an open source application that allows the use of a KVM
(Kernel-based Virtual Machine) configured for VGA PCI Pass-through
without an attached physical monitor, keyboard or mouse. This is the final
step required to move away from dual booting with other operating systems
for legacy programs that require high performance graphics.
'';
homepage = "https://looking-glass.io/";
downloadPage = "https://github.com/gnif/LookingGlass/releases";
changelog = "https://github.com/gnif/LookingGlass/commits/${rev}";
branch = "master";
license = licenses.gpl2Plus;
sourceProvenance = with sourceTypes; [ fromSource ];
mainProgram = "looking-glass-client";
platforms = platforms.linux;
};
})