hosts/web-2: Add feeds.clerie.de
This commit is contained in:
		
							
								
								
									
										21
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										21
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							@@ -592,6 +592,26 @@
 | 
				
			|||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "rainbowrss": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1736087671,
 | 
				
			||||||
 | 
					        "narHash": "sha256-zWeiCs+8SAS1wN5M3w3vSNNpILoKXqX9aj/ZZcgfMms=",
 | 
				
			||||||
 | 
					        "ref": "refs/heads/main",
 | 
				
			||||||
 | 
					        "rev": "ceab6a148233ffb23de19411a3e5579e3394a35b",
 | 
				
			||||||
 | 
					        "revCount": 9,
 | 
				
			||||||
 | 
					        "type": "git",
 | 
				
			||||||
 | 
					        "url": "https://git.clerie.de/clerie/rainbowrss.git"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "type": "git",
 | 
				
			||||||
 | 
					        "url": "https://git.clerie.de/clerie/rainbowrss.git"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "root": {
 | 
					    "root": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "berlinerbaeder-exporter": "berlinerbaeder-exporter",
 | 
					        "berlinerbaeder-exporter": "berlinerbaeder-exporter",
 | 
				
			||||||
@@ -607,6 +627,7 @@
 | 
				
			|||||||
        "nixpkgs": "nixpkgs_3",
 | 
					        "nixpkgs": "nixpkgs_3",
 | 
				
			||||||
        "nixpkgs-0dc1c7": "nixpkgs-0dc1c7",
 | 
					        "nixpkgs-0dc1c7": "nixpkgs-0dc1c7",
 | 
				
			||||||
        "nurausstieg": "nurausstieg",
 | 
					        "nurausstieg": "nurausstieg",
 | 
				
			||||||
 | 
					        "rainbowrss": "rainbowrss",
 | 
				
			||||||
        "scan-to-gpg": "scan-to-gpg",
 | 
					        "scan-to-gpg": "scan-to-gpg",
 | 
				
			||||||
        "solid-xmpp-alarm": "solid-xmpp-alarm",
 | 
					        "solid-xmpp-alarm": "solid-xmpp-alarm",
 | 
				
			||||||
        "sops-nix": "sops-nix",
 | 
					        "sops-nix": "sops-nix",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -41,6 +41,10 @@
 | 
				
			|||||||
      url = "git+https://git.clerie.de/clerie/nurausstieg.git";
 | 
					      url = "git+https://git.clerie.de/clerie/nurausstieg.git";
 | 
				
			||||||
      inputs.nixpkgs.follows = "nixpkgs";
 | 
					      inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					    rainbowrss = {
 | 
				
			||||||
 | 
					      url = "git+https://git.clerie.de/clerie/rainbowrss.git";
 | 
				
			||||||
 | 
					      inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
    scan-to-gpg = {
 | 
					    scan-to-gpg = {
 | 
				
			||||||
      url = "git+https://git.clerie.de/clerie/scan-to-gpg.git";
 | 
					      url = "git+https://git.clerie.de/clerie/scan-to-gpg.git";
 | 
				
			||||||
      inputs.nixpkgs.follows = "nixpkgs";
 | 
					      inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,7 @@
 | 
				
			|||||||
, harmonia
 | 
					, harmonia
 | 
				
			||||||
, hydra
 | 
					, hydra
 | 
				
			||||||
, nurausstieg
 | 
					, nurausstieg
 | 
				
			||||||
 | 
					, rainbowrss
 | 
				
			||||||
, scan-to-gpg
 | 
					, scan-to-gpg
 | 
				
			||||||
, ssh-to-age
 | 
					, ssh-to-age
 | 
				
			||||||
, ...
 | 
					, ...
 | 
				
			||||||
@@ -26,6 +27,8 @@ final: prev: {
 | 
				
			|||||||
    hydra;
 | 
					    hydra;
 | 
				
			||||||
  inherit (nurausstieg.packages.${final.system})
 | 
					  inherit (nurausstieg.packages.${final.system})
 | 
				
			||||||
    nurausstieg;
 | 
					    nurausstieg;
 | 
				
			||||||
 | 
					  inherit (rainbowrss.packages.${final.system})
 | 
				
			||||||
 | 
					    rainbowrss;
 | 
				
			||||||
  inherit (scan-to-gpg.packages.${final.system})
 | 
					  inherit (scan-to-gpg.packages.${final.system})
 | 
				
			||||||
    scan-to-gpg;
 | 
					    scan-to-gpg;
 | 
				
			||||||
  inherit (ssh-to-age.packages.${final.system})
 | 
					  inherit (ssh-to-age.packages.${final.system})
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,6 +10,7 @@
 | 
				
			|||||||
      ./clerie.nix
 | 
					      ./clerie.nix
 | 
				
			||||||
      ./drop.nix
 | 
					      ./drop.nix
 | 
				
			||||||
      ./etebase.nix
 | 
					      ./etebase.nix
 | 
				
			||||||
 | 
					      ./feeds.nix
 | 
				
			||||||
      ./fieldpoc.nix
 | 
					      ./fieldpoc.nix
 | 
				
			||||||
      ./gitea.nix
 | 
					      ./gitea.nix
 | 
				
			||||||
      ./ip.nix
 | 
					      ./ip.nix
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										48
									
								
								hosts/web-2/feeds.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								hosts/web-2/feeds.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,48 @@
 | 
				
			|||||||
 | 
					{ pkgs, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  users.users."feeds" = {
 | 
				
			||||||
 | 
					    isSystemUser = true;
 | 
				
			||||||
 | 
					    group = "feeds";
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  users.groups."feeds" = {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  systemd.tmpfiles.rules = [
 | 
				
			||||||
 | 
					      "d /var/lib/feeds - feeds feeds - -"
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  services.nginx = {
 | 
				
			||||||
 | 
					    virtualHosts."feeds.clerie.de" = {
 | 
				
			||||||
 | 
					      enableACME = true;
 | 
				
			||||||
 | 
					      forceSSL = true;
 | 
				
			||||||
 | 
					      root = "/var/lib/feeds";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  systemd.services."feeds" = {
 | 
				
			||||||
 | 
					    wantedBy = [ "multi-user.target" ];
 | 
				
			||||||
 | 
					    requires = [ "network.target" ];
 | 
				
			||||||
 | 
					    after = [ "network.target" ];
 | 
				
			||||||
 | 
					    serviceConfig = {
 | 
				
			||||||
 | 
					      Type = "oneshot";
 | 
				
			||||||
 | 
					      WorkingDirectory = "/var/lib/feeds";
 | 
				
			||||||
 | 
					      RuntimeDirectory = "feeds";
 | 
				
			||||||
 | 
					      User = "feeds";
 | 
				
			||||||
 | 
					      Group = "feeds";
 | 
				
			||||||
 | 
					      ExecStart = ''
 | 
				
			||||||
 | 
					        ${pkgs.feeds-dir}/bin/feeds-dir
 | 
				
			||||||
 | 
					      '';
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  systemd.timers."feeds" = {
 | 
				
			||||||
 | 
					    wantedBy = [ "timers.target" ];
 | 
				
			||||||
 | 
					    timerConfig = {
 | 
				
			||||||
 | 
					      OnCalendar = "hourly";
 | 
				
			||||||
 | 
					      RandomizedDelaySec = "1h";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    requires = [ "network-online.target" ];
 | 
				
			||||||
 | 
					    after = [ "network-online.target" ];
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										9
									
								
								pkgs/feeds-dir/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								pkgs/feeds-dir/default.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					{ pkgs, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pkgs.writeShellApplication {
 | 
				
			||||||
 | 
					  name = "feeds-dir";
 | 
				
			||||||
 | 
					  text = builtins.readFile ./feeds-dir.sh;
 | 
				
			||||||
 | 
					  runtimeInputs = with pkgs; [
 | 
				
			||||||
 | 
					    rainbowrss
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										7
									
								
								pkgs/feeds-dir/feeds-dir.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								pkgs/feeds-dir/feeds-dir.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -euo pipefail
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					for file in ./*.txt; do
 | 
				
			||||||
 | 
						rainbowrss --feeds "${file}" --out "$(basename "${file}" ".txt").html" || true
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
@@ -8,6 +8,7 @@ final: prev: {
 | 
				
			|||||||
  clerie-update-nixfiles = final.callPackage ./clerie-update-nixfiles/clerie-update-nixfiles.nix {};
 | 
					  clerie-update-nixfiles = final.callPackage ./clerie-update-nixfiles/clerie-update-nixfiles.nix {};
 | 
				
			||||||
  chromium-incognito = final.callPackage ./chromium-incognito {};
 | 
					  chromium-incognito = final.callPackage ./chromium-incognito {};
 | 
				
			||||||
  factorio-launcher = final.callPackage ./factorio-launcher {};
 | 
					  factorio-launcher = final.callPackage ./factorio-launcher {};
 | 
				
			||||||
 | 
					  feeds-dir = final.callPackage ./feeds-dir {};
 | 
				
			||||||
  git-checkout-github-pr = final.callPackage ./git-checkout-github-pr {};
 | 
					  git-checkout-github-pr = final.callPackage ./git-checkout-github-pr {};
 | 
				
			||||||
  git-diff-word = final.callPackage ./git-diff-word {};
 | 
					  git-diff-word = final.callPackage ./git-diff-word {};
 | 
				
			||||||
  git-pp = final.callPackage ./git-pp {};
 | 
					  git-pp = final.callPackage ./git-pp {};
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user