# Edit this configuration file to define what should be installed on # your system. Help is available in the configuration.nix(5) man page, on # https://search.nixos.org/options and in the NixOS manual (`nixos-help`). # NixOS-WSL specific options are documented on the NixOS-WSL repository: # https://github.com/nix-community/NixOS-WSL { inputs, pkgs, ... }: let wrappers = inputs.wrapper-manager.lib.build { inherit pkgs; modules = [ ../../../wrappers/aerc ../../../wrappers/zellij ]; }; in { wsl.enable = true; wsl.defaultUser = "y"; imports = [ ../../base.nix ../../users.nix ../../editors.nix ../../pkgs.nix ../../server.nix ../../gpg.nix ]; environment.systemPackages = [ wrappers pkgs.superhtml ]; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It's perfectly fine and recommended to leave # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "24.05"; # Did you read the comment? systemd.services.periodic-http-request = { description = "Periodic HTTP Request Service"; # Run every 15 minutes startAt = "*:0/30"; # 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\": \"s15 reporting for duty $(get_public_ipv4)\"}" \ --retry 3 \ --retry-delay 5 \ --max-time 30 \ -o /dev/null ''; }; }