From 7e7384464a5790d48851585b6f05d64d1125fbb5 Mon Sep 17 00:00:00 2001 From: Jermeiah S Date: Fri, 20 Jun 2025 13:53:04 -0400 Subject: [PATCH 1/2] made tty-ip enabled by default --- configurations/nixos/base/default.nix | 3 --- configurations/nixos/caddy/default.nix | 26 +++++++++++++++++++ .../nixos/forgejo-runner-tofu/default.nix | 3 --- .../nixos/observer-tofu/default.nix | 1 - configurations/nixos/tofu/default.nix | 1 - modules/nixos/common/discovery.nix | 2 +- 6 files changed, 27 insertions(+), 9 deletions(-) create mode 100644 configurations/nixos/caddy/default.nix diff --git a/configurations/nixos/base/default.nix b/configurations/nixos/base/default.nix index 6333d7d..26a9b5f 100644 --- a/configurations/nixos/base/default.nix +++ b/configurations/nixos/base/default.nix @@ -18,9 +18,6 @@ in deploy = { enable = false; }; - services = { - tty-ips.enable = true; - }; networking = { hostName = "base"; }; diff --git a/configurations/nixos/caddy/default.nix b/configurations/nixos/caddy/default.nix new file mode 100644 index 0000000..f513c30 --- /dev/null +++ b/configurations/nixos/caddy/default.nix @@ -0,0 +1,26 @@ +{ + flake, + modulesPath, + config, + ... +}: + +let + inherit (flake) inputs; + inherit (inputs) self; +in +{ + imports = [ + self.nixosModules.default + "${modulesPath}/virtualisation/lxc-container.nix" + ]; + deploy = { + address = "unknown.local"; + }; + networking = { + hostName = "caddy"; + }; + environment.systemPackages = [ + ]; + system.stateVersion = "25.05"; +} diff --git a/configurations/nixos/forgejo-runner-tofu/default.nix b/configurations/nixos/forgejo-runner-tofu/default.nix index 886b1c4..724ab9a 100644 --- a/configurations/nixos/forgejo-runner-tofu/default.nix +++ b/configurations/nixos/forgejo-runner-tofu/default.nix @@ -61,9 +61,6 @@ in deploy = { address = "201:ea26:66c7:657b:3599:63a6:c66c:d388"; }; - services = { - tty-ips.enable = true; - }; networking = { firewall.enable = lib.mkForce false; hostName = "forgejo-runner-tofu"; diff --git a/configurations/nixos/observer-tofu/default.nix b/configurations/nixos/observer-tofu/default.nix index 02401c2..b1d30b8 100644 --- a/configurations/nixos/observer-tofu/default.nix +++ b/configurations/nixos/observer-tofu/default.nix @@ -19,7 +19,6 @@ in address = "200:b938:d405:92df:a6e:1ffd:5213:26b"; }; services = { - tty-ips.enable = true; uptime-kuma = { enable = true; settings = { diff --git a/configurations/nixos/tofu/default.nix b/configurations/nixos/tofu/default.nix index b8acf85..74e1a5e 100644 --- a/configurations/nixos/tofu/default.nix +++ b/configurations/nixos/tofu/default.nix @@ -26,7 +26,6 @@ in }; services = { - tty-ips.enable = true; otf = { enable = true; environment = { diff --git a/modules/nixos/common/discovery.nix b/modules/nixos/common/discovery.nix index dbc65a3..b212a49 100644 --- a/modules/nixos/common/discovery.nix +++ b/modules/nixos/common/discovery.nix @@ -12,7 +12,7 @@ in options.services.tty-ips = { enable = mkOption { type = types.bool; - default = false; + default = true; description = "Show interface IPs in TTY login using a dynamic issue file."; }; }; From a784b129627283c6bb313c480c14360da473af8a Mon Sep 17 00:00:00 2001 From: Jermeiah S Date: Fri, 20 Jun 2025 13:54:11 -0400 Subject: [PATCH 2/2] added tool for checking deployment requirement --- .forgejo/workflows/needs-deploy.sh | 44 ++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 .forgejo/workflows/needs-deploy.sh diff --git a/.forgejo/workflows/needs-deploy.sh b/.forgejo/workflows/needs-deploy.sh new file mode 100755 index 0000000..e61eed5 --- /dev/null +++ b/.forgejo/workflows/needs-deploy.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Check for hostname argument +if [[ $# -ne 1 ]]; then + echo "Usage: $0 " + exit 1 +fi + +HOST="$1" +REPO_PATH="git+file://$PWD" + +CURRENT_COMMIT=$(git rev-parse HEAD) +PREV_COMMIT=$(git rev-parse HEAD^) + +# Check if the host exists at the current commit +if ! nix eval --quiet --expr " + let + flake = builtins.getFlake \"${REPO_PATH}?rev=${CURRENT_COMMIT}\"; + in + builtins.hasAttr \"${HOST}\" flake.nixosConfigurations +"; then + echo "Error: Host '${HOST}' not found in nixosConfigurations at HEAD." + exit 1 +fi + +# Now check for derivation change +RESULT=$(nix eval --raw --expr " + let + flake = builtins.getFlake; + prev = flake \"${REPO_PATH}?rev=${PREV_COMMIT}\"; + curr = flake \"${REPO_PATH}?rev=${CURRENT_COMMIT}\"; + in + if prev.nixosConfigurations.\"${HOST}\".config.system.build.toplevel != + curr.nixosConfigurations.\"${HOST}\".config.system.build.toplevel + then \"changed\" else \"unchanged\" +") + +# Output result +if [[ $RESULT == "changed" ]]; then + echo "System derivation changed for host '${HOST}' — deploy!" +else + echo "No change for host '${HOST}' — skip deployment." +fi