this repo has no description
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: gpodder2go module + pkg

+120 -3
+4
hosts/profiles/gpodder/default.nix
··· 1 + { 2 + services.gpodder.enable = true; 3 + networking.firewall.allowedTCPPorts = [ 3005 ]; 4 + }
+1 -1
modules/nixos/default.nix
··· 9 9 wireguard = import ./wireguard.nix; 10 10 backup = import ./backup.nix; 11 11 ulogger-server = import ./ulogger.nix; 12 - blogg = import ./blogging.nix; 12 + gpodder2go = import ./gpodder2go.nix; 13 13 # microbin = import ./microbin.nix; # includide in 23.11 14 14 }
+114
modules/nixos/gpodder2go.nix
··· 1 + { self, config, lib, pkgs, ... }: 2 + 3 + with lib; 4 + 5 + let 6 + cfg = config.services.gpodder2go; 7 + in 8 + { 9 + options = { 10 + 11 + services.gpodder = { 12 + enable = mkEnableOption "A gpodder instance"; 13 + 14 + user = mkOption { 15 + type = types.str; 16 + default = "gpodder"; 17 + description = "User account under which gpodder runs."; 18 + }; 19 + 20 + group = mkOption { 21 + type = types.str; 22 + default = "gpodder"; 23 + description = "Group account under which gpodder runs."; 24 + }; 25 + 26 + hostname = mkOption { 27 + type = types.str; 28 + description = "Hostname of your gpodder service"; 29 + }; 30 + 31 + dataFolder = mkOption { 32 + type = types.str; 33 + default = "/var/lib/gpodder"; 34 + description = "State director"; 35 + }; 36 + 37 + VERIFIER_SECRET_KEY = mkOption { 38 + type = types.str; 39 + default = "satnheiycglsrcgaecrlufg"; 40 + description = "Verifer Secret"; 41 + }; 42 + 43 + }; 44 + }; 45 + 46 + config = mkIf cfg.enable { 47 + systemd.services.gpodder = { 48 + description = "gpodder2go A gpodder instance"; 49 + after = [ "remote-fs.target" "network.target" ]; 50 + wantedBy = [ "multi-user.target" ]; 51 + serviceConfig = { 52 + ExecStart = "${pkgs.gpodder2go}/bin/gpodder2go serve"; 53 + Environment = [ 54 + "VERIFIER_SECRET_KEY=${cfg.VERIFIER_SECRET_KEY}" 55 + ]; 56 + WorkingDirectory = dataFolder; 57 + TimeoutStopSec = " 20 "; 58 + KillMode = " process "; 59 + RestartSec = " 10 "; 60 + User = cfg.user; 61 + Group = cfg.group; 62 + DevicePolicy = " closed "; 63 + NoNewPrivileges = " yes "; 64 + PrivateTmp = " yes "; 65 + PrivateUsers = " yes "; 66 + ProtectControlGroups = " yes "; 67 + ProtectKernelModules = " yes "; 68 + ProtectKernelTunables = " yes "; 69 + RestrictAddressFamilies = " 70 + AF_UNIX 71 + AF_INET 72 + AF_INET6 "; 73 + RestrictNamespaces = " yes "; 74 + RestrictRealtime = " yes "; 75 + SystemCallFilter = "~@clock @debug @module @mount @obsolete @privileged @reboot @setuid @swap"; 76 + ReadWritePaths = dataFolder; 77 + StateDirectory = baseNameOf dataFolder; 78 + }; 79 + }; 80 + 81 + users.users = optionalAttrs (cfg.user == "gpodder") ({ 82 + gpodder = { 83 + description = "gpodder service user"; 84 + name = cfg.user; 85 + group = cfg.group; 86 + isSystemUser = true; 87 + }; 88 + }); 89 + 90 + users.groups = optionalAttrs (cfg.group == "gpodder") ({ 91 + gpodder = { }; 92 + }); 93 + }; 94 + 95 + systemd.services.gpodder-install = { 96 + description = "gpodder install service"; 97 + wantedBy = [ "multi-user.target" ]; 98 + before = [ "gpodder.service" ]; 99 + path = with pkgs; [ gpodder2go ]; 100 + 101 + serviceConfig = { 102 + User = cfg.user; 103 + Type = "oneshot"; 104 + } // commonServiceConfig; 105 + 106 + script = '' 107 + if [ ! -f "${cfg.dataFolder}/installed" ]; then 108 + ${pkgs.gpodder2go}/bin/gpodder2go init 109 + touch "${cfg.dataFolder}/installed" 110 + fi 111 + ''; 112 + }; 113 + } 114 +
+1 -2
pkgs/default.nix
··· 5 5 plymouth-themes = pkgs.callPackage ./plymouth.nix { }; 6 6 tic-80 = pkgs.callPackage ./tic-80.nix { }; 7 7 fennel-ls = pkgs.callPackage ./fennel-ls.nix { }; 8 - kobopatch = pkgs.callPackage ./kobopatch.nix { }; 8 + # kobopatch = pkgs.callPackage ./kobopatch.nix { }; 9 9 my-mautrix-discord = pkgs.callPackage ./mautrix-discord.nix { }; # Handled by matrix-appservices input 10 10 ulogger-server = pkgs.callPackage ./ulogger.nix { }; 11 11 # Wallabag is now an overlay ··· 13 13 my-wallabag = pkgs.callPackage ./wallabag.nix { }; 14 14 mautrix-slack = pkgs.callPackage ./mautrix-slack.nix { }; 15 15 gpodder2go = pkgs.callPackage ./gpodder2go.nix { }; 16 - ghost = pkgs.callPackage ./ghost { }; 17 16 }