From 60d1363f588d661b946751b1a66fbb98d09ae966 Mon Sep 17 00:00:00 2001 From: GarandPLG Date: Mon, 16 Feb 2026 22:41:30 +0100 Subject: [PATCH] Add Fluxer desktop app package Expose Fluxer as a system package by adding a new fluxer module and importing it in the core packages list. --- modules/core/packages/default.nix | 1 + modules/core/packages/fluxer/default.nix | 6 ++++ .../core/packages/fluxer/fluxer-package.nix | 35 +++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 modules/core/packages/fluxer/default.nix create mode 100644 modules/core/packages/fluxer/fluxer-package.nix diff --git a/modules/core/packages/default.nix b/modules/core/packages/default.nix index 4f0182c..0cd8a0e 100644 --- a/modules/core/packages/default.nix +++ b/modules/core/packages/default.nix @@ -1,6 +1,7 @@ _: { nixpkgs.config.allowUnfree = true; imports = [ + ./fluxer ./essentials.nix ./packages.nix ./programs.nix diff --git a/modules/core/packages/fluxer/default.nix b/modules/core/packages/fluxer/default.nix new file mode 100644 index 0000000..af44324 --- /dev/null +++ b/modules/core/packages/fluxer/default.nix @@ -0,0 +1,6 @@ +{pkgs, ...}: let + fluxer = + pkgs.callPackage ./fluxer-package.nix {}; +in { + environment.systemPackages = [fluxer]; +} diff --git a/modules/core/packages/fluxer/fluxer-package.nix b/modules/core/packages/fluxer/fluxer-package.nix new file mode 100644 index 0000000..639952a --- /dev/null +++ b/modules/core/packages/fluxer/fluxer-package.nix @@ -0,0 +1,35 @@ +{ + lib, + appimageTools, + fetchurl, +}: let + pname = "fluxer"; + version = "canary"; + + src = fetchurl { + url = "https://api.fluxer.app/dl/desktop/stable/linux/x64/latest/appimage"; + sha256 = "sha256-GdoBK+Z/d2quEIY8INM4IQy5tzzIBBM+3CgJXQn0qAw="; + }; + appimageContents = appimageTools.extract {inherit pname version src;}; +in + appimageTools.wrapType2 { + inherit pname version src; + + extraInstallCommands = '' + # mv $out/bin/${pname}-${version} $out/bin/${pname} + install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop + install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/${pname}.png \ + $out/share/icons/hicolor/512x512/apps/${pname}.png + substituteInPlace $out/share/applications/${pname}.desktop \ + --replace-fail 'Exec=AppRun' 'Exec=${pname}' + ''; + + meta = with lib; { + description = "Fluxer desktop app"; + homepage = "https://github.com/fluxerapp/fluxer"; + license = licenses.agpl3Only; + platforms = ["x86_64-linux"]; + sourceProvenance = with lib.sourceTypes; [binaryNativeCode]; + maintainers = with lib.maintainers; [garand_plg]; + }; + }