1
0
mirror of https://github.com/kmein/niveum synced 2026-03-31 01:31:13 +02:00

28 Commits

Author SHA1 Message Date
12b79916da chore: update 2023-05-07 19:41:51 +02:00
574bcc5b85 feat(vim): add typst plugin 2023-05-07 19:36:08 +02:00
20c92a8b2f fix(flake): reduce number of nixpkgs 2023-05-07 19:36:00 +02:00
f2b1b9d9a1 feat(panoptikon): kpaste text/plain 2023-05-03 12:34:57 +02:00
c17884a519 feat(kleim): add gpt, do not remove newlines 2023-05-03 12:34:39 +02:00
8be6375bcb feat(hora-filli): first of month 2023-05-03 12:34:08 +02:00
5ac1f33e2b chore: update 2023-04-30 15:42:16 +02:00
d64142e32c feat(keyboard): add gothic 2023-04-30 15:42:10 +02:00
a1654b1d1d feat(moodle-dl): add predigten 2023-04-27 13:06:20 +02:00
3f7d548925 feat(git): auto-setup remote 2023-04-25 11:20:47 +02:00
68a2f739af chore: update 2023-04-24 08:42:26 +02:00
9fd968ff62 fix(onlyoffice): make readable 2023-04-24 06:38:43 +02:00
8811aeaff9 chore: format 2023-04-23 09:37:25 +02:00
8d5cd55239 fix(panoptikon): only watch github ssh keys 2023-04-23 09:37:11 +02:00
44ac94ef38 feat(moodle-dl): x-tutorial 2023-04-21 15:52:52 +02:00
cb832d06d3 feat(moodle-dl): sorbisch 2023-04-20 14:15:17 +02:00
1bc7b16fd7 feat(moodle-dl): jiddisch 2023-04-19 16:18:45 +02:00
52c18d1464 feat(moodle-dl): taa 2023-04-19 16:16:07 +02:00
85a6a92836 feat(makanek): disable email alerts 2023-04-18 23:36:48 +02:00
a6232b1a5e feat: convenient deploy script 2023-04-18 23:36:48 +02:00
63b8c7ff1e feat(khal): add krebs kalender 2023-04-18 22:46:37 +02:00
4fcbe70f5e feat(nextcloud): enable onlyoffice 2023-04-18 16:07:42 +02:00
4ae3824663 feat(colours): increase contrast on owickstrom 2023-04-18 16:07:42 +02:00
f83b5f3021 feat(colours): increase contrast on owickstrom 2023-04-18 11:03:40 +02:00
github-actions[bot]
6e54579e26 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/87edbd74246ccdfa64503f334ed86fa04010bab9' (2023-04-12)
  → 'github:NixOS/nixpkgs/fda0d99c2cbbb5c89d8855d258cb0821bd9113ad' (2023-04-14)
• Updated input 'nur':
    'github:nix-community/NUR/8a35714f0be00235e2a1c8b759e6dc3888763d8b' (2023-04-14)
  → 'github:nix-community/NUR/c9e3bd49580c525989f6ce9803e1c5875ab8548a' (2023-04-15)
2023-04-16 00:46:22 +00:00
626018f3f8 chore: remove itools, itl for now 2023-04-15 08:46:25 +02:00
6fddca2a0b feat(moodle-dl): add new courses 2023-04-15 08:45:50 +02:00
dee8b4e133 fix(stardict): turkish hashes 2023-04-14 10:48:08 +02:00
28 changed files with 252 additions and 574 deletions

View File

@@ -51,6 +51,7 @@ in {
pull.ff = "only";
rebase.autoStash = true;
merge.autoStash = true;
push.autoSetupRemote = true;
# # ref https://github.com/dandavison/delta
# core.pager = "${pkgs.delta}/bin/delta";

View File

@@ -17,8 +17,8 @@
'')
(pkgs.writers.writeDashBin "hora-filli" ''
${pkgs.hledger}/bin/hledger -f "${timeLedger}" register fillidefilla -O csv \
-b "$(date -d "$(date +%Y-%m)-20 last month" +%Y-%m-%d)" \
-e "$(date -d "$(date +%Y-%m)-20" +%Y-%m-%d)" \
-b "$(date -d "$(date +%Y-%m)-01 last month" +%Y-%m-%d)" \
-e "$(date -d "$(date +%Y-%m)-01" +%Y-%m-%d)" \
| sed 's/(fillidefilla:\(.*\))/\1/g' \
| xsv select date,amount,total,account,description
'')

View File

@@ -50,6 +50,9 @@
emojai = pkgs.writers.writeDash "emojai" ''
${pkgs.curl}/bin/curl https://www.emojai.app/api/generate -X POST -H 'Content-Type: application/json' --data-raw "$(${pkgs.jq}/bin/jq -sR '{emoji:.}')" | ${pkgs.jq}/bin/jq -r .result
'';
gpt = pkgs.writers.writeDash "gpt" ''
${niveumPackages.gpt}/bin/gpt
'';
};
};

View File

@@ -12,6 +12,7 @@
ara = "buckwalter";
cop = "";
ave = "";
got = "";
"in" = "san-kagapa";
il = "phonetic";
};
@@ -37,6 +38,13 @@ in {
sha256 = "1l0h6aq536hyinrh0i0ia355y229bjrlibii0sya5bmqh46vycia";
};
}
{
name = "symbols/got";
path = pkgs.fetchurl {
url = "https://c.krebsco.de/got";
sha256 = "1i0jxghxi3rldlijw6gm2xawrv7f0pmm7a5cqbzzgjrg7ldk46gd";
};
}
{
name = "symbols/ave";
path = pkgs.fetchurl {

View File

@@ -112,6 +112,10 @@ in {
path = ${davHome}/calendar/personal
color = "light cyan"
[[krebs]]
path = ${davHome}/calendar/krebs
color = "light red"
[[uni]]
path = ${davHome}/calendar/uni-1
color = "yellow"
@@ -162,6 +166,12 @@ in {
collections = ["personal", "alew", "uni-1"]
conflict_resolution = "b wins"
[pair krebs]
a = "kalender_local"
b = "krebs_cloud"
collections = ["3edef929-d509-7944-2440-000a54f2d054"]
conflict_resolution = "b wins"
[pair fysi]
a = "kalender_local"
b = "fysi_cloud"
@@ -190,6 +200,12 @@ in {
username = "${kmeinCloud.username}"
password.fetch = ["command", "cat", "${kmeinCloud.passwordFile}"]
[storage krebs_cloud]
type = "caldav"
url = "http://calendar.r/krebs/"
username = "krebs"
password = "krebs"
[storage fysi_cloud]
type = "caldav"
url = "${fysiCloud.davEndpoint}/calendars/${fysiCloud.username}/"

View File

@@ -65,6 +65,7 @@
vim-pandoc
vim-pandoc-syntax
niveumPackages.vimPlugins-vim-256noir
niveumPackages.vimPlugins-typst-vim
];
};
};

View File

@@ -161,11 +161,11 @@
turkish = {
BabylonTurkishEnglish = pkgs.fetchzip {
url = "http://download.huzheng.org/babylon/bidirectional/stardict-babylon-Babylon_Turkish_English-2.4.2.tar.bz2";
sha256 = "17rv46r95nkikg7aszqmfrbgdhz9ny52w423m8n01g3p93shdb4i";
sha256 = "1zpzgk3w0536gww31bj58cmn3imnkndyjwbcr7bay8ibq2kzv44z";
};
BabylonEnglishTurkish = pkgs.fetchzip {
url = "http://download.huzheng.org/babylon/bidirectional/stardict-babylon-Babylon_English_Turkish-2.4.2.tar.bz2";
sha256 = "063dl02s8ii8snsxgma8wi49xwr6afk6ysq0v986fygx5511353f";
sha256 = "0myx31xzb7nrn5m657h0bwdgm5xp93ccwp6lcpbxgjxdjm3q0hc5";
};
};
};

449
flake.lock generated
View File

@@ -8,11 +8,11 @@
]
},
"locked": {
"lastModified": 1680281360,
"narHash": "sha256-XdLTgAzjJNDhAG2V+++0bHpSzfvArvr2pW6omiFfEJk=",
"lastModified": 1682101079,
"narHash": "sha256-MdAhtjrLKnk2uiqun1FWABbKpLH090oeqCSiWemtuck=",
"owner": "ryantm",
"repo": "agenix",
"rev": "e64961977f60388dd0b49572bb0fc453b871f896",
"rev": "2994d002dcff5353ca1ac48ec584c7f6589fe447",
"type": "github"
},
"original": {
@@ -77,132 +77,14 @@
"type": "github"
}
},
"flake-utils_2": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"locked": {
"lastModified": 1676283394,
"narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_5": {
"locked": {
"lastModified": 1676283394,
"narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_6": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_7": {
"locked": {
"lastModified": 1676283394,
"narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_8": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_9": {
"locked": {
"lastModified": 1676283394,
"narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"utils": "utils"
"utils": [
"flake-utils"
]
},
"locked": {
"lastModified": 1681092193,
@@ -227,37 +109,9 @@
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1677075142,
"narHash": "sha256-0RXVZcK2YtPckd/3+jb+yLpeXZ6jnQe25w9idztDXi8=",
"owner": "kmein",
"repo": "menstruation.rs",
"rev": "e34af4393963cdbadb456b7b9ae2e95e6db7b8a3",
"type": "github"
},
"original": {
"owner": "kmein",
"repo": "menstruation.rs",
"type": "github"
}
},
"menstruation-backend_2": {
"inputs": {
"flake-utils": [
"menstruation-telegram",
"menstruation-backend",
"rust-overlay",
"flake-utils"
],
"nixpkgs": [
"menstruation-telegram",
"menstruation-backend",
"rust-overlay",
"nixpkgs"
],
"rust-overlay": "rust-overlay_2"
"rust-overlay": [
"rust-overlay"
]
},
"locked": {
"lastModified": 1677075142,
@@ -275,9 +129,15 @@
},
"menstruation-telegram": {
"inputs": {
"flake-utils": "flake-utils_3",
"menstruation-backend": "menstruation-backend_2",
"nixpkgs": "nixpkgs_3"
"flake-utils": [
"flake-utils"
],
"menstruation-backend": [
"menstruation-backend"
],
"nixpkgs": [
"nixpkgs-old"
]
},
"locked": {
"lastModified": 1677075205,
@@ -315,59 +175,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1665296151,
"narHash": "sha256-uOB0oxqxN9K7XGF1hcnY+PQnlQJ+3bP2vCn/+Ru/bbc=",
"lastModified": 1683383741,
"narHash": "sha256-rAQSBnFGNKNomUUyVl+7v0tnp45677t4Ovlh9f57k6Q=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "14ccaaedd95a488dd7ae142757884d8e125b3363",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1665296151,
"narHash": "sha256-uOB0oxqxN9K7XGF1hcnY+PQnlQJ+3bP2vCn/+Ru/bbc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "14ccaaedd95a488dd7ae142757884d8e125b3363",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1669418739,
"narHash": "sha256-T86oFvcUIRwHWBWUt7WjaP4BP/3lDGbv5AppQSI1FkI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "695b3515251873e0a7e2021add4bba643c56cde3",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "695b3515251873e0a7e2021add4bba643c56cde3",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1681269223,
"narHash": "sha256-i6OeI2f7qGvmLfD07l1Az5iBL+bFeP0RHixisWtpUGo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "87edbd74246ccdfa64503f334ed86fa04010bab9",
"rev": "adc7c6f1bbaa73cda26be2323353b63a05b42f61",
"type": "github"
},
"original": {
@@ -377,92 +189,29 @@
"type": "github"
}
},
"nixpkgs_5": {
"nixpkgs-old": {
"locked": {
"lastModified": 1677158633,
"narHash": "sha256-t7za78oRkDIjdFQF0PCilfCziFyhfowCgs9Ry+sEvE4=",
"lastModified": 1682600000,
"narHash": "sha256-ha4BehR1dh8EnXSoE1m/wyyYVvHI9txjW4w5/oxsW5Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "129b6f78121802d18d215c9f9e04d7971c58ea0c",
"rev": "50fc86b75d2744e1ab3837ef74b53f103a9b55a0",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1665296151,
"narHash": "sha256-uOB0oxqxN9K7XGF1hcnY+PQnlQJ+3bP2vCn/+Ru/bbc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "14ccaaedd95a488dd7ae142757884d8e125b3363",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_7": {
"locked": {
"lastModified": 1659446231,
"narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "eabc38219184cc3e04a974fe31857d8e0eac098d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-21.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1665296151,
"narHash": "sha256-uOB0oxqxN9K7XGF1hcnY+PQnlQJ+3bP2vCn/+Ru/bbc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "14ccaaedd95a488dd7ae142757884d8e125b3363",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_9": {
"locked": {
"lastModified": 1669418739,
"narHash": "sha256-T86oFvcUIRwHWBWUt7WjaP4BP/3lDGbv5AppQSI1FkI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "695b3515251873e0a7e2021add4bba643c56cde3",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "695b3515251873e0a7e2021add4bba643c56cde3",
"rev": "50fc86b75d2744e1ab3837ef74b53f103a9b55a0",
"type": "github"
}
},
"nur": {
"locked": {
"lastModified": 1681454031,
"narHash": "sha256-JOamj7vKkFRp5mJ7FKt5dPfCmWj33sZLnBGDt15c/sc=",
"lastModified": 1683477974,
"narHash": "sha256-MmRFD5qCZ9xJy27F79pzmm0x/nLQAZwnvgc0U+oS/pM=",
"owner": "nix-community",
"repo": "NUR",
"rev": "8a35714f0be00235e2a1c8b759e6dc3888763d8b",
"rev": "07670d5e996df305e79cb7e9becc24b91b1b4d9f",
"type": "github"
},
"original": {
@@ -474,8 +223,12 @@
"recht": {
"inputs": {
"blessings": "blessings",
"flake-utils": "flake-utils_5",
"nixpkgs": "nixpkgs_5"
"flake-utils": [
"flake-utils"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1677165419,
@@ -493,11 +246,11 @@
},
"retiolum": {
"locked": {
"lastModified": 1681246809,
"narHash": "sha256-3RUAwk0ApPjq2Ms8KiAh+gG6EJKWurIur612w2m3Zu8=",
"lastModified": 1682697608,
"narHash": "sha256-SGhjlOQx9vDRrIxm+kyZzDjpiZDTzM3zLCLNgqWPmPY=",
"ref": "refs/heads/master",
"rev": "c8ddb36f3d85be762aeb1893a79da36014f55658",
"revCount": 296,
"rev": "e0a7f5bf65c7097949d4e07aafd24aabec8d5852",
"revCount": 305,
"type": "git",
"url": "https://git.thalheim.io/Mic92/retiolum"
},
@@ -514,10 +267,12 @@
"menstruation-backend": "menstruation-backend",
"menstruation-telegram": "menstruation-telegram",
"nixinate": "nixinate",
"nixpkgs": "nixpkgs_4",
"nixpkgs": "nixpkgs",
"nixpkgs-old": "nixpkgs-old",
"nur": "nur",
"recht": "recht",
"retiolum": "retiolum",
"rust-overlay": "rust-overlay",
"scripts": "scripts",
"telebots": "telebots",
"tinc-graph": "tinc-graph",
@@ -527,72 +282,19 @@
},
"rust-overlay": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs"
"flake-utils": [
"flake-utils"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1677033035,
"narHash": "sha256-w6XsKaW46kZNEk2vVfuoNIBEq/YzDy9kNk8cU0xJZEQ=",
"lastModified": 1683426137,
"narHash": "sha256-iqLjaJDMppvK1ae1eL55b2r7EX+rbUuEnssFOe9eOm8=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "6c9e8ea3ba73a9fed29ddc1cc52ade8e5c946a8d",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"rust-overlay_2": {
"inputs": {
"flake-utils": "flake-utils_4",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1677033035,
"narHash": "sha256-w6XsKaW46kZNEk2vVfuoNIBEq/YzDy9kNk8cU0xJZEQ=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "6c9e8ea3ba73a9fed29ddc1cc52ade8e5c946a8d",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"rust-overlay_3": {
"inputs": {
"flake-utils": "flake-utils_6",
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1677119371,
"narHash": "sha256-L0Da4eKzDZrsy8ysOS1lhgDjAgEqGvYGf/lXaRd5/YQ=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "c67c79ea25664d66e74ae91a6fa0d6c65d12d3a7",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"rust-overlay_4": {
"inputs": {
"flake-utils": "flake-utils_8",
"nixpkgs": "nixpkgs_8"
},
"locked": {
"lastModified": 1677119371,
"narHash": "sha256-L0Da4eKzDZrsy8ysOS1lhgDjAgEqGvYGf/lXaRd5/YQ=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "c67c79ea25664d66e74ae91a6fa0d6c65d12d3a7",
"rev": "546a8209ce0965475495dd422e4ab3c6de7a268c",
"type": "github"
},
"original": {
@@ -604,16 +306,14 @@
"scripts": {
"inputs": {
"flake-utils": [
"scripts",
"rust-overlay",
"flake-utils"
],
"nixpkgs": [
"scripts",
"rust-overlay",
"nixpkgs"
],
"rust-overlay": "rust-overlay_3"
"rust-overlay": [
"rust-overlay"
]
},
"locked": {
"lastModified": 1677271864,
@@ -646,8 +346,12 @@
},
"telebots": {
"inputs": {
"flake-utils": "flake-utils_7",
"nixpkgs": "nixpkgs_7"
"flake-utils": [
"flake-utils"
],
"nixpkgs": [
"nixpkgs-old"
]
},
"locked": {
"lastModified": 1677156381,
@@ -671,7 +375,9 @@
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay_4"
"rust-overlay": [
"rust-overlay"
]
},
"locked": {
"lastModified": 1677160040,
@@ -689,8 +395,12 @@
},
"traadfri": {
"inputs": {
"flake-utils": "flake-utils_9",
"nixpkgs": "nixpkgs_9"
"flake-utils": [
"flake-utils"
],
"nixpkgs": [
"nixpkgs-old"
]
},
"locked": {
"lastModified": 1677165914,
@@ -706,29 +416,14 @@
"type": "github"
}
},
"utils": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"voidrice": {
"flake": false,
"locked": {
"lastModified": 1681301489,
"narHash": "sha256-5Zz33Q3E4A9nsEmxPQikYeX7Rvu3hM+PlXx/0SIqG34=",
"lastModified": 1683056996,
"narHash": "sha256-6UFIyA4x+undpOg8IexqpNeTVh7Zs9E35JFdswQBa9Q=",
"owner": "Lukesmithxyz",
"repo": "voidrice",
"rev": "d4ff2ebaf3e88efe20cae0d1e592fddfc433c96e",
"rev": "b2833f8a67c421d1d5ba3327c8594a445b8aa386",
"type": "github"
},
"original": {

View File

@@ -9,10 +9,12 @@
menstruation-telegram.url = "github:kmein/menstruation-telegram";
nixinate.url = "github:matthewcroughan/nixinate";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11";
nixpkgs-old.url = "github:NixOS/nixpkgs/50fc86b75d2744e1ab3837ef74b53f103a9b55a0";
nur.url = "github:nix-community/NUR";
recht.url = "github:kmein/recht";
scripts.url = "github:kmein/scripts";
retiolum.url = "git+https://git.thalheim.io/Mic92/retiolum";
rust-overlay.url = "github:oxalica/rust-overlay";
telebots.url = "github:kmein/telebots";
tinc-graph.url = "github:kmein/tinc-graph";
traadfri.url = "github:kmein/traadfri";
@@ -20,11 +22,28 @@
agenix.inputs.nixpkgs.follows = "nixpkgs";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
home-manager.inputs.utils.follows = "flake-utils";
menstruation-backend.inputs.flake-utils.follows = "flake-utils";
menstruation-backend.inputs.nixpkgs.follows = "nixpkgs";
menstruation-backend.inputs.rust-overlay.follows = "rust-overlay";
menstruation-telegram.inputs.flake-utils.follows = "flake-utils";
menstruation-telegram.inputs.menstruation-backend.follows = "menstruation-backend";
menstruation-telegram.inputs.nixpkgs.follows = "nixpkgs-old";
nixinate.inputs.nixpkgs.follows = "nixpkgs";
recht.inputs.flake-utils.follows = "flake-utils";
recht.inputs.nixpkgs.follows = "nixpkgs";
rust-overlay.inputs.flake-utils.follows = "flake-utils";
rust-overlay.inputs.nixpkgs.follows = "nixpkgs";
scripts.inputs.flake-utils.follows = "flake-utils";
scripts.inputs.nixpkgs.follows = "nixpkgs";
scripts.inputs.rust-overlay.follows = "rust-overlay";
telebots.inputs.flake-utils.follows = "flake-utils";
telebots.inputs.nixpkgs.follows = "nixpkgs-old";
tinc-graph.inputs.flake-utils.follows = "flake-utils";
tinc-graph.inputs.nixpkgs.follows = "nixpkgs";
tinc-graph.inputs.rust-overlay.follows = "rust-overlay";
traadfri.inputs.flake-utils.follows = "flake-utils";
traadfri.inputs.nixpkgs.follows = "nixpkgs-old";
voidrice.flake = false;
};
@@ -40,7 +59,24 @@
...
}:
{
apps = nixinate.nixinate.x86_64-linux self;
apps =
nixinate.nixinate.x86_64-linux self
// {
x86_64-linux.deploy = let
pkgs = nixpkgs.legacyPackages.x86_64-linux;
in {
type = "app";
program = toString (pkgs.writers.writeDash "deploy" ''
if [ $# -eq 0 ]
then
systems='${toString (builtins.attrNames self.nixosConfigurations)}'
else
systems=$*
fi
${pkgs.parallel}/bin/parallel --line-buffer --tagstring '{}' 'nix run .\?submodules=1\#apps.nixinate.{}' ::: $systems
'');
};
};
nixosModules = {
htgen = import modules/htgen.nix;
@@ -49,7 +85,6 @@
passport = import modules/passport.nix;
panoptikon = import modules/panoptikon.nix;
power-action = import modules/power-action.nix;
specus = import modules/specus.nix;
system-dependent = import modules/system-dependent.nix;
telegram-bot = import modules/telegram-bot.nix;
traadfri = import modules/traadfri.nix;
@@ -80,7 +115,6 @@
systems/ful/configuration.nix
agenix.nixosModules.default
inputs.self.nixosModules.passport
inputs.self.nixosModules.specus
inputs.self.nixosModules.panoptikon
retiolum.nixosModules.retiolum
nur.nixosModules.nur
@@ -129,7 +163,6 @@
inputs.self.nixosModules.telegram-bot
inputs.self.nixosModules.htgen
inputs.self.nixosModules.passport
inputs.self.nixosModules.specus
agenix.nixosModules.default
retiolum.nixosModules.retiolum
nur.nixosModules.nur
@@ -193,7 +226,6 @@
systems/kabsa/configuration.nix
agenix.nixosModules.default
retiolum.nixosModules.retiolum
inputs.self.nixosModules.specus
home-manager.nixosModules.home-manager
nur.nixosModules.nur
];
@@ -238,6 +270,7 @@
genius = pkgs.callPackage packages/genius.nix {};
gfs-fonts = pkgs.callPackage packages/gfs-fonts.nix {};
git-preview = pkgs.callPackage packages/git-preview.nix {};
gpt = pkgs.callPackage packages/gpt.nix {};
hc = pkgs.callPackage packages/hc.nix {};
heuretes = pkgs.callPackage packages/heuretes.nix {};
htgen = pkgs.callPackage packages/htgen.nix {};
@@ -283,6 +316,7 @@
vimPlugins-cheat-sh-vim = pkgs.callPackage packages/vimPlugins/cheat-sh.nix {};
vimPlugins-icalendar-vim = pkgs.callPackage packages/vimPlugins/icalendar-vim.nix {};
vimPlugins-jq-vim = pkgs.callPackage packages/vimPlugins/jq-vim.nix {};
vimPlugins-typst-vim = pkgs.callPackage packages/vimPlugins/typst-vim.nix {};
vimPlugins-vim-256noir = pkgs.callPackage packages/vimPlugins/vim-256noir.nix {};
vimPlugins-vim-colors-paramount = pkgs.callPackage packages/vimPlugins/vim-colors-paramount.nix {};
vimPlugins-vim-fetch = pkgs.callPackage packages/vimPlugins/vim-fetch.nix {};

View File

@@ -1,37 +1,38 @@
rec {
{
# all dark colours are 20% darker than the bright ones
black = {
bright = "#282c34";
dark = "#282c34";
bright = "#4c5363"; # "#282c34";
dark = "#20232a";
};
red = {
bright = "#e06c75";
dark = "#e06c75";
bright = "#e68990"; #"#e06c75";
dark = "#d43541";
};
green = {
bright = "#98c379";
dark = "#98c379";
bright = "#acce93"; #"#98c379";
dark = "#77af4e";
};
yellow = {
bright = "#e5c07b";
dark = "#e5c07b";
bright = "#eacc95"; #"#e5c07b";
dark = "#d9a440";
};
blue = {
bright = "#61afef";
dark = "#61afef";
bright = "#80bff2"; #"#61afef";
dark = "#2490e9";
};
magenta = {
bright = "#c678dd";
dark = "#c678dd";
bright = "#d193e3"; #"#c678dd";
dark = "#af42cf";
};
cyan = {
bright = "#56b6c2";
dark = "#56b6c2";
bright = "#77c4ce"; #"#56b6c2";
dark = "#3b99a5";
};
white = {
bright = "#dcdfe4";
dark = "#dcdfe4";
bright = "#e3e5e9"; #"#dcdfe4";
dark = "#a9b1bd";
};
background = black.dark;
foreground = white.bright;
background = "#282c34"; #black.dark;
foreground = "#dcdfe4"; #white.bright;
cursor = "#a3b3cc";
}

View File

@@ -29,9 +29,9 @@ rec {
};
white = {
bright = "#8c00ec";
dark = "#efefef";
dark = "#bfbfbf";
};
background = white.dark;
background = "#efefef";
foreground = "#181818";
cursor = "#bbbbbb";
cursor = "#a3b3cc";
}

View File

@@ -31,7 +31,7 @@
nick ? ''"$PANOPTIKON_WATCHER"-watcher'',
}:
pkgs.writers.writeDash "kpaste-irc-reporter" ''
${niveumPackages.kpaste}/bin/kpaste \
KPASTE_CONTENT_TYPE=text/plain ${niveumPackages.kpaste}/bin/kpaste \
| ${pkgs.gnused}/bin/sed -n "${
if retiolumLink
then "2"

View File

@@ -126,6 +126,7 @@ augroup filetypes
autocmd bufnewfile,bufread *.rust packadd rust-vim
autocmd bufnewfile,bufread *.csv packadd csv.vim | set filetype=csv
autocmd bufnewfile,bufread *.tex packadd vimtex | set filetype=tex
autocmd bufnewfile,bufread *.typ packadd typst.vim | set filetype=typst
autocmd bufnewfile,bufread *.ics packadd icalendar.vim | set filetype=icalendar
autocmd bufnewfile,bufread *.ts packadd typescript-vim | set filetype=typescript
autocmd bufnewfile,bufread *.jq packadd jq.vim

View File

@@ -1,96 +0,0 @@
{
config,
lib,
pkgs,
...
}: let
specusMachines = {
servers = {
makanek = {
ipv4 = "10.100.0.1";
publicKey = "KhcScd4fBpdhQzK8Vc+1mEHQMQBpbKBUPB4oZ7skeSk=";
};
ful = {
ipv4 = "10.100.0.2";
publicKey = "0Y7+zoXkWJGVOWWnMjvYjtwP+WpggAlmkRbgMw0z8Dk=";
};
};
clients = {
kabsa = {
ipv4 = "10.100.0.101";
publicKey = "nRkzoRi9crKHF7263U37lt4GGL7/8637NBSKjifI9hY=";
};
};
};
in {
options.services.specus = {
server = {
enable = lib.mkEnableOption "Specus private VPN (server)";
};
client = {
enable = lib.mkEnableOption "Specus private VPN (client)";
};
privateKeyFile = lib.mkOption {
type = lib.types.path;
description = "Private key file of the server/client machine";
};
};
config = let
cfg = config.services.specus;
specusPort = 22;
in
{
assertions = [
{
assertion =
!(cfg.server.enable && cfg.client.enable);
message = "specus: systems cannot be client and server at the same time";
}
];
}
// lib.mkIf cfg.server.enable {
networking.nat = {
enable = true;
externalInterface = "eth0"; # TODO
internalInterfaces = ["specus"];
};
networking.firewall.allowedUDPPorts = [specusPort];
networking.wireguard.interfaces.specus = {
ips = ["${specusMachines.servers.${config.networking.hostName}.ipv4}/24"];
# For this to work you have to set the dnsserver IP of your router (or dnsserver of choice) in your clients
postSetup = ''
${pkgs.iptables}/bin/iptables -t nat -A POSTROUTING -s 10.100.0.0/24 -o eth0 -j MASQUERADE
'';
postShutdown = ''
${pkgs.iptables}/bin/iptables -t nat -D POSTROUTING -s 10.100.0.0/24 -o eth0 -j MASQUERADE
'';
listenPort = specusPort;
privateKeyFile = cfg.privateKeyFile;
peers =
lib.mapAttrsToList (clientName: clientConfig: {
publicKey = clientConfig.publicKey;
allowedIPs = ["${clientConfig.ipv4}/32"];
})
specusMachines.clients;
};
}
// lib.mkIf cfg.client.enable {
networking.firewall.allowedUDPPorts = [specusPort];
networking.wireguard.interfaces = lib.attrsets.mapAttrs' (serverName: serverConfig:
lib.nameValuePair "specus-${serverName}" {
ips = ["${specusMachines.clients.${config.networking.hostName}.ipv4}/24"];
listenPort = specusPort;
privateKeyFile = cfg.privateKeyFile;
peers = [
{
allowedIPs = ["0.0.0.0/0"];
endpoint = "${(import ../lib/external-network.nix).${serverName}}:${toString specusPort}";
persistentKeepalive = 25;
publicKey = serverConfig.publicKey;
}
];
})
specusMachines.servers;
};
}

15
packages/gpt.nix Normal file
View File

@@ -0,0 +1,15 @@
{
curl,
writers,
jq,
apiKeyCommand ? "pass api-keys/openai.com",
model ? "gpt-3.5-turbo",
}:
writers.writeDashBin "gpt" ''
json=$(jq --slurp --raw-input '{model:"${model}", messages: [{role: "user", content: .}]}')
${curl}/bin/curl -sSL https://api.openai.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(pass api-keys/openai.com)" \
-d "$json" \
| ${jq}/bin/jq -r '.choices[] | .message.content'
''

View File

@@ -1,23 +0,0 @@
{ stdenv, fetchFromGitHub, cmake, lib }:
stdenv.mkDerivation rec {
pname = "itl";
version = "0.8.0";
src = fetchFromGitHub {
owner = "arabeyes-org";
repo = "ITL";
rev = "v${version}";
sha256 = "sha256-GTicTbZmFbPhzInFob3cfvtTxOpUZuqsQz1w9CoWu9w=";
};
nativeBuildInputs = [cmake];
cmakeFlags = [
"-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
"-DCMAKE_INSTALL_LIBDIR=lib"
];
meta = {
homepage = "https://www.arabeyes.org/ITL";
description = "Islamic Tools and Libraries";
license = lib.licenses.lgpl2;
platforms = lib.platforms.all;
maintainer = [lib.maintainers.kmein];
};
}

View File

@@ -1,21 +0,0 @@
{ stdenv, fetchFromGitHub, itl, lib, autoreconfHook }:
stdenv.mkDerivation rec {
pname = "itools";
version = "1.0";
src = fetchFromGitHub {
owner = "arabeyes-org";
repo = "itools";
rev = version;
sha256 = "sha256-g9bsjupC4Sb5ywAgUNbjYLbHZ/i994lbNSnX2JyaP3g=";
};
preAutoreconf = "autoupdate";
nativeBuildInputs = [autoreconfHook];
buildInputs = [itl];
meta = {
homepage = "https://www.arabeyes.org/ITL";
description = "The itools package is a set of user friendly applications utilizing Arabeyes' ITL library. ";
license = lib.licenses.gpl2;
platforms = lib.platforms.all;
maintainer = [lib.maintainers.kmein];
};
}

View File

@@ -49,7 +49,6 @@ in
${lib.concatStringsSep "\n" (lib.mapAttrsToList scriptCase cfg.scripts)}
*) ${pkgs.coreutils}/bin/cat ;;
esac \
| tr -d '\r\n' \
| ${pkgs.xclip}/bin/xclip -selection ${cfg.selection} -in
${pkgs.libnotify}/bin/notify-send --app-name="klem" "Result copied to clipboard."

View File

@@ -4,6 +4,7 @@
writers,
}:
writers.writeDashBin "kpaste" ''
${curl}/bin/curl -sS http://p.r --data-binary @"''${1:--}" |
${curl}/bin/curl -sS http://p.r --data-binary @"''${1:--}" \
-H "Content-Type-Override: ''${KPASTE_CONTENT_TYPE-}"
${gnused}/bin/sed '$ {p;s|http://p.r|https://p.krebsco.de|}'
''

View File

@@ -0,0 +1,14 @@
{
vimUtils,
fetchFromGitHub,
}:
vimUtils.buildVimPluginFrom2Nix {
pname = "typst.vim";
version = "2882f21";
src = fetchFromGitHub {
owner = "kaarmu";
repo = "typst.vim";
rev = "2882f211f1498c790bb857f8a912c8e86526a362";
sha256 = "0xr8k17ggqfdksf3kybimfl5djjz3h19k4479la06i5lnwvlhkh2";
};
}

Submodule secrets updated: 99320671a5...d9d7540399

View File

@@ -49,12 +49,6 @@ in {
};
root.file = ../../secrets/ful-root.age;
restic.file = ../../secrets/restic.age;
specus.file = ../../secrets/ful-specus-privateKey.age;
};
services.specus = {
privateKeyFile = config.age.secrets.specus.path;
server.enable = true;
};
services.restic.backups.niveum = {

View File

@@ -24,7 +24,14 @@ in {
enable = true;
watchers = {
"github-meta" = {
script = panoptikon.urlJSON {} "https://api.github.com/meta";
script = panoptikon.urlJSON {
jqScript = ''
{
ssh_key_fingerprints: .ssh_key_fingerprints,
ssh_keys: .ssh_keys
}
'';
} "https://api.github.com/meta";
reporters = [irc-xxx];
};
lammla = {

View File

@@ -40,16 +40,10 @@ in {
restic.file = ../../secrets/restic.age;
syncthing-cert.file = ../../secrets/kabsa-syncthing-cert.age;
syncthing-key.file = ../../secrets/kabsa-syncthing-key.age;
specus.file = ../../secrets/kabsa-specus-privateKey.age;
};
environment.systemPackages = [pkgs.minecraft pkgs.zeroad];
services.specus = {
privateKeyFile = config.age.secrets.specus.path;
client.enable = false;
};
networking = {
hostName = "kabsa";
wireless.interfaces = ["wlp3s0"];

View File

@@ -16,6 +16,7 @@ in {
./names.nix
./nextcloud.nix
./radio-news.nix
./onlyoffice.nix
./retiolum-map.nix
./tarot.nix
./tt-rss.nix
@@ -95,12 +96,6 @@ in {
group = "tinc.retiolum";
};
restic.file = ../../secrets/restic.age;
specus.file = ../../secrets/makanek-specus-privateKey.age;
};
services.specus = {
privateKeyFile = config.age.secrets.specus.path;
server.enable = true;
};
system.stateVersion = "20.03";

View File

@@ -223,8 +223,7 @@ in {
email_configs = let
inherit (import ../../../lib) kieran;
inherit (import ../../../lib/email.nix {inherit lib;}) cock;
in [
{
cockConfig = {
send_resolved = true;
to = kieran.email;
from = cock.user;
@@ -232,7 +231,8 @@ in {
auth_username = cock.user;
auth_identity = cock.user;
auth_password = "$EMAIL_PASSWORD";
}
};
in [
];
}
];

View File

@@ -0,0 +1,29 @@
{
pkgs,
config,
...
}: {
services.onlyoffice = {
enable = true;
port = 8111;
hostname = "onlyoffice.kmein.de";
jwtSecretFile = config.age.secrets.onlyoffice-key.path;
};
age.secrets.onlyoffice-key = {
file = ../../secrets/onlyoffice-jwt-key.age;
owner = "onlyoffice";
};
# otherwise this leads to nginx
# open() "/var/lib/onlyoffice/documentserver/App_Data/cache/files/data/conv_check_1138411943_docx/output.docx" failed (13: Permission denied)
# and mysterious 403 errors
system.activationScripts.onlyoffice-readable.text = ''
chmod a+x /var/lib/onlyoffice/documentserver/
'';
services.nginx.virtualHosts.${config.services.onlyoffice.hostname} = {
enableACME = true;
forceSSL = true;
};
}

View File

@@ -95,6 +95,16 @@ in {
# WS 2022
115414 # Nonnos
116108 # Dialektologie
# SS 2023
117967 # Archaische Lyrik
119658 # Dyskolos
118963 # Antike Biographie
92668 # Taa
120671 # Jiddisch
120720 # Sorbisch
118076 # X-Tutorial
120631 # Predigten
];
download_submissions = true;
download_descriptions = true;