Compare commits

...

1 Commits

Author SHA1 Message Date
b4aada6fbc base: create flake input exporter 2025-10-12 02:40:43 +02:00
2 changed files with 52 additions and 6 deletions

View File

@@ -1,4 +1,9 @@
{ pkgs, lib, fp, ... }: {
pkgs,
lib,
fp,
...
}:
{ {
imports = [ imports = [
@@ -8,6 +13,7 @@
./networking.nix ./networking.nix
./nix.nix ./nix.nix
./vm.nix ./vm.nix
./flake-input-exporter.nix
./services/acme.nix ./services/acme.nix
./services/uptimed.nix ./services/uptimed.nix
@@ -57,11 +63,11 @@
# home-manager usually handles this for you: https://github.com/nix-community/home-manager/blob/22a36aa709de7dd42b562a433b9cefecf104a6ee/modules/programs/bash.nix#L203-L209 # home-manager usually handles this for you: https://github.com/nix-community/home-manager/blob/22a36aa709de7dd42b562a433b9cefecf104a6ee/modules/programs/bash.nix#L203-L209
# btw, programs.bash.shellInit just goes into environment.shellInit which in turn goes into /etc/profile, spooky shit # btw, programs.bash.shellInit just goes into environment.shellInit which in turn goes into /etc/profile, spooky shit
programs.bash.shellInit = '' programs.bash.shellInit = ''
if [ -n "''${BASH_VERSION:-}" ]; then if [ -n "''${BASH_VERSION:-}" ]; then
if [[ ! -f ~/.bash_profile && ! -f ~/.bash_login ]]; then if [[ ! -f ~/.bash_profile && ! -f ~/.bash_login ]]; then
[[ -f ~/.bashrc ]] && . ~/.bashrc [[ -f ~/.bashrc ]] && . ~/.bashrc
fi fi
fi fi
''; '';
programs.zsh.enable = true; programs.zsh.enable = true;

View File

@@ -0,0 +1,40 @@
{
config,
inputs,
lib,
pkgs,
...
}:
let
data = lib.flip lib.mapAttrs inputs (
name: input: {
inherit (input)
lastModified
;
}
);
folder = pkgs.writeTextDir "share/flake-inputs" (
lib.concatMapStringsSep "\n" (
{ name, value }:
"nixos_last_modified_input{flake=${name},host=${config.networking.hostName}} ${toString value.lastModified}"
) (lib.attrsToList data)
);
in
{
services.nginx.virtualHosts."${config.networking.fqdn}" = {
forceSSL = true;
enableACME = true;
kTLS = true;
serverAliases = [
"${config.networking.hostName}.pvv.org"
];
locations."/metrics" = {
root = "${folder}/share";
};
extraConfig = ''
allow 129.241.210.128/25;
allow 2001:700:300:1900::/64;
deny all;
'';
};
}