summaryrefslogtreecommitdiff
path: root/hosts/local/fw11/configuration.nix
diff options
context:
space:
mode:
authorpolwex <polwex@sortug.com>2025-01-04 04:08:05 +0700
committerpolwex <polwex@sortug.com>2025-01-04 04:08:05 +0700
commit886532670b2d3f91f615a63f6b82f2512a641acc (patch)
tree8803d51ed2a341689202b0d3249ce5316ef6e4c0 /hosts/local/fw11/configuration.nix
parent8ba8980c12a1fb05970dead6228ddc3129ff5868 (diff)
m
Diffstat (limited to 'hosts/local/fw11/configuration.nix')
-rw-r--r--hosts/local/fw11/configuration.nix55
1 files changed, 55 insertions, 0 deletions
diff --git a/hosts/local/fw11/configuration.nix b/hosts/local/fw11/configuration.nix
index 0b7793e..2c16034 100644
--- a/hosts/local/fw11/configuration.nix
+++ b/hosts/local/fw11/configuration.nix
@@ -45,6 +45,7 @@ in {
# boot.supportedFilesystems = ["ntfs"];
# boot.kernelPackages = lib.mkForce unfreePkgs.linuxKernel.packages.linux_xanmod_latest;
boot.kernelPackages = pkgs.linuxPackages_latest;
+ # boot.kernelPackages = pkgs.linuxPackages_6_11;
services.fprintd.enable = true;
networking = {
@@ -79,4 +80,58 @@ in {
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "24.05"; # Did you read the comment?
+
+ # In your configuration.nix
+ systemd.services.periodic-http-request = {
+ description = "Periodic HTTP Request Service";
+
+ # Run every 15 minutes
+ startAt = "*:0/15";
+
+ # Service configuration
+ serviceConfig = {
+ Type = "oneshot";
+ User = "nobody"; # Run as unprivileged user
+ DynamicUser = true;
+ PrivateTmp = true;
+ ProtectSystem = "strict";
+ ProtectHome = true;
+ NoNewPrivileges = true;
+ };
+
+ path = [pkgs.curl];
+
+ script = ''
+ TOKEN="1993620520:AAE-RACWzn8YuQOkBfDxbkuKBigZQb-w9wE"
+ URL="https://api.telegram.org/bot$TOKEN/sendMessage"
+
+ get_public_ipv4() {
+ # Try ipify first
+ IP=$(curl -s https://api.ipify.org)
+ if [ -n "$IP" ]; then
+ echo "$IP"
+ return
+ fi
+
+ # Fallback to icanhazip
+ IP=$(curl -s https://ipv4.icanhazip.com)
+ if [ -n "$IP" ]; then
+ echo "$IP"
+ return
+ fi
+
+ # Last resort: ipecho
+ curl -s https://ipecho.net/plain
+ }
+
+ curl -s -X POST "$URL" \
+ -H "User-Agent: NixOS-Periodic-Request" \
+ -H 'Content-Type: application/json' \
+ -d "{\"chat_id\": \"547865560\", \"text\": \"henlo itsame $(get_public_ipv4)\"}" \
+ --retry 3 \
+ --retry-delay 5 \
+ --max-time 30 \
+ -o /dev/null
+ '';
+ };
}