Skip to content
Snippets Groups Projects
Select Git revision
  • upgrade-to-nixos-25.05
  • develop default protected
  • production protected
  • nixpkgs-upgrade-2024-12-23
  • 190-our-regular-updates-fill-up-the-servers-boot-partitions
  • nixpkgs-upgrade-2024-10-14
  • hro-cloud protected
  • 162.flexible-grafana-module
  • nixpkgs-upgrade-2024-05-13
  • nixpkgs-upgrade-2024-04-22
  • nixpkgs-upgrade-2024-03-25
  • nixpkgs-upgrade-2024-03-18
  • nixpkgs-upgrade-2024-03-11
  • nixpkgs-upgrade-2024-03-04
  • 163.jp-to-ben-for-prod
  • nixpkgs-upgrade-2024-02-26
  • 164.grafana-alert-rules
  • 157.authorize-new-hro-key
  • nixpkgs-upgrade-2024-02-19
  • nixpkgs-upgrade-2024-02-12
20 results

tahoe.nix

Blame
  • tahoe.nix 11.29 KiB
    # Copy/pasted from nixos/modules/services/network-filesystems/tahoe.nix :/ We
    # require control over additional configuration options compared to upstream
    # and it's not clear how to do this without duplicating everything.
    { config, lib, pkgs, ... }:
    
    with lib;
    let
      cfg = config.services.tahoe;
      ini = pkgs.callPackage ../lib/ini.nix { };
    in
      {
        options.services.tahoe = {
          introducers = mkOption {
            default = {};
            type = with types; attrsOf (submodule {
              options = {
                nickname = mkOption {
                  type = types.str;
                  description = ''
                    The nickname of this Tahoe introducer.
                  '';
                };
                tub.port = mkOption {
                  default = 3458;
                  type = types.int;
                  description = ''
                    The port on which the introducer will listen.
                  '';
                };
                tub.location = mkOption {
                  default = null;
                  type = types.nullOr types.str;
                  description = ''
                    The external location that the introducer should listen on.
    
                    If specified, the port should be included.
                  '';
                };
                package = mkOption {
                  default = pkgs.tahoelafs;
                  defaultText = "pkgs.tahoelafs";
                  type = types.package;
                  example = literalExample "pkgs.tahoelafs";
                  description = ''
                    The package to use for the Tahoe LAFS daemon.
                  '';
                };
              };
            });
            description = ''
              The Tahoe introducers.
            '';
          };
          nodes = mkOption {
            default = {};
            type = with types; attrsOf (submodule {
              options = {
                sections = mkOption {
                  type = types.attrs;
                  description = ''
                    Top-level configuration sections.
                  '';
                  default = {
                    "node" = { };
                    "client" = { };
                    "storage" = { };
                  };
                };
                package = mkOption {
                  default = pkgs.tahoelafs;