{ inputs, self, ... }: { flake.nixosModules.graphics = { pkgs, config, lib, ... }: { options.features.applications.gui = { fluxer.enable = lib.mkEnableOption "fluxer"; fluxer-canary.enable = lib.mkEnableOption "fluxer-canary"; }; config = { environment.systemPackages = (if config.features.applications.gui.fluxer.enable then [ (pkgs.callPackage ({ appimageTools, fetchurl, lib, pkgs, ... }: let pname = "fluxer"; version = "0.0.8"; 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 rec { inherit pname version src; extraInstallCommands = '' install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop install -m 444 -D ${appimageContents}/${pname}.png $out/share/icons/hicolor/512x512/apps/${pname}.png substituteInPlace $out/share/applications/${pname}.desktop \ --replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname} %U' ''; meta = with lib; { description = "Open-source, self-hosted alternative to Discord"; homepage = "https://fluxer.app/"; license = licenses.agpl3Only; maintainers = [ ]; platforms = [ "x86_64-linux" ]; }; }) {}) ] else []) ++ (if config.features.applications.gui.fluxer-canary.enable then [ (pkgs.callPackage ({ appimageTools, fetchurl, lib, pkgs, ... }: let pname = "fluxer-canary"; version = "2026.827.132039"; src = fetchurl { url = "https://api.canary.fluxer.app/dl/desktop/canary/linux/x64/latest/appimage"; sha256 = "sha256-eRR9JZa4LPuUtjdDO+JvzaOLxQeDgVziLrFr5iIgr1Q="; }; appimageContents = appimageTools.extract { inherit pname version src; }; in appimageTools.wrapType2 rec { inherit pname version src; extraInstallCommands = '' install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop install -m 444 -D ${appimageContents}/${pname}.png $out/share/icons/hicolor/512x512/apps/${pname}.png substituteInPlace $out/share/applications/${pname}.desktop \ --replace 'Exec=AppRun %U' 'Exec=${pname} %U' ''; meta = with lib; { description = "Open-source, self-hosted alternative to Discord"; homepage = "https://fluxer.app/"; license = licenses.agpl3Only; maintainers = [ ]; platforms = [ "x86_64-linux" ]; }; }) {}) ] else []); }; }; }