blob: a326dd4f9ed5bd0e6612ef3ed2c94bb9570dcde2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
# 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
# '';
# };
}
|