Build docs with nix and Material for mkDocs / build-docs (push) Successful in 1m33s
94 lines
3.4 KiB
Nix
94 lines
3.4 KiB
Nix
{ inputs, self, lib, ... }: let
|
|
fluxer-package = { 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" ];
|
|
};
|
|
};
|
|
fluxer-canary-package = { 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" ];
|
|
};
|
|
};
|
|
in {
|
|
flake.nixosModules.graphics = { pkgs, config, lib, ... }: {
|
|
config = lib.mkIf (config.features.applications.gui.fluxer.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) {
|
|
home-manager.users.grey.features.applications.gui.fluxer.enable = lib.mkDefault true;
|
|
} {
|
|
environment.systemPackages = [
|
|
(pkgs.callPackage (fluxer-package) {})
|
|
];
|
|
}) // lib.mkIf (config.features.applications.gui.fluxer-canary.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) {
|
|
home-manager.users.grey.features.applications.gui.fluxer-canary.enable = lib.mkDefault true;
|
|
} {
|
|
environment.systemPackages = [
|
|
(pkgs.callPackage (fluxer-canary-package) {})
|
|
];
|
|
});
|
|
};
|
|
|
|
flake.homeModules.graphics = { pkgs, config, lib, ... }: {
|
|
config = lib.mkIf (config.features.applications.gui.fluxer.enable) {
|
|
home.packages = [
|
|
(pkgs.callPackage (fluxer-package) {})
|
|
];
|
|
} // lib.mkIf (config.features.applications.gui.fluxer-canary.enable) {
|
|
home.packages = [
|
|
(pkgs.callPackage (fluxer-canary-package) {})
|
|
];
|
|
};
|
|
};
|
|
} |