Files
PinePods-nix/flake.nix
2026-03-07 09:36:50 -05:00

66 lines
1.8 KiB
Nix

{
description = "Pinepods desktop client - self-hosted podcast manager";
inputs = {
nixpkgs.url = "github:NixOs/nixpkgs/nixos-25.11";
};
outputs = { self, nixpkgs }:
let
system = "x86_64-linux";
pkgs = import nixpkgs { inherit system; config = {}; overlays = []; };
makePinepods = { severUrl ? "" }:
pkgs.callPackage ./pinepods.nix {
wasm-bindgen-cli = pkgs.wasm-bindgen-cli_0_2_105;
inherit (pkgs) binaryen tailwindcss_3 libayatana-appindicator gst_all_1 python3;
inherit serverUrl;
};
in
{
packages.${system} = {
pinepods = makePinepods { };
default = makePinepods { };
};
nixosModules.pinepods = { config, lib, pkgs, ... }:
let
cfg = config.services.pinepods;
in
{
options.services.pinepods = {
enable = lib.mkEnableOption "PinePods podcast manager";
server = lib.mkOption {
type = lib.types.str;
default = "";
example = "https://pinepods.example.com";
description = ''
The URL oof your self-hosted PinePods server.
The app will navigate directly to this address on launch.
'';
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [
(makePinepods { serverUrl = cfg.server; })
];
};
};
nixosModules.default = self.nixosModules.pinepods;
devShells.${system}.default = pkgs.mkShell {
buildInputs = with pkgs; [
trunk
wasm-bindgen-cli_0_2_105
cargo
rustc
llvmPackages.lld
binaryen
tailwindcss_3
];
};
};
}