1
0
mirror of https://github.com/kmein/niveum synced 2026-03-25 22:01:08 +01:00

11 Commits

12 changed files with 35 additions and 46 deletions

2
ci.nix
View File

@@ -56,7 +56,7 @@
"spotify/password" "spotify/password"
]; ];
systemSecrets = let systemSecrets = let
basic = ["retiolum.ed25519" "retiolum.key" "syncthing/cert.pem" "syncthing/key.pem"]; basic = ["retiolum.ed25519" "retiolum.key" "syncthing/cert.pem" "syncthing/key.pem" "ssh/passphrase"];
in in
{ {
zaatar = ensureFiles (["moodle.token" "telegram/moodle-dl.token" "mpd-web.key"] ++ basic); zaatar = ensureFiles (["moodle.token" "telegram/moodle-dl.token" "mpd-web.key"] ++ basic);

View File

@@ -8,6 +8,7 @@
amiri amiri
annapurna-sil annapurna-sil
cantarell-fonts cantarell-fonts
cardo
charis-sil charis-sil
corefonts corefonts
crimson crimson
@@ -44,11 +45,11 @@
vollkorn vollkorn
zilla-slab zilla-slab
]; # google-fonts league-of-moveable-type ]; # google-fonts league-of-moveable-type
fontconfig.defaultFonts = { fontconfig.defaultFonts = rec {
monospace = ["Noto Sans Mono"]; monospace = ["Noto Sans Mono"] ++ emoji;
serif = ["Noto Serif" "Noto Naskh Arabic" "Noto Serif Devanagari"]; serif = ["Noto Serif" "Noto Naskh Arabic" "Noto Serif Devanagari"];
sansSerif = ["Noto Sans Display" "Noto Kufi Arabic" "Noto Sans Devanagari" "Noto Sans CJK JP"]; sansSerif = ["Noto Sans Display" "Noto Kufi Arabic" "Noto Sans Devanagari" "Noto Sans CJK JP"];
emoji = ["Noto Color Emoji" "Noto Emoji"]; emoji = ["Noto Color Emoji"];
}; };
}; };
} }

View File

@@ -155,7 +155,7 @@ in {
names = ["Monospace" "Font Awesome 6 Free"]; names = ["Monospace" "Font Awesome 6 Free"];
size = 8.0; size = 8.0;
}; };
mode = "hide"; # "dock" mode = "dock"; # "hide";
position = "bottom"; position = "bottom";
colors = rec { colors = rec {
background = colours.background; background = colours.background;

View File

@@ -16,7 +16,22 @@
password = lib.fileContents <secrets/nextcloud-fysi/password>; password = lib.fileContents <secrets/nextcloud-fysi/password>;
}; };
in { in {
environment.systemPackages = [pkgs.khal pkgs.vdirsyncer pkgs.khard pkgs.todoman]; environment.systemPackages = [
pkgs.khal
pkgs.vdirsyncer
pkgs.khard
pkgs.todoman
(pkgs.writers.writeDashBin "todo-procrastinate" ''
[ $# -eq 1 ] || {
echo "Usage: $0 TODO_ID" >&2
exit 1
}
todo_id=$1
new_timestamp=$(${pkgs.todoman}/bin/todo --porcelain show "$todo_id" | ${pkgs.jq}/bin/jq '.due + 24 * 60 * 60')
new_date=$(${pkgs.coreutils}/bin/date +"%Y-%m-%d %H:%M" -d "@$new_timestamp")
${pkgs.todoman}/bin/todo edit "$todo_id" --due "$new_date"
'')
];
systemd.user.services.vdirsyncer = { systemd.user.services.vdirsyncer = {
enable = true; enable = true;

View File

@@ -12,6 +12,7 @@
newsboat-config = pkgs.writeText "config" '' newsboat-config = pkgs.writeText "config" ''
auto-reload no auto-reload no
reload-threads 8
prepopulate-query-feeds yes prepopulate-query-feeds yes
# dont keep a search history # dont keep a search history

View File

@@ -8,6 +8,6 @@ in {
home-manager.users.me.programs.rofi = { home-manager.users.me.programs.rofi = {
enable = true; enable = true;
font = "Monospace 10"; font = "Monospace 10";
theme = "${pkgs.rofi}/share/rofi/themes/Arc-Dark.rasi"; theme = "${pkgs.rofi}/share/rofi/themes/Arc.rasi";
}; };
} }

View File

@@ -7,7 +7,7 @@
inherit (import <niveum/lib>) sshPort kieran; inherit (import <niveum/lib>) sshPort kieran;
externalNetwork = import <niveum/lib/external-network.nix>; externalNetwork = import <niveum/lib/external-network.nix>;
sshIdentity = name: "${config.users.users.me.home}/.ssh/${name}"; sshIdentity = name: "${config.users.users.me.home}/.ssh/${name}";
ssh-passphease = lib.strings.fileContents <system-secrets/ssh/passphrase>; ssh-passphrase = lib.strings.fileContents <system-secrets/ssh/passphrase>;
in { in {
services.xserver.displayManager.sessionCommands = toString (pkgs.writeScript "ssh-add" '' services.xserver.displayManager.sessionCommands = toString (pkgs.writeScript "ssh-add" ''
#!${pkgs.expect}/bin/expect -f #!${pkgs.expect}/bin/expect -f

12
flake.lock generated
View File

@@ -23,11 +23,11 @@
"utils": "utils" "utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1661573386, "lastModified": 1662759269,
"narHash": "sha256-pBEg8iY00Af/SAtU2dlmOAv+2x7kScaGlFRDjNoVJO8=", "narHash": "sha256-lt8bAfEZudCQb+MxoNKmenhMTXhu3RCCyLYxU9t5FFk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "d89bdff445eadff03fe414e9c30486bc8166b72b", "rev": "9f7fe353b613d0e45d7a5cdbd1f13c96c15803dd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -110,11 +110,11 @@
}, },
"nixos-stable": { "nixos-stable": {
"locked": { "locked": {
"lastModified": 1661520432, "lastModified": 1662739455,
"narHash": "sha256-9z+WDeXiu3hobvSsL0SbHDx4s+kFmm8eussySuX4zCM=", "narHash": "sha256-nfUkPoIIhSXZFxvN2TU7LL7k5CbC1iuSaSkLGgViMvE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f11e12ac6af528c1ba12426ce83cee26f21ceafd", "rev": "45b56b5321aed52d4464dc9af94dc1b20d477ac5",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -20,7 +20,7 @@
with open("${ with open("${
fetchurl { fetchurl {
url = "https://unicode.org/Public/UCD/latest/ucd/UnicodeData.txt"; url = "https://unicode.org/Public/UCD/latest/ucd/UnicodeData.txt";
sha256 = "sha256-NgGOaGV/3LNIX2NmMP/oyFMuAcl3cD0oA/W4nWxf6vs="; sha256 = "0wva6ygnh3wrzpzy0kcbc32hz1ydx3k2pqc5xkqrfw83cpnrlvl0";
} }
}", "r") as unicode_data: }", "r") as unicode_data:
reader = csv.reader(unicode_data, delimiter=";") reader = csv.reader(unicode_data, delimiter=";")

View File

@@ -17,7 +17,6 @@ in {
./monitoring ./monitoring
./moodle-dl-borsfaye.nix ./moodle-dl-borsfaye.nix
./names.nix ./names.nix
./grimm.nix
./nextcloud.nix ./nextcloud.nix
./radio-news.nix ./radio-news.nix
./radio.nix ./radio.nix

View File

@@ -1,30 +0,0 @@
{pkgs, ...}: let
port = 9610;
web-socket-sink-src = "${<scripts>}/grimm-scroller";
web-socket-sink = pkgs.callPackage web-socket-sink-src {};
lemmata = "${web-socket-sink-src}/dwb-compact.json";
in {
systemd.services.grimm-ws = {
wantedBy = ["multi-user.target"];
script = "${web-socket-sink}/bin/web-socket-sink --host 0.0.0.0 --port ${toString port} < ${lemmata}";
serviceConfig = {
Restart = "always";
DynamicUser = true;
};
};
services.nginx.virtualHosts."grimm.kmein.de" = {
enableACME = false;
forceSSL = false;
locations = {
"/".root = pkgs.linkFarm "grimm" [
{
name = "index.html";
path = "${web-socket-sink-src}/wclient.html";
}
];
};
};
networking.firewall.allowedTCPPorts = [port];
}

View File

@@ -104,6 +104,9 @@ in {
addresses = "news.r"; addresses = "news.r";
autojoin = ["#cook" "#drachengame" "#oepnv" "#kmeinung" "#memes"]; autojoin = ["#cook" "#drachengame" "#oepnv" "#kmeinung" "#memes"];
command = "/oper aids balls"; command = "/oper aids balls";
sasl_mechanism = "plain";
sasl_username = nick;
sasl_password = nick + nick;
}; };
}; };
}; };