add icomidal service to deemz.org

This commit is contained in:
Joeri Exelmans 2025-09-23 15:10:58 +02:00
parent 1bd6e533dc
commit 85ebf3c113
3 changed files with 43 additions and 13 deletions

View file

@ -2,7 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }:
{ config, pkgs, icomidal, ... }:
let secrets = import ../secrets.nix; in
{
imports =
@ -20,6 +20,7 @@ let secrets = import ../secrets.nix; in
];
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# Use the systemd-boot EFI boot loader.
#boot.loader.grub.device = "/dev/sda";
@ -62,7 +63,7 @@ let secrets = import ../secrets.nix; in
services.xserver.xkb.options = "eurosign:e";
security.rtkit.enable = true;
services.pulseaudio.enable = false;
#services.pulseaudio.enable = false;
services.pipewire = {
enable = true;
alsa.enable = true;
@ -187,8 +188,12 @@ let secrets = import ../secrets.nix; in
systemCronJobs = [
# Update DuckDNS - use 'journalctl -e' to see logged output (should log 'OK' every 5 minutes)
"*/5 * * * * duckdns curl 'https://www.duckdns.org/update?domains=mstro&token=${secrets.duckdns_token}&ip=' | systemd-cat -t 'duckdns'"
# Update CloudFlare DNS
"*/1 * * * * cloudflare-dns curl --request PUT --url https://api.cloudflare.com/client/v4/zones/${secrets.cloudflare_zone_id}/dns_records/${secrets.cloudflare_dns_record_id} --header 'Content-Type: application/json' --header 'Authorization: Bearer ${secrets.cloudflare_api_token}' --data '{ \"comment\": \"Domain verification record\", \"name\": \"@\", \"proxied\": false, \"settings\": {}, \"tags\": [], \"ttl\": 60, \"content\": \"'$(curl https://ipinfo.io/ip)'\", \"type\": \"A\" }' | jq -r '.success' | systemd-cat -t 'cloudflare-dns'"
# Update iComidal - every morning at 5:30
"30 5 * * * duckdns ${icomidal}/bin/icomidal >> /schijf/public/komida.ics"
];
};
@ -226,7 +231,7 @@ let secrets = import ../secrets.nix; in
basicAuth = userlist;
extraConfig = ''
autoindex on;
add_header Cache-Control max-age=172800
add_header Cache-Control max-age=172800;
'';
proxyWebsockets = true;
};
@ -274,7 +279,7 @@ let secrets = import ../secrets.nix; in
extraConfig = ''
charset UTF-8;
disable_symlinks off;
more_set_headers 'Server: nginx on NixOS';
more_set_headers 'Server: NIXOS';
'';
};
in {

33
flake.lock generated
View file

@ -1,12 +1,32 @@
{
"nodes": {
"icomidal": {
"inputs": {
"nixpkgs": [
"nixpkgs-stable"
]
},
"locked": {
"lastModified": 1758628924,
"narHash": "sha256-95sfywK2SW7gyFOmdTaUElnH/ad/Vf1ahRPkcyr3bPQ=",
"ref": "refs/heads/master",
"rev": "1aa2e6087099858c1234fe91f3a4893d98162308",
"revCount": 5,
"type": "git",
"url": "https://deemz.org/git/joeri/icomidal"
},
"original": {
"type": "git",
"url": "https://deemz.org/git/joeri/icomidal"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1746055187,
"narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=",
"lastModified": 1751274312,
"narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5",
"rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674",
"type": "github"
},
"original": {
@ -18,11 +38,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1745930157,
"narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=",
"lastModified": 1758427187,
"narHash": "sha256-pHpxZ/IyCwoTQPtFIAG2QaxuSm8jWzrzBGjwQZIttJc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae",
"rev": "554be6495561ff07b6c724047bdd7e0716aa7b46",
"type": "github"
},
"original": {
@ -34,6 +54,7 @@
},
"root": {
"inputs": {
"icomidal": "icomidal",
"nixpkgs-stable": "nixpkgs-stable",
"nixpkgs-unstable": "nixpkgs-unstable"
}

View file

@ -4,9 +4,13 @@
inputs = {
nixpkgs-stable.url = "github:nixos/nixpkgs?ref=nixos-24.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs?ref=nixos-unstable";
icomidal = {
url = "git+https://deemz.org/git/joeri/icomidal";
inputs.nixpkgs.follows = "nixpkgs-stable";
};
};
outputs = { self, nixpkgs-stable, nixpkgs-unstable }:
outputs = { self, nixpkgs-stable, nixpkgs-unstable, icomidal }:
let
system = "x86_64-linux";
in {
@ -17,8 +21,8 @@
./t14/configuration.nix
];
};
deemz = nixpkgs-unstable.lib.nixosSystem {
specialArgs = { inherit system; };
deemz = nixpkgs-stable.lib.nixosSystem {
specialArgs = { inherit system; icomidal=icomidal; };
modules = [
./deemz.org/configuration.nix
];