Compare commits

...

11 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
Olivier feff32f4c0 Add flow-browser-bin 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 1m55s
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 1m47s
2026-01-11 19:06:53 -04:00
Olivier 706db3c704 Update README 2026-01-11 18:58:36 -04:00
5 changed files with 267 additions and 10 deletions
+5 -7
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.
- Upstream: `https://github.com/kavishdevar/librepods`
- **looking-glass-client**: Looking Glass client.
- Upstream: `https://github.com/gnif/LookingGlass`
## Usage
@@ -19,19 +21,15 @@ If you want to use this repo directly as a flake input:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
my-nur.url = "github:<YOUR_GITHUB_USER>/nur-packages";
chiasson.url = "git+https://git.chiasson.cloud/Olivier/nur-packages";
};
outputs = { self, nixpkgs, my-nur, ... }:
outputs = { self, nixpkgs, chiasson, ... }:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
overlays = [ my-nur.overlays.default ];
};
in
{
packages.${system}.default = pkgs.librepods;
packages.${system}.default = chiasson.packages.${system}.librepods;
};
}
```
+2
View File
@@ -16,6 +16,8 @@
# example-package = pkgs.callPackage ./pkgs/example-package { };
librepods = pkgs.callPackage ./pkgs/librepods { };
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 { };
# ...
}
+117
View File
@@ -0,0 +1,117 @@
{ lib
, appimageTools
, fetchurl
, runCommand
, stdenv
, mesa
, vips
}:
let
pname = "flow-browser-bin";
version = "0.8.6";
# Flow bundles `sharp`, which attempts to dlopen libvips with a filename that
# includes the libvips version (e.g. libvips-cpp.so.8.17.3). Nixpkgs provides
# libvips with a different SONAME-based filename (e.g. libvips-cpp.so.42.19.3),
# so we provide compatibility symlinks in the FHS env.
vipsSharpCompat = runCommand "flow-browser-vips-compat" { } ''
mkdir -p $out/lib
# Link to the SONAME symlinks provided by nixpkgs, so we don't hardcode the
# 42.x.y patchlevel.
ln -sf ${vips.out}/lib/libvips-cpp.so.42 $out/lib/libvips-cpp.so.8
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 =
if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl {
url = "https://github.com/MultiboxLabs/flow-browser/releases/download/v${version}/flow-browser-${version}-x86_64.AppImage";
sha256 = "1s4i419vlwgqzy8p73msb6djf6bbdk530inwc6hr7rwz611cf0gz";
}
else if stdenv.hostPlatform.system == "aarch64-linux" then
fetchurl {
url = "https://github.com/MultiboxLabs/flow-browser/releases/download/v${version}/flow-browser-${version}-arm64.AppImage";
sha256 = "0n2cp0519z43z5aa6mc7xzrhp6mpfjl7fkls29hk6db4mzv6sfsn";
}
else
throw "flow-browser-bin: unsupported system: ${stdenv.hostPlatform.system}";
appimageContents = appimageTools.extractType2 {
inherit pname version src;
};
in
appimageTools.wrapType2 {
inherit pname version src;
extraPkgs = _pkgs: [
vipsSharpCompat
mesa
];
# Ensure `sharp` can find libvips in the bubblewrapped FHS env.
# (Relying on /usr/lib64 + ld.so cache can be flaky depending on the env.)
profile = ''
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 = ''
# Desktop entry
install -D -m 444 ${appimageContents}/Flow.desktop \
$out/share/applications/flow-browser.desktop
substituteInPlace $out/share/applications/flow-browser.desktop \
--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
install -D -m 444 ${appimageContents}/usr/share/icons/hicolor/512x512/apps/Flow.png \
$out/share/icons/hicolor/512x512/apps/flow-browser.png
substituteInPlace $out/share/applications/flow-browser.desktop \
--replace-fail 'Icon=Flow' 'Icon=flow-browser'
'';
meta = {
description = "A modern, privacy-focused browser with a minimalistic design (binary AppImage)";
homepage = "https://github.com/multiboxlabs/flow-browser";
license = lib.licenses.gpl3Only;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
platforms = [ "x86_64-linux" "aarch64-linux" ];
mainProgram = "flow-browser-bin";
};
}
+3 -3
View File
@@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
pname = "librepods";
version = "0.1.0";
version = "0.2.0-alpha.2";
src = fetchFromGitHub {
owner = "kavishdevar";
repo = "librepods";
rev = "linux-v${version}";
hash = "sha256-ZvHbSSW0rfcsNUORZURe0oBHQbnqmS5XT9ffVMwjIMU=";
rev = "v${version}";
hash = "sha256-37dLiXC+eO4f5waLKgMMpHXH1m6W54O/l2axJsnyU5M=";
};
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;
};
})