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

1139 Commits

Author SHA1 Message Date
62f3c7fcc0 wip 2023-02-09 18:05:17 +01:00
0f88954989 fix(ci): add grafana secret to makanek 2023-02-09 09:48:36 +01:00
7c349f1383 feat(grafana): provision 2023-02-08 09:26:36 +01:00
0eadbf08df feat: nemo with correct terminal setting 2023-02-07 22:30:42 +01:00
72100329b1 feat(compton): fade + inactiveOpacity 2023-02-07 22:30:16 +01:00
bf7b490372 feat: udiskie 2023-02-07 22:26:59 +01:00
dd4083aec5 fix(fonts): update hash, reject woff 2023-02-06 21:39:38 +01:00
6edd1c0439 feat: reenable flameshot-once 2023-02-06 21:23:33 +01:00
467c80a239 feat(streams): add more todo 2023-02-05 11:43:10 +01:00
b100ea7b28 chore: update and comment flameshot-once 2023-02-03 13:36:40 +01:00
3cdc468e31 feat(streams): add more todo 2023-02-03 11:05:26 +01:00
2d19ba7249 feat: build laptops from stable 2023-01-31 11:03:37 +01:00
7af32a0ad3 fix(ci): tt-rss -> miniflux 2023-01-31 10:24:25 +01:00
0e75118416 feat(streams): remove unicode from playlist names 2023-01-30 10:03:07 +01:00
139fcae7a0 Merge branch 'update_flake_lock_action' 2023-01-29 19:21:00 +01:00
bcfd5d73be feat: calendar add more planets 2023-01-29 19:20:51 +01:00
bcf057e871 fix(miniflux): rename password on server 2023-01-29 19:04:01 +01:00
fad2d0629d feat(mastodon-bot): disable 2023-01-29 18:51:05 +01:00
27cc5766ee fix(miniflux): rename password 2023-01-29 18:43:03 +01:00
813072e47c fix(miniflux): rename password 2023-01-29 17:51:32 +01:00
github-actions[bot]
bcc355f822 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/9e565f0d9d41c19a94f55af205c328ec5177fc0a' (2023-01-07)
  → 'github:nix-community/home-manager/08a778d80308353f4f65c9dcd3790b5da02d6306' (2023-01-28)
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/2dea8991d89b9f1e78d874945f78ca15f6954289' (2023-01-06)
  → 'github:NixOS/nixpkgs/ce20e9ebe1903ea2ba1ab006ec63093020c761cb' (2023-01-28)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/a518c77148585023ff56022f09c4b2c418a51ef5' (2023-01-05)
  → 'github:NixOS/nixpkgs/9b97ad7b4330aacda9b2343396eb3df8a853b4fc' (2023-01-25)
• Updated input 'retiolum':
    'git+https://git.thalheim.io/Mic92/retiolum?ref=refs%2fheads%2fmaster&rev=33ac7efb37d36e1939b62a93494570bce1be4dac' (2023-01-07)
  → 'git+https://git.thalheim.io/Mic92/retiolum?ref=refs%2fheads%2fmaster&rev=a396ad8139cb934e36f0bf0bde84786b2704c6bd' (2023-01-26)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=895440aab0d360bd805338fa41874282a3209df0' (2023-01-07)
  → 'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=e01e296e5d34aa74a4d6edf8203b3dd015a94112' (2023-01-28)
2023-01-29 17:51:13 +01:00
d8b931af7c feat: miniflux 2023-01-29 17:46:31 +01:00
4c8d2a051d feat(backup): also backup notes 2023-01-17 15:50:12 +01:00
2906848f92 feat(backup): also backup sd card directories 2023-01-17 15:37:56 +01:00
c2a78a88bd feat: git-crypt 2023-01-12 10:20:07 +01:00
63bf7ddeb0 feat(firefox): declarative 2023-01-12 10:19:56 +01:00
github-actions[bot]
19e4e76e6f flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/dd99675ee81fef051809bc87d67eb07f5ba022e8' (2022-12-29)
  → 'github:nix-community/home-manager/9e565f0d9d41c19a94f55af205c328ec5177fc0a' (2023-01-07)
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/913a47cd064cc06440ea84e5e0452039a85781f0' (2022-12-29)
  → 'github:NixOS/nixpkgs/2dea8991d89b9f1e78d874945f78ca15f6954289' (2023-01-06)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/677ed08a50931e38382dbef01cba08a8f7eac8f6' (2022-12-29)
  → 'github:NixOS/nixpkgs/a518c77148585023ff56022f09c4b2c418a51ef5' (2023-01-05)
• Updated input 'scripts':
    'github:kmein/scripts/84ad80348294e9423996b52a4b112700ae5d3176' (2022-11-23)
  → 'github:kmein/scripts/2670c7eed566f195f833a25e6ccc6b368fe18af5' (2023-01-07)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=de0226995d553e4a70170ce59483a6d71f41932d' (2022-12-30)
  → 'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=895440aab0d360bd805338fa41874282a3209df0' (2023-01-07)
2023-01-09 10:29:24 +01:00
79e9ab38a8 fix: use retiolum keys from password store 2023-01-08 00:16:30 +01:00
318687f5cf fix(radio): radio-news.r has moved so we have to update the retiolum hosts 2023-01-08 00:06:16 +01:00
c5a297cd7d feat: rusty alarm 2023-01-07 09:58:35 +01:00
6f6100d752 feat: return to pulseaudio 2023-01-07 08:30:57 +01:00
049dadd704 fix(nix): do not use flaky prism.r cache 2023-01-06 17:02:02 +01:00
0a4fa2d16f feat: pipewire 2023-01-06 15:32:23 +01:00
f25c59178c manakish: new sd card 2023-01-06 12:28:12 +01:00
88b6802dae fix(ci): add missing secret 2023-01-06 12:27:47 +01:00
5f88e7287b fix: pandoc man hash 2023-01-06 09:47:12 +01:00
abb0be6a17 feat: bye brave, hello firefox 2023-01-06 09:08:42 +01:00
fec8479e90 fix(tahina): install git for krops to work 2023-01-04 20:43:48 +01:00
190a46abcd feat(nixify): use packages instead of buildInputs 2023-01-04 20:43:38 +01:00
0a4fccd582 feat(mail): add klassphil email 2023-01-04 20:43:26 +01:00
232b6059df fix(mastodon-bot): restart on failure 2023-01-02 09:10:49 +01:00
eb17c7fdd9 fix: post on mastodon from both laptops 2023-01-01 14:53:47 +01:00
1aa7b78b4a fix: use my keys for @Mic92 retiolum module 2022-12-31 18:54:46 +01:00
de6408f28f feat: use @Mic92 retiolum module
the old one did this:

building '/nix/store/gqvr8gl8ayj9kgjnfr23ax0xpc3rnc34-unit-tinc.retiolum.service.drv'...
error: executing '/nix/store/4xw8n979xpivdc46a9ndcvyhwgif00hz-bash-5.1-p16/bin/bash': Argument list too long
error: builder for '/nix/store/gqvr8gl8ayj9kgjnfr23ax0xpc3rnc34-unit-tinc.retiolum.service.drv' failed with exit code 1
error: 1 dependencies of derivation '/nix/store/v2ld4847xyb49v7wjb3fvf6lkg2j755b-system-units.drv' failed to build
error: 1 dependencies of derivation '/nix/store/bbl9qidw9z0gz56z7yrhfkxsawk5qi7x-etc.drv' failed to build
2022-12-31 10:40:41 +01:00
aeed540089 feat: no proprietary pdf readers please, also no goldendict
they both want me to build qtwebkit
2022-12-31 08:10:08 +01:00
d769b79ac3 feat: add mastodon poster 2022-12-31 07:23:34 +01:00
126dfada4b feat(atuin): restart on failure 2022-12-31 07:23:01 +01:00
github-actions[bot]
2793d2ca0e flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/eb3598cf44aa10f2a16fe38488a102c0f474d766' (2022-12-03)
  → 'github:nix-community/home-manager/d7eee202e597bc7789498a8664082cf0ffedaa8f' (2022-12-23)
• Updated input 'nix-writers':
    'git+https://cgit.krebsco.de/nix-writers?ref=refs%2fheads%2fmaster&rev=f65c77bdcc58be2081a0ffbda849289c5191b5e8' (2022-11-29)
  → 'git+https://cgit.krebsco.de/nix-writers?ref=refs%2fheads%2fmaster&rev=0c8de150426476b5287cf2787bbd85263691a802' (2022-12-12)
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/660e7737851506374da39c0fa550c202c824a17c' (2022-12-02)
  → 'github:NixOS/nixpkgs/9898811c658d39b2692d0ab744377e02fd85d08b' (2022-12-22)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/b72b8b94cf0c012b0252a9100a636cad69696666' (2022-12-02)
  → 'github:NixOS/nixpkgs/652e92b8064949a11bc193b90b74cb727f2a1405' (2022-12-22)
• Updated input 'retiolum':
    'github:krebs/retiolum/cada994815864d4cc1edb9d76df74beafc496481' (2022-12-01)
  → 'github:krebs/retiolum/20ad3544d80690791bed8a639d08848924a7aaa9' (2022-12-19)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=3884243448869bdf09f6434b385e532c7c26ae88' (2022-12-12)
  → 'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=6e13334579f16940edb1182662d9ac58e57aba0e' (2022-12-25)
2022-12-29 23:43:06 +01:00
b536f2af34 feat(hu-vpn): remove openvpn, do not split tunnel 2022-12-29 23:37:29 +01:00
41d2a32585 feat: rink, deno 2022-12-29 23:37:13 +01:00
94f2c18432 feat(autocutsel): disable because i dont want to paste everything i select 2022-12-18 13:51:22 +01:00
a2e98794cb feat(alacritty): visual bell 2022-12-17 10:03:15 +01:00
547d59ee2c feat: reenable ssh agent, gpg did not work 2022-12-17 10:03:00 +01:00
bc8a035451 feat(gpg): use for ssh, increase ttl 2022-12-13 14:38:14 +01:00
36ce5143b4 fix(radio-news): only give one hour of stockholm history 2022-12-13 14:26:37 +01:00
e4514389f1 feat(color): use papercolor 2022-12-13 14:12:40 +01:00
99bc72eb29 feat(tarot): use scriptFile option 2022-12-13 09:36:59 +01:00
7aee4b566c feat(manakish): welcome docking station 2022-12-07 21:05:21 +01:00
42cff2dc92 chore: poetry is broken 2022-12-05 10:35:07 +01:00
2576637960 Merge branch 'update_flake_lock_action' 2022-12-05 10:20:43 +01:00
github-actions[bot]
d83f43a141 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/478610aa37c8339eacabfa03f07dacf5574edd47' (2022-11-30)
  → 'github:nix-community/home-manager/eb3598cf44aa10f2a16fe38488a102c0f474d766' (2022-12-03)
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/596a8e828c5dfa504f91918d0fa4152db3ab5502' (2022-11-30)
  → 'github:NixOS/nixpkgs/660e7737851506374da39c0fa550c202c824a17c' (2022-12-02)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/a115bb9bd56831941be3776c8a94005867f316a7' (2022-11-27)
  → 'github:NixOS/nixpkgs/b72b8b94cf0c012b0252a9100a636cad69696666' (2022-12-02)
• Updated input 'retiolum':
    'github:krebs/retiolum/4679cdd5f0851f22518e7011144f22431e6551c0' (2022-12-01)
  → 'github:krebs/retiolum/cada994815864d4cc1edb9d76df74beafc496481' (2022-12-01)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=81b5682c5ff1e36613f844a874e09b897ee13d3e' (2022-11-29)
  → 'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=645c3564f75589531abcf17fd3c3f920d93a394a' (2022-12-02)
2022-12-05 10:07:08 +01:00
218195a781 fix(notemenu) 2022-12-05 10:06:40 +01:00
bb8940c9e5 feat(nix): auto gc for saving space 2022-12-03 11:34:40 +01:00
e6623e8b4d feat(zaatar): backup sql backups 2022-12-03 08:51:11 +01:00
b5514150ab Revert "feat(alertmanager): send text email as well"
This reverts commit 3b1af791c9.
2022-12-03 08:45:40 +01:00
2b2514b2eb feat(nextcloud): i do not use server side encryption 2022-12-03 08:36:29 +01:00
3b1af791c9 feat(alertmanager): send text email as well 2022-12-03 08:31:45 +01:00
f3e14ffc9e feat(alertmanager): send telegram and email notifications 2022-12-03 08:31:45 +01:00
f04ca9d1de feat(postgresql): enable backup 2022-12-03 08:31:45 +01:00
72b48e90aa fix(notemenu): open notes correctly 2022-12-03 07:15:03 +01:00
bd065e7888 feat(alertmanager): send telegram and email with more info 2022-12-02 17:32:40 +01:00
45644518bb feat(urlwatch): remove arnshaugk due to spam 2022-12-01 20:52:37 +01:00
77ddd1d02f feat(urlwatch): remove tatort due to spam 2022-12-01 20:52:15 +01:00
0f5e0e8d6f chore: update retiolum 2022-12-01 20:00:05 +01:00
de066361b7 feat(prometheus): make reachable via http 2022-12-01 19:58:59 +01:00
ba3a139f8e feat(tt-rss): disable registration 2022-12-01 18:25:43 +01:00
91fa6faeaf feat(nextcloud): set email via module 2022-12-01 18:25:33 +01:00
e95546ef8a feat(nextcloud): upgrade 2022-12-01 18:25:16 +01:00
b9623e3d57 feat(alertmanager): access via http 2022-12-01 18:25:03 +01:00
73929c1963 feat(newsboat): star flag s 2022-12-01 18:24:19 +01:00
3197a5a232 feat(prometheus): use node exporter firewall option 2022-12-01 18:24:05 +01:00
6a605633ae chore: update retiolum 2022-12-01 17:07:44 +01:00
52376128a5 feat(alertmanager): report via email like a professional, allow http access 2022-12-01 17:07:06 +01:00
4a5bc2d89d feat: update to 22.11 2022-12-01 17:07:06 +01:00
3ec22d6ef0 feat(journald): save space on journal 2022-12-01 17:04:12 +01:00
3c86532a5d feat(nextcloud): try to log stuff 2022-12-01 13:37:46 +01:00
a34b4a8262 feat: use owickstrom colours 2022-11-30 12:39:45 +01:00
3102d6f56c fix(alacritty): use correct config path 2022-11-30 11:44:39 +01:00
a2b65034bf fix(nextcloud): do not sync paychecks anymore 2022-11-30 11:23:07 +01:00
90550dc18b feat: atuin 2022-11-30 11:21:38 +01:00
03d40a488b chore: permit insecure qtwebkit 2022-11-30 09:19:30 +01:00
74191a27ee Merge remote-tracking branch 'origin/update_flake_lock_action' 2022-11-30 07:42:47 +01:00
a33db562c4 feat(alacritty): make faster 2022-11-29 22:51:09 +01:00
93cc209e52 feat: clipmenu 2022-11-29 22:50:49 +01:00
d1b5b0c25c feat(newsboat): starred tt-rss 2022-11-29 13:58:42 +01:00
ff5bc035c0 feat(tt-rss): correct name, add secret to ci 2022-11-29 13:55:56 +01:00
e06e7bbe0d feat(i3): more github stuff is important 2022-11-29 12:00:35 +01:00
8786bfad24 feat(moodle-dl): borsfaye 2022-11-28 12:54:30 +01:00
github-actions[bot]
10949f7746 flake.lock: Update
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/6ee9ebb6b1ee695d2cacc4faa053a7b9baa76817' (2022-10-29)
  → 'github:numtide/flake-utils/5aed5285a952e0b949eb3ba02c12fa4fcfef535f' (2022-11-02)
• Updated input 'home-manager':
    'github:nix-community/home-manager/722e8d65d3aba6f527100cc2d1539e4ca04d066f' (2022-10-31)
  → 'github:nix-community/home-manager/e999dfe7cba2e1fd59ab135e7496545bd4f82b76' (2022-11-27)
• Updated input 'home-manager/utils':
    'github:numtide/flake-utils/6ee9ebb6b1ee695d2cacc4faa053a7b9baa76817' (2022-10-29)
  → 'github:numtide/flake-utils/5aed5285a952e0b949eb3ba02c12fa4fcfef535f' (2022-11-02)
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/26eb67abc9a7370a51fcb86ece18eaf19ae9207f' (2022-10-30)
  → 'github:NixOS/nixpkgs/695b3515251873e0a7e2021add4bba643c56cde3' (2022-11-25)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/412b9917cea092f3d39f9cd5dead4effd5bc4053' (2022-10-30)
  → 'github:NixOS/nixpkgs/5dc7114b7b256d217fe7752f1614be2514e61bb8' (2022-11-25)
• Updated input 'scripts':
    'github:kmein/scripts/66b2068d548d3418c81dd093bba3f80248c68196' (2022-10-12)
  → 'github:kmein/scripts/84ad80348294e9423996b52a4b112700ae5d3176' (2022-11-23)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=a83dec755ca2753705254f90346e4441d2f25c7c' (2022-10-31)
  → 'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=dae12b6893a1d28e8bcb1fe3fb9ee8757bbfbed4' (2022-11-24)
2022-11-27 00:55:59 +00:00
12e3529df8 fix(celan): send at random time 2022-11-26 11:35:58 +01:00
4b954a7e83 fix(tabula): networking, sound 2022-11-25 11:27:43 +01:00
ce99920054 feat: celan telegram bot 2022-11-25 11:27:16 +01:00
c3c0792d50 feat: init tabula 2022-11-25 09:16:02 +01:00
851a9edc4d chore: update retiolum 2022-11-25 09:15:42 +01:00
e69668606e feat(streams): rename радио русский берлин 2022-11-22 19:31:21 +01:00
52d73abe06 feat: fq 2022-11-22 11:48:15 +01:00
bf899d0bde feat(i3): envs.sh 2022-11-22 11:48:09 +01:00
dcf2fa523b feat(tt-rss): replace freshrss 2022-11-16 11:21:22 +01:00
cae4423fb3 feat(freshrss): run from unstable, use with newsboat 2022-11-16 10:03:55 +01:00
25b37c2b01 feat(freshrss): host on makanek 2022-11-14 23:07:19 +01:00
a4e0e25465 feat: add termdown 2022-11-09 11:07:58 +01:00
4fa3a3e5fc feat(xkb): add hebrew 2022-11-09 11:07:44 +01:00
4950442f8b feat(i3): highlight borders blue 2022-11-08 20:31:16 +01:00
7252826719 feat(i3): no gaps 2022-11-08 20:31:04 +01:00
a22acd2073 feat(i3): no no startup id 2022-11-08 20:30:53 +01:00
9e85a12084 fix(i3): remove title bars 2022-11-08 20:30:28 +01:00
600d8a5f7d fix: temporarily disable trådfri 2022-11-08 06:41:27 +01:00
857518578a feat(fzf): do not ignore vcs and follow links 2022-11-07 15:44:18 +01:00
b1fcbcaa96 feat(xkb): add coptic, avestan, devanagari 2022-11-07 15:42:40 +01:00
005e193f56 fix(menstruation): update 2022-11-07 11:29:10 +01:00
6e5ff9214e chore: update 2022-11-01 09:45:06 +01:00
85f3722ba5 feat(nextcloud): sync fysi documents 2022-11-01 07:55:06 +01:00
797d091643 fix(tlg-wotd) 2022-10-28 07:45:40 +02:00
b1544906aa feat(moodle-dl): WS22 course 2022-10-25 07:39:19 +02:00
c886511c99 feat: json2csv script 2022-10-19 08:56:47 +02:00
7388395908 feat(graph.r): update to show pois on map 2022-10-19 08:56:39 +02:00
bf42e37daa Merge pull request #27 from kmein/update_flake_lock_action
flake.lock: Update
2022-10-18 20:42:11 +02:00
035fa9e29d chore: update scripts 2022-10-18 10:11:18 +02:00
cc28b894d1 fix(menstruation): update 2022-10-18 10:10:57 +02:00
c1c1665e50 feat(moinbot): randomize greeting 2022-10-18 10:10:57 +02:00
2dca2596cd feat(onomap): allow multiple names 2022-10-18 10:10:56 +02:00
github-actions[bot]
bede997e7d flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/a7f0cc2d7b271b4a5df9b9e351d556c172f7e903' (2022-09-30)
  → 'github:nix-community/home-manager/2ecb3ea990cf737cfb42d8cd805fa86347c1afaf' (2022-10-15)
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/9cac45850280978a21a3eb67b15a18f34cbffa2d' (2022-10-01)
  → 'github:NixOS/nixpkgs/e06bd4b64bbfda91d74f13cb5eca89485d47528f' (2022-10-12)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/ae1dc133ea5f1538d035af41e5ddbc2ebcb67b90' (2022-09-22)
  → 'github:NixOS/nixpkgs/4428e23312933a196724da2df7ab78eb5e67a88e' (2022-10-14)
• Updated input 'retiolum':
    'github:krebs/retiolum/86208b5a747d7aa661240b2d5c2f229f2ed76959' (2022-09-28)
  → 'github:krebs/retiolum/289712a3becfec77dab8963d450b2afe616569e0' (2022-10-12)
• Updated input 'scripts':
    'github:kmein/scripts/86c71080945e5b637d9dde5c3d944d600035e2eb' (2022-10-09)
  → 'github:kmein/scripts/66b2068d548d3418c81dd093bba3f80248c68196' (2022-10-12)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=8f929b04b3de012a9c72306786f076b78aa9f98c' (2022-09-27)
  → 'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=0d32cceb996dc3b91342ce9d0aa2df1b234522fa' (2022-10-12)
2022-10-16 01:15:33 +00:00
0082602131 feat(smyth): only once per day 2022-10-14 15:20:19 +02:00
8ffeddb46b chore(onomap): remove unused variable 2022-10-09 07:14:36 +02:00
c06e37f40a feat(onomap): allow multiple names 2022-10-07 02:23:54 +02:00
8d36a77405 fix: downgrade unstable because i dont want to damage my display
https://lore.kernel.org/all/YzwooNdMECzuI5+h@intel.com/
2022-10-06 11:07:20 +02:00
1219517d62 fix(vimPlugins): name -> pname 2022-10-06 11:07:20 +02:00
786d1df781 fix: pkgconfig -> pkg-config 2022-10-06 10:53:11 +02:00
c49859900a fix: utillinux -> util-linux 2022-10-06 10:37:21 +02:00
f9ce538975 fix: posix_man_pages -> man-pages-posix 2022-10-06 10:32:31 +02:00
7d6e7ae1a2 fix: xdg_utils -> xdg-utils 2022-10-06 10:32:30 +02:00
176958cd75 fix: iproute -> iproute2 2022-10-06 10:31:26 +02:00
816c21d7de fix: gnome3 -> gnome 2022-10-06 09:41:25 +02:00
3b1f4799e0 fix(hesychius): update scripts 2022-10-06 08:17:14 +02:00
c52df45b4f fix(ful): disable systemd-networkd-wait-online 2022-10-06 07:17:48 +02:00
84f83cb6ac Merge pull request #26 from kmein/update_flake_lock_action
flake.lock: Update
2022-10-05 22:49:37 +02:00
652b7d4852 fix(rofi-pass): generate passwords, correct default user 2022-10-05 17:09:34 +02:00
e73c139d69 feat(rofi-pass): allow insertion 2022-10-05 17:08:58 +02:00
549282140f fix(rofi-pass): include via home-manager
also fix https://github.com/carnager/rofi-pass/issues/226
2022-10-05 16:50:27 +02:00
f3bb52e820 feat: we may want to eat fast food on tuesdays 2022-10-04 10:59:17 +02:00
717672e86e feat: calendars script 2022-10-03 19:14:21 +02:00
1cee1c06f7 feat(moodle-dl): WS22 course 2022-10-03 19:14:11 +02:00
4d5989aa5b feat(neomutt): alias for faster access of single accounts 2022-10-03 19:13:57 +02:00
01bdeb05b7 kabsa: new SD card 2022-10-02 09:59:10 +02:00
5c422e74e8 feat: new DR streams, playlist for Record 2022-10-02 09:58:59 +02:00
github-actions[bot]
be3795e957 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/de3758e31a3a1bc79d569f5deb5dac39791bf9b6' (2022-09-23)
  → 'github:nix-community/home-manager/a7f0cc2d7b271b4a5df9b9e351d556c172f7e903' (2022-09-30)
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/7e27b838cd7ac90fed03d0d5a8487848c4b0b6d2' (2022-09-23)
  → 'github:NixOS/nixpkgs/9cac45850280978a21a3eb67b15a18f34cbffa2d' (2022-10-01)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/ae1dc133ea5f1538d035af41e5ddbc2ebcb67b90' (2022-09-22)
  → 'github:NixOS/nixpkgs/10ecda252ce1b3b1d6403caeadbcc8f30d5ab796' (2022-09-30)
• Updated input 'recht':
    'github:kmein/recht/d551afed23122bb3106e59eb2274394ec5555048' (2021-04-28)
  → 'github:kmein/recht/dc2cb407052a53965e6678fd84f0d887f887c11c' (2022-09-28)
• Updated input 'retiolum':
    'github:krebs/retiolum/8d9b86a0ce503588bb34ae8676fdbcb0e4014119' (2022-09-24)
  → 'github:krebs/retiolum/86208b5a747d7aa661240b2d5c2f229f2ed76959' (2022-09-28)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=55957c6d6adb51d2079c117c1e7309c60ee0fe0f' (2022-09-19)
  → 'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=8f929b04b3de012a9c72306786f076b78aa9f98c' (2022-09-27)
2022-10-02 01:16:36 +00:00
6063f4c90b feat(ssh): use fysiweb identity for ip login on dev1 2022-09-28 15:54:42 +02:00
7c4557331f feat(newsboat): hooktube is no more 2022-09-28 15:54:21 +02:00
8a7e4386fb fix(newsboat): call link handler 2022-09-28 14:15:39 +02:00
61ab528d56 feat: screencap script 2022-09-28 09:34:17 +02:00
032810109c fix(ci): add mega password 2022-09-27 22:28:58 +02:00
6b0bb6a806 feat(cloud): add script for browsing mega 2022-09-27 22:07:03 +02:00
7ce64d461c fix(notemenu): do not show hidden files 2022-09-27 20:40:24 +02:00
51afd41254 fix(notement): correctly handle files with spaces 2022-09-27 19:36:22 +02:00
eb4fa1b9bd feat(nextcloud): disable gui client 2022-09-27 19:19:14 +02:00
ac7a4b2aa5 feat(nextcloud): sync nextcloud notes periodically 2022-09-27 19:18:42 +02:00
89a4b13b2d feat: bye ncdu, hi gdu 2022-09-27 19:17:30 +02:00
f5da2dffd8 feat(newsboat): add odysee to linkhandler 2022-09-27 09:47:50 +02:00
cdf42df7c1 feat(bin): add tuesday script 2022-09-26 09:40:12 +02:00
3ccf0cfe9a feat(bin): add prospekte script 2022-09-26 09:39:59 +02:00
83632cbd9c feat(ful): monitoring 2022-09-26 09:30:28 +02:00
github-actions[bot]
092879a425 flake.lock: Update
Flake lock file updates:

• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/bcc68429a50c4ac051920c72c60e417202c19d79' (2022-09-22)
  → 'github:NixOS/nixpkgs/7e27b838cd7ac90fed03d0d5a8487848c4b0b6d2' (2022-09-23)
• Updated input 'retiolum':
    'github:krebs/retiolum/c4d6b07be29b3b9267027ed25792a2cb350459d5' (2022-08-16)
  → 'github:krebs/retiolum/8d9b86a0ce503588bb34ae8676fdbcb0e4014119' (2022-09-24)
2022-09-25 01:04:02 +00:00
c6a45b421b feat: update 2022-09-23 23:31:27 +02:00
b5addef848 fix: dont get scripts from overlay 2022-09-23 23:31:14 +02:00
e2cf761aea feat: more transits 2022-09-23 09:54:58 +02:00
868dc8a4aa feat(moodle-dl): disable for borsfaye 2022-09-23 09:32:29 +02:00
dfd4bb0ca8 chore: get also otf from fonts 2022-09-23 09:32:29 +02:00
3e03688c81 feat: reenable transits 2022-09-23 09:32:21 +02:00
3136002449 feat: wrap jsesh 2022-09-19 22:04:52 +02:00
4cbd2fee7d WIP(fonts): install egyptological fonts 2022-09-19 22:04:37 +02:00
565c73bd05 feat(fonts): add emojifont to terminal 2022-09-19 07:29:47 +02:00
e5f933977c feat(unicodmenu): update to unicode 15 2022-09-19 07:29:12 +02:00
736b289643 feat(rofi): light theme 2022-09-19 07:28:57 +02:00
e0e0dd9e34 feat(fonts): cardo 2022-09-16 09:27:47 +02:00
1e2613b838 feat(newsboat): reload in parallel 2022-09-15 12:22:38 +02:00
f41ddb654a we dont need no procrastination 2022-09-13 21:01:32 +02:00
41ecca8411 feat(weechat): authenticate @ news.r 2022-09-13 21:01:16 +02:00
a80f4d866a chore: update 2022-09-13 20:30:07 +02:00
f56e9aa37b feat(todo): add procrastination 2022-09-12 12:36:14 +02:00
822b0df4b8 feat(i3): dock i3bar 2022-09-10 21:51:16 +02:00
c16123dc8d feat: automate entering ssh passphrase 2022-09-08 12:46:44 +02:00
de34cb6d66 fix: downgrade nixpkgs unstable 2022-09-06 08:54:38 +02:00
3d6b34572d fix(scanned) 2022-09-05 15:38:59 +02:00
ce0869c64b fix(rofi-pass): user is in login field 2022-09-05 15:38:49 +02:00
a589332b42 feat(urlwatch): 2022 c3 2022-09-02 15:13:05 +02:00
5a6b32e0b4 Merge remote-tracking branch 'origin/update_flake_lock_action' 2022-08-31 21:13:28 +02:00
6cf3072609 fix(i3status-rust): offline behaviour 2022-08-30 19:33:07 +02:00
4fe122f06c feat(telegram-bots): start at random time 2022-08-30 19:32:49 +02:00
4fa6a62966 feat: sxiv -> nsxiv 2022-08-30 19:32:27 +02:00
github-actions[bot]
dbdc876375 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/0160a0cef076294127f8cc0750019410ab94370d' (2022-08-22)
  → 'github:nix-community/home-manager/d89bdff445eadff03fe414e9c30486bc8166b72b' (2022-08-27)
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/52527082ea267fe486f0648582d57c85486b2031' (2022-08-22)
  → 'github:NixOS/nixpkgs/f11e12ac6af528c1ba12426ce83cee26f21ceafd' (2022-08-26)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/c4a0efdd5a728e20791b8d8d2f26f90ac228ee8d' (2022-08-12)
  → 'github:NixOS/nixpkgs/f3d0897be466aa09a37f6bf59e62c360c3f9a6cc' (2022-08-25)
2022-08-28 01:01:59 +00:00
eb79f88c59 feat(i3status-rust): show number of hot weechat buffers 2022-08-23 21:44:39 +02:00
8384363dcb fix: downgrade nixpkgs unstable
coreutils gets built manually and electrum fails otherwise
2022-08-23 20:27:41 +02:00
797e53db7a feat: nom nom nom 2022-08-23 19:02:34 +02:00
426a82dff9 chore: update 2022-08-23 15:02:55 +02:00
7264fce03c feat(telegram-bots): add smyth 2022-08-23 14:47:24 +02:00
b332784140 fix(ci): add shared secret 2022-08-22 10:36:32 +02:00
ed51858a67 feat(i3status-rust): time interval 1s 2022-08-22 10:30:29 +02:00
ba13cd24a1 feat(fonts): noto sans cjk 2022-08-22 10:30:15 +02:00
8331d11a50 feat(i3status-rust): make email state depend on which account the unseen messages are 2022-08-22 10:30:02 +02:00
79e14bfbc2 feat(i3status-rust): todo empty if none due 2022-08-22 10:29:04 +02:00
eed0d0b2af feat(i3status-rust): add github block 2022-08-22 10:28:48 +02:00
5930340a05 feat(i3status-rust): hide todo and vpn when empty 2022-08-22 10:28:06 +02:00
a5f6a46262 feat(neomutt): set dark/light friendly subject colour 2022-08-22 10:27:33 +02:00
4eea890efc fix(i3-status-rust): newsboat updating icon 2022-08-21 10:09:19 +02:00
b5232c1d81 feat(i3status-rust): check all email accounts 2022-08-21 02:39:07 +02:00
e1b1458bb0 feat(i3status-rust): simplify newsboat display 2022-08-21 02:38:48 +02:00
1c05cccac0 feat(i3-status-rust): query IMAP 2022-08-21 02:22:43 +02:00
0f80e80d1f feat(newsboat): show watch later count in bar 2022-08-21 01:04:49 +02:00
06baeb8f1b feat(newsboat): simpler formatting 2022-08-21 01:04:26 +02:00
3b08c19e02 feat(unicodmenu): uniq and correct order 2022-08-21 01:03:24 +02:00
5ad8f2843d chore(i3-status-rust): clean up 2022-08-21 01:02:05 +02:00
af3c018cc1 feat(fonts): hello noto 2022-08-21 01:01:47 +02:00
2493206ff9 feat(i3status-rust): use fontawesome 2022-08-21 01:01:08 +02:00
985ff45e17 feat(i3status-rust): sum todos 2022-08-19 16:42:17 +02:00
ee373fcf3d feat(todo): warn when something is due today 2022-08-19 14:22:17 +02:00
04993972ce fix(hora): include last day of period for reports 2022-08-19 14:21:57 +02:00
972b810d23 feat(devanagari): update and support daṇḍa 2022-08-19 13:27:54 +02:00
34576b51bc feat(i3status-rust): reorder 2022-08-19 11:58:21 +02:00
5c1f29f2e7 feat(i3status-rust): lil jq tweaking 2022-08-19 11:58:21 +02:00
bce13c9306 feat(i3status-rust): colour datetime depending on impending calendar events 2022-08-19 11:27:43 +02:00
b9a3ed40d6 feat(i3status-rust): shut up if no VPN 2022-08-19 11:27:28 +02:00
9a11a00e4f feat(i3status-rust): add todo count 2022-08-19 11:27:17 +02:00
5fa7957978 feat(i3status-rust): newsboat via json 2022-08-19 11:26:56 +02:00
38946d1c20 feat(i3status-rust): distinguish info colour 2022-08-19 11:26:27 +02:00
fe07e13848 feat: rofipass
for automatic OTP stuff
2022-08-18 18:47:25 +02:00
d06a27431c feat(i3): simplify bar 2022-08-18 18:47:12 +02:00
e3a6b9ee03 feat(fotns): change emoji font 2022-08-18 18:46:58 +02:00
9a2f03beaf feat(hora): filli-report 2022-08-18 18:46:43 +02:00
5a247d68a0 fix(heuretes): ^...$ 2022-08-17 08:33:09 +02:00
88a2ace2e0 chore: update retiolum 2022-08-17 08:32:55 +02:00
ce17c069e5 feat: heuretes 2022-08-16 21:17:30 +02:00
4c730f9730 feat: rmlint 2022-08-16 21:17:24 +02:00
39847fc8fe neomutt: add @flxai docx viewer 2022-08-16 21:17:14 +02:00
b07d74c72a Merge remote-tracking branch 'origin/update_flake_lock_action' 2022-08-15 16:05:56 +02:00
460dcb5101 feat: stackoverflow script 2022-08-15 16:05:36 +02:00
github-actions[bot]
03b565e8ef flake.lock: Update
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249' (2022-07-04)
  → 'github:numtide/flake-utils/c0e246b9b83f637f4681389ecabcb2681b4f3af0' (2022-08-07)
• Updated input 'home-manager':
    'github:nix-community/home-manager/d8d9ff0b2df77defa10375c6665b51f0251c34d6' (2022-08-03)
  → 'github:nix-community/home-manager/8675cfa549e1240c9d2abb1c878bc427eefcf926' (2022-08-12)
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/72f492e275fc29d44b3a4daf952fbeffc4aed5b8' (2022-08-06)
  → 'github:NixOS/nixpkgs/5c211b47aeadcc178c5320afd4e74c7eed5c389f' (2022-08-12)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/93c57a988470c1948976b1bb70abbd5855c5b810' (2022-08-05)
  → 'github:NixOS/nixpkgs/c4a0efdd5a728e20791b8d8d2f26f90ac228ee8d' (2022-08-12)
• Updated input 'retiolum':
    'github:krebs/retiolum/d735957a658896ee93bf538a837aeff3d87cf78b' (2022-08-02)
  → 'github:krebs/retiolum/93b1b32211ca41d23487e8cf7c30ed903ab9d186' (2022-08-10)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=79e75b27a9d8fc23a1731255b20831f708f9194a' (2022-08-02)
  → 'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=7ce87f5fdb602de7638b2df237e891e6038907ac' (2022-08-10)
2022-08-14 00:58:01 +00:00
d97ddf8357 Merge remote-tracking branch 'origin/update_flake_lock_action' 2022-08-10 21:08:09 +02:00
a593e6242a lol 2022-08-10 21:07:56 +02:00
ecbe639a8c feat(zaatar): ncpamixer 2022-08-10 21:07:49 +02:00
dde14495de feat(bluetooth): add more stuff 2022-08-10 21:07:39 +02:00
github-actions[bot]
3d3374d296 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/4c5106ed0f3168ff2df21b646aef67e86cbfc11c' (2022-07-15)
  → 'github:nix-community/home-manager/d8d9ff0b2df77defa10375c6665b51f0251c34d6' (2022-08-03)
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/c06d5fa9c605d143b15cafdbbb61c7c95388d76e' (2022-07-14)
  → 'github:NixOS/nixpkgs/72f492e275fc29d44b3a4daf952fbeffc4aed5b8' (2022-08-06)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/4a01ca36d6bfc133bc617e661916a81327c9bbc8' (2022-07-14)
  → 'github:NixOS/nixpkgs/93c57a988470c1948976b1bb70abbd5855c5b810' (2022-08-05)
• Updated input 'retiolum':
    'github:krebs/retiolum/0371a65100b68d46e1811ec1e3efd8281bc741df' (2022-06-28)
  → 'github:krebs/retiolum/d735957a658896ee93bf538a837aeff3d87cf78b' (2022-08-02)
• Updated input 'scripts':
    'github:kmein/scripts/9b945b3f38297b1cbd6a9efe337c0805d6e2997d' (2022-07-21)
  → 'github:kmein/scripts/d5a38cf84e3f528641b1b10d9f33cf8bfcd5a52a' (2022-07-21)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=64dbf31d70497d6a66f89fdd86ac1884e28f7bc8' (2022-06-28)
  → 'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=79e75b27a9d8fc23a1731255b20831f708f9194a' (2022-08-02)
2022-08-07 01:01:59 +00:00
2fb1274286 feat: re-enable all locales 😠 2022-07-29 21:30:28 +02:00
2ecf9bd008 fix(hesychius): parse modes fail with lexicon text format 2022-07-29 18:36:35 +02:00
ea1242933b fix(telegram-bot): better logging and reporting 2022-07-29 18:36:14 +02:00
5bc26ddc12 feat(hesychius): add 2022-07-25 23:18:26 +02:00
5a16a90a8a fix(anki): use new version 2022-07-25 22:25:34 +02:00
44501db7fb feat(newsboat): add key for syncing, add indicator to bar 2022-07-25 22:25:19 +02:00
f805e3a076 feat: pimp filli-report 2022-07-25 12:34:25 +02:00
e5d63b92d7 feat(printing): no scanning, no hplip plugin, no waiting two hours for it to build ❤ 2022-07-19 22:05:06 +02:00
f9f17b59a7 feat: use new nix options 2022-07-19 22:00:49 +02:00
fcdac38986 feat(nix): add binary caches 2022-07-19 21:42:39 +02:00
0a156eaeb8 chore: alejandra 2022-07-19 21:34:43 +02:00
c243dbf180 feat: update fully to 22.05 2022-07-19 21:34:23 +02:00
8b69768c82 feat: make deploying faster by fetching krops sources from git 2022-07-19 21:34:23 +02:00
61d95a2f00 feat(printing): add system-config-printer
how could i live without this?
2022-07-18 17:36:21 +02:00
c945a92467 feat: filli-report 2022-07-18 17:36:21 +02:00
7813ac0eaf chore: update 2022-07-17 07:35:56 +02:00
df94a61b8b Merge branch 'update_flake_lock_action' 2022-07-17 07:28:29 +02:00
06c682619c fix(horoscope): update dependencies 2022-07-15 10:03:43 +02:00
8e941f60ea fix(ci): add support for pure evaluation mode
the errors were caused by https://github.com/NixOS/nix/pull/6698
fix taken from https://github.com/hercules-ci/gitignore.nix/pull/58/files
2022-07-15 09:44:55 +02:00
5c5a5609cf feat(zathura): keep hue when recoloring 2022-07-15 08:47:26 +02:00
0121fc152d feat: okular 2022-07-15 08:47:09 +02:00
61dbcd8ffe feat: genpass 2022-07-14 07:35:48 +02:00
927da70957 fix(zaatar): disable wait online 2022-07-11 18:22:25 +02:00
b8a55f024b Merge remote-tracking branch 'origin/update_flake_lock_action' 2022-07-11 07:57:25 +02:00
8513b68132 feat: literature quote to channel 2022-07-11 07:57:19 +02:00
github-actions[bot]
bd1bdce121 flake.lock: Update
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/bee6a7250dd1b01844a2de7e02e4df7d8a0a206c' (2022-06-24)
  → 'github:numtide/flake-utils/7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249' (2022-07-04)
• Updated input 'home-manager':
    'github:nix-community/home-manager/3bf16c0fd141c28312be52945d1543f9ce557bb1' (2022-06-27)
  → 'github:nix-community/home-manager/c645cc9f82c7753450d1fa4d1bc73b64960a9d7a' (2022-07-09)
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/915f5a5b3cc4f8ba206afd0b70e52ba4c6a2796b' (2022-07-01)
  → 'github:NixOS/nixpkgs/71d7a4c037dc4f3e98d5c4a81b941933cf5bf675' (2022-07-08)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/0ea7a8f1b939d74e5df8af9a8f7342097cdf69eb' (2022-07-02)
  → 'github:NixOS/nixpkgs/b39924fc7764c08ae3b51beef9a3518c414cdb7d' (2022-07-08)
2022-07-10 01:02:03 +00:00
cfaeb824a6 feat(ci): add ful 2022-07-09 07:13:33 +02:00
github-actions[bot]
9afb27e526 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/1dbac84b846e4bfa21a08e31e95e11f0965ed042' (2022-06-25)
  → 'github:nix-community/home-manager/3bf16c0fd141c28312be52945d1543f9ce557bb1' (2022-06-27)
• Removed input 'home-manager/flake-compat'
• Removed input 'home-manager/nmd'
• Removed input 'home-manager/nmt'
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/ccf8bdf72624521358be6bb7d9b524c4cbcf7aff' (2022-06-23)
  → 'github:NixOS/nixpkgs/915f5a5b3cc4f8ba206afd0b70e52ba4c6a2796b' (2022-07-01)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/6141b8932a5cf376fe18fcd368cecd9ad946cb68' (2022-06-23)
  → 'github:NixOS/nixpkgs/0ea7a8f1b939d74e5df8af9a8f7342097cdf69eb' (2022-07-02)
• Updated input 'retiolum':
    'github:krebs/retiolum/8c41abaeed7f862b02dddd31eae204e262799c4b' (2022-06-06)
  → 'github:krebs/retiolum/0371a65100b68d46e1811ec1e3efd8281bc741df' (2022-06-28)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=4ef26cd0f67d77dbb1a35b5b43ed2272c17e64b8' (2022-06-21)
  → 'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=64dbf31d70497d6a66f89fdd86ac1884e28f7bc8' (2022-06-28)
2022-07-09 07:12:02 +02:00
75c825dc25 feat(ssh): fysi machines 2022-07-06 15:10:47 +02:00
85f5c71313 feat(weechat): bye bye useless channels 2022-07-05 19:12:01 +02:00
ddd4bd5720 fix(tahina) 2022-07-05 19:11:45 +02:00
github-actions[bot]
8e74569cc4 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/1dbac84b846e4bfa21a08e31e95e11f0965ed042' (2022-06-25)
  → 'github:nix-community/home-manager/3bf16c0fd141c28312be52945d1543f9ce557bb1' (2022-06-27)
• Removed input 'home-manager/flake-compat'
• Removed input 'home-manager/nmd'
• Removed input 'home-manager/nmt'
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/ccf8bdf72624521358be6bb7d9b524c4cbcf7aff' (2022-06-23)
  → 'github:NixOS/nixpkgs/915f5a5b3cc4f8ba206afd0b70e52ba4c6a2796b' (2022-07-01)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/6141b8932a5cf376fe18fcd368cecd9ad946cb68' (2022-06-23)
  → 'github:NixOS/nixpkgs/0ea7a8f1b939d74e5df8af9a8f7342097cdf69eb' (2022-07-02)
• Updated input 'retiolum':
    'github:krebs/retiolum/8c41abaeed7f862b02dddd31eae204e262799c4b' (2022-06-06)
  → 'github:krebs/retiolum/0371a65100b68d46e1811ec1e3efd8281bc741df' (2022-06-28)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=4ef26cd0f67d77dbb1a35b5b43ed2272c17e64b8' (2022-06-21)
  → 'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=64dbf31d70497d6a66f89fdd86ac1884e28f7bc8' (2022-06-28)
2022-07-03 17:41:38 +02:00
e15cc88467 feat(home-manager): set stateVersion 2022-06-28 15:27:36 +02:00
20ba241063 fix(hedgedoc) 2022-06-28 15:27:08 +02:00
github-actions[bot]
4c0b065b8f flake.lock: Update
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1' (2022-05-30)
  → 'github:numtide/flake-utils/bee6a7250dd1b01844a2de7e02e4df7d8a0a206c' (2022-06-24)
• Updated input 'home-manager':
    'github:nix-community/home-manager/5197e5df7d3a148b1ad080235f70800987bc3549' (2022-06-18)
  → 'github:nix-community/home-manager/1dbac84b846e4bfa21a08e31e95e11f0965ed042' (2022-06-25)
• Updated input 'home-manager/nmd':
    'gitlab:rycee/nmd/9e7a20e6ee3f6751f699f79c0b299390f81f7bcd' (2022-05-23)
  → 'gitlab:rycee/nmd/91dee681dd1c478d6040a00835d73c0f4a4c5c29' (2022-05-23)
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/d17a56d90ecbd1b8fc908d49598fb854ef188461' (2022-06-17)
  → 'github:NixOS/nixpkgs/ccf8bdf72624521358be6bb7d9b524c4cbcf7aff' (2022-06-23)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/3d7435c638baffaa826b85459df0fff47f12317d' (2022-06-16)
  → 'github:NixOS/nixpkgs/6141b8932a5cf376fe18fcd368cecd9ad946cb68' (2022-06-23)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=500aa05de7e34f6a60639a74017583268f9a829d' (2022-06-21)
  → 'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=4ef26cd0f67d77dbb1a35b5b43ed2272c17e64b8' (2022-06-21)
2022-06-26 00:58:07 +00:00
9d8ee97123 fix(flameshot) 2022-06-21 23:14:19 +02:00
a451d2af61 feat(weechat): adapt to new declarative setup by @lassulus 2022-06-21 23:13:37 +02:00
365f6f780a feat(xkeymap): set options in kb-* scripts 2022-06-21 19:34:55 +02:00
8a713a7180 Merge branch 'update_flake_lock_action' 2022-06-21 19:34:08 +02:00
33c3babfc0 feat(weechat): zerocovid only on news.r 2022-06-21 19:22:18 +02:00
github-actions[bot]
dea3aa1c5c flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/684e85d01d333be91c4875baebb05b93c7d2ffaa' (2022-06-01)
  → 'github:nix-community/home-manager/5197e5df7d3a148b1ad080235f70800987bc3549' (2022-06-18)
• Added input 'home-manager/flake-compat':
    'github:edolstra/flake-compat/b4a34015c698c7793d592d66adbab377907a2be8' (2022-04-19)
• Added input 'home-manager/nmd':
    'gitlab:rycee/nmd/9e7a20e6ee3f6751f699f79c0b299390f81f7bcd' (2022-05-23)
• Added input 'home-manager/nmt':
    'gitlab:rycee/nmt/d83601002c99b78c89ea80e5e6ba21addcfe12ae' (2022-03-23)
• Added input 'home-manager/utils':
    'github:numtide/flake-utils/1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1' (2022-05-30)
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/7a20c208aacf4964c19186dcad51f89165dc7ed0' (2022-06-03)
  → 'github:NixOS/nixpkgs/d17a56d90ecbd1b8fc908d49598fb854ef188461' (2022-06-17)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/236cc2971ac72acd90f0ae3a797f9f83098b17ec' (2022-06-03)
  → 'github:NixOS/nixpkgs/3d7435c638baffaa826b85459df0fff47f12317d' (2022-06-16)
• Updated input 'retiolum':
    'github:krebs/retiolum/ac9e1d5b02c5667ba12aa6d6ab077cc071ffc2f4' (2022-05-30)
  → 'github:krebs/retiolum/8c41abaeed7f862b02dddd31eae204e262799c4b' (2022-06-06)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=4a9f93e8933d87ce8f04965b2772564527f1e2fd' (2022-05-29)
  → 'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=18ea4967c1a708a70c0c807c4ba2f602bc72570c' (2022-06-10)
2022-06-19 00:54:07 +00:00
github-actions[bot]
cc90b1bac4 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/684e85d01d333be91c4875baebb05b93c7d2ffaa' (2022-06-01)
  → 'github:nix-community/home-manager/70824bb5c790b820b189f62f643f795b1d2ade2e' (2022-06-07)
• Added input 'home-manager/flake-compat':
    'github:edolstra/flake-compat/b4a34015c698c7793d592d66adbab377907a2be8' (2022-04-19)
• Added input 'home-manager/nmd':
    'gitlab:rycee/nmd/9e7a20e6ee3f6751f699f79c0b299390f81f7bcd' (2022-05-23)
• Added input 'home-manager/nmt':
    'gitlab:rycee/nmt/d83601002c99b78c89ea80e5e6ba21addcfe12ae' (2022-03-23)
• Added input 'home-manager/utils':
    'github:numtide/flake-utils/1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1' (2022-05-30)
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/7a20c208aacf4964c19186dcad51f89165dc7ed0' (2022-06-03)
  → 'github:NixOS/nixpkgs/dab6df51387c3878cdea09f43589a15729cae9f4' (2022-06-11)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/236cc2971ac72acd90f0ae3a797f9f83098b17ec' (2022-06-03)
  → 'github:NixOS/nixpkgs/e0169d7a9d324afebf5679551407756c77af8930' (2022-06-08)
• Updated input 'retiolum':
    'github:krebs/retiolum/ac9e1d5b02c5667ba12aa6d6ab077cc071ffc2f4' (2022-05-30)
  → 'github:krebs/retiolum/8c41abaeed7f862b02dddd31eae204e262799c4b' (2022-06-06)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=4a9f93e8933d87ce8f04965b2772564527f1e2fd' (2022-05-29)
  → 'git+https://cgit.lassul.us/stockholm?ref=refs%2fheads%2fmaster&rev=18ea4967c1a708a70c0c807c4ba2f602bc72570c' (2022-06-10)
2022-06-12 00:54:37 +00:00
28949a1072 feat(neovim): dim 2022-06-08 09:52:54 +02:00
0a6b5300b0 fix: pin nixpkgs for telegram bots 2022-06-08 09:52:08 +02:00
b9c34994c2 feat(radio-news): send stockholm history on time 2022-06-07 11:02:46 +02:00
95f5ee330b feat(radio-news): local time 2022-06-06 17:12:50 +02:00
eb9e7f534d Merge pull request #17 from kmein/update_flake_lock_action
flake.lock: Update
2022-06-05 18:00:12 +02:00
github-actions[bot]
64357f4b42 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/8f3e26705178cc8c1d982d37d881fc0d5b5b1837' (2022-05-30)
  → 'github:nix-community/home-manager/684e85d01d333be91c4875baebb05b93c7d2ffaa' (2022-06-01)
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/a634c8f6c1fbf9b9730e01764999666f3436f10a' (2022-05-30)
  → 'github:NixOS/nixpkgs/7a20c208aacf4964c19186dcad51f89165dc7ed0' (2022-06-03)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/b62ada430501de88dfbb08cea4eb98ead3a5e3e7' (2022-05-29)
  → 'github:NixOS/nixpkgs/236cc2971ac72acd90f0ae3a797f9f83098b17ec' (2022-06-03)
2022-06-05 17:24:33 +02:00
6f31509e50 fix(keyboard): start monolingually 2022-06-05 17:24:11 +02:00
db7cb8c74c chore: update to 22.05 2022-05-31 22:26:56 +02:00
fbc50a3fea feat(weechat): add #eloop 2022-05-31 22:26:17 +02:00
2a33a37d11 feat(nextcloud): update 2022-05-31 22:03:03 +02:00
d7ee9b7c1a feat(nextcloud): update 2022-05-31 19:37:25 +02:00
b142dcdcc3 feat: bye ranger, hey lf 2022-05-31 19:34:20 +02:00
adae22772b fix(avesta): say no to cantera 2022-05-31 19:34:00 +02:00
0387d5c44b fix: update 2022-05-31 14:17:13 +02:00
github-actions[bot]
72048388dc flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/e66f0ff69a6c0698b35034b842c4b68814440778' (2022-05-23)
  → 'github:nix-community/home-manager/64831f938bd413cefde0b0cf871febc494afaa4f' (2022-05-25)
• Updated input 'nixos-stable':
    'github:NixOS/nixpkgs/cbd40c72b2603ab54e7208f99f9b35fc158bc009' (2022-05-20)
  → 'github:NixOS/nixpkgs/9bc0e974545d5bc4c24e1ed047be0dc4e30e494b' (2022-05-26)
• Updated input 'nixos-unstable':
    'github:NixOS/nixpkgs/dfd82985c273aac6eced03625f454b334daae2e8' (2022-05-20)
  → 'github:NixOS/nixpkgs/83658b28fe638a170a19b8933aa008b30640fbd1' (2022-05-26)
• Updated input 'retiolum':
    'github:krebs/retiolum/40c6e184cecaae4fe0b4973c6cb8027a66cccaae' (2022-05-25)
  → 'github:krebs/retiolum/8668bb3e768fd2ec162036937f7b6edba437be68' (2022-05-28)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=master&rev=5befc5a6f260e2283863212b39749d5ed05afb63' (2022-05-19)
  → 'git+https://cgit.lassul.us/stockholm?ref=master&rev=4d33f2ebea49e258f833cb6eab0c71485e88397a' (2022-05-28)
2022-05-31 14:17:13 +02:00
5253b83eb5 feat: ضف المشكّل 2022-05-30 18:24:17 +02:00
4b073323da feat(alacritty): less opaque, better cursor 2022-05-25 17:05:38 +02:00
bf35fb1020 feat(radio-news): ask radio-news.r 2022-05-25 17:05:19 +02:00
3fa820a65a feat(radio-news): set sensible default 2022-05-25 13:13:40 +02:00
0ae6397878 feat(delta): bye, you don't work with light themes 2022-05-24 15:05:20 +02:00
35ce4b1689 feat: new themes for alacritty 2022-05-24 15:05:20 +02:00
5b38655575 fix(ci): use nixos-stable 2022-05-24 15:05:20 +02:00
129127f917 feat: steal theming from lassulus 2022-05-24 14:14:12 +02:00
28ee96bc22 feat: use unstable for thinkpads, only fetch used krops inputs 2022-05-24 11:11:52 +02:00
238f2126b0 fix(radio-news): add dot to keep tts from spazzing out 2022-05-24 11:10:59 +02:00
8c1350c570 chore(hedgedoc): we can use stable sqlite 2022-05-24 11:10:36 +02:00
4d8912b020 feat(pls): add neutral response 2022-05-24 11:09:25 +02:00
588c161f7b feat(ssh): get static ipv4 from lib file 2022-05-24 11:09:02 +02:00
5fb0028a9e feat: powertop 2022-05-24 11:08:00 +02:00
8d88e58726 fix(ci): add ful 2022-05-24 11:07:44 +02:00
203eecddcb feat: add configurationLimit for manakish and makanek 2022-05-22 19:52:45 +02:00
2d67488b02 Merge branch 'update_flake_lock_action' 2022-05-22 19:31:47 +02:00
44efc4dfa1 feat(passport): init for makanek 2022-05-22 11:48:04 +02:00
github-actions[bot]
e6ac020fd2 flake.lock: Update
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/12806d31a381e7cd169a6bac35590e7b36dc5fe5' (2022-05-14)
  → 'github:numtide/flake-utils/04c1b180862888302ddfb2e3ad9eaa63afc60cf8' (2022-05-17)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/79385ae0aacf7e02871cc8af0623123419dd7884' (2022-05-13)
  → 'github:NixOS/nixpkgs/cbd40c72b2603ab54e7208f99f9b35fc158bc009' (2022-05-20)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/437fd89069be470fba34ef7c7f5abc55fe20e328' (2022-05-20)
  → 'github:NixOS/nixpkgs/af0bcde689ed5263e9a0df36116f7583163eb032' (2022-05-22)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=master&rev=c87ba30c0c1cf344c7cc090d73a2ba44140f15d9' (2022-05-11)
  → 'git+https://cgit.lassul.us/stockholm?ref=master&rev=5befc5a6f260e2283863212b39749d5ed05afb63' (2022-05-19)
2022-05-22 00:50:33 +00:00
9a3499ab6c feat(ful): limit to 1 configuration
this circumvents space issues on the /boot partition
2022-05-21 23:07:19 +02:00
92442db877 feat(ful): set root password 2022-05-21 23:06:49 +02:00
d2f85ab972 chore(ful): disable monitoring for now 2022-05-21 23:06:33 +02:00
b593f45ec2 chore(ful): move IP 2022-05-21 23:06:13 +02:00
e9b09a3e67 chore: bye youtube-dl 2022-05-21 23:05:43 +02:00
8c9a44d404 feat(ssh): reach ful, makanek via http first 2022-05-20 23:16:46 +02:00
45fdbad259 chore: update 2022-05-20 23:04:28 +02:00
93b8d31a33 feat: init ful 2022-05-20 23:04:15 +02:00
abb7924fca chore: only one unstable nixpkgs 2022-05-20 23:03:57 +02:00
0c872352e3 feat(hora): auto-update git 2022-05-18 18:11:32 +02:00
31e765da41 fix(geoip-share): really start after geoipupdate 2022-05-18 18:11:13 +02:00
d655faef3e fix(retiolum-map): update 2022-05-18 18:10:57 +02:00
2f5b177158 feat(klem): add avestan 2022-05-18 18:10:37 +02:00
4bc176ea42 fix(unicodmenu): append history 2022-05-17 22:34:30 +02:00
4b63d1b671 feat(hledger): add time tracking tools 2022-05-17 22:34:18 +02:00
dd86c24506 feat(matterbridge): disable, moved to krebs ponte 2022-05-17 22:34:02 +02:00
88c73b23a1 Merge branch 'update_flake_lock_action' 2022-05-15 23:07:03 +02:00
3675ab8161 feat(scripts): remove horoscope 2022-05-15 23:02:42 +02:00
github-actions[bot]
aac1053e1d flake.lock: Update
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/a4b154ebbdc88c8498a5c7b01589addc9e9cb678' (2022-04-11)
  → 'github:numtide/flake-utils/12806d31a381e7cd169a6bac35590e7b36dc5fe5' (2022-05-14)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5656d7f92aa8264eb06ba68ad94c87ac5b5312e8' (2022-05-06)
  → 'github:NixOS/nixpkgs/79385ae0aacf7e02871cc8af0623123419dd7884' (2022-05-13)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/d707e510df39cdd8fe1d3e244371a3a9f23051d2' (2022-05-08)
  → 'github:NixOS/nixpkgs/e9132b233ec7176c121b4ecb991ce397d92275ee' (2022-05-15)
• Updated input 'retiolum':
    'github:krebs/retiolum/2bafba9621b83529b78fb2db34b351fd19411c0e' (2022-05-04)
  → 'github:krebs/retiolum/7cc2a7118e4aa9f5df0953bebad28034306329e6' (2022-05-11)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=master&rev=376b92c877442ec3be476ea5f4c89f8a715426dd' (2022-05-04)
  → 'git+https://cgit.lassul.us/stockholm?ref=master&rev=c87ba30c0c1cf344c7cc090d73a2ba44140f15d9' (2022-05-11)
2022-05-15 01:03:59 +00:00
651f6d9319 fix(gitea): show correct SSH clone port 2022-05-11 17:38:52 +02:00
69332ec98d fix(pmount): setuid 2022-05-11 11:23:21 +02:00
6c65a48ea8 feat(matterbridge): move to new token 2022-05-11 09:23:21 +02:00
d25cfe6c9b feat(unicodmenu): add history 2022-05-10 19:29:39 +02:00
9cd5974870 feat: use newest anki 2022-05-09 07:51:00 +02:00
8c8eceb01a feat(keyboard): add modes for languages 2022-05-08 22:01:29 +02:00
9601fb9456 feat(fonts): add GFS todo list 2022-05-08 13:55:48 +02:00
dc9e84599e Merge branch 'update_flake_lock_action' 2022-05-08 10:49:26 +02:00
94bdfda91b feat(fonts): add new SIL 2022-05-08 09:15:05 +02:00
84a69f31de fix(nextcloud): start after gnome-keyring 2022-05-08 09:15:05 +02:00
dcbe8841ba feat(scripts): back to old ipa script 2022-05-08 09:15:05 +02:00
bef795e45c feat(fonts): add new SIL 2022-05-08 09:14:48 +02:00
9b7c300466 fix(nextcloud): start after gnome-keyring 2022-05-08 09:14:37 +02:00
f4fca0a971 feat(scripts): back to old ipa script 2022-05-08 09:14:20 +02:00
github-actions[bot]
23b341a314 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/d14adb99f3fb562ec74ad18c032efc154b438034' (2022-04-26)
  → 'github:nix-community/home-manager/d93d56ab8c1c6aa575854a79b9d2f69d491db7d0' (2022-05-02)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/feea25c58657fa81d16e0e51f80e1a02ef4cbd49' (2022-04-27)
  → 'github:NixOS/nixpkgs/5656d7f92aa8264eb06ba68ad94c87ac5b5312e8' (2022-05-06)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/05ced71757730406ca3eb3e58503f05334a6057d' (2022-05-01)
  → 'github:NixOS/nixpkgs/d707e510df39cdd8fe1d3e244371a3a9f23051d2' (2022-05-08)
• Updated input 'retiolum':
    'github:krebs/retiolum/de6d7dc9bd671e65f2ee3004b6807625e7553e84' (2022-03-16)
  → 'github:krebs/retiolum/2bafba9621b83529b78fb2db34b351fd19411c0e' (2022-05-04)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=master&rev=92d5eacd6d9e530c4d1ea0dec2652417b0fde78a' (2022-04-15)
  → 'git+https://cgit.lassul.us/stockholm?ref=master&rev=376b92c877442ec3be476ea5f4c89f8a715426dd' (2022-05-04)
2022-05-08 00:50:36 +00:00
89c852c4ea feat: bye youtube-dl, hi yt-dlp 2022-05-07 11:26:51 +02:00
github-actions[bot]
3fa242b957 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/7244c6715cb8f741f3b3e1220a9279e97b2ed8f5' (2022-04-13)
  → 'github:nix-community/home-manager/d14adb99f3fb562ec74ad18c032efc154b438034' (2022-04-26)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a318a09a96a38382fe61a7f85d03ea6e25c46c56' (2022-04-22)
  → 'github:NixOS/nixpkgs/feea25c58657fa81d16e0e51f80e1a02ef4cbd49' (2022-04-27)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/0f1f92d85be76e0bd79ebb2285be8f43683eb845' (2022-04-24)
  → 'github:NixOS/nixpkgs/05ced71757730406ca3eb3e58503f05334a6057d' (2022-05-01)
• Updated input 'scripts':
    'github:kmein/scripts/adfd4238f7a8f0f894547998cbb04327bad97884' (2022-04-19)
  → 'github:kmein/scripts/c1aaeb4339e9c41057d362667554835a0f49850f' (2022-04-26)
2022-05-02 14:07:03 +02:00
35c51b3b17 fix(ci): add dslalewa 2022-05-02 13:54:18 +02:00
f1c049ada3 fix(names): restart on failure 2022-05-02 13:28:57 +02:00
8118009acb feat(neomutt): add office documents to mailcap 2022-05-02 13:28:42 +02:00
41706bc84b feat(neomutt): add alew admin account 2022-05-02 13:28:30 +02:00
eec7be0c3b feat(moodle-dl): papyrology 2022-04-26 20:07:21 +02:00
2aac2609cb feat: yt-dlp 2022-04-26 20:07:09 +02:00
2b7db496b0 feat(keyboard): add docs 2022-04-25 11:58:54 +02:00
0feebd18cd feat(keyboard): add gxkb 2022-04-25 11:58:37 +02:00
892c758303 feat(keyboard): add arabic and russian 2022-04-25 11:58:36 +02:00
8cc3541d2d fix: do not monitor http://names.kmein.r/ 2022-04-24 17:24:58 +02:00
687aa456d1 Merge remote-tracking branch 'origin/update_flake_lock_action' 2022-04-24 13:58:19 +02:00
github-actions[bot]
fd60863f77 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2f06b87f64bc06229e05045853e0876666e1b023' (2022-04-14)
  → 'github:NixOS/nixpkgs/a318a09a96a38382fe61a7f85d03ea6e25c46c56' (2022-04-22)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/6140c314d5850406dddc78e55dcc8716ea111ee4' (2022-04-17)
  → 'github:NixOS/nixpkgs/0f1f92d85be76e0bd79ebb2285be8f43683eb845' (2022-04-24)
2022-04-24 00:45:55 +00:00
a60cbab742 feat(moodle-dl): more courses 2022-04-22 12:31:37 +02:00
54383cb1ab feat(moodle-dl): first load of courses 2022-04-19 23:29:41 +02:00
9b414d104a fix(makanek): names 2022-04-19 23:28:00 +02:00
67b7d63d9a Merge branch 'update_flake_lock_action' 2022-04-19 23:17:50 +02:00
f3116bfc12 fix(nextcloud): start after gnome keyring 2022-04-17 10:48:32 +02:00
f31baf9e56 chore(update)
• Updated input 'flake-utils':
    'github:numtide/flake-utils/0f8662f1319ad6abf89b3380dd2722369fc51ade' (2022-03-26)
  → 'github:numtide/flake-utils/a4b154ebbdc88c8498a5c7b01589addc9e9cb678' (2022-04-11)
• Updated input 'home-manager':
    'github:nix-community/home-manager/0bdbdea2e26c984b096f4f7d10e3c88536a980b0' (2022-04-01)
  → 'github:nix-community/home-manager/7244c6715cb8f741f3b3e1220a9279e97b2ed8f5' (2022-04-13)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c86185d20d708013caf97a6adaa8dc6d72313c75' (2022-04-09)
  → 'github:NixOS/nixpkgs/2f06b87f64bc06229e05045853e0876666e1b023' (2022-04-14)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/c2b6e029cd1efa0efd37daab89264ef040ae5669' (2022-04-09)
  → 'github:NixOS/nixpkgs/6140c314d5850406dddc78e55dcc8716ea111ee4' (2022-04-17)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=master&rev=b3833baee96d7bce2c54295110b40c646468a1ff' (2022-04-04)
  → 'git+https://cgit.lassul.us/stockholm?ref=master&rev=92d5eacd6d9e530c4d1ea0dec2652417b0fde78a' (2022-04-15)
2022-04-17 07:02:08 +02:00
906cc1981e fix(tuna): nix types 2022-04-15 01:17:38 +02:00
d4e82500ae feat(mpv): limit resolution 2022-04-14 13:40:11 +02:00
6aa9be6f70 feat: more fonts 2022-04-13 09:01:23 +02:00
4e362678ca feat(astrology): pause bot 2022-04-13 09:01:23 +02:00
a2081dece4 feat(weechat): block people 2022-04-11 23:02:02 +02:00
98cf188a17 feat: use more tmpfiles.d 2022-04-10 19:38:47 +02:00
4932c7c08a chore(update) 2022-04-10 09:13:34 +02:00
c8a6991f09 fix(menstruation): update to pinning version 2022-04-10 00:36:07 +02:00
5d3c9a67ab fix(monitoring): remove tahina 2022-04-04 18:35:32 +02:00
github-actions[bot]
659a888c3d flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/a8d00f5c038cf7ec54e7dac9c57b171c1217f008' (2022-03-13)
  → 'github:nix-community/home-manager/0bdbdea2e26c984b096f4f7d10e3c88536a980b0' (2022-04-01)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d2caa9377539e3b5ff1272ac3aa2d15f3081069f' (2022-03-22)
  → 'github:NixOS/nixpkgs/6f88260faaaa3cda8f4e478be72be6c0861c47ad' (2022-04-01)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/6de161729c81dc98e844793cc9c8fda29d5ef62a' (2022-03-26)
  → 'github:NixOS/nixpkgs/21299f3dd3ff475f19bc8933f30ebb6a135799f1' (2022-04-02)
• Updated input 'scripts':
    'github:kmein/scripts/d1d525b92a34e55b1ad886807c284106e58716b2' (2022-03-26)
  → 'github:kmein/scripts/f5df67a2416d8f05a7dbfea269c44668854c7887' (2022-03-27)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=master&rev=ae9c0b12710b5361d0d45510eb401eebfc1b3fb0' (2022-03-25)
  → 'git+https://cgit.lassul.us/stockholm?ref=master&rev=b9e0a7ec71e0318a992ff2b275a6aaee3cef63bd' (2022-03-28)
2022-04-03 00:47:09 +00:00
26908b03a3 chore(tahina): clean 2022-03-30 18:29:16 +02:00
feccea5234 feat(streams): add soma playlist 2022-03-30 18:29:04 +02:00
8ffb0bd245 feat: jless 2022-03-30 09:17:58 +02:00
c1b777b689 feat(tor): enable 2022-03-29 20:13:29 +02:00
e85a8f7634 feat(mpd): tag stations 2022-03-29 20:13:29 +02:00
25bc6f573c chore(tahina): clean 2022-03-29 09:54:56 +02:00
4b5915354b fix(nextcloud): start with gnome-keyring 2022-03-29 09:54:37 +02:00
43ab6b3210 feat(tahina): init as guest laptop 2022-03-29 01:07:01 +02:00
e08eb0e970 feat(tahina): init 2022-03-28 20:47:55 +02:00
012d78cc0e feat(ssh): add tahina 2022-03-28 20:47:55 +02:00
github-actions[bot]
62f52922b8 flake.lock: Update
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/3cecb5b042f7f209c56ffd8371b2711a290ec797' (2022-02-07)
  → 'github:numtide/flake-utils/0f8662f1319ad6abf89b3380dd2722369fc51ade' (2022-03-26)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2c66a7a6e036971c4847cca424125f55b9eb0b0b' (2022-03-17)
  → 'github:NixOS/nixpkgs/d2caa9377539e3b5ff1272ac3aa2d15f3081069f' (2022-03-22)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/b8f8b90b90ac713eb7f5cc7eb2100141ee29751d' (2022-03-20)
  → 'github:NixOS/nixpkgs/6de161729c81dc98e844793cc9c8fda29d5ef62a' (2022-03-26)
• Updated input 'scripts':
    'github:kmein/scripts/d34a8161ba11135a45d3141dc9af482db945d63c' (2021-12-13)
  → 'github:kmein/scripts/d1d525b92a34e55b1ad886807c284106e58716b2' (2022-03-26)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=master&rev=b1068cadc4458d91889b7ede847829af33d2b145' (2022-03-15)
  → 'git+https://cgit.lassul.us/stockholm?ref=master&rev=ae9c0b12710b5361d0d45510eb401eebfc1b3fb0' (2022-03-25)
2022-03-27 00:46:44 +00:00
28d359c73b fix(kabsa): dont fail if sdcard not present 2022-03-25 17:06:09 +01:00
8830147359 feat: git-absorb 2022-03-23 19:07:20 +01:00
e9adccacd9 feat: cdt, vit 2022-03-23 19:07:20 +01:00
github-actions[bot]
588ec3d180 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/2860d7e3bb350f18f7477858f3513f9798896831' (2022-02-04)
  → 'github:nix-community/home-manager/a8d00f5c038cf7ec54e7dac9c57b171c1217f008' (2022-03-13)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/bacbfd713b4781a4a82c1f390f8fe21ae3b8b95b' (2022-03-10)
  → 'github:NixOS/nixpkgs/2c66a7a6e036971c4847cca424125f55b9eb0b0b' (2022-03-17)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/b783c48432cdfc35224a39bd95666daa62fef126' (2022-03-13)
  → 'github:NixOS/nixpkgs/b8f8b90b90ac713eb7f5cc7eb2100141ee29751d' (2022-03-20)
• Updated input 'retiolum':
    'github:krebs/retiolum/5858b524a77cff53f1fbe21e0af3189e52a9654d' (2022-03-13)
  → 'github:krebs/retiolum/de6d7dc9bd671e65f2ee3004b6807625e7553e84' (2022-03-16)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=master&rev=2dc05dbafbd5490be6a9754a55679a6576efbad1' (2022-03-11)
  → 'git+https://cgit.lassul.us/stockholm?ref=master&rev=b1068cadc4458d91889b7ede847829af33d2b145' (2022-03-15)
2022-03-20 08:11:31 +01:00
6ea8500818 feat(chromium): update extensions 2022-03-16 20:13:15 +01:00
bf6c82a11d feat(ssh): add oracle 2022-03-16 20:12:50 +01:00
9c68ff20bc feat(home-assistant): run on home.kmein.r 2022-03-13 17:25:06 +01:00
2565bfbc27 feat(streams): explore more 2022-03-13 11:17:28 +01:00
a4d002e293 chore: format 2022-03-13 10:31:19 +01:00
730070bc9d feat: rofi-hass 2022-03-13 10:30:42 +01:00
6f1f1887b9 feat(pass): install import and genphrase extensions, kill bitwarden 2022-03-13 10:29:50 +01:00
github-actions[bot]
68f8bb06f4 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/47cd6702934434dd02bc53a67dbce3e5493e33a2' (2022-03-04)
  → 'github:NixOS/nixpkgs/bacbfd713b4781a4a82c1f390f8fe21ae3b8b95b' (2022-03-10)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/a173e92ee458878651356b9bcfb1e2b5145f76af' (2022-03-05)
  → 'github:NixOS/nixpkgs/b783c48432cdfc35224a39bd95666daa62fef126' (2022-03-13)
• Updated input 'retiolum':
    'github:krebs/retiolum/259d60325310b728f79c68dc1148f597e097d1b2' (2022-02-28)
  → 'github:krebs/retiolum/e488402be7f60a478c95a4bad6d6e2c67f2b55f9' (2022-03-10)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=master&rev=87a44dd1573cbdc8f0fc3553b0896b470bcfa44d' (2022-03-03)
  → 'git+https://cgit.lassul.us/stockholm?ref=master&rev=2dc05dbafbd5490be6a9754a55679a6576efbad1' (2022-03-11)
2022-03-13 00:38:35 +00:00
7afe712c27 feat: electrum 2022-03-12 13:03:54 +01:00
1946a30b2f feat(home-assistant): install cli 2022-03-12 13:03:54 +01:00
c1f013fc2f feat(weechat): update channels 2022-03-11 10:22:57 +01:00
3be0766a7a feat(mpv): add visualizer 2022-03-11 00:04:53 +01:00
5216f693a1 feat(restic): backup home-assistant state 2022-03-10 23:11:36 +01:00
ab3de7a042 feat(home-assistant): run in podman on zaatar 2022-03-10 22:59:43 +01:00
de6d91297b feat(vim): respect https://github.com/romainl/idiomatic-vimrc 2022-03-10 22:29:57 +01:00
6342fb9047 feat(tmux): improve config 2022-03-10 22:15:52 +01:00
d37e90cb97 chore: format with alejandra 2022-03-10 21:52:20 +01:00
github-actions[bot]
13727abfd6 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/4275a321beab5a71872fb7a5fe5da511bb2bec73' (2022-02-23)
  → 'github:NixOS/nixpkgs/47cd6702934434dd02bc53a67dbce3e5493e33a2' (2022-03-04)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/6f21ff94fc44af21973c6fdae6e03323382b7909' (2022-02-26)
  → 'github:NixOS/nixpkgs/a173e92ee458878651356b9bcfb1e2b5145f76af' (2022-03-05)
• Updated input 'retiolum':
    'github:krebs/retiolum/5e69ac7782c7d384a4b6cad4619dd83aa952426f' (2022-02-22)
  → 'github:krebs/retiolum/259d60325310b728f79c68dc1148f597e097d1b2' (2022-02-28)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=master&rev=a67ded588b45c09ca58a3b4007a8d32e42323613' (2022-02-26)
  → 'git+https://cgit.lassul.us/stockholm?ref=master&rev=87a44dd1573cbdc8f0fc3553b0896b470bcfa44d' (2022-03-03)
2022-03-06 00:39:35 +00:00
a23f0c80a2 feat(urlwatch): lisalittmann.de 2022-03-05 13:46:09 +01:00
b0b19c3989 feat(networkmanager): enable applet 2022-03-05 13:46:09 +01:00
ef223a9717 feat(weechat): hackint works now 2022-03-05 13:46:09 +01:00
ecfc2ca06c fix(weechat): no sasl 2022-03-05 13:46:09 +01:00
cd7e688a46 feat(weechat): #flipdot-berlin 2022-03-05 13:46:09 +01:00
github-actions[bot]
f7b9008ed0 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/40ef692a55b188b1f5ae3967f3fc7808838c3f1d' (2022-02-20)
  → 'github:NixOS/nixpkgs/4275a321beab5a71872fb7a5fe5da511bb2bec73' (2022-02-23)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/856fbb7e322fd9c7e951d42a792957b84f0b0bb6' (2022-02-23)
  → 'github:NixOS/nixpkgs/6f21ff94fc44af21973c6fdae6e03323382b7909' (2022-02-26)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=master&rev=442319c8949c85b32071fc4e694938b480637770' (2022-02-19)
  → 'git+https://cgit.lassul.us/stockholm?ref=master&rev=a67ded588b45c09ca58a3b4007a8d32e42323613' (2022-02-26)
2022-02-27 00:40:13 +00:00
81706489b5 feat: bye bye horoscopy 2022-02-25 07:08:50 +01:00
817f57ad09 fix: dont pin matterbridge 2022-02-23 19:25:04 +01:00
eafb1ce0c3 chore: update nixpkgs 2022-02-23 19:24:09 +01:00
0c72a89760 feat(streams): use lassulus radio as described in irc topic 2022-02-22 21:52:41 +01:00
a7db357e54 feat(radio-news): most recent commits show 2022-02-22 21:52:17 +01:00
1ad6c63a2f feat(makanek): redaktion.r 2022-02-22 20:41:55 +01:00
502ab93585 fix(restic): runuser correctly 2022-02-21 20:09:35 +01:00
github-actions[bot]
fe6bda3cf2 flake.lock: Update
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/74f7e4319258e287b0f9cb95426c9853b282730b' (2021-11-28)
  → 'github:numtide/flake-utils/846b2ae0fc4cc943637d3d1def4454213e203cba' (2022-01-20)
• Updated input 'home-manager':
    'github:nix-community/home-manager/697cc8c68ed6a606296efbbe9614c32537078756' (2021-12-18)
  → 'github:nix-community/home-manager/2860d7e3bb350f18f7477858f3513f9798896831' (2022-02-04)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5d3420c1285073d5061a5d88a533b347d1222750' (2022-01-10)
  → 'github:NixOS/nixpkgs/d49a447c18eac3c1639b99550df08b43948b28e0' (2022-02-06)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/bd20b7f07fd337b2e85420edd642382a2cc0196d' (2022-01-11)
  → 'github:NixOS/nixpkgs/91e0ecf1f103170237df3628c2c46cfe75212867' (2022-02-06)
• Updated input 'retiolum':
    'github:krebs/retiolum/23e04565a0360d31605a6c6cdc1becb5b9f76f32' (2022-01-28)
  → 'github:krebs/retiolum/ccf6324d29277b8c033a2275850eb7b09227f403' (2022-02-02)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=master&rev=f67bd5783d6ed2be836c7714ea38cbb3f7ac7257' (2022-01-09)
  → 'git+https://cgit.lassul.us/stockholm?ref=master&rev=332d4f5e1719df2b27f835c4fd0718317867043c' (2022-02-03)
2022-02-20 07:03:04 +01:00
c64e681ada feat(weechat): update channels 2022-02-19 12:10:04 +01:00
af813cc876 feat(urlwatch): more urls 2022-02-19 12:09:31 +01:00
704f745f5e try out whether new krops fixes the nixpkgs rebuilding issue 2022-02-16 09:11:10 +01:00
93dd8bd702 fix: less unstable, nixpkgs via krops git, NIX_PATH on makanek
systems wanted to build glibc all the time when updated
2022-02-15 22:16:50 +01:00
6e995764d4 chore: update horoscopy 2022-02-14 21:21:36 +01:00
87b9fc49ea feat(radio): opus streams 2022-02-14 08:14:15 +01:00
b4e42e6b22 feat: add horoscopy website 2022-02-14 08:02:08 +01:00
87f73a8fc1 fix(radio): clean up files after 1h 2022-02-10 19:28:34 +01:00
db8c06364f feat: wikipedia radio 2022-02-10 19:28:34 +01:00
24b7044a3f chore: update retiolum 2022-02-09 08:35:55 +01:00
908667267b feat: radio powered by liquidsoap 2022-02-08 00:47:10 +01:00
b3090737fd feat(grocy): disable 2022-02-07 12:59:34 +01:00
f195351474 feat(urlwatch): run later 2022-02-07 12:52:46 +01:00
1cce7dc8df feat: #hsmr moinbot 2022-02-07 11:44:29 +01:00
894cc6efef feat(polkit): dont need password for systemctl 2022-02-02 18:07:08 +01:00
f1ed00fe40 fix(traadfri): module scripts 2022-01-31 19:46:59 +01:00
7d1e1e712f feat(monitoring): simplify telegram alert message format 2022-01-31 09:33:24 +01:00
fd1c36874a feat(traadfri): no aliases but scripts 2022-01-31 09:33:04 +01:00
bc52a4a358 feat(traadfri): chain of lights 2022-01-30 22:47:54 +01:00
5aade69fbe fix(streams): remove defunct paradiso 2022-01-30 21:18:22 +01:00
0ead88d04a feat(git): bye hub 2022-01-30 20:58:37 +01:00
d21ff3e731 fix(ci): secrets for tuna 2022-01-28 14:25:32 +01:00
7a918319b7 fix(streams): di.fm 2022-01-28 12:54:12 +01:00
5524f3b92b feat: reactivate tuna 2022-01-28 12:54:12 +01:00
fe8af09148 feat(monitoring): improve messages 2022-01-28 09:04:40 +01:00
d9ca1e673d fix(flix): do not depend on wpa_supplicant 2022-01-27 18:27:34 +01:00
2efb8d7d8a feat(monitoring): streamline alerting 2022-01-27 17:47:33 +01:00
4e520a82aa Revert "feat(alertmanager): alert via irc"
This reverts commit 630d99e191.
2022-01-27 17:17:43 +01:00
62479936b1 feat(hu-berlin): split-tunnel via forti vpn 2022-01-27 16:54:22 +01:00
9419bb9bdd feat(i3): show which vpn is active 2022-01-27 16:45:51 +01:00
07b8813ae8 feat(prometheus): dont fail if no ssl 2022-01-27 15:49:36 +01:00
755105a428 feat(prometheus): monitor more URLs 2022-01-27 15:40:50 +01:00
ac75dcb826 feat(weechat): improve filter 2022-01-27 14:06:55 +01:00
76e22dba3c feat: bye bye russian keyboard 2022-01-26 20:54:05 +01:00
6b84a024a2 feat(i3): change rofi command 2022-01-26 20:54:05 +01:00
3f2fb3f5a3 feat(hu-berlin): prefer fortinet 2022-01-25 20:29:38 +01:00
40fa14d4a9 chore: update retiolum 2022-01-25 20:29:26 +01:00
272f2bdefe fix(restic): restart on failure 2022-01-24 09:17:04 +01:00
16b25d4890 feat(zaatar): mount restic disk via nixos 2022-01-23 16:46:32 +01:00
638751eb20 feat(rofi): theme 2022-01-23 16:40:54 +01:00
8b3a9be9fd feat(streams): add drachenhits 2022-01-23 16:40:47 +01:00
c3d94e5c49 fix(restic): remove tmp dir 2022-01-23 14:27:03 +01:00
13b8154a2b feat(weechat): smart filter, filter Mic92 gitlab 2022-01-23 14:27:03 +01:00
d17c3e942d feat: give rofi another chance 2022-01-23 14:27:03 +01:00
a8467cfb5a Revert "flake.lock: Update"
This reverts commit c417074b7d.

It wants to build `glibc` on all machines.
2022-01-23 08:56:48 +01:00
Kierán Meinhardt
4d9867a95d Merge pull request #2 from kmein/update_flake_lock_action
flake.lock: Update
2022-01-23 07:52:48 +01:00
github-actions[bot]
c417074b7d flake.lock: Update
Flake lock file changes:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/74f7e4319258e287b0f9cb95426c9853b282730b' (2021-11-28)
  → 'github:numtide/flake-utils/846b2ae0fc4cc943637d3d1def4454213e203cba' (2022-01-20)
• Updated input 'home-manager':
    'github:nix-community/home-manager/697cc8c68ed6a606296efbbe9614c32537078756' (2021-12-18)
  → 'github:nix-community/home-manager/28b9ae40c45c5e7711c353fee1b7af734e293979' (2022-01-20)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5d3420c1285073d5061a5d88a533b347d1222750' (2022-01-10)
  → 'github:NixOS/nixpkgs/3d35529a48d3ad50ad959463755b0b7fe392cfa7' (2022-01-22)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/bd20b7f07fd337b2e85420edd642382a2cc0196d' (2022-01-11)
  → 'github:NixOS/nixpkgs/e5f7e0e5513455fa128d13d82095016b2dcffc55' (2022-01-22)
• Updated input 'retiolum':
    'github:krebs/retiolum/be4a56463af13a7dab5fd12378bef3b0ec8ae99b' (2022-01-18)
  → 'github:krebs/retiolum/e3818e1a3af803f43f42e96e5629fceaf9a18011' (2022-01-20)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=master&rev=f67bd5783d6ed2be836c7714ea38cbb3f7ac7257' (2022-01-09)
  → 'git+https://cgit.lassul.us/stockholm?ref=master&rev=a3e67719b9da74e208c4058c42c0bd555c56b049' (2022-01-18)
2022-01-23 07:49:25 +01:00
9ca72a841d fix(restic): run restic as restic 2022-01-22 09:18:59 +01:00
7ec0586cf1 feat(restic): depend on connection to retiolum 2022-01-22 09:18:38 +01:00
6d681e9f43 feat(restic): more sensible times 2022-01-21 19:14:45 +01:00
c9248ae9b9 fix(vim): fugitive command 2022-01-19 13:51:30 +01:00
215bae0b9f fix(ci): add restic password 2022-01-19 13:37:01 +01:00
6f2aab721d chore: revert flake update
it had to build too many things and broke while doing it
2022-01-19 12:36:39 +01:00
1434290100 feat(i3): bye bye astrology 2022-01-19 12:27:14 +01:00
abcbd4dff9 Merge remote-tracking branch 'origin/update_flake_lock_action' 2022-01-19 11:07:08 +01:00
5dbe6b61d1 feat(restic): add wrapper on zaatar 2022-01-19 10:58:44 +01:00
0dc1e167fd feat(restic): backup moodle-dl 2022-01-19 09:41:14 +01:00
6f06f0c9ef feat(restic): add mount script 2022-01-19 09:38:19 +01:00
59894e2734 feat(restic): backup redis 2022-01-19 08:32:44 +01:00
f3835ebd5e feat(restic): backup regular systems 2022-01-19 00:48:15 +01:00
20da594f97 feat(restic): backup git 2022-01-18 23:36:38 +01:00
30c2bfe598 feat(restic): run on makanek, prometheus 2022-01-18 23:28:53 +01:00
bdc5c147dd chore: update retiolum 2022-01-18 23:19:50 +01:00
59c420e8b0 feat(restic): add wrapper command 2022-01-18 22:38:28 +01:00
efb8dff677 feat(git): bye diff-so-fancy, hello delta 2022-01-18 21:52:46 +01:00
7518c0f893 feat(weechat): max nix prefix 2022-01-18 21:30:52 +01:00
1b7e0f903d feat: restic 2022-01-18 21:29:30 +01:00
github-actions[bot]
0a8ab261f2 flake.lock: Update
Flake lock file changes:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5d3420c1285073d5061a5d88a533b347d1222750' (2022-01-10)
  → 'github:NixOS/nixpkgs/610d4ea2750e064bf34b33fa38cb671edd893d3d' (2022-01-18)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/bd20b7f07fd337b2e85420edd642382a2cc0196d' (2022-01-11)
  → 'github:NixOS/nixpkgs/222f62ed88f67a1c9a7854b7e95bd9a5fe67b7ca' (2022-01-18)
• Updated input 'retiolum':
    'github:krebs/retiolum/4fcbe17549fa742a32e05b5f2ca57a983ad500c1' (2022-01-11)
  → 'github:krebs/retiolum/b62eba68b0836a2ea0b786b3738b281f070a3e04' (2022-01-18)
• Updated input 'stockholm':
    'git+https://cgit.lassul.us/stockholm?ref=master&rev=f67bd5783d6ed2be836c7714ea38cbb3f7ac7257' (2022-01-09)
  → 'git+https://cgit.lassul.us/stockholm?ref=master&rev=8d67a33709db13fade3460cc01f385f5bcffd794' (2022-01-15)
2022-01-18 18:26:45 +00:00
9a2205121b feat(ci): add github action to update flake inputs 2022-01-18 19:19:17 +01:00
4316c604f6 feat(i3): bye bye vaccinations 2022-01-18 18:31:34 +01:00
2ce0a6415f feat(streams): renew c3 lounge 2022-01-18 12:28:40 +01:00
fbbc9767a3 feat(stardict): improve renderer 2022-01-18 12:18:31 +01:00
356269caf7 feat(zaatar): enable spotifyd 2022-01-17 21:03:38 +01:00
a001a98f7b feat(weechat): more libera 2022-01-17 10:10:16 +01:00
2624bf0a50 feat: timer script 2022-01-17 10:10:16 +01:00
5186b7ac28 feat: lojban software 2022-01-15 08:21:42 +01:00
5497739980 feat(stardict): lojban 2022-01-14 19:59:06 +01:00
5bbb01d275 feat(locale): use en_DK, which uses ISO date 2022-01-14 19:26:46 +01:00
83837932af feat(weechat): real name is first name 2022-01-14 19:26:46 +01:00
72c88d0f38 feat(stardict): replace lsj and sa, shorten oed 2022-01-14 19:26:46 +01:00
ed646335f1 feat: IBM 3270 colors 2022-01-14 19:17:01 +01:00
310e9d8b46 feat(stardict): case-insensitive 2022-01-14 09:11:20 +01:00
a7efa8a822 feat(watson): configure WATSON_DIR 2022-01-14 08:30:33 +01:00
f9ceed1352 feat(stardict): use built-in coloring 2022-01-13 20:01:50 +01:00
630d99e191 feat(alertmanager): alert via irc 2022-01-13 19:29:19 +01:00
f0e11f3147 feat(stardict): better rendering 2022-01-13 18:05:46 +01:00
c651413768 feat(stardict): more sanskrit 2022-01-13 17:43:47 +01:00
ac7ddcfd1a feat(krops): copy instead of fetching on target 2022-01-12 23:00:41 +01:00
03c944affd feat(unicodmenu): kaomoji first 2022-01-12 21:36:26 +01:00
57f440ced5 feat(unicodmenu): get from unicode website 2022-01-12 18:02:59 +01:00
3528ffbda3 feat(urlwatch): disable telegram 2022-01-12 10:09:16 +01:00
237f7d7c96 feat(stardict): wrap 2022-01-12 10:00:33 +01:00
7f79744a13 feat(traadfri): add chain of lights 2022-01-12 08:17:53 +01:00
f2ff05c47e feat: reimplement ipa and betacode in haskell 2022-01-11 23:49:06 +01:00
a1b13206f1 chore: update retiolum 2022-01-11 23:19:17 +01:00
20fa2c9b08 feat(stardict): dont configure goldendict 2022-01-11 23:19:03 +01:00
ff098c1f97 feat: stable htmlq 2022-01-11 23:18:43 +01:00
2c03311dc2 feat(retiolum-map): add rrm.r alias 2022-01-11 23:13:17 +01:00
56bcc26ed6 feat: never underestimate espeak 2022-01-11 22:25:25 +01:00
2619e6e7b5 chore: update nixpkgs 2022-01-11 22:25:13 +01:00
85f170743b feat: mupdf 2022-01-11 20:05:25 +01:00
65532d7d47 feat: tocharian font 2022-01-11 19:56:31 +01:00
2aa19c28bd Revert "feat(zaatar): rip grocy"
This reverts commit 2e0765eede.
2022-01-11 12:07:51 +01:00
2e6a802f4a chore: update 2022-01-10 17:29:14 +01:00
08f0018e1f fix(zaatar): reenable nginx 2022-01-10 17:27:48 +01:00
cb4b9133c3 feat: no new planets in horoscope bot 2022-01-10 10:09:26 +01:00
b9a812962d feat: eyeD3 2022-01-08 10:18:43 +01:00
c243dc4cfd feat: dont clutter startup 2022-01-08 10:18:33 +01:00
230f6fab0c feat(flameshot-once): readd image uploader 2022-01-08 09:37:33 +01:00
9c16cc62bc feat: stardict renderer 2022-01-08 09:17:40 +01:00
18688f1441 chore: why did i have to do this 2022-01-08 09:17:28 +01:00
2e0765eede feat(zaatar): rip grocy 2022-01-07 18:27:49 +01:00
df461aa72d feat(makanek): rip containers 2022-01-07 17:23:28 +01:00
e76ed000cb feat(moodle-dl): dont run in container for borsfaye 2022-01-07 16:58:38 +01:00
a83e903488 chore: update nixpkgs
this should fix hedgedoc
2022-01-07 15:45:34 +01:00
7c36ea2995 chore: update stockholm 2022-01-06 22:28:16 +01:00
185f752de1 feat: add ttspaste script 2022-01-06 20:17:05 +01:00
6cb800f024 feat(klem): use tesseract for ocr 2022-01-06 20:16:54 +01:00
2217128f32 feat: all planets are beautiful 2022-01-06 00:14:19 +01:00
3ed79dbbfc feat(zaatar): rip bvg 2022-01-05 22:20:57 +01:00
6c7fa8c1b5 feat(zaatar): enable grocy 2022-01-05 21:49:27 +01:00
c36dc50369 feat(klem): add ocr 2022-01-05 21:37:36 +01:00
0656b0eaa3 feat: astro telegram bot sends live updates 2022-01-05 16:40:34 +01:00
5051938679 feat: astro telegram bot sends to channel 2022-01-05 14:49:04 +01:00
a3464f3328 feat: remove engiadina nginx 2022-01-05 11:46:48 +01:00
9b10c883a5 feat(pls): add msg command 2022-01-04 23:13:07 +01:00
7c42be3475 fix: names 2022-01-04 22:00:57 +01:00
bee1389d7f fix: global tmux wrecked weechat 2022-01-04 22:00:27 +01:00
508ed2f573 feat(vim): simplify 2022-01-04 21:42:39 +01:00
8b605d31a3 fix: astrology bot 2022-01-04 21:42:11 +01:00
8502b2966b chore: update stockholm 2022-01-03 11:50:50 +01:00
79b231e1b6 feat(watson): manage config 2022-01-03 11:49:24 +01:00
500a0741d3 chore: update stockholm 2022-01-03 11:49:24 +01:00
53b91eb522 feat(ci): do not depend on unneeded secrets 2022-01-03 11:14:58 +01:00
25d2294abc feat(stardict): start goldendict on startup 2022-01-03 11:14:43 +01:00
f0924d7d57 derp 2022-01-02 17:58:21 +01:00
9ebcf731df feat(stardict): fix georges, pape, add lingvo russian and coptic 2022-01-02 17:17:42 +01:00
49f3d9bdf1 feat(watson): symlink directory from cloud 2022-01-02 12:16:56 +01:00
4a56ba5bec chore: update retiolum 2022-01-02 12:16:56 +01:00
f4383937a8 feat(flameshot): configure 2022-01-02 12:16:56 +01:00
04a2c83eb8 feat: moon age instead of moon percentage 2021-12-31 19:43:10 +01:00
0e43cee95f chore: update stockholm 2021-12-31 18:39:54 +01:00
1405c2ca98 chore(flake): format 2021-12-31 17:26:15 +01:00
072c0a09df feat(krops): streamline inputs -> sources 2021-12-31 17:16:14 +01:00
a0fdfbef2b feat: get my repos via flake 2021-12-31 16:57:45 +01:00
a6792399f1 feat(ci): streamline definition 2021-12-31 16:42:22 +01:00
12cd6230fe chore(flake): unify naming 2021-12-31 16:26:30 +01:00
e800cca766 chore: remove unneeded stuff from flake.nix 2021-12-31 16:16:53 +01:00
b7646b0500 feat(ci): add github action 2021-12-31 16:14:05 +01:00
749582bc9b chore(ci): move to own file 2021-12-31 16:05:08 +01:00
e9ae2ddd59 fix(stardict): sd-classics works when we filter out georges LD 2021-12-31 16:04:48 +01:00
e6462e0c34 feat: add ci scripts to flake 2021-12-31 15:56:43 +01:00
127cb41e60 fix: schusseligkeit 2021-12-31 15:56:20 +01:00
a77cbcf919 feat(tmux): enable on zaatar and makanek 2021-12-31 13:21:48 +01:00
62fbad949a feat(packages): no handpicked haskell packages, stardict 2021-12-31 13:21:33 +01:00
087c9c0b94 fix: nix-index-update 2021-12-31 13:20:32 +01:00
74a437af22 fix: dont use chromium
it builds forever
2021-12-31 13:19:56 +01:00
e431a89ab2 chore: follow flake-utils 2021-12-30 16:59:58 +01:00
0d6c540143 chore: remove shell.nix 2021-12-30 16:55:14 +01:00
5b3aea782b feat: deploy makanek, kabsa 2021-12-30 16:42:02 +01:00
913f60a7f5 feat: manage dependencies with flakes 2021-12-30 16:22:15 +01:00
b877eaa1b7 feat: upgrade nix 2021-12-30 14:08:05 +01:00
ed788d318f feat(weechat): start from clean configs, autoconnect 2021-12-30 03:37:53 +01:00
2283dd67c6 feat: streamline krops experience 2021-12-30 03:01:26 +01:00
8b8e0078c1 fix: downgrade nix 2021-12-30 03:01:16 +01:00
f7763cb99b feat(weechat): use declarative 2021-12-30 03:01:05 +01:00
58d39aa41a chore: move configs to system directories 2021-12-29 18:56:19 +01:00
383fb35837 feat(weechat): automatically set nickserv options at retiolum 2021-12-29 17:55:58 +01:00
3cb561e6cc feat(weechat): add sasl to retiolum 2021-12-29 17:48:09 +01:00
2a98e680c2 feat(streams): add rc3 radio 2021-12-29 10:29:33 +01:00
d5087c40b2 feat: use flake nix 2021-12-28 23:24:30 +01:00
23fb65ce1e chore(retiolum): update 2021-12-28 20:49:43 +01:00
c49a5a4187 feat(retiolum): use ed25519 keys 2021-12-28 17:04:54 +01:00
42df2c032e derp 2021-12-28 17:04:54 +01:00
86d6943dd2 feat(kabsa): disable zramfs 2021-12-28 17:04:54 +01:00
6f10cd277d fix(weechat): matrix server 2021-12-28 15:39:56 +01:00
869c6e6a08 fix(vim): make a tiny bit faster 2021-12-28 14:48:29 +01:00
5b131a5a30 feat: flameshot -> flameshot-once 2021-12-28 14:48:09 +01:00
0423429e02 fix: send transits at correct time 2021-12-27 10:40:51 +01:00
f451cc5028 feat(astrolog): configure 2021-12-27 10:29:11 +01:00
8f9e8db71e fix(traadfri): dont timeout 2021-12-25 18:03:57 +01:00
81e6b5c9f6 feat: transits telegram bot 2021-12-25 08:31:11 +01:00
50d8788088 chore: update 2021-12-25 08:31:11 +01:00
805b46ffb1 feat: remove nur-packages 2021-12-25 08:31:10 +01:00
bc9217ba3e feat(weechat): improve zero covid 2021-12-22 23:08:58 +01:00
db2ec25bc1 feat: remove praesenzlehre-berlin.org 2021-12-22 23:06:54 +01:00
33b960143b feat: remove nur-packages 2021-12-22 22:55:43 +01:00
f02225d1e9 feat: use upstream astrolog 2021-12-22 10:19:16 +01:00
9c2e2df05a feat: astrolog 2021-12-21 18:17:37 +01:00
aaeef41f55 feat: anki# 2021-12-21 07:39:23 +01:00
0787da719e fix(retiolum-map): also update index.html 2021-12-20 15:10:19 +01:00
e225a7d451 feat(tinc-graph): update 2021-12-18 10:48:38 +01:00
9d3b29add2 chore: update 2021-12-17 19:02:32 +01:00
5792224240 Revert "feat(shell.nix): colourful parallel"
This reverts commit 5ade0a7011.
2021-12-17 19:02:22 +01:00
ecadc12c9f feat(zaatar): disable tuna 2021-12-16 08:46:02 +01:00
4ecc34b63e feat(tarot): update key file 2021-12-16 00:19:28 +01:00
48e2be7427 feat(tarot): serve files and waites key 2021-12-15 15:01:19 +01:00
296a3a9c9f feat(tarot): occasionally reverse 2021-12-15 15:00:46 +01:00
0136215a4a feat(tarot): run at tarot.kmein.de 2021-12-15 13:54:51 +01:00
dd8a885e81 feat: add transits script 2021-12-15 13:54:51 +01:00
e755ee06e2 feat(makanek): run tarot service on tarot.kmein.r 2021-12-15 12:38:09 +01:00
5ade0a7011 feat(shell.nix): colourful parallel 2021-12-15 12:38:09 +01:00
bed0795a04 fix(monitoring): probe alew.hu-berlin.de every 5 min 2021-12-14 19:20:11 +01:00
31d59aba6a feat(monitoring): probe alew.hu-berlin.de 2021-12-14 19:20:10 +01:00
08c04462a7 feat(monitoring): probe alew.hu-berlin.de 2021-12-13 17:29:09 +01:00
7d00a2e896 fix(pmount): setuid root 2021-12-13 11:58:00 +01:00
1027a850fb feat: add bvg disruptions script 2021-12-13 11:57:42 +01:00
314134d861 feat(hu-berlin): reenable forti vpn 2021-12-13 11:57:27 +01:00
143b2f1a06 Revert "feat(nextcloud): move to cloud.kmein.de"
This reverts commit 8a45abae35.
2021-12-11 09:45:25 +01:00
02cc600c68 feat: install pandoc users guide as man page 2021-12-10 20:25:07 +01:00
25c48354f7 feat: add csv2json and json2csv scripts 2021-12-10 19:43:06 +01:00
5b2c2c7709 feat(scripts): add auc roman calendar 2021-12-10 19:42:52 +01:00
e55cc77825 feat(readme): add attribution 2021-12-09 12:59:19 +01:00
8a45abae35 feat(nextcloud): move to cloud.kmein.de 2021-12-09 07:14:35 +01:00
e046c74539 chore(retiolum): update 2021-12-08 13:11:07 +01:00
9dae3e2d1a feat(weechat): add weechat-matrix 2021-12-08 12:15:14 +01:00
0fea7ba938 feat(moodle-dl): serve via retiolum 2021-12-08 11:39:19 +01:00
edcbe19fb2 feat: add rudimentary readme 2021-12-08 11:03:48 +01:00
ee573e13fc fix(kabsa, manakish): disable illum, hardware does it by itself 2021-12-07 20:09:22 +01:00
83d23f8b55 feat(zaatar): add gaslight 2021-12-07 20:00:10 +01:00
addd7077ed fix(khal): restore cloud address 2021-12-07 20:00:10 +01:00
ec175ef3d7 feat(khal): config format changed with 4.0.0 2021-12-07 20:00:10 +01:00
a7a103c853 feat(urlwatch): add zeno ebooks site 2021-12-04 11:35:36 +01:00
2105a5a0fe feat(weechat): #home-manager 2021-12-04 11:35:36 +01:00
d5a71770a6 feat: kierán.de -> kmein.de 2021-12-03 12:17:36 +01:00
bff6ede4c1 feat(ssh): add alew machine 2021-12-02 14:19:14 +01:00
5a82328b37 feat: make work with 21.11 2021-12-01 17:38:47 +01:00
b3871ba6aa feat(graph.r): use geoip from updater, share with retiolum 2021-12-01 12:04:26 +01:00
9b68ac87d8 chore(nextcloud): create password files 2021-12-01 12:03:55 +01:00
bbc50f3642 feat(radio, urlwatch): create groups 2021-12-01 12:03:33 +01:00
fc067a8493 feat(retiolum-map): use 21.11 geoipupdate 2021-12-01 09:58:46 +01:00
4ac499530d chore(names): update 2021-12-01 09:47:51 +01:00
078b3f6183 chore(tinc-graph): update 2021-12-01 09:47:45 +01:00
ca0267ce22 fix(tuna): new syncthing syntax 2021-12-01 09:47:14 +01:00
10d003371e fix(tuna, moodle-dl): create groups for users 2021-12-01 08:14:18 +01:00
33da8389f5 chore: update to 21.11 2021-12-01 08:14:05 +01:00
707e1f1565 chore(retiolum): update 2021-12-01 07:42:22 +01:00
312dd27f02 feat: add service to supersede graph.r 2021-11-30 22:31:19 +01:00
5a0f6d3035 feat(weechat): new variant 2021-11-30 22:31:19 +01:00
77bd1116ea chore: update 2021-11-30 22:31:19 +01:00
8d4362d903 feat(khal): configure more 2021-11-25 08:25:47 +01:00
bc4e25a42d feat(i3status-rust): increase rate 2021-11-24 18:20:04 +01:00
96627b6f50 feat(weechat): improve zero-covid 2021-11-24 11:12:34 +01:00
6f2a824d8b fix(pls): skip/like before reporting in IRC 2021-11-24 11:11:46 +01:00
a65a4b28da feat: copyq 2021-11-23 21:48:00 +01:00
41f87bdc37 feat(pls): add recent command 2021-11-23 21:47:30 +01:00
85ab948ccd feat(zaatar): install ncmpcpp 2021-11-21 11:55:04 +01:00
9f834e742e chore: update 2021-11-21 11:40:52 +01:00
416d3ab277 feat(i3status-rust): show moon fullness percentage 2021-11-20 09:40:32 +01:00
82b9bb2a4c feat(sa): add possibility of devanagari output 2021-11-20 09:39:57 +01:00
82b650bdbf fix: book reading script cannot be named "read" 2021-11-20 09:39:27 +01:00
06125303b8 feat: add some scripts for reading pdfs 2021-11-19 13:40:32 +01:00
c0efacd6ce chore: update 2021-11-19 13:40:19 +01:00
2aff28c6ed feat: astrological info script 2021-11-19 08:09:08 +01:00
e27db27fd8 chore: update 2021-11-15 18:43:47 +01:00
683bd2f3be feat: closest word script 2021-11-15 18:43:34 +01:00
01e3cef34f feat(i3): add moon phase to status bar 2021-11-13 23:39:01 +01:00
f921d3d3b6 fix(monitoring): grafana link 2021-11-13 19:17:35 +01:00
ffa3f820ce feat(pls): more insults 2021-11-12 20:22:51 +01:00
8738cb4a58 feat: kirčiuoklis script 2021-11-12 20:06:08 +01:00
a2b706e787 feat(direnv): simplify shell.nix template 2021-11-12 20:06:08 +01:00
22247715a3 feat(fonts): alegreya{,-sans} 2021-11-12 20:06:08 +01:00
bdd4bda339 fix(hedgedoc): serve ssl correctly 2021-11-12 20:06:08 +01:00
1002fd8b43 fix(NetworkManager): use constant addresses for home wifi 2021-11-12 20:06:08 +01:00
1f48644558 feat(haskell): install monad-memo, edit-distance 2021-11-12 16:03:43 +01:00
da95622df1 chore: update 2021-11-08 17:55:06 +01:00
e275c81257 fix(monitoring): display host name in reboot message 2021-11-08 10:06:29 +01:00
bf7d0165b1 feat: add more sanskrit dictionaries 2021-11-07 13:12:11 +01:00
cb10b423dc feat(mpv): reenable osc 2021-11-06 08:15:07 +01:00
a93a34e546 feat(mpv): sane screenshot template 2021-11-06 07:45:02 +01:00
c7603af4d0 fix(matterbridge): dont strip markdown 2021-11-06 07:45:02 +01:00
dd685afb7c feat(mpv): dont generate thumbnails, it is eating up my cpu 2021-11-04 07:25:40 +01:00
055b4016e6 feat(moodle-dl): two more 2021-10-28 15:16:16 +02:00
f361d2b877 feat: add russian keyboard 2021-10-28 15:06:33 +02:00
8b00faf762 feat(vdirsyncer): fix birthday calendar issue, add fysi 2021-10-26 20:43:56 +02:00
f7d72e00b6 feat(neomutt): add macros to limit messages 2021-10-24 19:16:37 +02:00
087c138906 fix(beets): remove buggy lyrics plugin 2021-10-24 19:16:37 +02:00
bf8f6d8d52 feat(i3status-rust): rewrite sun timer to work offline 2021-10-24 18:22:55 +02:00
fcf2aa4cca chore: update 2021-10-24 08:38:43 +02:00
48484514bc feat(moodle-dl): add one more course 2021-10-24 08:25:35 +02:00
aa359ad986 fix(menstruation): update to fix timezone 2021-10-21 13:29:17 +02:00
2432b0bbaa feat(moodle-dl): add one more course 2021-10-21 12:18:07 +02:00
2b754d4a5b feat(moodle-dl): add one more course 2021-10-21 12:18:07 +02:00
f38e5c3295 feat(moodle-dl): add one more course 2021-10-20 09:11:56 +02:00
f6b4740b73 chore: update 2021-10-19 22:53:56 +02:00
c06fb3f50c feat(pls): use ircaids 2021-10-19 22:42:29 +02:00
4ae2fa4a6a feat: unify/update stockholm pkgs 2021-10-19 22:42:00 +02:00
6809db5ccc feat(moodle-dl): add one more course 2021-10-19 19:41:04 +02:00
c9fb802c55 feat: install menstruation 2021-10-19 18:59:29 +02:00
2f4505d29b feat(i3status-rust): remove keyboard indicator 2021-10-19 18:55:46 +02:00
b43de46611 feat(i3status-rust): add sun timer 2021-10-19 18:02:42 +02:00
3545c37084 chore(menstruation): update 2021-10-19 17:10:18 +02:00
043fe3b67b feat(moodle-dl): one more course 2021-10-19 14:51:43 +02:00
f0779c45c3 feat(moodle-dl): two more courses 2021-10-19 14:35:12 +02:00
b7a6fda046 chore(menstruation): update 2021-10-19 10:54:30 +02:00
e431e0bf03 fix(urlwatch): make tatort more readable 2021-10-19 09:20:30 +02:00
ac54cd5eaf feat(makanek): run mensa bot 2021-10-18 21:14:52 +02:00
4bd5965915 fix(monitoring): clearly say when stuff is resolved 2021-10-18 20:56:42 +02:00
f21112465b feat(menstruation): add as submodules 2021-10-18 18:19:47 +02:00
b989684f12 feat(vdirsyncer): restart after failure 2021-10-18 07:24:43 +02:00
beef73daab feat(moodle-dl): one more course 2021-10-18 07:24:32 +02:00
de3fbfd356 feat(moodle-dl): add first WS21 courses 2021-10-17 20:18:59 +02:00
a1e88e30a7 feat(makanek): add onomastics service 2021-10-12 23:25:11 +02:00
c50698f275 feat: manage retiolum addresses globally, declaratively share moodle 2021-10-12 11:51:55 +02:00
6119c0dbcc feat: bye bye keybase 2021-10-12 11:51:14 +02:00
7dd5a9e269 feat(neomutt): dont ask about ~/Mail 2021-10-11 20:03:03 +02:00
2384a4eef5 feat: add serveHtml helper 2021-10-11 20:02:41 +02:00
f6ffd477d1 feat(zaatar): run bvg info dashboard 2021-10-11 20:02:41 +02:00
77fc7e4832 feat(i3status-rust): show current keyboard layout 2021-10-11 20:02:41 +02:00
76d75048fa feat(neomutt): add old uni account, add alias 2021-10-11 20:02:41 +02:00
71e65461cf feat: simplify use of krebs pkgs 2021-10-11 20:02:41 +02:00
6545b016c5 feat: remove traces of old mail setup 2021-10-08 22:17:05 +02:00
6eff3d831c feat(nextcloud): update 2021-10-08 20:25:54 +02:00
80abae0daa feat: spotify-tui -> ncspot 2021-10-08 20:04:05 +02:00
bbdef3a8ed feat(neomutt): add mua alias 2021-10-08 20:03:52 +02:00
1f28eb000d feat(monitoring): add uptime alert 2021-10-08 20:03:44 +02:00
fb7a295310 chore: update 2021-10-08 20:03:28 +02:00
ad84e0445d feat(neomutt): style and simplify 2021-10-08 16:00:20 +02:00
faac180148 feat: bye bye notmuch, hello neomutt 2021-10-07 08:59:54 +02:00
2691608f8c feat: LB 2021-10-07 08:59:54 +02:00
9678ba7b28 chore: update 2021-10-03 23:41:55 +02:00
dc90c4c6ab feat: qrpaste 2021-09-23 21:25:50 +02:00
4c2a4df663 feat(networkmanager): declarative 2021-09-22 08:03:47 +02:00
c60e90f001 fix(monitoring): telegram alerts grafana link 2021-09-22 07:56:17 +02:00
d0f1287c68 feat(radio): rip antenne-asb.ga 2021-09-22 07:56:17 +02:00
f91004fff6 feat(monitoring): add more rules, run grafana in retiolum 2021-09-19 12:03:52 +02:00
adca14865c feat(tuna): run on radio.kmein.r 2021-09-19 11:41:36 +02:00
4cdf954732 feat: wilde -> kabsa 2021-09-19 11:41:16 +02:00
e2bd211d4b feat: monitoring 2021-09-18 23:54:12 +02:00
d04c652f61 feat(moodle-dl): share via nfs 2021-09-18 15:53:21 +02:00
f036e50210 feat(moodle-dl): run in containers 2021-09-18 14:42:57 +02:00
8b8fbeb511 feat(moodle-dl): run on zaatar for meinhark 2021-09-18 14:36:25 +02:00
04b40f15e2 feat: install speedtest-cli when on NM 2021-09-18 09:15:14 +02:00
70755b3cec feat: install firefox, remove unused stuff 2021-09-17 21:03:28 +02:00
3ebd71971d feat(networkmanager): use prison-break from NUR 2021-09-17 20:49:39 +02:00
ca51f06e2a feat(i3): add scratchpad keys 2021-09-17 20:49:19 +02:00
0e9051aaaa feat(shell.nix): add --force for deploying dirt 2021-09-17 15:26:55 +02:00
d1079fe413 feat(wifi): networkmanager for wilde, wpa_supplicant for others 2021-09-17 15:26:40 +02:00
6418b03548 feat(weechat): autojoin #autowifi 2021-09-17 15:15:35 +02:00
ecdfd7953d feat: disable tor 2021-09-17 11:12:09 +02:00
08ab96c0db feat: add wifi@db systemd network 2021-09-17 09:45:24 +02:00
5939219f8c feat: disable kleiter 2021-09-17 09:04:25 +02:00
e2f82c3da8 fix(vim): dont showbreak with an emoji 2021-09-16 16:41:39 +02:00
0dc43c2eff feat(scripts): new-mac 2021-09-16 16:41:39 +02:00
136b04cb3f fix(docker): go around ICE wifi 2021-09-16 15:23:02 +02:00
8af855585b chore: update 2021-09-14 15:21:45 +02:00
4136e7bf3f feat(newsboat): add watch later script 2021-09-14 15:00:58 +02:00
c365f5f8b2 feat(urlwatch): watch tatort 2021-09-14 15:00:58 +02:00
d37393b1ca feat: libib script 2021-09-14 15:00:58 +02:00
b484f424af feat(weechat): filter brockman notices 2021-09-14 15:00:58 +02:00
15e2cd7e4f feat(fonts): use joypixels for monospace emoji 2021-09-11 20:41:44 +02:00
a88a0f57c2 fix(worldradio): use fork 2021-09-11 07:57:08 +02:00
4d81f0b0ac feat(spotify): use unstable 2021-09-11 07:52:17 +02:00
0971a2c575 chore: update 2021-09-11 07:47:26 +02:00
18c829f224 chore: update 2021-09-07 16:33:55 +02:00
865b0b736c fix(streams): radio record 2021-09-07 16:28:52 +02:00
84613b8d51 feat(zaatar): sync music via syncthing 2021-09-05 17:12:08 +02:00
7fcf265ffd feat(urlwatch): add lammla 2021-09-05 15:51:39 +02:00
5892702841 feat: coronabeschränkungen ausweiten 2021-09-01 15:29:41 +02:00
233fa97da5 chore: update 2021-08-31 20:37:42 +02:00
aeda9e63e6 feat: add krebs cyberlocker tools 2021-08-31 20:07:57 +02:00
80d9a1b41c feat(weechat): add oftc 2021-08-26 18:58:36 +02:00
40fd40453f chore: update 2021-08-26 15:29:41 +02:00
8beb632b1e feat(streams): comment more 2021-08-26 15:29:31 +02:00
83c9b0e30c feat(wifi): add iamateapot 2021-08-12 11:48:17 +02:00
8471f7e1e2 feat(weechat): dont log news 2021-08-11 14:49:26 +02:00
8ff3cab263 feat: add chatlog search 2021-08-11 14:49:26 +02:00
321eb82116 fix(mpv): dont always watch the highest resolution 2021-08-10 23:01:20 +02:00
9d0dc4397c chore(stockholm): update 2021-08-10 20:00:48 +02:00
6ab4332965 feat: add literate programming script 2021-08-08 09:56:15 +02:00
f00d903043 chore: update 2021-08-08 09:16:44 +02:00
cb1f3ce4f1 feat(zaatar): enable mpdscribble 2021-08-08 08:16:50 +02:00
d3e3bf92eb feat(vim): don't "fix" elm.json indentation 2021-08-08 08:12:51 +02:00
60e44ae4eb feat(urlwatch): report to telegram 2021-08-02 08:44:33 +02:00
9bc3279f52 feat: beets 2021-07-30 13:19:44 +02:00
2f75f4c3b3 chore: update retiolum 2021-07-30 13:19:44 +02:00
f8a3bfe21e feat(weechat): bye #hsmr 2021-07-26 10:15:21 +02:00
56fe6b3f00 feat(dropbox): disable 2021-07-25 09:48:43 +02:00
8746b4522a feat(weechat): improve filtering out triggers 2021-07-25 09:42:27 +02:00
e8f46cd497 chore: update 2021-07-25 09:42:27 +02:00
10a4afd59d feat(tuna): update 2021-07-25 09:42:27 +02:00
27499d6a7a feat(urlwatch): remove IG nekrolog as it was spamming 2021-07-21 08:19:07 +02:00
c20acb75f8 feat(mpv-tv): add postFetch 2021-07-19 13:46:47 +02:00
4dd00e1063 feat: replace evince by foxit 2021-07-16 12:42:26 +02:00
20df63014d Revert "feat: use fzfmenu"
This reverts commit 27a6c5833e.
2021-07-15 10:08:00 +02:00
27a6c5833e feat: use fzfmenu 2021-07-15 09:54:23 +02:00
2201b192fd feat(mpv): add youtube (auto) subtitles 2021-07-15 07:34:12 +02:00
cf2c0c7a37 feat(mpv): add thumbnail and youtube quality script 2021-07-14 22:39:18 +02:00
3a48c9860b feat(.bin): proxies scripts 2021-07-13 21:00:33 +02:00
9c44e03215 feat(streams): add more 2021-07-13 21:00:23 +02:00
d6c4899dc1 feat: mpv-tv, more readio streams in comments 2021-07-12 12:25:32 +02:00
94092fbfeb feat(streams): more in notes 2021-07-11 18:00:54 +02:00
a1e96d67b7 feat(klem): add curl script 2021-07-11 18:00:54 +02:00
a2290fd6f7 chore(urlwatch): move to makanek 2021-07-11 18:00:53 +02:00
bc2d4fb005 feat: mpc for controlling zaatar 2021-07-08 12:47:17 +02:00
a0096a771d feat(streams): add rockabilly 2021-07-08 12:45:46 +02:00
eb2f7ea275 feat(streams): bhaktiworld is not 2b! 2021-07-08 12:45:46 +02:00
c2b567664c chore: update 2021-07-08 12:45:46 +02:00
900839b9b3 feat(newsboat): move home 2021-07-08 12:45:46 +02:00
6498e5a1da feat(mpd-fm): rebrand 2021-07-08 12:45:44 +02:00
1f971b2a74 chore(urlwatch): move to makanek 2021-07-08 07:52:03 +02:00
be178dffc6 feat(zaatar): allow unfree 2021-07-06 22:55:48 +02:00
934a5840df fix(printing): remove dependency on main user 2021-07-06 22:54:18 +02:00
199ccf7537 feat(zaatar): +traadfri +printer -spotifyd 2021-07-06 22:51:20 +02:00
e479ea36ec feat(weechat): add binaergewitter 2021-06-26 20:49:10 +02:00
b8f8e97df1 feat(streams): fix malayalam 2021-06-26 10:14:03 +02:00
5e6baef3d2 feat(streams): add more 2021-06-26 09:50:11 +02:00
008db3167d feat(cage): open spotify 2021-06-26 09:01:07 +02:00
2cbf412f27 feat(streams): remove broken radio streams 2021-06-26 09:00:53 +02:00
f1021be262 feat(nextcloud): enable client 2021-06-22 14:10:34 +02:00
bed819219c fix: remove krebspaste, bepasty-client-cli 2021-06-22 11:38:31 +02:00
0a21d0434c chore: update 2021-06-22 10:33:58 +02:00
5e34212f5b fix(engiadina): move to a directory that is not deleted on startup 2021-06-17 21:10:44 +02:00
01925ed0ff feat(traadfri): update 2021-06-17 21:10:20 +02:00
1311b64824 feat(mpd-fm): update 2021-06-17 07:37:19 +02:00
2b85e37fb6 fix(wifi): only use wlp3s0 on machines where it applies 2021-06-16 22:00:20 +02:00
6fb75ace21 feat(weechat): run oper when connecting to irc.r 2021-06-16 13:41:22 +02:00
72135addb0 chore: update 2021-06-16 13:06:24 +02:00
1ebf7d6cec feat(traadfri): update 2021-06-16 13:04:55 +02:00
27442da13d feat(matterbridge): bye bye freenode 2021-06-16 13:04:55 +02:00
5f0b0beb94 fix(i3status-rust): limit vax percentage length 2021-06-14 12:45:24 +02:00
52fd14c4fb feat: print diff before deploying 2021-06-13 09:31:32 +02:00
b33a64796c feat(unicodmenu): update symbols 2021-06-13 09:20:58 +02:00
2a761efc90 feat(telegram bots): get proverb bot from telebots 2021-06-12 17:09:10 +02:00
f320afd838 fix(telegram bots): update nachtischsatan to use new bot library version 2021-06-12 15:11:56 +02:00
345fd8159c feat(python): install poetry 2021-06-12 14:59:53 +02:00
daef8b79d4 feat(telegram bots): update 2021-06-12 14:59:53 +02:00
6cdfdaf703 feat(wifi): add interfaces 2021-06-10 20:32:58 +02:00
eca981e5c9 Revert "fix(fetchWallpaper)"
This reverts commit d23d443cc5.
2021-06-10 20:13:32 +02:00
2fee6ae34b chore: update 2021-06-10 20:06:00 +02:00
6c96c792f0 feat(i3status-rust): add vaccination quota indicator 2021-06-10 20:02:45 +02:00
70414128e5 feat(radio): add index html 2021-06-09 12:14:43 +02:00
d480eff8cd fix(spotifyd): hand-craft spotifyd module 2021-06-09 11:49:15 +02:00
d23d443cc5 fix(fetchWallpaper) 2021-06-09 01:25:00 +02:00
1131da55ce fix(flameshot): configurate with nix 2021-06-07 15:34:26 +02:00
f5882d1577 fix(spotifyd): config type 2021-06-07 11:04:39 +02:00
39917e0bf6 feat(moodle-dl): reintegrate module in niveum 2021-06-06 13:15:01 +02:00
6727673dcf chore: update 2021-06-06 12:57:23 +02:00
2b2290841b fix: replace flameshot-once by regular flameshot 2021-06-06 08:08:40 +02:00
179b526214 chore: update much 2021-06-06 00:01:53 +02:00
8894fb2a27 fix: take stockholm from krebsco.de 2021-06-05 18:13:08 +02:00
ed97c13314 fix: flameshot-once 2021-06-05 17:45:18 +02:00
cd0874f093 chore: update 2021-06-05 17:44:54 +02:00
d67f501452 fix(libcoap): re-enable traadfri 2021-06-03 09:44:01 +02:00
118dcf3046 feat: add nixpkgs-mozilla via krops 2021-06-02 18:14:28 +02:00
7154c84cdc feat(pls): simplify info output 2021-06-02 18:14:28 +02:00
94f0299a75 chore: upgrade to 21.05 2021-06-02 08:57:18 +02:00
69354bbd3a feat: add nur via krops 2021-06-02 08:57:18 +02:00
e6b761da34 fix(devanagari): use nodejs version 2021-06-01 22:42:09 +02:00
724ac3aa99 fix(pls) 2021-06-01 22:12:45 +02:00
8880e6814c fix(meteo): curl -L 2021-06-01 19:43:29 +02:00
bee54c5f0b feat(wallpaper): set berlin 2021-06-01 19:05:53 +02:00
a5e1ef0a77 feat(weechat): ignore nick changes 2021-06-01 19:04:16 +02:00
8b1dc82eae feat: stream links 2021-05-31 21:54:57 +02:00
e830c87763 chore: update 2021-05-31 06:43:10 +02:00
6079c109f9 fix(makanek): use sqlite json to simplify dump script 2021-05-30 17:30:13 +02:00
d74b261897 fix(hedgedoc): use shortid for backup file name 2021-05-30 14:49:54 +02:00
fa192a3977 feat(hedgedoc): add backup script 2021-05-30 13:11:13 +02:00
fd38db79c0 fix(hedgedoc): reset state 2021-05-30 12:11:13 +02:00
06eda7cb6f feat(weechat): sasl for hackint and libera 2021-05-30 00:16:22 +02:00
543ea247ed feat(weechat): enable mouse 2021-05-30 00:16:22 +02:00
742018dab0 feat: latexrun 2021-05-27 10:06:04 +02:00
8a8a4aae67 feat(weechat): bye bye freenode @realrasengan 2021-05-25 21:20:23 +02:00
e521a82246 feat(scripts): remove IRC client from pls :( 2021-05-25 21:18:51 +02:00
78f490cdfb chore: update 2021-05-25 12:44:03 +02:00
b5905f886a feat(weechat): move #nixos-de to hacking #nixos 2021-05-23 08:57:38 +02:00
f1ce023eca feat(weechat): move #flipdot to libera 2021-05-22 22:50:23 +02:00
13793d3263 feat(wallpaper): dont center on berlin 2021-05-21 13:41:14 +02:00
99a8ecf876 fix(telegram-bots): set TLG bot time to 9:30
the server is set to PST/PDT (Irvine, California) so the new day begins at 9:00 CET/CEST
2021-05-21 10:01:13 +02:00
6a3add22ed feat(mpv-radio): use dmenu 2021-05-21 08:41:04 +02:00
83fb13d541 feat(telegram-bots): add bot for ancient greek word of the day 2021-05-21 08:25:03 +02:00
e34aecaa66 feat(weechat,matterbridge): add #krebs on hackint 2021-05-20 20:04:43 +02:00
000091f910 chore: update 2021-05-20 13:26:27 +02:00
c68895cbb8 feat(weechat): add libera and #fysi to it 2021-05-20 12:58:15 +02:00
295dfad33e feat(i3status-rust): add netdevice indicator 2021-05-18 21:02:45 +02:00
0f6d9bdc66 feat(makanek): install python that sshuttle can run 2021-05-18 20:16:58 +02:00
dcd7a9a4f6 feat(wifi): add AA 2021-05-18 18:45:12 +02:00
51ca66c383 feat: install recht 2021-05-17 07:09:24 +02:00
574fded6e2 fix(traadfri): living room id 2021-05-17 07:08:02 +02:00
bdb9220df6 feat: scanned script 2021-05-13 21:57:03 +02:00
aac96c00bf feat(pulseaudio): add bluetooth module 2021-05-10 09:23:09 +02:00
97e61f6eb1 feat(i3status-rust): remove incidence block 2021-05-10 06:01:47 +02:00
3cb211c682 feat(wifi): add fritzbox 2021-05-07 19:30:33 +02:00
a133f2bb3d feat: install pdfpc 2021-05-05 14:39:00 +02:00
7b617aecd8 feat(i3status-rust): update incidence rate hourly to not lag behind 2021-05-05 10:57:16 +02:00
9f38cc3850 fix(engiadina): dont delete CDN on boot 2021-05-05 09:25:48 +02:00
e62e28ffb1 fix: import nixpkgs-unstable correctly 2021-05-04 17:30:16 +02:00
d3b2ce8277 feat(version): simplify code 2021-05-04 12:20:02 +02:00
30b4c6354f feat(weechat): ##myengadin -> #fysi 2021-05-04 12:19:49 +02:00
7c88a16a32 feat(wallpaper): use berlin-centered wallpaper map 2021-05-04 10:29:25 +02:00
60dc5a9629 feat: provide a unified parallel interface to niveum- scripts 2021-05-04 09:55:10 +02:00
29da1f50cf fix(weechat): use correct nixpkgs-unstable 2021-05-04 09:30:49 +02:00
14cc0ac6aa chore: update 2021-05-04 07:41:21 +02:00
80e91d1685 chore: add nixpkgs-unstable as krops source 2021-05-03 15:06:29 +02:00
c17b611af5 chore(nixpkgs-unstable): update 2021-05-03 14:13:20 +02:00
c85b73a874 feat(i3status-rust): round down incidence since thats what counts 2021-05-03 06:40:06 +02:00
ff49bb95a7 feat(i3status-rust): incidence with region name 2021-05-03 06:08:22 +02:00
3a21680812 feat: 256color + countdown + pdf-ocr.sh 2021-05-02 18:56:41 +02:00
4f962778b7 feat(worldradio): comment 2021-05-02 18:55:54 +02:00
4006c36f9b feat(wallpaper): add stars 2021-05-02 18:55:29 +02:00
eb521b2e0e fix(candyman): allow multiple arguments 2021-05-02 18:50:32 +02:00
f178daaffd feat(i3status-rust): incidence 2021-05-02 18:50:10 +02:00
f23e644417 feat(moodle-dl): dont send errors 2021-05-02 18:49:24 +02:00
0f432025ad feat(niveum-deploy): only deploy clean working directories
this makes niveum-version always display accurate information
2021-04-28 16:10:50 +02:00
7f009cfd08 feat: menu-calc (also for i3), nix-index 2021-04-27 21:56:44 +02:00
94cdfa3ea3 chore: update 2021-04-26 12:03:37 +02:00
e75348e1cb feat(scripts): depend on iconv package 2021-04-26 11:20:34 +02:00
e13e421b75 feat(ssh): add fysi machines 2021-04-21 11:56:59 +02:00
a3fa195089 feat(weechat): filter sars-cov 2021-04-21 11:51:52 +02:00
35192198a7 feat(wifi): readd o2-WLAN66 2021-04-21 11:51:38 +02:00
b93f4a49e0 fix(engiadina): dont delete cdn directory 2021-04-19 20:02:10 +02:00
9a4b9946cb chore: update 2021-04-17 10:07:51 +02:00
9955d05152 feat(manakish): prompt color green, automatically set xrandr and pulseaudio profiles 2021-04-17 10:07:42 +02:00
141d5db610 fix(khal): fix date/time formats 2021-04-17 09:26:48 +02:00
a4edbfd29d feat(seafile): no onw need seafile-shared 2021-04-13 15:09:19 +02:00
6f7d5eadbf feat(moodle-dl): more courses 2021-04-13 15:09:05 +02:00
1d6d8f8249 feat(khal): add todoman, standardize datetime formats 2021-04-12 18:18:28 +02:00
901ab8d6b0 feat(moodle-dl): more courses 2021-04-12 18:17:45 +02:00
5249d6ab0d feat(moodle-dl): more courses 2021-04-12 11:10:31 +02:00
9a00809a2d feat(mail): run muchsync even when mbsync fails 2021-04-12 11:01:34 +02:00
376a2e115c fix(seafile): start in bg 2021-04-12 08:03:29 +02:00
aac1a2e813 feat(moodle-dl): more courses 2021-04-10 21:32:29 +02:00
28ef523c82 feat(streams): comment 2021-04-10 14:33:17 +02:00
c672260930 feat(moodle-dl): init for borsfaye 2021-04-10 14:33:06 +02:00
5cc34626e1 feat(moodle-dl): more courses 2021-04-10 13:37:53 +02:00
9f1f73ad21 chore: update 2021-04-09 20:49:13 +02:00
5fdb612033 feat(moodle-dl): add first ss21 courses 2021-04-09 15:45:50 +02:00
508bc908ce fix(hu-berlin): make cifs mounts depend on openvpn instead of fortinet 2021-04-09 08:21:47 +02:00
4cba5a0b8a feat: friendship ended with todo.txt 2021-04-08 20:00:54 +02:00
71b5a8cb24 feat: ncmpcpp-zaatar 2021-04-08 19:52:37 +02:00
200bff8386 feat: ncpamixer 2021-04-08 19:49:57 +02:00
79fd340f82 feat(mpd-fm): remove http streaming, not using it since mpv-radio 2021-04-08 19:25:37 +02:00
69ed97a4ab feat(mpd-fm): open mpd port to local network, removing the need for a password 2021-04-08 19:25:05 +02:00
ebbbb537c3 feat(streams): comment 2021-04-08 12:01:30 +02:00
556255ac8b feat(mpd-fm): add streams as playlist for use with MPD clients 2021-04-08 11:59:53 +02:00
6516c5c9b7 feat(mpd-fm): allow network access with password 2021-04-08 11:59:30 +02:00
b5d32d3962 feat(khard): sync all calendars, dont deduce calendar from birthdays 2021-04-08 11:58:25 +02:00
766874a226 feat: khard, vdirsyncer service 2021-04-07 22:55:42 +02:00
2e9386a6c2 fix(hu-berlin): disable fortinet vpn
it was messing up my dns every time i woke up from suspend
2021-04-07 22:38:45 +02:00
9af10ecf46 feat: calcurse -> khal 2021-04-07 20:43:19 +02:00
bd200b655d feat(scripts): meteo 2021-04-07 09:45:36 +02:00
4adf8fea0a feat: use pkgs.formats for everything 2021-04-07 09:37:57 +02:00
0f0b5658be feat(seafile): declaratively configure 2021-04-07 09:19:00 +02:00
4f8f3751f4 feat(weechat): add ##fysitech 2021-04-06 16:56:31 +02:00
5b76c1439f feat(i3status-rust): autolocate weather block 2021-04-05 10:08:01 +02:00
3e684ae24a fix(moodle-dl): match syncthing with new moodle-dl user 2021-04-05 09:55:05 +02:00
83afa6174a chore: update 2021-04-05 09:54:53 +02:00
0d483bfc0c feat: enable xdg 2021-04-05 08:33:11 +02:00
dea9c3f0ed feat: glow 2021-04-05 08:32:31 +02:00
f8b452901f feat: openweathermap tool and i3status block 2021-04-05 08:32:14 +02:00
80143fee87 feat(mpd-fm): run on pulseaudio 2021-04-03 15:02:01 +02:00
834e5d9ef3 chore(moodle-dl): update module 2021-04-03 15:02:01 +02:00
121d5e242f feat(matterbridge): strip markdown from messages to IRC 2021-04-01 20:15:07 +02:00
b9748964d0 feat(weechat): add flix 2021-04-01 20:14:48 +02:00
4ab7d0d92e feat(scripts): mpv-radio 2021-04-01 11:00:28 +02:00
08ada6b818 feat: add engiadina development server 2021-03-30 23:20:21 +02:00
a128813990 feat(moodle-dl): use module and package from nixpkgs fork 2021-03-30 23:20:02 +02:00
5eaee95ba1 feat: update krops and ease toum deployment 2021-03-30 23:18:56 +02:00
5eba5b84f1 feat(urlwatch): indogermanistik 2021-03-30 12:25:12 +02:00
2a8495a92c chore: update 2021-03-28 19:51:36 +02:00
5e62f0363d fix(scripts): +x rfc 2021-03-24 20:26:38 +01:00
1c8c210f06 feat(weechat): less colors 2021-03-24 20:26:23 +01:00
48ce381be0 fix(spotifyd): run correctly with systemWide pulseaudio 2021-03-24 20:26:05 +01:00
777f24e37e feat(pulseaudio): use nixos module for network sink, publish via zeroconf 2021-03-24 20:25:48 +01:00
78a50e9ae3 feat(weechat): more colors 2021-03-23 21:00:48 +01:00
b8967c8e5c feat: tmpfiles.d helper function 2021-03-23 21:00:30 +01:00
e3f3e4045a feat(pulseaudio): sink zaatar 2021-03-23 20:28:08 +01:00
08ce7749b5 fix(i3status-rust): use correct week number (week number of year) 2021-03-23 19:39:08 +01:00
d7adefc289 feat(wifi): add OF 2021-03-23 19:38:48 +01:00
7472eb5028 fix(weechat): only use kmein as nick 2021-03-23 19:38:37 +01:00
f85a8d2737 feat(streams): add more candidates 2021-03-23 19:38:21 +01:00
9724cdda54 feat: install more utils 2021-03-23 19:38:21 +01:00
6727df461d chore: update 2021-03-19 16:57:49 +01:00
0f11a9398f feat(i3): sans serif, cyan for focus 2021-03-17 17:22:14 +01:00
db07d68a60 feat(chromium): goodbye lastpass, hello bitwarden 2021-03-17 09:55:46 +01:00
f4c8094ad8 fix(praesenzlehre): dont get stuck on digit separators like 1,200 2021-03-16 11:27:31 +01:00
04247c6ca1 chore(nextcloud): update to 21 2021-03-16 11:27:05 +01:00
d99399009c feat(.bin): brockman cli 2021-03-15 08:45:00 +01:00
19c1f7c50d feat(streams): add more radio stations 2021-03-12 13:52:18 +01:00
a983ce13f8 feat(streams): add more radio stations 2021-03-11 19:10:01 +01:00
b6fa1fc274 chore: update 2021-03-11 19:09:48 +01:00
68e60b93ff feat(scripts): pimp rfc script 2021-03-11 10:26:19 +01:00
3aabeea2c3 chore: import lieferando script 2021-03-11 09:37:38 +01:00
74c6fcd3a5 feat: add worldradio script to manakish and wilde 2021-03-11 09:35:22 +01:00
392ef95c4f feat(wallpaper): use krebs wallpaper 2021-03-11 09:35:02 +01:00
5869807936 feat(scripts): unicodmenu 2021-03-06 22:24:02 +01:00
e2a0ba3eed feat(fonts): change to roboto to support more characters 2021-03-05 10:42:48 +01:00
25c6f97693 chore: update 2021-03-05 10:42:48 +01:00
12698d9f48 feat(scripts): mail-reply, much-current-query 2021-03-03 19:03:59 +01:00
5dccdfee83 chore: add .bin scripts 2021-03-03 17:23:53 +01:00
8420a2435d feat(scripts): enhance pls script 2021-03-03 17:22:26 +01:00
ed732b3a65 feat(matterbridge): disable for ##myengadin 2021-03-03 12:02:01 +01:00
cbb676bf00 chore: organize battery, steam and praesenzlehre into imports 2021-02-28 08:01:51 +01:00
74b102e55e chore: update 2021-02-27 21:31:52 +01:00
c14f5925e2 feat(manakish): steam 2021-02-27 21:31:46 +01:00
9a7b6b020a fix(makanek): run praesenzlehre daily 2021-02-27 17:51:59 +01:00
68338c2791 feat(urlwatch): watch hu semester to notify when new catalogue comes out 2021-02-24 17:58:01 +01:00
e74f9b6bd0 fix(praesenzlehre): run less frequently 2021-02-23 20:53:01 +01:00
a17201c28d fix(mail): run muchsync from master, sync to wilde and manakish 2021-02-23 20:52:39 +01:00
2a94899db5 chore: update 2021-02-23 20:51:02 +01:00
bae1cb485c chore: update 2021-02-20 19:01:47 +01:00
7f6e00a309 fix(wilde): dont disable docker 2021-02-20 18:18:16 +01:00
2a5ea9700b feat(makanek): upgrade praesenzlehre to timer 2021-02-20 18:18:16 +01:00
8b5bfd236d feat(makanek): run praesenzlehre-berlin.de liveticker 2021-02-18 13:50:13 +01:00
8302b1d9fb feat(weechat): new channels 2021-02-18 13:49:00 +01:00
8f66163c39 fix(urlwatch): move from makanek to zaatar because tellonym is blocked there 2021-02-16 12:57:21 +01:00
7ad02f75a9 feat(weechat): oper on news.r, filter experts more expertly 2021-02-15 21:47:43 +01:00
2f3d4fb3b1 feat(urlwatch): tellonym 2021-02-15 21:47:43 +01:00
005da63416 feat(weechat): ignore more greek variant spellings 2021-02-14 22:47:00 +01:00
beaf6c81e4 feat(weechat): ignore infections 2021-02-14 20:31:06 +01:00
7c67d3f88a feat(radio): handle POST for skipping meddl 2021-02-14 18:49:20 +01:00
0d20cded25 feat(weechat): never listen to "experts" 2021-02-14 11:22:30 +01:00
6c1e8368a1 fix(radio): dont fail when cropping playlist non possible pre-start 2021-02-14 11:21:56 +01:00
ac1a7ac37e feat(scripts): infschmv 2021-02-14 11:21:30 +01:00
85a6001b53 fix(matterbridge): change nick delimiter
this prevents mumble from interpreting the nick as an html tag
2021-02-14 11:21:14 +01:00
4e107f3df7 chore: update 2021-02-14 11:20:32 +01:00
37880ae746 feat(weechat): enable relay for android, improve covid filter 2021-02-09 20:56:32 +01:00
155722a8cd fix(matterbridge): ping nick 2021-02-09 10:06:03 +01:00
73d71498c7 fix(matterbridge): change nick delimiter
this enables weechat colorize_nicks support
2021-02-08 13:07:54 +01:00
e9b5c2623d fix(mpv): dont force window, change swallowing alias to smpv 2021-02-08 13:06:42 +01:00
ddc4ca0db4 feat(weechat): add channels, freenode via ssl 2021-02-08 08:16:52 +01:00
8fbaed35f8 feat(scripts): add google translate script 2021-02-08 08:16:04 +01:00
87042f5409 feat(mpd-fm): rename config file 2021-02-07 22:04:41 +01:00
a9b1a03af1 feat(weechat): install colorize_nicks and autosort scripts 2021-02-07 22:03:24 +01:00
010d620b76 feat(mail): server settings in variables 2021-02-07 22:00:32 +01:00
18033c0e54 chore: home-manager from nix-community 2021-02-07 18:45:01 +01:00
5cdf3637a5 feat(weechat): add flipdot to freenode 2021-02-07 18:22:22 +01:00
9192fa458b feat(mail): split into fetcher and client machines 2021-02-07 16:08:11 +01:00
40472e2ff8 feat(flix): add simpsons script 2021-02-06 14:24:50 +01:00
a592947bbf fix(weechat): move bouncer from toum to makanek and make stateless 2021-02-06 14:24:50 +01:00
444336cd19 fix(telegram-bots): move from toum to makanek 2021-02-06 11:54:06 +01:00
6ef578d644 feat(hu-berlin): update vpn certs and make vpns contradict each other 2021-02-06 11:17:13 +01:00
8e19069d4c chore: move kierán.de streams 2021-02-04 18:40:22 +01:00
42df0dc7df feat: add dictionary scripts 2021-02-04 18:40:11 +01:00
d6c10df13e feat(radio): add status page for lyrik 2021-02-04 15:19:16 +01:00
8cbbb4b50d feat(radio): serve html of current song 2021-02-03 11:13:31 +01:00
bc23d7ac24 feat: clean up radio streams 2021-02-02 09:23:42 +01:00
40f31fa316 feat: add more radio streams 2021-02-02 09:08:49 +01:00
f73d8725c4 feat(power-action): suspend <= 7 % 2021-02-02 09:08:29 +01:00
97fc0f82bf feat: add more radio streams 2021-02-01 23:22:41 +01:00
ef3d6c4eaf fix(toum): disable hass 2021-02-01 14:44:26 +01:00
c6d7dbe787 chore: update 2021-02-01 14:44:13 +01:00
b9149c8d9a chore: meddl -> radio 2021-01-31 13:55:41 +01:00
36502ecfd8 feat: lyrikline and lyrik (from youtube) stream 2021-01-31 13:54:52 +01:00
43fd4bbf19 feat: stream meddl to radio.kierán.de 2021-01-31 10:08:09 +01:00
37e851cc50 feat(zaatar): add wake news 2021-01-30 20:25:57 +01:00
018f79f88d feat(makanek): host drachenlord radio and stream from zaatar
the streaming links from antenne-asb.ga serve OGG but they say they
serve MP3. so mpd gets confused.
therefore regularly fetches song urls from antenne-asb.ga, queues, and
broadcasts them.
2021-01-30 20:24:43 +01:00
6843ac90b5 feat(pls): notify in irc channel 2021-01-27 09:56:46 +01:00
afb69bf334 feat(zaatar): add kiosk for controlling the radio 2021-01-27 09:19:21 +01:00
ea57f539b0 feat(zaatar): stream mpd via http, proxy control panel and stream via nginx 2021-01-27 09:13:29 +01:00
3d10ac09ab fix(streams): orthography 2021-01-27 08:21:12 +01:00
38f088d9e5 feat(zaatar): clean up mpd 2021-01-27 00:03:32 +01:00
422f2b8676 feat(zaatar): mpd.fm 2021-01-26 23:05:19 +01:00
7c1ca72a29 feat(zaatar): no need for ncmpcpp when using mpd-fm 2021-01-26 23:04:22 +01:00
f171284b71 feat: script for handling lassulus radio 2021-01-26 23:01:31 +01:00
ca50ba931a fix: use stable nix to avoid ETag error 2021-01-26 23:00:16 +01:00
63ad607d46 feat: power-action to suspend on low battery 2021-01-26 22:59:57 +01:00
e553f1bcda feat(zaatar): remove kiosk, use windows instead of panes on music tmux 2021-01-25 18:39:06 +01:00
8923f7a2c9 chore: update 2021-01-25 18:38:29 +01:00
07024df1c9 feat(zaatar): add worldradio 2021-01-23 17:12:08 +01:00
cb9bcf2d1d feat(playlists): caster-fm shortcut 2021-01-23 17:11:33 +01:00
7aeda72026 feat(playlists): add antenne asb 2021-01-23 14:05:58 +01:00
95c93cc565 feat(traadfri): add desk 2021-01-21 09:58:51 +01:00
c9979de250 feat(zaatar): run audio control tmux session 2021-01-20 07:53:46 +01:00
7889d56b99 feat(i3): add @lassulus kaomoji to emoji menu 2021-01-20 07:53:46 +01:00
03be9636ad fix: disable dpms and blanking 2021-01-20 07:53:46 +01:00
5d36ed4cd6 fix: disable nextcloud client 2021-01-20 07:53:46 +01:00
c33446aee3 chore: update 2021-01-20 07:53:46 +01:00
fe7744bedb feat: pup 2021-01-20 07:53:46 +01:00
9673e9d3e8 feat(haskell): ormolu 2021-01-15 18:37:37 +01:00
5175f3f819 feat: use newest zoom-us 2021-01-15 14:09:06 +01:00
5923f3341a fix(nextcloud): force ssl, otherwise the acme challenge wont work 2021-01-15 14:08:45 +01:00
901cf6f711 fix: codimd -> hedgedoc 2021-01-15 10:05:12 +01:00
859e536159 chore: update (remove firefox temporarily) 2021-01-13 10:07:14 +01:00
4ea18d0152 feat(wifi): update filli 2021-01-06 22:09:39 +01:00
c7c7017070 fix(much): arrow keys 2021-01-06 22:09:29 +01:00
7c80f160db fix(retiolum): dont reload on change 2021-01-01 11:58:16 +01:00
6fce803c70 chore: update 2021-01-01 11:55:05 +01:00
a6bff424b0 feat(nix): enable flakes 2021-01-01 02:48:37 +01:00
d61b17c656 Revert "feat(matterbridge): add nixos-rc3 bridge"
This reverts commit 9c1bf37d50c481ffbbe252da7ee1cf2ed3620628.
2021-01-01 02:46:30 +01:00
cbdf8ef038 feat(wifi): add vodafone-8012 2021-01-01 02:46:30 +01:00
876dbe785b feat(mime): set pcmanfm as file manager, and libreoffice as office 2021-01-01 02:46:30 +01:00
fb4a14a6bf feat(matterbridge): add nixos-rc3 bridge 2021-01-01 02:46:30 +01:00
02977ea936 feat: replace xournal by &++ 2021-01-01 02:46:30 +01:00
dcca34d5c1 feat(hu-berlin): hu-ip script 2021-01-01 02:46:30 +01:00
8bd8ec611f fix(htop): dont show threads 2020-12-22 09:29:13 +01:00
96a67a937e feat(retiolum): update tinc module to add hosts declaratively 2020-12-21 14:49:45 +01:00
fb85c29651 fix(retiolum): depend on palos retiolum again 2020-12-20 19:45:36 +01:00
3344af5339 feat: pcmanfm instead of nautilus 2020-12-20 19:22:15 +01:00
fdfd8a687f feat(neovim): add vim as wrapper, so that ghci can find it 2020-12-20 19:21:44 +01:00
e804da180d chore: update 2020-12-20 19:21:18 +01:00
2af8e1aa86 fix(spotifyd): always restart 2020-12-20 19:21:09 +01:00
10224de58a feat(hu-berlin): add network filesystems 2020-12-18 10:27:34 +01:00
2bf095c553 feat(tinc): reaload if changed (stolen from @Mic92) 2020-12-16 22:25:27 +01:00
a7d994abe7 feat: devanagari script 2020-12-16 22:25:04 +01:00
680997fb12 feat(i3): change klem to Meta+F12 2020-12-16 22:24:50 +01:00
a2d1ab6f53 feat(wallpaper): use lassulus worldmap with astronomy 2020-12-16 22:24:32 +01:00
52761a13e2 feat(wallpaper): use lassulus worldmap 2020-12-15 17:28:41 +01:00
98f7de9680 fix(mpv): only watch best quality 2020-12-14 07:45:08 +01:00
72f04f9391 feat: disable xautolock, lock only manually 2020-12-13 20:08:26 +01:00
10ad21a39c chore: update 2020-12-13 09:40:58 +01:00
322 changed files with 16925 additions and 4311 deletions

38
.bin/256color Executable file
View File

@@ -0,0 +1,38 @@
#! /bin/sh
set -euf
pl() {
for i in $(seq $1 $(expr $2 - 1)); do
printf '\e[38;5;%sm%03i\e[m ' $i $i
done
printf '\e[38;5;%sm%03i\e[m\n' $2 $2
}
p() {
printf '\e[38;5;%sm%03i\e[m ' $1 $1
}
pn() {
printf '\e[38;5;%sm%03i\e[m\n' $1 $1
}
p6x6() {
for i in $(seq 0 5); do
for j in $(seq 0 5); do
p $(expr $1 + $i + $j \* 6)
done
echo
done
}
pl 0 7
pl 8 15
p6x6 16
p6x6 52
p6x6 88
p6x6 124
p6x6 160
p6x6 196
pl 232 243
pl 244 255

29
.bin/anki-poem.sh Executable file
View File

@@ -0,0 +1,29 @@
#!/bin/sh
file="${1?please supply a poetry file}"
[ -f "$file" ] || {
echo "'$file' is no file"
exit 1
}
poem="$(mktemp)"
clean () {
rm "$poem"
}
trap clean EXIT
sed '/^$/d' "$file" > "$poem"
htmlize() {
awk 'ORS="<br/>"' \
| head -c -5 # remove final <br/> characters
}
for line_number in $(seq 1 "$(wc -l "$poem" | cut -d' ' -f1)"); do
if [ "$line_number" -gt 3 ] && [ "$line_number" -gt 1 ]; then
sed -n "$((line_number - 3)),$((line_number - 1))p" "$poem"
else
sed -n "1,$((line_number - 1))p" "$poem"
fi | htmlize
printf '\t'
sed -n "${line_number},+1p" "$poem" | htmlize
printf '\n'
done

24
.bin/browser Executable file
View File

@@ -0,0 +1,24 @@
#!/bin/sh -e
#
# Usage: browser
# pipe html to a browser
# e.g.
# $ echo '<h1>hi mom!</h1>' | browser
# $ ron -5 man/rip.5.ron | browser
if [ -t 0 ]; then
if [ -n "$1" ]; then
open $1
else
cat <<usage
Usage: browser
pipe html to a browser
$ echo '<h1>hi mom!</h1>' | browser
$ ron -5 man/rip.5.ron | browser
usage
fi
else
f="/tmp/browser.$RANDOM.html"
cat /dev/stdin > $f
xdg-open $f
fi

46
.bin/bvg.sh Executable file
View File

@@ -0,0 +1,46 @@
#!/bin/sh
interesting="U6 N6 140 M46 184 N84"
curl -sSL 'https://www.bvg.de/disruption-reports/q' \
--data-raw '{"variables":{},"query":"{
allDisruptions {
disruptions {
meldungsId
linie
verkehrsmittel
__typename
... on Traffic {
datum
gueltigVonDatum
gueltigVonZeit
gueltigBisDatum
gueltigBisZeit
richtungName
richtungHafasId
beginnAbschnittName
beginnAbschnittHafasId
endeAbschnittName
endeAbschnittHafasId
textIntUrsache
sev
textIntAuswirkung
umfahrung
textWAPSMSUrsache
textWAPSMSAuswirkung
prioritaet
__typename
}
}
__typename
}
}"}' \
| jq --arg interesting "$interesting" '
.data.allDisruptions.disruptions
| map(select(
(.linie as $linie
| $interesting
| split(" ")
| index($linie))
and (.["__typename"] == "Traffic")
))
'

19
.bin/calendars.sh Executable file
View File

@@ -0,0 +1,19 @@
#!/bin/sh
directory="$(mktemp -d)"
trap clean EXIT
clean() {
rm -rf "$directory"
}
year=$(date +%Y)
output=/tmp/$year.pdf
for month in $(seq 1 12); do
printf "\r%d" "$month" 1>&2
astrolog -zN Berlin -qm "$month" "$year" -X -K -XA -Xr -Xm -Xb -Xo "$(printf "%s/%02d.bmp" "$directory" "$month")" -Xw 1080 720 2>/dev/null
done
printf "\r"
convert "$directory/*.bmp" "$output"
echo "$output"

25
.bin/candyman Executable file
View File

@@ -0,0 +1,25 @@
#!/bin/sh
set -efu
usage() {
echo >&2 "$0 add-{reddit,telegram,youtube,twitch,twitter} NAME"
exit 1
}
candyman() {
curl -fsSv http://news.r/api -H content-type:application/json -d "$(jq -n "
{
command: \"PRIVMSG\",
params: [\"#all\", \"candyman: $1 $2\"]
}
")"
}
[ $# -ge 2 ] || usage
case "$1" in
add-reddit|add-telegram|add-youtube|add-twitter|add-twitch)
candyman "$@"
;;
*) usage;;
esac

13
.bin/countdown Executable file
View File

@@ -0,0 +1,13 @@
#!/usr/bin/env -S awk -f
function z() {
getline < "/proc/uptime"
close("/proc/uptime")
return $0
}
BEGIN {
x = z()
while (1) {
y = z()
printf "%02d:%05.2f\r", (y - x) / 60, (y - x) % 60
}
}

14
.bin/csv2json Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env python3
import csv
import json
import sys
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--delimiter", "-d", default=",", help="CSV field separator")
args = parser.parse_args()
if __name__ == "__main__":
json.dump(list(csv.DictReader(sys.stdin, delimiter=args.delimiter)), sys.stdout)

43
.bin/dummy-alert Executable file
View File

@@ -0,0 +1,43 @@
#!/bin/bash
name=$RANDOM
url='http://localhost:9093/api/v1/alerts'
echo "firing up alert $name"
# change url o
curl -XPOST $url -d "[{
\"status\": \"firing\",
\"labels\": {
\"alertname\": \"$name\",
\"service\": \"my-service\",
\"severity\":\"warning\",
\"instance\": \"$name.example.net\"
},
\"annotations\": {
\"summary\": \"High latency is high!\"
},
\"generatorURL\": \"http://prometheus.int.example.net/<generating_expression>\"
}]"
echo ""
echo "press enter to resolve alert"
read
echo "sending resolve"
curl -XPOST $url -d "[{
\"status\": \"resolved\",
\"labels\": {
\"alertname\": \"$name\",
\"service\": \"my-service\",
\"severity\":\"warning\",
\"instance\": \"$name.example.net\"
},
\"annotations\": {
\"summary\": \"High latency is high!\"
},
\"generatorURL\": \"http://prometheus.int.example.net/<generating_expression>\"
}]"
echo ""

7
.bin/elm-publish-private Executable file
View File

@@ -0,0 +1,7 @@
#! /usr/bin/env nix-shell
#! nix-shell -p "(import <nixpkgs> { overlays = [ (import ~/work/fysiweb/engiadina-pwa/devops/pkgs) ]; }).elm-publish-private"
#! nix-shell -i bash
set -efux
exec elm-publish-private "$@"

34
.bin/horoscope.sh Normal file
View File

@@ -0,0 +1,34 @@
#!/bin/sh
set -efu
# Berlin: -d lodeg=13 -d lomin=22 -d losec=41 -d lodir=E -d ladeg=52 -d lamin=27 -d lasec=42 -d ladir=N -d usecoords=1 \
# Kassel: -d lodeg=9 -d lomin=32 -d losec=5 -d lodir=E -d ladeg=51 -d lamin=18 -d lasec=17 -d ladir=N -d usecoords=1 \
[ $# -eq 1 ] || {
echo >&2 Usage: "$0" TIMESTAMP
exit 1
}
export TZ=UTC
chart_path="$(mktemp /tmp/chart_XXX.pdf)"
timestamp="$1"
year="$(date -d "@$timestamp" +%Y)"
month="$(date -d "@$timestamp" +%m)"
day="$(date -d "@$timestamp" +%d)"
hour="$(date -d "@$timestamp" +%H)"
minute="$(date -d "@$timestamp" +%M)"
curl -sSL 'https://edifyingfellowship.org/astro/' \
-d lodeg=9 -d lomin=32 -d losec=5 -d lodir=E -d ladeg=51 -d lamin=18 -d lasec=17 -d ladir=N -d usecoords=1 \
-d ybyr="$year" -d ybmo="$month" -d ybdy="$day" -d ybhr="$hour" -d ybmi="$minute" -d ybsc=0 -d ybtz="$TZ" \
-d currenttime=0 \
-d title="$timestamp" \
-d options[]=VancouverWheel -d options[]=Arrow -d options[]=XBold -d options[]=HouseLabels -d options[]=Placidus \
-d options[]=Sun -d options[]=Moon -d options[]=Mercury -d options[]=Venus -d options[]=Mars -d options[]=Jupiter -d options[]=Saturn -d options[]=Uranus -d options[]=Neptune -d options[]=Pluto -d options[]=Ascendant -d options[]=MC -d options[]=Lilith -d options[]=MeanNode -d options[]=TrueNode \
-d aspectpct=100 -d format=PDF -d Submit= -o "$chart_path"
zathura "$chart_path"

24
.bin/json2csv Executable file
View File

@@ -0,0 +1,24 @@
#!/usr/bin/env python3
import csv
import json
import sys
if __name__ == "__main__":
json_list = json.load(sys.stdin)
if not isinstance(json_list, list):
print("JSON object is not a list.", file=sys.stderr)
sys.exit(1)
if len(json_list) == 0:
print("JSON list is empty.", file=sys.stderr)
sys.exit(1)
keys = set()
for element in json_list:
if isinstance(element, dict):
keys |= element.keys()
else:
print("Non-dict element:", element, file=sys.stderr)
sys.exit(1)
writer = csv.DictWriter(sys.stdout, fieldnames=list(keys))
writer.writeheader()
for element in json_list:
writer.writerow(element)

5
.bin/json2csv.jq Executable file
View File

@@ -0,0 +1,5 @@
#!/usr/bin/env -S jq -r -f
(map(keys) | add | unique) as $cols
| map(. as $row | $cols | map($row[.])) as $rows
| $cols, $rows[]
| @csv

15
.bin/libib.sh Executable file
View File

@@ -0,0 +1,15 @@
#!/usr/bin/env bash
session_id=7b638c194d9bda74f80043045018cc9e
declare -A libraries
libraries["Literatur"]=344428
libraries["Sprache"]=344160
libraries["Miscellanea"]=344427
libraries["Wissenschaft"]=344429
libraries["Relicta"]=565920
for library in ${!libraries[@]}
do
curl -sSL 'https://www.libib.com/library/functions/csv-export.php' -H "Cookie: PHPSESSID=$session_id" -d export="${libraries[$library]}" > "$library.csv"
done

81
.bin/lieferando.sh Normal file
View File

@@ -0,0 +1,81 @@
#!/bin/sh
set -efu
if echo "$1" | grep -Eq '[[:digit:]]{5}'; then
PLZ="$1"
else
echo >&2 "Usage: $0 PLZ"
exit 1
fi
lieferando_dir=/tmp/lieferando
mkdir -p "$lieferando_dir/$PLZ"
fetch_restaurants() {
cache_path="$lieferando_dir/$PLZ.json"
if [ -r "$cache_path" ]; then
cat "$cache_path"
else
w3m -dump_source "http://www.lieferando.de/$PLZ" \
| gunzip \
| sed -n '/var restaurants/,/];$/p' \
| sed 's/var restaurants =//;$s/;$//' \
| prettier --parser=json \
| jq '
map({
name: .[30] | .name,
category: .[30] |.categories | split(", "),
url: "http://lieferando.de\(.[30] | .url)",
minutes: .[19],
minimum: .[10],
delivery: .[14]
})' \
| tee "$cache_path"
fi
}
fetch_menu() {
[ $# -eq 1 ] || exit 1
slug="$(echo "$1" | sed 's!.*/!!')"
cache_path="$lieferando_dir/$PLZ/$slug.json"
if [ -r "$cache_path" ]; then
cat "$cache_path"
else
w3m -dump_source "$1" \
| gunzip \
| sed -n '/var MenucardProducts/,/\];/p' \
| sed 's/var MenucardProducts =//;s/;$//' \
| jq -r '
unique_by(.productId)
| group_by(.categoryId)
| flatten
' \
| tee "$cache_path"
fi
}
data="$(fetch_restaurants)"
# echo "$data" | jq -c '.[]' | while read -r restaurant; do
# fetch_menu "$(echo "$restaurant" | jq -r .url)"
# done
selected_categories="$(echo "$data" | jq -r 'map(.category) | flatten | unique | .[]' | fzf -m)"
selected_restaurant_url="$(echo "$selected_categories" | jq --argjson restaurants "$data" -sRr '
split("\n")[:-1] as $categories
| $restaurants[]
| select(.category - $categories != .category)
| "\(.name) [🚴\(.minutes)min 💰\(.minimum)€ + \(.delivery)€] (\(.url))"
' \
| fzf \
| sed 's/.*(//;s/)$//'
)"
fetch_menu "$selected_restaurant_url" \
| jq -r '.[] | "\(.price)\t\(.name)"' \
| fzf -m \
| awk '{print $0; sum += $1} END {print "-----"; print sum}'

17
.bin/lit.awk Normal file
View File

@@ -0,0 +1,17 @@
BEGIN {
if (!comment) comment = "--";
if (!begin) begin = "\\begin{code}";
if (!end) end = "\\end{code}";
}
{
if ($0 == begin) {
code = 1;
print comment, $0;
} else if ($0 == end) {
code = 0;
print comment, $0;
} else {
if (code) print $0;
else print comment, $0;
}
}

3
.bin/mail-current-part Executable file
View File

@@ -0,0 +1,3 @@
#! /bin/sh
set -efu
exec curl -fSs --unix-socket /tmp/much.api.sock http://localhost/current/part

View File

@@ -0,0 +1,27 @@
#! /bin/sh
# usage: mail-current-query-find-part-by-name NAME
set -efu
name=$1
query=$(mail-current-query)
result=$(notmuch show --entire-thread=false --format=json "$query")
part_id=$(printf %s "$result" | jq --arg name "$name" '
[
recurse |
select(type == "object") |
{ id, name: .filename } |
select(.id != null and .name != null)
] |
map(select(.name == $name))[0].id
')
if test "$part_id" = null; then
printf 'error: could not find part with name %s\n' \
"$name" \
>&2
exit 1
fi
exec notmuch show --part="$part_id" "$query"

View File

@@ -0,0 +1,39 @@
#! /bin/sh
# usage: mail-current-query-find-part-by-type TYPE
set -efu
type=$1
query=$(mail-current-query)
result=$(notmuch show --entire-thread=false --format=json "$query")
part_id=$(printf %s "$result" | jq --arg type "$type" '
#flatten|map(select(.!=null))[0].body[0] |
#
#if .["content-type"] == $type then
# .id
#elif .["content-type"] | test("^multipart/") then
# .content|map(select(.["content-type"]==$type))[0].id
#else
# null
#end
[
recurse |
select(type == "object") |
{ id, type: .["content-type"] } |
select(.id != null and .type != null)
] |
map(select(.type == $type))[0].id
')
if test "$part_id" = null; then
printf 'error: could not find part with type %s\n' \
"$type" \
>&2
exit 1
fi
exec notmuch show --part="$part_id" "$query"

1
.bin/mud.sh Executable file
View File

@@ -0,0 +1 @@
ssh mud@hotdog.r -t "MUD_NICKNAME=$LOGNAME mud"

23
.bin/pdf-ocr.sh Executable file
View File

@@ -0,0 +1,23 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p poppler_utils tesseract4
set -eu
pdf_path="$(realpath "$1")"
[ -f "$pdf_path" ] || {
echo "Usage: $0 FILE.pdf" >&2
exit 1
}
tmpdir="$(mktemp -d)"
trap 'rm -rf $tmpdir' EXIT
cd "$tmpdir"
pdftoppm -png "$pdf_path" pdf-ocr
for png in pdf-ocr*.png; do
tesseract "$png" "$png.txt" 2>/dev/null
done
cat pdf-ocr-*.txt

2
.bin/playlist_entries.sh Executable file
View File

@@ -0,0 +1,2 @@
#!/bin/sh
youtube-dl -ij "$*" | jq -sr '.[] | .webpage_url'

65
.bin/prospekte.sh Executable file
View File

@@ -0,0 +1,65 @@
#!/bin/sh
lidl() {
echo LIDL
curl -sSL 'https://endpoints.lidl-flyer.com/v3/region-overview/lidl/de-DE/0.json' \
| jq -r '
.categories
| map(select(.name == "Filial-Angebote") | .subcategories | map(.flyers))
| flatten
| flatten
| .[]
| .pdfUrl
'
}
aldi_nord() {
echo ALDI nord
echo 'https://magazine.aldi-nord.de/aldi-nord/aldi-aktuell/GetPDF.ashx'
echo 'https://magazine.aldi-nord.de/aldi-nord/aldi-vorschau/GetPDF.ashx'
}
rewe_berlin() {(
store_id=662366923
publisher_id=1062
echo REWE
curl -sSL 'https://www.bonialserviceswidget.de/de/stores/'$store_id'/brochures?storeId='$store_id'&publisherId='$publisher_id | while read -r brochure_id; do
curl -sSL 'https://www.bonialserviceswidget.de/de/v5/brochureDetails/'"$brochure_id"'?publisherId='$publisher_id | jq -r .pdfUrl
done
)}
kaufland() {(
region_code=8920
echo KAUFLAND
curl -sSL https://filiale.kaufland.de/prospekte.html | htmlq --attribute href '.flyer a' | grep -Eo 'DE_de_KDZ[^/]*' | sed "s/_3000_/_${region_code}_/" | while read -r flyer_id; do
curl -sSL "https://endpoints.leaflets.kaufland.com/v3/$flyer_id/flyer.json?regionCode=$region_code" | jq -r .flyer.pdfUrl
done
)}
netto_schwarz() {
echo 'NETTO (schwarz)'
curl -sSL 'https://squid-api.tjek.com/v2/catalogs?dealer_ids=90f2VL&order_by=created' \
| jq -r '.[] | .id' \
| while read -r flyer_id; do
curl -sSL "https://squid-api.tjek.com/v2/catalogs/$flyer_id/download" \
| jq -r .pdf_url
done
}
dir="$(mktemp -d)"
trap clean EXIT
clean() {
rm -rf "$dir"
}
prospekt_url="$( (
lidl
aldi_nord
rewe_berlin
kaufland
netto_schwarz
) | fzf)"
curl -sSL "$prospekt_url" -o "$dir/prospekt.pdf"
zathura "$dir/prospekt.pdf"

17
.bin/proxies.sh Normal file
View File

@@ -0,0 +1,17 @@
#!/bin/sh
curl -sSL https://www.netzwelt.de/proxy/index.html \
| pup ".tblc" \
| xml-to-json /dev/stdin \
| jq '
.div.table.tbody.tr
| map(
.td
| {
ip: .[0].a.value,
port: .[1],
country: .[2] | (if type == "string" then . else .a.value end),
security: .[3],
protocol: .[4]
}
)
'

4
.bin/readme Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/sh
curl -sSL "https://raw.githubusercontent.com/$*/master/README.md" \
| pandoc -f gfm -t man -s \
| man -l -

6
.bin/sample-pdf.sh Executable file
View File

@@ -0,0 +1,6 @@
#!/bin/sh
filepath="$(shuf --head-count=1)"
pages="$(pdfinfo "$filepath" | awk '/^Pages:/{print $2}')"
random_page="$(shuf --input-range="1-$pages" --head-count=1)"
zathura --page="$random_page" "$filepath"

16
.bin/screencap.sh Executable file
View File

@@ -0,0 +1,16 @@
#! /usr/bin/env nix-shell
#! nix-shell -i sh -p coreutils byzanz xorg.xwininfo gnused
# shellcheck shell=sh
# ref https://gist.github.com/aforemny/0994cb7f06ea30d56c8b9681ff5d2054
set -eux
eval "$(xwininfo | \
sed -n -e 's/^ \+Absolute upper-left X: \+\([0-9]\+\).*/x=\1/p' \
-e 's/^ \+Absolute upper-left Y: \+\([0-9]\+\).*/y=\1/p' \
-e 's/^ \+Width: \+\([0-9]\+\).*/w=\1/p' \
-e 's/^ \+Height: \+\([0-9]\+\).*/h=\1/p')"
trap "pkill -f 'sleep 360d'" INT
byzanz-record -e "sleep 360d" -c -x $x -y $y -w $w -h $h "$@"

49
.bin/space.py Normal file
View File

@@ -0,0 +1,49 @@
import ephem
from datetime import datetime, date, timedelta
now = datetime.now()
limit = now + timedelta(days=365)
def events_until(limit):
initial_date = ephem.Date(datetime.now())
events = {}
now = initial_date
while ephem.localtime(now) <= limit:
now = ephem.next_full_moon(now)
events[now] = "🌕"
now = initial_date
while ephem.localtime(now) <= limit:
now = ephem.next_new_moon(now)
events[now] = "🌑"
now = initial_date
while ephem.localtime(now) <= limit:
now = ephem.next_vernal_equinox(now)
events[now] = "spring equinox"
now = initial_date
while ephem.localtime(now) <= limit:
now = ephem.next_autumnal_equinox(now)
events[now] = "fall equinox"
now = initial_date
while ephem.localtime(now) <= limit:
now = ephem.next_winter_solstice(now)
events[now] = "winter solstice"
now = initial_date
while ephem.localtime(now) <= limit:
now = ephem.next_summer_solstice(now)
events[now] = "summer solstice"
return events
events = events_until(limit)
for date, event in sorted(events.items(), key=lambda x: x[0]):
if ephem.localtime(date) < limit:
print(ephem.localtime(date), event)

50
.bin/toposort.nix Normal file
View File

@@ -0,0 +1,50 @@
let
lib = import <nixpkgs/lib>;
in rec {
inherit lib;
input = [
{
x = ["pool" "zfs"];
y = ["mdadm" "raid1"];
}
{
x = ["pool" "zfs"];
y = ["disk" "sda"];
}
{
x = ["mdadm" "raid1"];
y = ["disk" "sdb"];
}
{
x = ["mdadm" "raid1"];
y = ["disk" "sdc"];
}
];
outNodes = node: graph:
lib.unique
(builtins.map (e: e.y)
(builtins.filter (v: v.x == node) graph));
vertices = graph:
lib.unique
(builtins.map (x: x.y) graph ++ builtins.map (x: x.x) graph);
deleteVertex = node: graph: (builtins.filter (v: v.x != node && v.y != node) graph);
findSink = graph:
lib.findFirst
(v: outNodes v graph == [])
(lib.trace graph (builtins.abort "No sink found"))
(vertices graph);
topSort = graph:
if graph == []
then []
else if builtins.length graph == 1
then let only = builtins.head graph; in [only.y only.x]
else let sink = findSink graph; in [sink] ++ topSort (deleteVertex sink graph);
output = topSort input;
}

18
.bin/ttrss-unread Executable file
View File

@@ -0,0 +1,18 @@
#/usr/bin/env -S deno run -A:q
set -x
session_cache="$HOME/.cache/tt-rss.session"
ttrss_endpoint=https://feed.kmein.de/api/
ttrss_user=k
ttrss_password=$(pass shared/tt-rss/password)
login() {
if [ -f "$session_cache" ]; then
session_id="$(cat "$session_cache")"
else
session_id="$(curl -d '{"op":"login","user":"'"$ttrss_user"'","password":"'"$ttrss_password"'"}' "$ttrss_endpoint" | jq -r .content.session_id)"
echo "$session_id" > "$session_cache"
fi
}
login
curl -d '{"sid":"'"$session_id"'","op":"getUnread"}' "$ttrss_endpoint" | jq .content

16
.bin/tuesday-1800 Executable file
View File

@@ -0,0 +1,16 @@
#!/bin/sh
set -efux
expected_max_results=1024 # the upper bound on the number of restaurants
radius=250
echo '[out:json];node(id:260050809)->.cbase;
(
node(around.cbase:'$radius')[amenity=fast_food];
node(around.cbase:'$radius')[amenity=restaurant];
);out;' \
| curl -sSL -d @- -X POST http://overpass-api.de/api/interpreter \
| jq --argjson random "$(shuf -i 0-$expected_max_results -n 1)" '
.elements
| length as $length
| .[$random % $length]
'

26
.bin/watson2fdf.sh Executable file
View File

@@ -0,0 +1,26 @@
project=Filli
year=2022
for month in Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec; do
from="$(date +%F -d "$month 1, $year")"
to="$(date +%F -d "$month 1, $year + 1 month")"
watson report --json --from "$from" --to "$to" --project "$project"
done | jq --slurp '
def in_array($arr):
. as $value | any($arr[]; . == $value);
map(
["engadin-app","fysiweb","val-muestair","mia-engiadina","ol"] as $official_projects
| (.timespan.from | .[0:7]) as $timespan
| .projects | .[0]
| .time as $total_time
| .tags
| select(. != null)
| map(select(.name | in_array($official_projects)))
| (map(.time)|add) as $official_time
| map({key:.name, value:.time}) | from_entries
| .other |= ($total_time - $official_time)
| map_values(. / (60*60) | ceil)
| .month |= $timespan
)
'

19
.github/workflows/flake.yml vendored Normal file
View File

@@ -0,0 +1,19 @@
name: Update flake.lock
on:
workflow_dispatch: # allows manual triggering
schedule:
- cron: '0 0 * * 0' # runs weekly on Sunday at 00:00
jobs:
lockfile:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install Nix
uses: cachix/install-nix-action@v16
with:
extra_nix_config: |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
- name: Update flake.lock
uses: DeterminateSystems/update-flake-lock@v3

14
.github/workflows/niveum.yml vendored Normal file
View File

@@ -0,0 +1,14 @@
name: CI
on:
push:
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
system: [makanek,manakish,kabsa,zaatar,ful]
steps:
- uses: actions/checkout@v2
- uses: cachix/install-nix-action@v16
- run: nix run .#build-${{matrix.system}}

1
.gitignore vendored
View File

@@ -3,3 +3,4 @@ result
.envrc
.history
.todo
node_modules

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "submodules/much"]
path = submodules/much
url = git@github.com:kmein/much

View File

@@ -1,10 +0,0 @@
{
"url": "https://github.com/rycee/home-manager.git",
"rev": "63f299b3347aea183fc5088e4d6c4a193b334a41",
"date": "2020-11-03T23:11:32+01:00",
"path": "/nix/store/8ivnh2bjbnyl3aisb83f9z18pgwsca4l-home-manager",
"sha256": "0iksjch94wfvyq0cgwv5wq52j0dc9cavm68wka3pahhdvjlxd3js",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
}

View File

@@ -1,10 +0,0 @@
{
"url": "https://cgit.krebsco.de/krops",
"rev": "55aa2c77ce8183f3d2b24f54efa33ab6a42e1e02",
"date": "2020-04-19T01:06:20+02:00",
"path": "/nix/store/08wg2yrcgkr6iwipjd6g0fbwb7gacqax-krops",
"sha256": "00rvx9h596ync8wgic6xc9srzajzm28wlp9q7mv4z0jsb27l5bj8",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
}

View File

@@ -1,7 +0,0 @@
{
"url": "https://github.com/NixOS/nixpkgs.git",
"rev": "0ead6f8cfd461c3a366c8bc9893037afd89f798d",
"date": "2020-10-27T18:30:26+01:00",
"sha256": "170kziw7bxfm4mwi8q5c2vdpayml0mini4zyxagbvbivivdj5hla",
"fetchSubmodules": false
}

View File

@@ -1,10 +0,0 @@
{
"url": "https://github.com/NixOS/nixpkgs.git",
"rev": "58f9c4c7d3a42c912362ca68577162e38ea8edfb",
"date": "2020-11-18T12:49:40-05:00",
"path": "/nix/store/nlnshfx9mp77cybwihjxmcw27jn42wsl-nixpkgs",
"sha256": "1517dy07jf4zhzknqbgm617lgjxsn7a6k1vgq61c67f6h55qs5ij",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
}

View File

@@ -1,10 +0,0 @@
{
"url": "https://github.com/krebs/retiolum",
"rev": "982ae5aa3ed51fc982e7e872d8131e6f7a96909f",
"date": "2020-11-16T18:02:12+01:00",
"path": "/nix/store/33sjdb90l2w80wjcqq2ihcb80x984rp2-retiolum",
"sha256": "0r9gzzjc1j0issqh4m1ynrk3xa7f44s22h4r0llp8qiiy5b5cxxp",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
}

View File

@@ -1,10 +0,0 @@
{
"url": "https://github.com/kmein/stockholm",
"rev": "f0325bef7954cb946674050847c6d52112cb658f",
"date": "2020-11-11T07:45:58+01:00",
"path": "/nix/store/lka6fhjfbwdx9bc7lk1bz4gizdv7nrbm-stockholm",
"sha256": "0gbw6n5yq36ysc30afa5d2dbsl2d46f73ms6f0rprdbr4nhdw8l2",
"fetchSubmodules": false,
"deepClone": false,
"leaveDotGit": false
}

10
README.md Normal file
View File

@@ -0,0 +1,10 @@
# niveum
> [nĭvĕus](https://logeion.uchicago.edu/niveus), a, um, adj. [nix], _of_ or _from snow, snowy, snow-_ (poet.)
>
> 1. Lit.: aggeribus niveis informis, Verg. G. 3, 354: aqua, _cooled with snow_, Mart. 12, 17, 6; cf. id. 14, 104 and 117: mons, _covered with snow_, Cat. 64, 240.—
>
> 2. Transf., _snow-white, snowy_ (mostly poet.): a similitudine sic: Corpore niveum candorem, aspectu igneum ardorem assequebatur, Auct. Her. 4, 33, 44: lacerti, Verg. A. 8, 387: lac, id. E. 2, 20: hanc si capite niveae agnae exorari judicas, Sen. Q. N. 2, 36: Briseis niveo colore, Hor. C. 2, 4, 3: vestis, Ov. M. 10, 432: candidior nivei folio, Galatea, ligustri, id. ib. 13, 789: dens, id. H. 18, 18: quā notam duxit niveus videri, Hor. C. 4, 2, 59: panis, Juv. 5, 70: flumen, _clear, pellucid_, Sen. Hippol. 504: undae, Mart. 7, 32, 11: tribuni, _clothed in white togas_, Calp. Ecl. 7, 29; so, Quirites, Juv. 10, 45.
## Pressestimmen
> das ist ja pure poesie —[xkey](https://github.com/riotbib)

99
ci.nix Normal file
View File

@@ -0,0 +1,99 @@
{
inputs,
system,
name,
}: let
nixpkgs = inputs.nixos-stable;
pkgs = nixpkgs.legacyPackages.${system};
ensureFiles = paths:
pkgs.runCommand "directory" {} ''
set -efu
mkdir $out
cd $out
${
nixpkgs.lib.concatMapStringsSep "\n" (path: ''
mkdir -p "$(dirname ${nixpkgs.lib.escapeShellArg path})"
echo foo > ${nixpkgs.lib.escapeShellArg path}
'')
paths
}
'';
nixPath = nixpkgs.lib.concatStringsSep ":" ([
"niveum=${toString ./.}"
"nixos-config=${toString ./.}/systems/${name}/configuration.nix"
"system-secrets=${systemSecrets}"
"secrets=${sharedSecrets}"
"nixpkgs=${
toString (
if name == "kabsa" || name == "manakish"
then inputs.nixos-unstable
else inputs.nixos-stable
)
}"
]
++ nixpkgs.lib.mapAttrsToList (name: value: "${name}=${value}") inputs);
# cd ~/.password-store/shared && find * -type f | sed 's/.gpg$//'
sharedSecrets = ensureFiles [
"di.fm/key"
"eduroam/identity"
"eduroam/password"
"github/notification.token"
"hass/token"
"mail/cock"
"mail/fastmail"
"mail/gmail/amroplay"
"mail/gmail/kieran.meinhardt"
"mail/meinhaki"
"mail/dslalewa"
"mail/fsklassp"
"mail/posteo"
"mega/password"
"nextcloud-fysi/password"
"nextcloud/password"
"openweathermap.key"
"restic/password"
"traadfri.key"
"miniflux/password"
"wifi/Aether.psk"
"spotify/username"
"spotify/password"
];
systemSecrets = let
basic = ["retiolum.ed25519" "retiolum.key" "syncthing/cert.pem" "syncthing/key.pem" "ssh/passphrase"];
in
{
zaatar = ensureFiles (["moodle.token" "telegram/moodle-dl.token" "mpd-web.key"] ++ basic);
kabsa = ensureFiles basic;
manakish = ensureFiles basic;
tahina = ensureFiles basic;
tabula = ensureFiles basic;
ful = ensureFiles (["root.password"] ++ basic);
makanek = ensureFiles ([
"grafana/admin"
"irc/retiolum"
"irc/hackint"
"irc/libera"
"irc/oftc"
"matrix/nibbana"
"maxmind/license.key"
"moodle-dl/faye.token"
"nextcloud/admin"
"nextcloud/database"
"telegram/nachtischsatan.token"
"telegram/reverse.token"
"telegram/odyssey.token"
"telegram/betacode.token"
"telegram/moodle-dl.token"
"telegram/proverb.token"
"telegram/menstruation.token"
"telegram/cool_village.token"
"telegram/kmein.token"
"telegram/krebs.token"
"telegram/prometheus.token"
"weechat/relay"
]
++ basic);
}
.${name};
in
toString (pkgs.writers.writeDash "build" "NIX_PATH=${nixPath} nix-build '<nixpkgs/nixos>' -A system --dry-run")

View File

@@ -1,46 +1,68 @@
{ pkgs, lib, config, ... }:
let
inherit (import <niveum/lib>) colours;
colourNames =
[ "black" "red" "green" "yellow" "blue" "magenta" "cyan" "white" ];
colourPairs = lib.getAttrs colourNames colours;
alacrittyConfig = {
background_opacity = 0.9;
colors = {
primary = { inherit (colours) background foreground; };
normal = lib.mapAttrs (_: colour: colour.dark) colourPairs;
bright = lib.mapAttrs (_: colour: colour.bright) colourPairs;
{
pkgs,
lib,
config,
...
}: let
alacritty-cfg = theme:
(pkgs.formats.yaml {}).generate "alacritty.yml" {
window.opacity = 0.99;
bell = {
animation = "EaseOut";
duration = 100;
color = "#ffffff";
};
font = {
normal.family = "Monospace";
size = 6;
};
live_config_reload = true;
key_bindings = [
{
key = "Plus";
mods = "Control";
action = "IncreaseFontSize";
}
{
key = "Minus";
mods = "Control";
action = "DecreaseFontSize";
}
{
key = "Key0";
mods = "Control";
action = "ResetFontSize";
}
];
colors = let
colourNames = ["black" "red" "green" "yellow" "blue" "magenta" "cyan" "white"];
colourPairs = lib.getAttrs colourNames theme;
in {
primary = {inherit (theme) background foreground;};
cursor = {inherit (theme) cursor;};
normal = lib.mapAttrs (_: colour: colour.dark) colourPairs;
bright = lib.mapAttrs (_: colour: colour.bright) colourPairs;
};
};
font = {
normal.family = "Monospace";
size = 6;
};
key_bindings = [
{
key = "Add";
mods = "Control";
action = "IncreaseFontSize";
}
{
key = "Minus";
mods = "Control";
action = "DecreaseFontSize";
}
{
key = "Key0";
mods = "Control";
action = "ResetFontSize";
}
alacritty-pkg = pkgs.symlinkJoin {
name = "alacritty";
paths = [
(pkgs.writeDashBin "alacritty" ''
${pkgs.alacritty}/bin/alacritty --config-file /var/theme/config/alacritty.yml msg create-window "$@" ||
${pkgs.alacritty}/bin/alacritty --config-file /var/theme/config/alacritty.yml "$@"
'')
pkgs.alacritty
];
};
in {
environment.variables.TERMINAL = "alacritty";
environment.systemPackages = [
pkgs.alacritty
alacritty-pkg
];
home-manager.users.me.xdg.configFile = {
"alacritty/alacritty.yml".text = builtins.toJSON alacrittyConfig;
environment.etc = {
"themes/dark/alacritty.yml".source = alacritty-cfg (import <niveum/lib/colours/papercolor-dark.nix>);
"themes/light/alacritty.yml".source = alacritty-cfg (import <niveum/lib/colours/papercolor-light.nix>);
};
}

52
configs/backup.nix Normal file
View File

@@ -0,0 +1,52 @@
{
pkgs,
config,
...
}: let
inherit (import <niveum/lib>) restic;
in {
services.restic.backups.niveum = {
initialize = true;
inherit (restic) repository;
timerConfig = {
OnCalendar = "8:00";
RandomizedDelaySec = "1h";
};
passwordFile = toString <secrets/restic/password>;
extraBackupArgs = [
"--exclude=/home/kfm/projects/nixpkgs/.git"
"--exclude=node_modules"
];
paths = [
"/home/kfm/work"
"/home/kfm/projects"
"/home/kfm/notes"
"/home/kfm/cloud"
"/home/kfm/.gnupg"
"/home/kfm/.ssh"
"/mnt/sd-card/music"
"/mnt/sd-card/Books"
];
};
systemd.services.restic-backups-niveum.serviceConfig = {
Restart = "on-failure";
RestartSec = "15s";
StartLimitIntervalSec = "1m"; # don't try more than 4 times
StartLimitBurst = 4;
};
environment.systemPackages = [
(pkgs.writers.writeDashBin "restic-niveum" ''
${pkgs.restic}/bin/restic -r ${restic.repository} -p ${<secrets/restic/password>} "$@"
'')
(pkgs.writers.writeDashBin "restic-mount" ''
mountdir=$(mktemp -d)
trap clean EXIT
clean() {
rm -r "$mountdir"
}
${pkgs.restic}/bin/restic -r ${restic.repository} -p ${<secrets/restic/password>} mount "$mountdir"
'')
];
}

20
configs/battery.nix Normal file
View File

@@ -0,0 +1,20 @@
{
config,
pkgs,
...
}: {
boot.extraModulePackages = with config.boot.kernelPackages; [
tp_smapi
acpi_call
];
boot.kernelModules = ["tp_smapi" "acpi_call"];
environment.systemPackages = [pkgs.tpacpi-bat pkgs.powertop];
services.tlp = {
enable = true;
settings = {
START_CHARGE_THRESH_BAT0 = 80;
STOP_CHARGE_THRESH_BAT0 = 95;
};
};
}

14
configs/beets.nix Normal file
View File

@@ -0,0 +1,14 @@
{
lib,
pkgs,
...
}: {
environment.systemPackages = [pkgs.beets];
home-manager.users.me.xdg.configFile = {
"beets/config.yaml".source = (pkgs.formats.yaml {}).generate "config.yaml" {
directory = "~/cloud/syncthing/music";
library = "~/cloud/syncthing/common/music.db";
plugins = toString ["fetchart" "lastgenre"];
};
};
}

View File

@@ -1,11 +1,17 @@
{ pkgs, lib, ... }: {
{
pkgs,
lib,
...
}: {
hardware.bluetooth = {
enable = true;
config.General.Enable =
lib.concatStringsSep "," [ "Source" "Sink" "Media" "Socket" ];
settings.General.Enable =
lib.concatStringsSep "," ["Source" "Sink" "Media" "Socket"];
};
environment.systemPackages = [ pkgs.blueman ];
services.blueman.enable = true;
home-manager.users.me = { services.blueman-applet.enable = false; };
# environment.systemPackages = [pkgs.blueman];
home-manager.users.me = {services.blueman-applet.enable = true;};
}

View File

@@ -1,44 +0,0 @@
{ pkgs, lib, ... }:
{
environment.systemPackages = [ pkgs.calcurse ];
systemd.services.caldav-sync = {
enable = true;
wants = [ "network-online.target" ];
startAt = "*:0/15";
serviceConfig.User = "kfm";
script = "${pkgs.calcurse}/bin/calcurse-caldav";
};
home-manager.users.me = {
home.file = {
".calcurse/conf".text = ''
appearance.calendarview=monthly
appearance.layout=1
daemon.enable=no
daemon.log=no
format.inputdate=4
format.outputdate=%F
general.confirmquit=no
general.confirmdelete=yes
general.firstdayofweek=monday
appearance.theme=default on default
'';
".calcurse/caldav/config".text = lib.generators.toINI {} {
General = {
Binary = "${pkgs.calcurse}/bin/calcurse";
Hostname = "posteo.de:8443";
Path = "/calendars/kieran.meinhardt/default/";
InsecureSSL = "No";
DryRun = "No";
Verbose = "Yes";
};
Auth = {
Username = "kieran.meinhardt@posteo.net";
Password = lib.strings.fileContents <secrets/mail/posteo>;
};
};
};
};
}

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{pkgs, ...}:
# https://paste.sr.ht/~erictapen/11716989e489b600f237041b6d657fdf0ee17b34
let
certificate = pkgs.stdenv.mkDerivation rec {
@@ -7,7 +7,7 @@ let
1,/DST Root CA X3/d
1,/-----END CERTIFICATE-----/p
'';
nativeBuildInputs = with pkgs; [ cacert gnused ];
nativeBuildInputs = with pkgs; [cacert gnused];
phases = "installPhase";
installPhase = ''
${pkgs.gnused}/bin/sed -n -f $src ${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt > $out

View File

@@ -1,16 +1,97 @@
{ pkgs, ... }: {
{
pkgs,
config,
...
}: {
programs.chromium = {
enable = true;
extensions = [
"hdokiejnpimakedhajhdlcegeplioahd" # LastPass
# "ihlenndgcmojhcghmfjfneahoeklbjjh" # cVim
# "fpnmgdkabkmnadcjpehmlllkndpkmiak" # Wayback Machine
"cjpalhdlnbpafiamejdnhcphjbkeiagm" # uBlock Origin
"khncfooichmfjbepaaaebmommgaepoid" # Remove YouTube Recommended Videos
"pjjgklgkfeoeiebjogplpnibpfnffkng" # undistracted
"nhdogjmejiglipccpnnnanhbledajbpd" # vuejs devtools
"eimadpbcbfnmbkopoojfekhnkhdbieeh" # dark reader
];
};
environment.systemPackages = [ pkgs.chromium pkgs.brave ];
home-manager.users.me = {
programs.firefox = {
enable = true;
package = pkgs.firefox.override {
cfg = {
enableTridactylNative = true;
};
};
profiles = let
defaultSettings = {
"beacon.enabled" = false;
"browser.bookmarks.showMobileBookmarks" = true;
"browser.newtab.preload" = false;
"browser.search.isUS" = false;
"browser.search.region" = "DE";
"browser.send_pings" = false;
"browser.shell.checkDefaultBrowser" = false;
"browser.startup.homepage" = "chrome://browser/content/blanktab.html";
"browser.uidensity" = 1;
"browser.urlbar.placeholderName" = "Search";
"datareporting.healthreport.service.enabled" = false;
"datareporting.healthreport.uploadEnabled" = false;
"datareporting.policy.dataSubmissionEnabled" = false;
"datareporting.sessions.current.clean" = true;
"distribution.searchplugins.defaultLocale" = "de-DE";
"general.smoothScroll" = true;
"identity.fxaccounts.account.device.name" = config.networking.hostName;
"network.cookie.cookieBehavior" = 1;
"privacy.donottrackheader.enabled" = true;
"privacy.trackingprotection.enabled" = true;
"privacy.trackingprotection.pbmode.enabled" = true;
"privacy.trackingprotection.socialtracking.enabled" = true;
"services.sync.declinedEngines" = "passwords";
"services.sync.engine.passwords" = false;
"signon.autofillForms" = false;
"signon.rememberSignons" = false;
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"toolkit.telemetry.archive.enabled" = false;
"toolkit.telemetry.bhrPing.enabled" = false;
"toolkit.telemetry.cachedClientID" = "";
"toolkit.telemetry.enabled" = false;
"toolkit.telemetry.firstShutdownPing.enabled" = false;
"toolkit.telemetry.hybridContent.enabled" = false;
"toolkit.telemetry.newProfilePing.enabled" = false;
"toolkit.telemetry.prompted" = 2;
"toolkit.telemetry.rejected" = true;
"toolkit.telemetry.server" = "";
"toolkit.telemetry.shutdownPingSender.enabled" = false;
"toolkit.telemetry.unified" = false;
"toolkit.telemetry.unifiedIsOptIn" = false;
"toolkit.telemetry.updatePing.enabled" = false;
"ui.prefersReducedMotion" = 1;
};
in {
default = {
id = 0;
isDefault = true;
settings = defaultSettings;
# extensions = with pkgs.nur.repos.rycee.firefox-addons; [
# ublock-origin
# darkreader
# sponsorblock
# consent-o-matic
# i-dont-care-about-cookies
# # auto-tab-discard TODO what is this
# ];
userChrome = ''
#TabsToolbar {
visibility: collapse !important;
}
'';
};
};
};
};
environment.systemPackages = [pkgs.brave];
environment.variables.BROWSER = "brave";
}

7
configs/clipboard.nix Normal file
View File

@@ -0,0 +1,7 @@
{
config,
pkgs,
...
}: {
services.clipmenu.enable = true;
}

View File

@@ -1,22 +1,117 @@
{ config, lib, pkgs, ... }: {
{
config,
lib,
pkgs,
...
}: let
inherit (import <niveum/lib>) tmpfilesConfig;
in {
imports = [
<niveum/modules/seafile.nix>
<niveum/modules/dropbox.nix>
];
niveum = {
dropbox.enable = true;
seafile.enable = true;
dropbox.enable = false;
};
system.activationScripts.home-symlinks = ''
ln -sfn ${config.users.users.me.home}/cloud/syncthing/common/mahlzeit ${config.users.users.me.home}/mahlzeit
ln -sfn ${config.users.users.me.home}/cloud/Seafile/Wiki ${config.users.users.me.home}/notes
ln -sfn ${config.users.users.me.home}/cloud/Seafile/Uni ${config.users.users.me.home}/uni
'';
systemd.tmpfiles.rules = map tmpfilesConfig [
{
type = "L+";
user = config.users.users.me.name;
group = "users";
mode = "0755";
argument = "${config.users.users.me.home}/cloud/Seafile/Uni";
path = "${config.users.users.me.home}/uni";
}
{
type = "L+";
user = config.users.users.me.name;
group = "users";
mode = "0755";
argument = "${config.users.users.me.home}/cloud/syncthing/common/mahlzeit";
path = "${config.users.users.me.home}/mahlzeit";
}
];
home-manager.users.me = {
services.nextcloud-client.enable = true;
services.gnome-keyring.enable = false;
services.nextcloud-client = {
enable = false;
startInBackground = true;
};
systemd.user.services.nextcloud-client = {
Unit = {
Wants = ["gnome-keyring.service"];
After = ["gnome-keyring.service"];
};
};
};
systemd.user.services.nextcloud-syncer = {
enable = true;
wants = ["network-online.target"];
wantedBy = ["default.target"];
startAt = "*:00/10";
script = let
kieran = {
user = "kieran";
password = lib.fileContents <secrets/nextcloud/password>;
endpoint = "https://cloud.xn--kiern-0qa.de";
target = "${config.users.users.me.home}/notes";
};
in ''
mkdir -p ${lib.escapeShellArg kieran.target}
${pkgs.nextcloud-client}/bin/nextcloudcmd --non-interactive --user ${kieran.user} --password ${lib.escapeShellArg kieran.password} --path /Notes ${lib.escapeShellArg kieran.target} ${kieran.endpoint}
'';
serviceConfig = {
Type = "oneshot";
Restart = "on-failure";
};
};
environment.systemPackages = [
(pkgs.writers.writeDashBin "book" ''
set -efu
book="$({
${pkgs.findutils}/bin/find ${config.users.users.me.home}/cloud/syncthing/library -type f
${pkgs.findutils}/bin/find ${config.users.users.me.home}/cloud/Seafile/Books -type f
} | ${pkgs.fzf}/bin/fzf)"
exec ${pkgs.zathura}/bin/zathura "$book"
'')
(let
kieran = {
user = "kieran.meinhardt@gmail.com";
password = lib.fileContents <secrets/mega/password>;
};
megatools = command: "${pkgs.megatools}/bin/megatools ${command} --username ${lib.escapeShellArg kieran.user} --password ${lib.escapeShellArg kieran.password}";
in
pkgs.writers.writeDashBin "book-mega" ''
set -efu
selection="$(${megatools "ls"} | ${pkgs.fzf}/bin/fzf)"
test -n "$selection" || exit 1
tmpdir="$(mktemp -d)"
trap clean EXIT
clean() {
rm -rf "$tmpdir"
}
(
cd "$tmpdir"
${megatools "get"} "$selection"
exec ${pkgs.zathura}/bin/zathura "$(basename "$selection")"
)
'')
];
fileSystems."/media/moodle" = {
device = "zaatar.r:/moodle";
fsType = "nfs";
options = [
"x-systemd.idle-timeout=600"
"noauto"
"x-systemd.automount"
];
};
services.syncthing = rec {
@@ -25,22 +120,19 @@
openDefaultPorts = true;
configDir = "/home/kfm/.config/syncthing";
dataDir = "/home/kfm/.config/syncthing";
declarative = rec {
cert = toString <system-secrets/syncthing/cert.pem>;
key = toString <system-secrets/syncthing/key.pem>;
inherit ((import <niveum/lib>).syncthing) devices;
folders =
let cloud-dir = "${config.users.users.me.home}/cloud";
in {
"${cloud-dir}/syncthing/common".devices = [ "wilde" "manakish" ];
"${cloud-dir}/syncthing/library".devices = [ "wilde" "manakish" "heym" ];
"${cloud-dir}/syncthing/mundoiu".devices = [ "wilde" "manakish" "heym" ];
"${cloud-dir}/syncthing/music".devices = [ "wilde" "manakish" "heym" ];
"${cloud-dir}/moodle" = {
devices = [ "wilde" "toum" "manakish" ];
id = "moodle-dl";
};
};
cert = toString <system-secrets/syncthing/cert.pem>;
key = toString <system-secrets/syncthing/key.pem>;
inherit ((import <niveum/lib>).syncthing) devices;
folders = let
cloud-dir = "${config.users.users.me.home}/cloud";
in {
"${cloud-dir}/syncthing/common".devices = ["kabsa" "manakish"];
"${cloud-dir}/syncthing/library".devices = ["kabsa" "manakish" "heym"];
"${cloud-dir}/syncthing/mundoiu".devices = ["kabsa" "manakish" "heym"];
"${cloud-dir}/syncthing/music" = {
devices = ["kabsa" "manakish" "heym" "zaatar"];
id = "music";
};
};
};
}

View File

@@ -1,25 +0,0 @@
{
services.nginx.virtualHosts."pad.xn--kiern-0qa.de" = {
enableACME = true;
addSSL = true;
locations."/".extraConfig = ''
client_max_body_size 4G;
proxy_set_header Host $host;
proxy_pass http://localhost:3091;
'';
};
services.codimd = {
enable = true;
configuration = {
allowAnonymous = false;
allowGravatar = false;
db = {
dialect = "sqlite";
storage = "/var/lib/codimd/db.codimd.sqlite";
useCDN = false;
};
port = 3091;
};
};
}

View File

@@ -1,6 +1,10 @@
{
services.compton = {
services.picom = {
enable = true;
activeOpacity = 1;
fade = true;
fadeDelta = 10;
inactiveOpacity = 0.8;
shadow = true;
menuOpacity = 0.9;
shadowOpacity = 0.3;

View File

@@ -1,13 +1,20 @@
{ pkgs, lib, config, options, ... }:
let
{
pkgs,
lib,
config,
options,
...
}: let
inherit (lib.strings) makeBinPath;
inherit (import <niveum/lib>) localAddresses kieran;
scripts = import <niveum/packages/scripts> {inherit pkgs lib;};
defaultApplications = (import <niveum/lib>).defaultApplications {inherit pkgs;};
in {
imports = [
<home-manager/nixos>
<niveum/modules/system-dependent.nix>
{
boot.supportedFilesystems = [ "ntfs" ];
boot.supportedFilesystems = ["ntfs"];
}
{
nix.nixPath = [
@@ -15,38 +22,26 @@ in {
"nixpkgs-overlays=${toString ../overlays}"
];
}
{ services.dbus.packages = [ pkgs.gnome3.dconf ]; }
{
nixpkgs = {
config = {
allowUnfree = true;
packageOverrides = pkgs: {
nur = import (builtins.fetchTarball
"https://github.com/nix-community/NUR/archive/aea85375c7a82297d977904de8dd7f41baf2d59a.tar.gz") {
inherit pkgs;
};
writeDashBin = pkgs.writers.writeDashBin;
writeDash = pkgs.writers.writeDash;
dmenu = pkgs.writers.writeDashBin "dmenu" ''exec ${pkgs.rofi}/bin/rofi -dmenu "$@"'';
gfs-fonts = pkgs.callPackage <niveum/packages/gfs-fonts.nix> {};
iolanguage = pkgs.callPackage <niveum/packages/iolanguage.nix> { };
ix = pkgs.callPackage <niveum/packages/ix.nix> { };
tocharian-font = pkgs.callPackage <niveum/packages/tocharian-font.nix> {};
iolanguage = pkgs.callPackage <niveum/packages/iolanguage.nix> {};
ix = pkgs.callPackage <niveum/packages/ix.nix> {};
};
permittedInsecurePackages = [
"qtwebkit-5.212.0-alpha4"
];
};
overlays = [
(self: super: {
scripts = import <niveum/packages/scripts> { pkgs = super; lib = super.lib; };
})
(import <niveum/overlays/toml.nix>)
(import <stockholm/krebs/5pkgs/haskell>)
(import <stockholm/submodules/nix-writers/pkgs>)
(import <stockholm/krebs/5pkgs/override>)
];
};
}
{
boot.cleanTmpDir = true;
boot.loader.timeout = 1;
boot.extraModulePackages = [ config.boot.kernelPackages.exfat-nofuse ];
}
{
home-manager.users.me = {
@@ -54,6 +49,7 @@ in {
enable = true;
options = {
selection-clipboard = "clipboard";
recolor-keephue = true;
# first-page-column = "1:1"; # makes side-by-side mode start on the left side
};
};
@@ -67,26 +63,15 @@ in {
users.users.me = {
name = "kfm";
description = kieran.name;
hashedPassword =
"$6$w9hXyGFl/.IZBXk$5OiWzS1G.5hImhh1YQmZiCXYNAJhi3X6Y3uSLupJNYYXPLMsQpx2fwF4Xr2uYzGMV8Foqh8TgUavx1APD9rcb/";
hashedPassword = "$6$w9hXyGFl/.IZBXk$5OiWzS1G.5hImhh1YQmZiCXYNAJhi3X6Y3uSLupJNYYXPLMsQpx2fwF4Xr2uYzGMV8Foqh8TgUavx1APD9rcb/";
isNormalUser = true;
};
}
{
sound.enable = true;
hardware.pulseaudio = {
enable = true;
package = pkgs.pulseaudioFull; # for bluetooth sound output
uid = 1000;
};
users.users.me.extraGroups = [ "audio" ];
environment.systemPackages = [ pkgs.pavucontrol pkgs.pamixer pkgs.pulsemixer ];
home-manager.users.me.xdg.enable = true;
}
{
environment.interactiveShellInit =
"export PATH=$PATH:$HOME/projects/niveum";
environment.interactiveShellInit = "export PATH=$PATH:$HOME/projects/niveum";
environment.shellAliases = let
wcd = pkgs.writers.writeDash "wcd" ''
cd "$(readlink "$(${pkgs.which}/bin/which --skip-alias "$1")" | xargs dirname)/.."
@@ -97,42 +82,49 @@ in {
take = pkgs.writers.writeDash "take" ''
mkdir "$1" && cd "$1"
'';
swallow = command: "${pkgs.scripts.swallow}/bin/swallow ${command}";
cdt = pkgs.writers.writeDash "cdt" ''
cd "$(mktemp -d)"
pwd
'';
swallow = command: "${scripts.swallow}/bin/swallow ${command}";
in {
"ß" = "${pkgs.utillinux}/bin/setsid";
"ß" = "${pkgs.util-linux}/bin/setsid";
cat = "${pkgs.bat}/bin/bat --style=plain";
chromium-incognito =
"chromium --user-data-dir=$(mktemp -d /tmp/chr.XXXXXX) --no-first-run --incognito";
chromium-incognito = "chromium --user-data-dir=$(mktemp -d /tmp/chr.XXXXXX) --no-first-run --incognito";
cp = "cp --interactive";
ip = "${pkgs.iproute}/bin/ip -c";
l = "ls --color=auto --time-style=long-iso --almost-all";
ip = "${pkgs.iproute2}/bin/ip -c";
l = "ls --color=auto --time-style=long-iso --almost-all";
ls = "ls --color=auto --time-style=long-iso";
ll = "ls --color=auto --time-style=long-iso -l";
la = "ls --color=auto --time-style=long-iso --almost-all -l";
mv = "mv --interactive";
nixi = "nix repl '<nixpkgs>'";
ns = "nix-shell --run zsh";
o = "${pkgs.xdg_utils}/bin/xdg-open";
o = "${pkgs.xdg-utils}/bin/xdg-open";
pbcopy = "${pkgs.xclip}/bin/xclip -selection clipboard -in";
pbpaste = "${pkgs.xclip}/bin/xclip -selection clipboard -out";
rm = "rm --interactive";
s = "${pkgs.systemd}/bin/systemctl";
take = "source ${take}";
cdt = "source ${cdt}";
vit = "$EDITOR $(mktemp)";
tmux = "${pkgs.tmux}/bin/tmux -2";
sxiv = swallow "${pkgs.sxiv}/bin/sxiv";
sxiv = swallow "${pkgs.nsxiv}/bin/nsxiv";
zathura = swallow "${pkgs.zathura}/bin/zathura";
us = "${pkgs.systemd}/bin/systemctl --user";
wcd = "source ${wcd}";
weechat = "${pkgs.openssh}/bin/ssh weechat@toum -t screen -x weechat-screen";
im = "${pkgs.openssh}/bin/ssh weechat@makanek -t tmux attach-session -t IM";
where = "source ${where}";
yt =
"${pkgs.youtube-dl}/bin/youtube-dl --add-metadata -ic"; # Download video link
yta =
"${pkgs.youtube-dl}/bin/youtube-dl --add-metadata -xic"; # Download with audio
yt = "${pkgs.yt-dlp}/bin/yt-dlp --add-metadata -ic"; # Download video link
yta = "${pkgs.yt-dlp}/bin/yt-dlp --add-metadata -xic"; # Download with audio
};
}
{
i18n = {
defaultLocale = "en_DK.UTF-8";
supportedLocales = ["all"];
};
}
{ i18n.defaultLocale = "en_GB.UTF-8"; }
{ services.illum.enable = true; }
{
services.xserver = {
enable = true;
@@ -145,7 +137,7 @@ in {
enable = true;
greeters.gtk = {
enable = true;
indicators = [ "~spacer" "~host" "~spacer" "~session" "~power" ];
indicators = ["~spacer" "~host" "~spacer" "~session" "~power"];
};
};
};
@@ -153,41 +145,84 @@ in {
}
{
security.wrappers = {
pmount.source = "${pkgs.pmount}/bin/pmount";
pumount.source = "${pkgs.pmount}/bin/pumount";
pmount = {
setuid = true;
owner = "root";
group = "root";
source = "${pkgs.pmount}/bin/pmount";
};
pumount = {
setuid = true;
owner = "root";
group = "root";
source = "${pkgs.pmount}/bin/pumount";
};
};
}
{ programs.command-not-found.enable = true; }
{programs.command-not-found.enable = true;}
{
programs.gnupg.agent.enable = true;
home-manager.users.me = {
services.gpg-agent = rec {
enable = true;
enableZshIntegration = true;
defaultCacheTtl = 2 * 60 * 60;
maxCacheTtl = 4 * defaultCacheTtl;
};
};
environment.systemPackages = [
pkgs.gnupg
(pkgs.pass.withExtensions (e: [e.pass-otp]))
(pkgs.pass.withExtensions (e: [e.pass-otp e.pass-import e.pass-genphrase]))
];
}
{
services.atd.enable = true;
}
{
services.mingetty = {
services.getty = {
greetingLine = lib.mkForce "";
helpLine = lib.mkForce "";
};
}
{
networking.hosts = lib.mapAttrs' (name: address: {
name = address;
value = [ "${name}.local" ];
}) localAddresses;
networking.hosts =
lib.mapAttrs' (name: address: {
name = address;
value = ["${name}.local"];
})
localAddresses;
}
{
home-manager.users.me.home.stateVersion = "22.05";
}
{
systemd.user.services.udiskie = {
after = ["udisks2.service"];
wants = ["udisks2.service"];
wantedBy = ["graphical-session.target"];
serviceConfig = {
ExecStart = "${pkgs.udiskie}/bin/udiskie --verbose --no-config --notify";
};
};
services.udisks2.enable = true;
programs.dconf.enable = true;
home-manager.users.me = {
dconf.enable = true;
dconf.settings = {
# Change the default terminal for Nemo
"org/cinnamon/desktop/applications/terminal".exec = defaultApplications.terminal;
};
};
}
./alacritty.nix
./backup.nix
./bash.nix
./beets.nix
./bluetooth.nix
./ccc.nix
./kleiter.nix
./calcurse.nix
./khal.nix
./chromium.nix
./clipboard.nix
./cloud.nix
./compton.nix
./direnv.nix
@@ -197,43 +232,45 @@ in {
./flix.nix
./fonts.nix
./fzf.nix
./gaslight.nix
./git.nix
./hledger.nix
./htop.nix
./hu-berlin.nix
./i3.nix
./keybase.nix
./keyboard.nix
./mail.nix
./lb.nix
./mpv.nix
./mime.nix
./nano.nix
./neovim.nix
./neomutt.nix
./nix.nix
./newsboat.nix
./flameshot-once.nix
./packages
./packages.nix
./stardict.nix
./polkit.nix
./power-action.nix
./printing.nix
# ./openweathermap.nix
./wallpaper.nix
./redshift.nix
./retiolum.nix
./rofi.nix
./spacetime.nix
./seafile.nix
./ssh.nix
./sshd.nix
./sound.nix
./sudo.nix
./sxiv.nix
./theming.nix
./nsxiv.nix
./themes.nix
./tmux.nix
./tor.nix
./todo-txt.nix
./traadfri.nix
# ./traadfri.nix
./unclutter.nix
./version.nix
./vscode.nix
./watson.nix
./wifi.nix
./xautolock.nix
./zsh.nix
./tor.nix
./mastodon-bot.nix
];
}

View File

@@ -1,5 +1,4 @@
{ pkgs, ... }:
let
{pkgs, ...}: let
nixify = pkgs.writers.writeDashBin "nixify" ''
set -efuC
@@ -11,26 +10,25 @@ let
cat > shell.nix <<'EOF'
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
buildInputs = with pkgs; [];
shellHook = "export HISTFILE=''${toString ./.history}";
packages = [];
}
EOF
''${EDITOR:-vim} shell.nix
fi
'';
in {
environment.systemPackages = [ pkgs.direnv nixify ];
environment.systemPackages = [pkgs.direnv nixify];
home-manager.users.me.programs.direnv = {
enable = true;
stdlib = builtins.readFile ("${
pkgs.fetchFromGitHub {
owner = "Mic92";
repo = "dotfiles";
rev = "a0a9b7e358fa70a85cd468f8ca1fbb02ae0a91df";
sha256 = "1y9h5s1lf59sczsm0ksq2x1yhl98ba9lwk5yil3q53rg7n4574pg";
}
}/home/.direnvrc");
stdlib = builtins.readFile "${
pkgs.fetchFromGitHub {
owner = "Mic92";
repo = "dotfiles";
rev = "a0a9b7e358fa70a85cd468f8ca1fbb02ae0a91df";
sha256 = "1y9h5s1lf59sczsm0ksq2x1yhl98ba9lwk5yil3q53rg7n4574pg";
}
}/home/.direnvrc";
};
programs.zsh.interactiveShellInit = ''

View File

@@ -1,8 +1,13 @@
{ lib, config, pkgs, ... }: {
{
lib,
config,
pkgs,
...
}: {
imports = [
(import <stockholm/makefu/3modules/bump-distrowatch.nix> {
inherit lib config;
pkgs = pkgs // { writeDash = pkgs.writers.writeDash; };
pkgs = pkgs // {writeDash = pkgs.writers.writeDash;};
})
];

View File

@@ -1,5 +1,16 @@
{ pkgs, ... }: {
virtualisation.docker.enable = true;
users.users.me.extraGroups = [ "docker" ];
environment.systemPackages = [ pkgs.docker pkgs.docker_compose ];
{
lib,
pkgs,
...
}: {
virtualisation.docker = {
enable = true;
# for ICE wifi, ref https://gist.github.com/sunsided/7840e89ff4e11b64a2d7503fafa0290c
extraOptions = lib.concatStringsSep " " [
"--bip=172.39.1.5/24"
"--fixed-cidr=172.39.1.0/25"
];
};
users.users.me.extraGroups = ["docker"];
environment.systemPackages = [pkgs.docker pkgs.docker-compose];
}

View File

@@ -1,5 +1,8 @@
{ config, pkgs, ... }:
let
{
config,
pkgs,
...
}: let
inherit (import <niveum/lib>) defaultApplications colours theme;
in {
home-manager.users.me.services.dunst = {

View File

@@ -1,25 +1,52 @@
{ lib, pkgs, ... }:
let
{
lib,
pkgs,
...
}: let
inherit (import <niveum/lib>) defaultApplications;
flameshot-once =
pkgs.callPackage <stockholm/krebs/5pkgs/simple/flameshot-once> {};
flameshot-once = pkgs.callPackage <stockholm/krebs/5pkgs/simple/flameshot-once> {};
in {
nixpkgs.overlays = [
(self: super: {
xwaitforwindow =
super.callPackage <stockholm/krebs/5pkgs/simple/xwaitforwindow.nix> { };
})
];
environment.systemPackages = [
(flameshot-once.override {
config.imgur = {
enable = true;
createUrl = "http://p.r/image";
deleteUrl = "http://p.r/image/delete/%1";
xdg-open.browser = (defaultApplications pkgs).browser;
name = "flameshot-once-kmein";
config = {
imgur = {
enable = true;
createUrl = "http://p.r/image";
deleteUrl = "http://p.r/image/delete/%1";
xdg-open.browser = (defaultApplications pkgs).browser;
};
settings.General = {
autoCloseIdleDaemon = true;
drawColor = "#ff0000";
drawThickness = 2;
checkForUpdates = false;
showDesktopNotification = true;
disabledTrayIcon = true;
showHelp = false;
squareMagnifier = true;
uploadWithoutConfirmation = true;
buttons = [
"TYPE_ARROW"
"TYPE_CIRCLE"
"TYPE_CIRCLECOUNT"
"TYPE_COPY"
"TYPE_DRAWER"
"TYPE_EXIT"
"TYPE_IMAGEUPLOADER"
"TYPE_MARKER"
"TYPE_MOVESELECTION"
"TYPE_PENCIL"
"TYPE_PIXELATE"
"TYPE_RECTANGLE"
"TYPE_SAVE"
"TYPE_SELECTION"
# "TYPE_SELECTIONINDICATOR"
"TYPE_TEXT"
"TYPE_UNDO"
];
};
};
config.timeout = 200;
})
];
}

View File

@@ -1,10 +1,14 @@
{ config, pkgs, ... }:
let
{
config,
pkgs,
...
}: let
flixLocation = "/media/flix";
cacheLocation = "/var/cache/flix";
indexFilename = "index";
flixUser = "flix";
flixGroup = "users";
inherit (import <niveum/lib>) tmpfilesConfig;
in {
fileSystems.${flixLocation} = {
device = "prism.r:/export";
@@ -17,19 +21,24 @@ in {
"x-systemd.device-timeout=1"
"x-systemd.idle-timeout=1min"
"x-systemd.requires=tinc.retiolum.service"
"x-systemd.requires=wpa_supplicant.service"
"user"
"_netdev"
];
};
systemd.tmpfiles.rules = [
"d '${cacheLocation}' 0750 ${flixUser} ${flixGroup} - -"
(tmpfilesConfig {
type = "d";
path = cacheLocation;
mode = "0750";
user = flixUser;
group = flixGroup;
})
];
systemd.services.flix-index = {
description = "Flix indexing service";
wants = [ "network-online.target" ];
wants = ["network-online.target"];
script = "cp ${flixLocation}/download/index ./${indexFilename}";
startAt = "hourly";
serviceConfig = {
@@ -44,19 +53,28 @@ in {
isSystemUser = true;
createHome = true;
home = cacheLocation;
extraGroups = [ flixGroup ];
group = flixGroup;
};
environment.systemPackages = [
(pkgs.writeDashBin "flixmenu" ''
(pkgs.writers.writeDashBin "mpv-simpsons" ''
set -efu
cd "${flixLocation}/download"
[ -f "${cacheLocation}/${indexFilename}" ] || exit 1
cat "${cacheLocation}/${indexFilename}" \
| ${pkgs.gnugrep}/bin/grep -i 'simpsons.*mkv' \
| shuf \
| ${pkgs.findutils}/bin/xargs -d '\n' ${pkgs.mpv}/bin/mpv
'')
(pkgs.writers.writeDashBin "flixmenu" ''
set -efu
cd "${flixLocation}/download"
[ -f "${cacheLocation}/${indexFilename}" ] || exit 1
${pkgs.dmenu}/bin/dmenu -i -p flix -l 5 "$@" < ${cacheLocation}/${indexFilename} \
| ${pkgs.findutils}/bin/xargs -I '{}' ${pkgs.utillinux}/bin/setsid ${pkgs.xdg_utils}/bin/xdg-open '{}'
| ${pkgs.findutils}/bin/xargs -I '{}' ${pkgs.util-linux}/bin/setsid ${pkgs.xdg-utils}/bin/xdg-open '{}'
'')
];
}

View File

@@ -1,35 +1,123 @@
{ pkgs, ... }: {
{pkgs, ...}: let
zip-font = name: arguments: let
directory = pkgs.fetchzip arguments;
in
pkgs.runCommand name {} ''
mkdir -p $out/share/fonts/{truetype,opentype,woff}
${pkgs.findutils}/bin/find ${directory} -name '*.ttf' -exec install '{}' $out/share/fonts/truetype \;
${pkgs.findutils}/bin/find ${directory} -name '*.otf' -exec install '{}' $out/share/fonts/opentype \;
${pkgs.findutils}/bin/find ${directory} -name '*.woff' -exec install '{}' $out/share/fonts/woff \;
'';
simple-ttf = name: arguments: let
file = pkgs.fetchurl arguments;
in
pkgs.runCommand name {} ''
mkdir -p $out/share/fonts/truetype
install ${file} $out/share/fonts/truetype
'';
egyptianHiero = zip-font "EgyptianHiero" {
url = "https://github.com/MKilani/Djehuty/archive/master.zip";
sha256 = "sha256-KbY4vedm757NWfDlgmNhslbZd+2Vs+o5PjtMMGDt61Y=";
};
antinoou = zip-font "Antinoou" {
url = "https://www.evertype.com/fonts/coptic/AntinoouFont.zip";
sha256 = "0jwihj08n4yrshcx07dnaml2x9yws6dgyjkvg19jqbz17drbp3sw";
stripRoot = false;
};
newGardiner = zip-font "NewGardiner" {
url = "https://mjn.host.cs.st-andrews.ac.uk/egyptian/fonts/NewGardiner.zip";
sha256 = "1jd0qa6shh9pqqyig2w43m9l9rv1i50l73jzkhb6g6mqxbhb1mip";
stripRoot = false;
};
junicode2 = zip-font "JunicodeTwo" {
url = "https://github.com/psb1558/Junicode-font/archive/48bf476db278c844c67542b04d1e0e4c71f139d2.zip";
sha256 = "1ryicc155vkvgv3315ddliigwa01afwyb4c4f6pnqcns03af001i";
};
newAthenaUnicode = zip-font "NewAthenaUnicode" {
url = "https://classicalstudies.org/sites/default/files/userfiles/files/NAU5_005.zip";
sha256 = "1g7qk9gl4nq2dz41bvck1nzilhin44j8691cxax3dlp77bbn9bxr";
};
jsesh = simple-ttf "JSesh" {
url = "http://files.qenherkhopeshef.org/jsesh/JSeshFont.ttf";
sha256 = "1203jrk2xzvgckcc5hx88kja1i3h8gm1wiyla5j6gspc0hbv56ry";
};
egyptianText = simple-ttf "EgyptianText-1.0beta" {
url = "http://c.krebsco.de/EgyptianText-v1.0-beta.ttf";
sha256 = "0cfjbk7xxnxhlp6v922psm5j1xzrv6wfk226ji2wz2yfrnkbcbsv";
};
in {
fonts = {
enableDefaultFonts = true;
enableFontDir = true;
fontDir.enable = true;
fonts = with pkgs; [
alegreya
alegreya-sans
amiri
annapurna-sil
antinoou
cantarell-fonts
cardo
charis-sil
doulos-sil
newAthenaUnicode
corefonts
crimson
eb-garamond
jsesh
egyptianHiero
egyptianText
font-awesome_6
etBook
newGardiner
junicode2
ezra-sil
fira
font-awesome-ttf
font-awesome
galatia-sil
gentium
gfs-fonts
gyre-fonts
ibm-plex
inconsolata
iosevka
libertine
jetbrains-mono
libertinus
libre-bodoni
lmodern
noto-fonts
merriweather
ocr-a
roboto
roboto-mono
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
roboto-slab
scheherazade-new
source-code-pro
source-serif-pro
source-sans-pro
ubuntu_font_family
gfs-fonts
jetbrains-mono
twemoji-color-font
joypixels
];
fontconfig.defaultFonts = {
monospace = [ "JetBrains Mono" ];
serif = [ "Source Serif Pro" ];
sansSerif = [ "Source Sans Pro" ];
emoji = [ "JoyPixels" ];
source-serif-pro
theano
tocharian-font
vistafonts
vollkorn
zilla-slab
]; # google-fonts league-of-moveable-type
fontconfig.defaultFonts = rec {
monospace = ["Noto Sans Mono"] ++ emoji;
serif = ["Noto Serif" "Noto Naskh Arabic" "Noto Serif Devanagari"];
sansSerif = ["Noto Sans Display" "Noto Kufi Arabic" "Noto Sans Devanagari" "Noto Sans CJK JP"];
emoji = ["Noto Color Emoji"];
};
# xelatex fails with woff files
# ref https://tex.stackexchange.com/questions/392144/xelatex-and-fontspec-crash-trying-to-find-woff-file-for-some-fonts-but-not-other
fontconfig.localConf = ''
<fontconfig>
<!-- Reject WOFF fonts We don't register WOFF(2) fonts with fontconfig because of the W3C spec -->
<selectfont>
<rejectfont>
<glob>*.woff*</glob>
</rejectfont>
</selectfont>
</fontconfig>
'';
};
}

View File

@@ -1,18 +1,23 @@
{ pkgs, lib, ... }: {
{
pkgs,
lib,
...
}: {
environment = {
systemPackages = [ pkgs.fzf ];
variables = {
systemPackages = [pkgs.fzf];
variables = rec {
FZF_DEFAULT_COMMAND = "${pkgs.fd}/bin/fd --type f --strip-cwd-prefix --follow --no-ignore-vcs --exclude .git";
FZF_DEFAULT_OPTS =
lib.escapeShellArgs [ "--height=40%" "--layout=reverse" ];
lib.escapeShellArgs ["--height=40%"];
FZF_ALT_C_COMMAND = "${pkgs.fd}/bin/fd --type d";
FZF_ALT_C_OPTS = lib.escapeShellArgs [
"--preview='${pkgs.tree}/bin/tree -L 1 \"{}\"'"
"--bind=space:toggle-preview"
"--preview-window=hidden"
];
FZF_CTRL_T_COMMAND = "${pkgs.fd}/bin/fd --type f";
FZF_CTRL_T_COMMAND = FZF_DEFAULT_COMMAND;
FZF_CTRL_T_OPTS =
lib.escapeShellArgs [ "--preview='${pkgs.bat}/bin/bat \"{}\"'" ];
lib.escapeShellArgs ["--preview='head -$LINES {}'"];
};
};

View File

@@ -1,16 +1,20 @@
{ pkgs, config, lib, ... }:
let
inherit (import <niveum/lib>) kieran ignorePaths;
in
{
pkgs,
config,
lib,
...
}: let
inherit (import <niveum/lib>) kieran ignorePaths;
in {
environment.systemPackages = [
pkgs.mr
pkgs.git
pkgs.git-crypt
pkgs.gitAndTools.gitflow
pkgs.gitAndTools.hub
pkgs.gitAndTools.gh
pkgs.gitAndTools.git-extras
pkgs.gitAndTools.git-trim
pkgs.gitAndTools.git-absorb
pkgs.gitstats
pkgs.patch
pkgs.patchutils
@@ -23,37 +27,6 @@ in
};
home-manager.users.me = {
home.file.".mrconfig".text = let
prependPath = prefix:
lib.attrsets.mapAttrs'
(path: lib.attrsets.nameValuePair "${prefix}/${path}");
git = url: { checkout = "git clone ${url}"; };
github = owner: repo: git "git@github.com:${owner}/${repo}";
keybase = owner: repo: git "keybase://private/${owner}/${repo}";
in lib.generators.toINI { } ({
DEFAULT = { git_gc = ''git gc "$@"''; };
} // prependPath "projects" {
"menstruation.rs" = github "kmein" "menstruation.rs";
brockman = github "kmein" "brockman";
challenges = github "kmein" "challenges";
conlangs = github "kmein" "conlangs";
ledger = keybase "kmein" "ledger";
mahlzeit = github "kmein" "mahlzeit";
menstruation-telegram = github "kmein" "menstruation-telegram";
meteora = github "kmein" "meteora";
modernizr = github "kmein" "modernizr";
niveum = github "kmein" "niveum";
nixpkgs = github "NixOS" "nixpkgs";
poetry = github "kmein" "poetry";
quotes = github "kmein" "quotes";
sphinx = github "kmein" "sphinx";
stockholm = git "https://cgit.krebsco.de/stockholm";
telebots = github "kmein" "telebots";
traadfri = github "kmein" "traadfri";
wissen = github "kmein" "wissen";
zen = github "kmein" "zen";
});
programs.git = {
enable = true;
package = pkgs.gitAndTools.gitFull;
@@ -70,33 +43,20 @@ in
diffs = "diff --staged";
last = "log -1 HEAD";
logs = "log --pretty=oneline";
graph =
"log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all";
graph = "log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all";
};
ignores = ignorePaths;
extraConfig = {
pull.ff = "only";
rebase.autoStash = true;
merge.autoStash = true;
core.pager =
"${pkgs.gitAndTools.diff-so-fancy}/bin/diff-so-fancy | ${pkgs.less}/bin/less --tabs=4 -RFX";
color = {
ui = true;
diff = {
meta = "11";
frag = "magenta bold";
commit = "yellow bold";
old = "red bold";
new = "green bold";
whitespace = "red reverse";
};
diff-highlight = {
oldNormal = "red bold";
oldHighlight = "red bold 52";
newNormal = "green bold";
newHighlight = "green bold 22";
};
};
# # ref https://github.com/dandavison/delta
# core.pager = "${pkgs.delta}/bin/delta";
# interactive.diffFilter = "${pkgs.delta}/bin/delta --color-only";
# delta.navigate = true;
# merge.conflictStyle = "diff3";
# diff.colorMoved = "default";
};
};
};

View File

@@ -1,13 +0,0 @@
{
services.gitea = {
enable = true;
disableRegistration = true;
rootUrl = "https://code.xn--kiern-0qa.de";
appName = "code.kierán.de";
};
services.nginx.virtualHosts."code.xn--kiern-0qa.de" = {
forceSSL = true;
enableACME = true;
locations."/".extraConfig = "proxy_pass http://localhost:3000;";
};
}

View File

@@ -1,61 +0,0 @@
{ config, pkgs, lib, ... }:
let
inherit (import ./lib.nix) triggers;
inherit (import <niveum/lib>) localAddresses;
in
{
imports = [
./zigbee.nix
./frontend.nix
];
services.home-assistant = {
enable = true;
configWritable = true;
lovelaceConfigWritable = true;
openFirewall = true;
config = {
homeassistant = {
name = "Toum";
latitude = config.location.latitude;
longitude = config.location.longitude;
elevation = 90; # TODO find out how high I live
unit_system = "metric";
time_zone = config.time.timeZone;
};
config = {};
discovery = {};
system_health = {};
history = {};
# tradfri.host = localAddresses.tradfri; # dont use until python3Packages.pytradfri is packaged
sun = {};
mobile_app = {};
shopping_list = {};
sensor = [
{
platform = "dwd_weather_warnings";
region_name = "Berlin";
}
];
mqtt = {
broker = "localhost";
port = 1883;
client_id = "home-assistant";
username = "albrecht";
password = lib.strings.fileContents <system-secrets/mosquitto>;
keepalive = 60;
protocol = "3.1";
discovery = true;
birth_message = {
topic = "/hass/status";
payload = "online";
};
will_message = {
topic = "/hass/status";
payload = "offline";
};
};
};
};
}

View File

@@ -1,37 +0,0 @@
let
inherit (import ./lib.nix) triggers;
in
{
services.home-assistant.config = {
frontend = {
themes = {
day_theme = import ./themes/clear.nix;
night_theme = import ./themes/clear-dark.nix;
};
};
automation = [
{
alias = "Night Theme";
hide_entity = true;
trigger = triggers.night;
action = [
{
service = "frontend.set_theme";
data.name = "night_theme";
}
];
}
{
alias = "Day Theme";
hide_entity = true;
trigger = triggers.day;
action = [
{
service = "frontend.set_theme";
data.name = "day_theme";
}
];
}
];
};
}

View File

@@ -1,16 +0,0 @@
{
triggers = {
night = {
platform = "numeric_state";
entity_id = "sun.sun";
value_template = "{{ state.attributes.elevation }}";
below = -4.0;
};
day = {
platform = "numeric_state";
entity_id = "sun.sun";
value_template = "{{ state.attributes.elevation }}";
above = 0;
};
};
}

View File

@@ -1,72 +0,0 @@
rec {
# Colors
text-color = "#DADADB"; # Grey text
text-medium-light-color = "#A0A2A8"; # Medium-light grey text
text-medium-color = "#80828A"; # Medium grey text
text-dark-color = "#6A6B74"; # Dark grey text
accent-color = "#008bef"; # Blue
accent-medium-color = "#2484C9"; # Decent blue
background-color = "#3b4049"; # Dark grey background
background-color-2 = "#484E59"; # Light grey background
background-card-color = "#434952"; # Grey background
border-color = "#383C46"; # Grey border
# Header
app-header-background-color = "#363941"; # Background color
# Text
primary-color = text-color;
text-primary-color = text-color;
# Left Menu
paper-listbox-background-color = background-color; # Background
sidebar-icon-color = text-medium-color; # icons
sidebar-selected-icon-color = text-medium-light-color; # Selected row icon and background (15%)
sidebar-selected-text-color = text-color; # Selected row label
# UI
paper-card-header-color = text-color; # Title in settings
primary-background-color = background-color; # Background (also title background in left menu)
mdc-theme-primary = accent-medium-color; # Action Buttons (save, restart etc.)
card-background-color = background-card-color; # Entity Registry Background
# Card
paper-card-background-color = background-card-color; # Background
dark-primary-color = text-color;
primary-text-color = text-color;
paper-listbox-color = text-color;
light-primary-color = text-dark-color;
secondary-text-color = text-medium-color;
disabled-text-color = text-dark-color;
paper-dialog-button-color = text-color;
secondary-background-color = background-color-2; # Background more info title
# Icons
paper-item-icon-color = text-dark-color; # Off
paper-item-icon-active-color = accent-color; # On
# Switches
switch-checked-button-color = text-medium-light-color; # Knob On
switch-unchecked-button-color = text-medium-light-color; # Knob Off
switch-checked-track-color = "#009FFF"; # Background On
switch-unchecked-track-color = "#767682"; # Background Off
# Slider
paper-slider-active-color = accent-color; # Line On
paper-slider-knob-color = text-medium-light-color; # Knob On
paper-slider-container-color = text-dark-color; # Line Off
paper-slider-knob-start-color = text-medium-light-color; # Knob Off
# Badges
label-badge-text-color = text-color;
label-badge-background-color = "rgba(54, 57, 65, 0.6)";
# Shadows
ha-card-box-shadow = "inset 0px 0px 0px 1px var(--border-color)";
# HACS
hacs-badge-color = accent-color; # New Badge
hacs-status-installed = text-color; # Installed Icon
hacs-status-pending-restart = text-dark-color; # Restart Icon
hacs-status-pending-update = accent-color;
}

View File

@@ -1,52 +0,0 @@
rec {
text-color = "#636B75"; # Grey text
text-medium-color = "#8c96a5"; # Medium grey text
text-light-color = "#BAC0C6"; # Light grey text
accent-color = "#00a1ff"; # Blue
background-color = "#F7F8F9"; # Light grey background
background-color-2 = "#F4F5F6"; # Light grey background
background-card-color = "rgba(255,255,255,1.0)"; # White background
border-color = "#E8E8E8"; # Light grey border
# Header
primary-color = text-color; # Background
text-primary-color = "#FFF"; # Text
# Left Menu
paper-listbox-background-color = background-color; # Background
# TODO = Text and Icons
# UI
paper-card-header-color = text-color; # Title in settings
primary-background-color = background-color; # Background color (also title background in left menu)
# Card
paper-card-background-color = background-card-color; # Background
dark-primary-color = text-color;
primary-text-color = text-color;
paper-listbox-color = text-color;
light-primary-color = text-light-color;
secondary-text-color = text-medium-color;
disabled-text-color = text-light-color;
paper-dialog-button-color = text-color;
secondary-background-color = background-color-2; # Background more info title
# Icons
paper-item-icon-color = text-light-color; # Off
paper-item-icon-active-color = accent-color; # On
# Switches
switch-checked-button-color = "#FFF"; # Knob On
switch-unchecked-button-color = "#FFF"; # Knob Off
switch-checked-track-color = "#0077FF"; # Background On
switch-unchecked-track-color = disabled-text-color; # Background Off
# Slider
paper-slider-active-color = accent-color; # Line On
paper-slider-container-color = "#e5e7ea"; # Line Off
paper-slider-knob-color = text-light-color; # Knob On
paper-slider-knob-start-color = text-light-color; # Knob Off
# Shadows
ha-card-box-shadow = "inset 0px 0px 0px 1px var(--border-color)";
}

View File

@@ -1,102 +0,0 @@
{ config, pkgs, lib, ... }:
let
inherit (import <niveum/lib>) localAddresses;
in
{
services.zigbee2mqtt = {
enable = true;
config = {
permit_join = false;
homeassistant = true;
serial = {
port = "/dev/ttyACM0";
disable_led = true;
};
mqtt = {
discovery = true;
base_topic = "zigbee";
server = "mqtt://${localAddresses.toum}";
user = "albrecht";
password = lib.strings.fileContents <system-secrets/mosquitto>;
};
};
};
services.mosquitto = {
enable = true;
host = "0.0.0.0";
allowAnonymous = false;
checkPasswords = true;
users."albrecht" = {
password = lib.strings.fileContents <system-secrets/mosquitto>;
acl = [ "topic readwrite #" ];
};
};
networking.firewall.allowedTCPPorts = [ 1883 ];
environment.systemPackages = [ pkgs.mosquitto ];
services.home-assistant = {
config = {
switch = [
{
platform = "mqtt";
name = "zigbee2mqtt_join";
state_topic = "/zigbee2mqtt/bridge/config/permit_join";
command_topic = "/zigbee2mqtt/bridge/config/permit_join";
payload_on = "true";
payload_off = "false";
}
];
timer.zigbee_permit_join = {
name = "Zigbee Time remaining";
duration = 120;
};
automation = [
# Automation to start timer when enable join is turned on
{
id = "zigbee_join_enabled";
alias = "";
hide_entity = "true";
trigger = {
platform = "state";
entity_id = "switch.zigbee2mqtt_join";
to = "on";
};
action = {
service = "timer.start";
entity_id = "timer.zigbee_permit_join";
};
}
# Automation to stop timer when switch turned off and turn off switch when timer finished
{
id = "zigbee_join_disabled";
hide_entity = "true";
trigger = [
{
platform = "event";
event_type = "timer.finished";
event_data.entity_id = "timer.zigbee_permit_join";
}
{
platform = "state";
entity_id = "switch.zigbee2mqtt_join";
to = "off";
}
];
action = [
{
service = "timer.cancel";
data.entity_id = "timer.zigbee_permit_join";
}
{
service = "switch.turn_off";
entity_id = "switch.zigbee2mqtt_join";
}
];
}
];
};
};
}

View File

@@ -1,5 +1,27 @@
{ config, pkgs, ... }: {
imports = [ <niveum/modules/hledger.nix> ];
{
config,
pkgs,
...
}: {
imports = [<niveum/modules/hledger.nix>];
environment.systemPackages = let
timeLedger = "$HOME/projects/ledger/time.timeclock";
in [
(pkgs.writers.writeDashBin "hora-edit" ''
$EDITOR + "${timeLedger}" && ${pkgs.git}/bin/git -C "$(${pkgs.coreutils}/bin/dirname ${timeLedger})" commit --all --message "$(${pkgs.coreutils}/bin/date -Im)"
'')
(pkgs.writers.writeDashBin "hora" ''
${pkgs.hledger}/bin/hledger -f "${timeLedger}" "$@"
'')
(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)" \
| sed 's/(fillidefilla:\(.*\))/\1/g' \
| xsv select date,amount,total,account,description
'')
];
niveum.hledger = {
enable = true;

View File

@@ -2,45 +2,28 @@
home-manager.users.me = {
programs.htop = {
enable = true;
colorScheme = 0;
accountGuestInCpuMeter = true;
cpuCountFromZero = false;
delay = 15;
detailedCpuTime = false;
headerMargin = true;
hideKernelThreads = true;
hideThreads = false;
hideUserlandThreads = false;
highlightBaseName = true;
highlightMegabytes = true;
highlightThreads = true;
shadowOtherUsers = true;
showProgramPath = false;
showThreadNames = true;
sortDescending = true;
sortKey = "PERCENT_CPU";
treeView = true;
updateProcessNames = false;
meters = {
left = [
{
kind = "LeftCPUs2";
mode = 1;
}
{
kind = "RightCPUs2";
mode = 1;
}
{
kind = "Memory";
mode = 1;
}
{
kind = "Swap";
mode = 1;
}
];
right = [ "Uptime" "Tasks" "LoadAverage" "Battery" ];
settings = {
color_scheme = 0;
account_guest_in_cpu_meter = true;
cpu_count_from_zero = false;
delay = 15;
detailed_cpu_time = false;
header_margin = true;
hide_kernel_threads = true;
hide_threads = true;
hide_userland_threads = true;
highlight_base_name = true;
highlight_megabytes = true;
highlight_threads = true;
shadow_other_users = true;
show_program_path = false;
show_thread_names = false;
sort_descending = true;
sort_key = "PERCENT_CPU";
tree_view = true;
update_process_names = false;
right_meters = ["Uptime" "Tasks" "LoadAverage" "Battery"];
left_meters = ["LeftCPUs2" "RightCPUs2" "Memory" "Swap"];
};
};
};

View File

@@ -1,57 +1,80 @@
{ config, pkgs, lib, ... }:
let
{
config,
pkgs,
lib,
...
}: let
inherit (lib.strings) fileContents;
inherit (import <niveum/lib>) sshPort;
eduroam = {
identity = fileContents <secrets/eduroam/identity>;
password = fileContents <secrets/eduroam/password>;
};
eduroamAuth = ''
key_mgmt=WPA-EAP
eap=TTLS
proto=RSN
identity="${eduroam.identity}"
anonymous_identity="anonymous@wlan.hu-berlin.de"
altsubject_match="DNS:srv1-radius.cms.hu-berlin.de;DNS:srv2-radius.cms.hu-berlin.de"
password="${eduroam.password}"
ca_cert="${
pkgs.fetchurl {
url =
"https://www.cms.hu-berlin.de/de/dl/netze/wlan/config/eduroam/t-telesec_globalroot_class_2.pem";
sha256 = "0if8aqd06sid7a0vw009zpa087wxcgdd2x6z2zs4pis5kvyqj2dk";
}
}"
phase2="auth=PAP"
'';
hu-berlin-cifs-options = [
"uid=${toString config.users.users.me.uid}"
"gid=${toString config.users.groups.users.gid}"
"sec=ntlmv2"
"workgroup=german"
"username=meinhaki"
"password=${lib.strings.fileContents <secrets/mail/meinhaki>}"
"noauto"
"x-systemd.requires=hu-vpn.service"
"x-systemd.automount"
"x-systemd.device-timeout=1"
"x-systemd.idle-timeout=1min"
];
in {
networking.wireless.networks = {
eduroam_5GHz.auth = eduroamAuth;
eduroam.auth = eduroamAuth;
fileSystems."/media/hu-berlin/germpro2" = {
device = "//hugerm31c.user.hu-berlin.de/germpro2/ling";
fsType = "cifs";
options = hu-berlin-cifs-options;
};
fileSystems."/media/hu-berlin/germhome" = {
device = "//hugerm31c.user.hu-berlin.de/germhome/ling/meinhaki";
fsType = "cifs";
options = hu-berlin-cifs-options;
};
home-manager.users.me.programs.ssh = {
matchBlocks = {
"alew.hu-berlin.de" = {
user = "centos";
hostname = "141.20.187.219";
};
};
};
environment.systemPackages = [
pkgs.sshfsFuse
(pkgs.writers.writeDashBin "hu-vpn" ''
${pkgs.openfortivpn}/bin/openfortivpn -p "${eduroam.password}" -c ${pkgs.writeText "hu-berlin.config" ''
host = forti-ssl.vpn.hu-berlin.de
port = 443
trusted-cert = e5a7d56543002ffe1e8962caa5fd6d94053aa702381458247b670877a66f3c6f
username = ${eduroam.identity}
''}
(pkgs.writers.writeDashBin "hu-ip" ''
${pkgs.w3m}/bin/w3m -dump meineip.hu-berlin.de | head --lines=-4 | tail --lines=+3
'')
(
pkgs.writers.writePython3Bin "hu-eduroam-install"
{
libraries = with pkgs.python3Packages; [distro pyopenssl dbus-python];
flakeIgnore = ["E501" "E123" "W504" "E722" "F821" "E226" "E126" "E265" "W291"];
}
(builtins.readFile (builtins.fetchurl {
url = "https://www.cms.hu-berlin.de/de/dl/netze/wlan/config/eduroam/linux-installer/eduroam-linux-hub.py";
sha256 = "19x2kvwxx13265b2hj5fjf53g0liw6dw7xf9j9cav67cswmz60kf";
}))
)
];
services.openvpn.servers.hu-berlin = {
autoStart = false;
authUserPass = {
username = eduroam.identity;
password = eduroam.password;
};
config = fileContents (pkgs.fetchurl {
url =
"https://www.cms.hu-berlin.de/de/dl/netze/vpn/openvpn/hu-berlin.ovpn";
sha256 = "15b55aibik5460svjq2gwxrcyh6ay4k8savd6cd5lncgndmd8p8h";
});
systemd.services.hu-vpn = {
enable = true;
wants = ["network-online.target"];
script = ''
${pkgs.openfortivpn}/bin/openfortivpn -c ${
pkgs.writeText "hu-berlin.config" ''
host = forti-ssl.vpn.hu-berlin.de
port = 443
trusted-cert = 42193a913d276d9eb86217612956e1e6464d6f07bed5393a4787c87adc4bd359
username = ${eduroam.identity}
password = ${eduroam.password}
''
}
'';
};
}

View File

@@ -1,6 +1,11 @@
{ config, pkgs, lib, ... }:
let
{
config,
pkgs,
lib,
...
}: let
inherit (import <niveum/lib>) defaultApplications colours;
scripts = import <niveum/packages/scripts> {inherit pkgs lib;};
klem = import <niveum/packages/scripts/klem.nix> {
inherit pkgs lib;
config.scripts = {
@@ -9,6 +14,15 @@ let
| ${pkgs.coreutils}/bin/tail --lines=1 \
| ${pkgs.gnused}/bin/sed 's/\\<r\\>/krebsco.de/'
'';
# "envs.sh host" = pkgs.writers.writeDash "envs-host" ''
# ${pkgs.curl}/bin/curl -F "file=$(${pkgs.coreutils}/bin/cat)" https://envs.sh
# '';
"envs.sh mirror" = pkgs.writers.writeDash "envs-mirror" ''
${pkgs.curl}/bin/curl -F "url=$(${pkgs.coreutils}/bin/cat)" https://envs.sh
'';
"envs.sh shorten" = pkgs.writers.writeDash "envs-shorten" ''
${pkgs.curl}/bin/curl -F "shorten=$(${pkgs.coreutils}/bin/cat)" https://envs.sh
'';
"ix.io" = pkgs.writers.writeDash "ix.io" ''
${pkgs.curl}/bin/curl -fSs -F 'f:1=<-' ix.io
'';
@@ -22,10 +36,16 @@ let
${pkgs.coreutils}/bin/tr '[A-Za-z]' '[N-ZA-Mn-za-m]'
'';
"ipa" = pkgs.writers.writeDash "ipa" ''
${pkgs.scripts.ipa}/bin/ipa
${scripts.ipa}/bin/ipa
'';
"betacode" = pkgs.writers.writeDash "betacode" ''
${pkgs.scripts.betacode}/bin/betacode
${scripts.betacode}/bin/betacode
'';
"curl" = pkgs.writers.writeDash "curl" ''
${pkgs.curl}/bin/curl -fSs "$(${pkgs.coreutils}/bin/cat)"
'';
ocr = pkgs.writers.writeDash "ocr" ''
${pkgs.tesseract4}/bin/tesseract -l eng+deu - stdout
'';
};
};
@@ -36,43 +56,36 @@ let
move-to-new-workspace = pkgs.writers.writeDash "new-workspace" ''
i3-msg move container to workspace $(($(i3-msg -t get_workspaces | tr , '\n' | grep '"num":' | cut -d : -f 2 | sort -rn | head -1) + 1))
'';
# https://github.com/LukeSmithxyz/voidrice/blob/9fe6802122f6e0392c7fe20eefd30437771d7f8e/.local/bin/dmenuunicode
emoji-menu = let
emoji-file = pkgs.fetchurl {
url =
"https://raw.githubusercontent.com/LukeSmithxyz/voidrice/master/.local/share/larbs/emoji";
sha256 = "03fv69ah8msh2j6i3lm4sdkckqq8jwn1kj43j98dh0xjpzazsy46";
};
in with pkgs;
writers.writeDashBin "emoji-menu" ''
PATH=${lib.makeBinPath [ coreutils dmenu gnused libnotify xclip xdotool ]}
chosen=$(cut -d ';' -f1 ${emoji-file} | dmenu -i -l 10 | sed "s/ .*//")
[ "$chosen" != "" ] || exit
echo "$chosen" | tr -d '\n' | xclip -selection clipboard
if [ -n "$1" ]; then
xdotool key Shift+Insert
else
notify-send --app-name="emoji-menu" "'$chosen' copied to clipboard." &
fi
'';
in {
services.xserver = {
displayManager.defaultSession = "none+i3";
windowManager.i3 = {
enable = true;
package = pkgs.i3-gaps;
};
};
services.xserver = {
monitorSection = ''Option "DPMS" "false"'';
serverFlagsSection = ''
Option "BlankTime" "0"
Option "StandbyTime" "0"
Option "SuspendTime" "0"
Option "OffTime" "0"
'';
extraConfig = ''
Section "Extensions"
Option "DPMS" "Disable"
EndSection
'';
};
home-manager.users.me.xsession.windowManager.i3 = {
enable = true;
config = rec {
fonts = [ "Monospace 10" ];
fonts = {
names = ["Sans"];
size = 10.0;
};
modifier = "Mod4";
window = {
titlebar = false;
@@ -80,15 +93,19 @@ in {
hideEdgeBorders = "smart";
commands = [
{
criteria = { class = "floating"; };
criteria = {class = "floating";};
command = "floating enable";
}
{
criteria = { class = "fzfmenu"; };
criteria = {class = "fzfmenu";};
command = "floating enable";
}
{
criteria = { class = "mpv"; };
criteria = {class = ".*";};
command = "border pixel 2";
}
{
criteria = {class = "mpv";};
command = lib.strings.concatStringsSep ", " [
"floating enable"
"sticky enable"
@@ -99,7 +116,6 @@ in {
}
];
};
gaps.inner = 4;
floating = {
titlebar = false;
border = 1;
@@ -110,51 +126,64 @@ in {
text = colours.foreground;
};
in rec {
focused = scheme // {
border = colours.foreground;
indicator = colours.foreground;
childBorder = colours.foreground;
};
unfocused = scheme // {
border = colours.background;
indicator = colours.background;
childBorder = colours.background;
};
focusedInactive = unfocused;
urgent = scheme // {
border = colours.red.bright;
indicator = colours.red.bright;
childBorder = colours.red.bright;
};
placeholder = scheme // {
border = colours.green.bright;
indicator = colours.green.bright;
childBorder = colours.green.bright;
};
};
bars = [{
workspaceButtons = false;
fonts = [ "Monospace 8" ];
mode = "hide"; # "dock"
position = "bottom";
colors = rec {
background = colours.background;
separator = background;
statusline = colours.foreground;
bindingMode = {
background = colours.red.bright;
border = colours.background;
text = colours.foreground;
focused =
scheme
// {
border = colours.blue.bright;
indicator = colours.blue.bright;
childBorder = colours.blue.bright;
};
};
statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ${
pkgs.writeTOML (import <niveum/lib/i3status-rust.nix> {
unfocused =
scheme
// {
border = colours.background;
indicator = colours.background;
childBorder = colours.background;
};
focusedInactive = unfocused;
urgent =
scheme
// {
border = colours.red.bright;
indicator = colours.red.bright;
childBorder = colours.red.bright;
};
placeholder =
scheme
// {
border = colours.green.bright;
indicator = colours.green.bright;
childBorder = colours.green.bright;
};
};
bars = [
{
workspaceButtons = false;
fonts = {
names = ["Monospace" "Font Awesome 6 Free"];
size = 8.0;
};
mode = "dock"; # "hide";
position = "bottom";
colors = rec {
background = colours.background;
separator = background;
statusline = colours.foreground;
bindingMode = {
background = colours.red.bright;
border = colours.background;
text = colours.foreground;
};
};
statusCommand = "env I3RS_GITHUB_TOKEN=${lib.strings.fileContents <secrets/github/notification.token>} ${pkgs.i3status-rust}/bin/i3status-rs ${
(pkgs.formats.toml {}).generate "i3status-rust.toml" (import <niveum/lib/i3status-rust.nix> {
inherit (config.niveum) batteryName wirelessInterface;
inherit colours;
inherit pkgs;
})
}";
}];
}
];
modes.resize = {
"Escape" = ''mode "default"'';
"Return" = ''mode "default"'';
@@ -173,81 +202,86 @@ in {
"${modifier}+k" = "focus up";
"${modifier}+l" = "focus right";
"${modifier}+Menu" = "exec ${klem}/bin/klem";
"${modifier}+Shift+b" = "move window to workspace prev";
"${modifier}+Shift+n" = "move window to workspace next";
"${modifier}+Shift+x" = "exec --no-startup-id ${move-to-new-workspace}";
"${modifier}+Shift+x" = "exec ${move-to-new-workspace}";
"${modifier}+b" = "workspace prev";
"${modifier}+n" = "workspace next";
"${modifier}+x" = "exec --no-startup-id ${new-workspace}";
"${modifier}+x" = "exec ${new-workspace}";
"${modifier}+Shift+c" = "reload";
"${modifier}+Shift+q" = "kill";
"${modifier}+Shift+r" = "restart";
"${modifier}+Shift+s" = "sticky toggle";
"${modifier}+z" = "sticky toggle";
"${modifier}+Shift+z" = "floating toggle";
"${modifier}+s" = "scratchpad show";
"${modifier}+Shift+s" = "move scratchpad";
"${modifier}+c" = "split h";
"${modifier}+e" = "layout toggle split";
"${modifier}+f" = "fullscreen toggle";
"${modifier}+r" = "mode resize";
"${modifier}+s" = "layout stacking";
"${modifier}+v" = "split v";
"${modifier}+w" = "layout tabbed";
"${modifier}+q" = "exec ${pkgs.writers.writeDash "newsboat-sync" ''
notify-send --app-name="newsboat" "Updating ..."
newsboat -x reload
notify-send --app-name="newsboat" "Finished updating."
''}";
# "${modifier}+Shift+y" = "exec ${pkgs.qutebrowser}/bin/qutebrowser";
"${modifier}+Return" = "exec ${(defaultApplications pkgs).terminal}";
"${modifier}+t" = "exec ${(defaultApplications pkgs).fileManager}";
"${modifier}+y" = "exec ${(defaultApplications pkgs).browser}";
"${modifier}+0" = "exec ${scripts.menu-calc}/bin/=";
"${modifier}+Shift+w" = "exec ${pkgs.xautolock}/bin/xautolock -locknow";
"${modifier}+a" =
"exec --no-startup-id ${pkgs.rofi}/bin/rofi -display-window -show window";
"${modifier}+d" = "exec --no-startup-id ${pkgs.dmenu}/bin/dmenu_run";
"${modifier}+Shift+w" = "exec ${scripts.k-lock}/bin/k-lock";
"${modifier}+d" = "exec ${pkgs.writers.writeDash "run" ''exec rofi -modi run,ssh,window -show run''}";
"${modifier}+Shift+d" = "exec ${
pkgs.writers.writeDash "notemenu" ''
set -efu
PATH=$PATH:${
lib.makeBinPath [ pkgs.dmenu pkgs.findutils pkgs.coreutils ]
}
pkgs.writers.writeDash "notemenu" ''
set -efu
PATH=$PATH:${
lib.makeBinPath [pkgs.rofi pkgs.findutils pkgs.coreutils]
}
cd ~/notes
note_file=$(find . -type f -printf "%T@ %p\n" | sort --reverse --numeric-sort | cut --delimiter=" " --fields=2 | dmenu -i)
if test "$note_file"
then
i3-sensible-terminal -e "$EDITOR" "$note_file"
fi
''
}";
"${modifier}+p" = "exec --no-startup-id ${pkgs.pass}/bin/passmenu -l 5";
"${modifier}+u" = "exec ${emoji-menu}/bin/emoji-menu";
cd ~/notes
note_file=$({
echo diary/$(date -I).md
echo diary/$(date -I -d yesterday).md
find . ! -name '.*' -type f -printf "%T@ %p\n" | sort --reverse --numeric-sort | cut --delimiter=" " --fields=2-
} | rofi -dmenu -i -p 'notes')
if test "$note_file"
then
alacritty --working-directory ~/notes -e "$EDITOR" "$note_file"
fi
''
}";
"${modifier}+p" = "exec rofi-pass";
"${modifier}+Shift+p" = "exec rofi-pass --insert";
"${modifier}+u" = "exec ${scripts.unicodmenu}/bin/unicodmenu";
"${modifier}+F7" = "exec ${pkgs.scripts.showkeys-toggle}/bin/showkeys-toggle";
"${modifier}+F8" = "exec ${pkgs.xorg.xkill}/bin/xkill";
"${modifier}+F6" = "exec ${pkgs.xorg.xkill}/bin/xkill";
"${modifier}+F7" = "exec ${scripts.showkeys-toggle}/bin/showkeys-toggle";
"${modifier}+F8" = "exec switch-theme toggle";
"${modifier}+F9" = "exec ${pkgs.redshift}/bin/redshift -O 4000 -b 0.85";
"${modifier}+F10" = "exec ${pkgs.redshift}/bin/redshift -x";
"${modifier}+F11" = "exec ${pkgs.xcalib}/bin/xcalib -invert -alter";
"${modifier}+F12" = "exec ${klem}/bin/klem";
"Print" = "exec flameshot-once";
"XF86AudioLowerVolume" =
"exec --no-startup-id ${pkgs.pamixer}/bin/pamixer -d 5";
"XF86AudioMute" = "exec --no-startup-id ${pkgs.pamixer}/bin/pamixer -t";
"XF86AudioRaiseVolume" =
"exec --no-startup-id ${pkgs.pamixer}/bin/pamixer -i 5";
"XF86Calculator" =
"exec ${pkgs.st}/bin/st -c floating -e ${pkgs.bc}/bin/bc";
"XF86AudioPause" =
"exec --no-startup-id ${pkgs.playerctl}/bin/playerctl pause";
"XF86AudioPlay" =
"exec --no-startup-id ${pkgs.playerctl}/bin/playerctl play-pause";
"XF86AudioNext" =
"exec --no-startup-id ${pkgs.playerctl}/bin/playerctl next";
"XF86AudioPrev" =
"exec --no-startup-id ${pkgs.playerctl}/bin/playerctl previous";
"XF86ScreenSaver" = "exec ${pkgs.xautolock}/bin/xautolock -locknow";
"XF86AudioLowerVolume" = "exec ${pkgs.pamixer}/bin/pamixer -d 5";
"XF86AudioMute" = "exec ${pkgs.pamixer}/bin/pamixer -t";
"XF86AudioRaiseVolume" = "exec ${pkgs.pamixer}/bin/pamixer -i 5";
"XF86Calculator" = "exec ${pkgs.st}/bin/st -c floating -e ${pkgs.bc}/bin/bc";
"XF86AudioPause" = "exec ${pkgs.playerctl}/bin/playerctl pause";
"XF86AudioPlay" = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
"XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl next";
"XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl previous";
"XF86AudioStop" = "exec ${pkgs.playerctl}/bin/playerctl stop";
"XF86ScreenSaver" = "exec ${scripts.k-lock}/bin/k-lock";
"XF86Display" = "exec ${pkgs.scripts.dmenurandr}/bin/dmenurandr";
"XF86Display" = "exec ${scripts.dmenurandr}/bin/dmenurandr";
# key names detected with xorg.xev:
# XF86WakeUp (fn twice)

View File

@@ -1,13 +1,17 @@
{
networking.firewall = {
allowedTCPPortRanges = [{
from = 1714;
to = 1764;
}];
allowedUDPPortRanges = [{
from = 1714;
to = 1764;
}];
allowedTCPPortRanges = [
{
from = 1714;
to = 1764;
}
];
allowedUDPPortRanges = [
{
from = 1714;
to = 1764;
}
];
};
home-manager.users.me = {

View File

@@ -1,8 +0,0 @@
{ config, ... }: {
services.keybase.enable = true;
services.kbfs = {
enable = true;
mountPoint = "%h/cloud/keybase";
};
}

View File

@@ -1,17 +1,75 @@
{ pkgs, lib, ... }:
let commaSep = builtins.concatStringsSep ",";
{
pkgs,
lib,
...
}: let
commaSep = builtins.concatStringsSep ",";
xkbOptions = ["compose:caps" "terminate:ctrl_alt_bksp" "grp:ctrls_toggle"];
languages = {
de = "T3";
gr = "polytonic";
ru = "phonetic";
ara = "buckwalter";
cop = "";
ave = "";
"in" = "san-kagapa";
il = "phonetic";
};
defaultLanguage = "de";
in {
# man 7 xkeyboard-config
services.xserver = {
layout = commaSep [ "de" "gr" ];
xkbVariant = commaSep [ "T3" "polytonic" ];
xkbOptions =
commaSep [ "compose:caps" "terminate:ctrl_alt_bksp" "grp:ctrls_toggle" ];
layout = "de";
# T3: https://upload.wikimedia.org/wikipedia/commons/a/a9/German-Keyboard-Layout-T3-Version1-large.png
# buckwalter: http://www.qamus.org/transliteration.htm
xkbVariant = "T3";
xkbOptions = commaSep xkbOptions;
libinput.enable = true;
xkbDir = pkgs.symlinkJoin {
name = "x-keyboard-directory";
paths = [
"${pkgs.xkeyboard_config}/etc/X11/xkb"
(pkgs.linkFarm "custom-x-keyboards" [
{
name = "symbols/cop";
path = pkgs.fetchurl {
url = "http://www.moheb.de/download/cop";
sha256 = "1l0h6aq536hyinrh0i0ia355y229bjrlibii0sya5bmqh46vycia";
};
}
{
name = "symbols/ave";
path = pkgs.fetchurl {
url = "https://blog.simos.info/wp-content/uploads/2010/06/avestan.txt";
sha256 = "192zmmm3gxyhim39dsax7r87gsay2w5v2xkhwmvsfipjb60hwp5g";
};
}
])
];
};
};
console.keyMap = "de";
environment.systemPackages =
lib.mapAttrsToList
(language: variant:
pkgs.writers.writeDashBin "kb-${language}" ''
${pkgs.xorg.setxkbmap}/bin/setxkbmap ${defaultLanguage},${language} ${languages.${defaultLanguage}},${variant} ${toString (map (option: "-option ${option}") xkbOptions)}
'')
languages;
# improve held key rate
services.xserver.displayManager.sessionCommands =
"${pkgs.xorg.xset}/bin/xset r rate 300 50";
services.xserver.displayManager.sessionCommands = "${pkgs.xorg.xset}/bin/xset r rate 300 50";
systemd.user.services.gxkb = {
wantedBy = ["graphical-session.target"];
serviceConfig = {
SyslogIdentifier = "gxkb";
ExecStart = "${pkgs.gxkb}/bin/gxkb";
Restart = "always";
RestartSec = "15s";
StartLimitBurst = 0;
};
};
}

186
configs/khal.nix Normal file
View File

@@ -0,0 +1,186 @@
{
config,
pkgs,
lib,
...
}: let
davHome = "~/.local/share/dav";
kmeinCloud = {
davEndpoint = "https://cloud.xn--kiern-0qa.de/remote.php/dav";
username = "kieran";
password = lib.fileContents <secrets/nextcloud/password>;
};
fysiCloud = {
davEndpoint = "https://nextcloud.fysi.dev/remote.php/dav";
username = "kmein";
password = lib.fileContents <secrets/nextcloud-fysi/password>;
};
in {
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 = {
enable = true;
wants = ["network-online.target"];
wantedBy = ["default.target"];
startAt = "*:00/10";
script = ''
${pkgs.vdirsyncer}/bin/vdirsyncer sync
${pkgs.khal}/bin/khal printcalendars # https://lostpackets.de/khal/configure.html#syncing
'';
serviceConfig = {
Type = "oneshot";
Restart = "on-failure";
};
};
home-manager.users.me = {
xdg.configFile = {
"khard/khard.conf".text = ''
[addressbooks]
[[contacts]]
path = ${davHome}/contacts/contacts/
[general]
debug = no
default_action = list
editor = ${config.environment.variables.EDITOR}
merge_editor = ${pkgs.vim}/bin/vimdiff
[contact table]
display = first_name
group_by_addressbook = no
reverse = no
show_nicknames = no
show_uids = no
sort = last_name
localize_dates = yes
preferred_phone_number_type = pref, cell, home
preferred_email_address_type = pref, work, home
[vcard]
search_in_source_files = no
skip_unparsable = no
'';
"todoman/config.py".text = ''
path = "${davHome}/calendar/*"
date_format = "%Y-%m-%d"
time_format = "%H:%M"
default_due = 0
default_list = "Personal"
startable = True
'';
"khal/config".text = ''
[calendars]
[[alew]]
path = ${davHome}/calendar/alew
color = "light gray"
[[personal]]
path = ${davHome}/calendar/personal
color = "light cyan"
[[uni]]
path = ${davHome}/calendar/uni-1
color = "yellow"
[[fysi]]
path = ${davHome}/calendar/fysi-1
color = "light magenta"
[[fysi_team]]
path = ${davHome}/calendar/personal_shared_by_fdf
color = "light red"
[[birthdays]]
path = ${davHome}/contacts/contacts
type = birthdays
color = "light green"
[default]
highlight_event_days = True
timedelta = 5d
print_new = path
default_calendar = personal
[locale]
timeformat = %H:%M
dateformat = %Y-%m-%d
longdateformat = %Y-%m-%d
datetimeformat = %Y-%m-%d %H:%M
longdatetimeformat = %Y-%m-%d %H:%M
local_timezone = ${config.time.timeZone}
default_timezone = ${config.time.timeZone}
weeknumbers = left
'';
"vdirsyncer/config".text = ''
[general]
status_path = "~/.local/share/vdirsyncer/status/"
[pair kontakte]
a = "kontakte_local"
b = "kontakte_cloud"
collections = ["contacts"]
conflict_resolution = "b wins"
[pair kalender]
a = "kalender_local"
b = "kalender_cloud"
collections = ["personal", "alew", "uni-1"]
conflict_resolution = "b wins"
[pair fysi]
a = "kalender_local"
b = "fysi_cloud"
collections = ["fysi-1", "personal_shared_by_fdf"]
conflict_resolution = "b wins"
[storage kontakte_local]
type = "filesystem"
path = "${davHome}/contacts/"
fileext = ".vcf"
[storage kalender_local]
type = "filesystem"
path = "${davHome}/calendar/"
fileext = ".ics"
[storage kontakte_cloud]
type = "carddav"
url = "${kmeinCloud.davEndpoint}/addressbooks/users/${kmeinCloud.username}/"
username = "${kmeinCloud.username}"
password = "${kmeinCloud.password}"
[storage kalender_cloud]
type = "caldav"
url = "${kmeinCloud.davEndpoint}/calendars/${kmeinCloud.username}/"
username = "${kmeinCloud.username}"
password = "${kmeinCloud.password}"
[storage fysi_cloud]
type = "caldav"
url = "${fysiCloud.davEndpoint}/calendars/${fysiCloud.username}/"
username = "${fysiCloud.username}"
password = "${fysiCloud.password}"
'';
};
};
}

View File

@@ -1,13 +0,0 @@
{ ... }:
let ssid = "Kleiter Gast";
in {
networking.wireless.networks.${ssid}.psk = "Kleiter-Gast";
# fix dns
systemd.network.networks.kleiter = {
dns = [ "8.8.8.8" "8.8.4.4" ];
networkConfig.DHCP = "yes";
matchConfig.Name = "wlp3s0";
matchConfig.SSID = ssid;
};
}

27
configs/lb.nix Normal file
View File

@@ -0,0 +1,27 @@
{
lib,
pkgs,
...
}: {
systemd.services.lb-subscription = {
enable = true;
wants = ["network-online.target"];
startAt = "weekly";
serviceConfig = {
user = "kfm";
WorkingDirectory = "/home/kfm/cloud/Seafile/Books/Germanistik/LB";
};
script = ''
first_year=2019
for year in $(${pkgs.coreutils}/bin/seq "$first_year" "$(date +%Y)"); do
${pkgs.curl}/bin/curl -sSL "https://www.literarische-blaetter.de/jahrgang-$year/" \
| ${pkgs.htmlq}/bin/htmlq --attribute href 'ul.slides a' \
| while read -r month; do
${pkgs.curl}/bin/curl -sSL "$month" \
| ${pkgs.htmlq}/bin/htmlq --attribute src iframe \
| ${pkgs.gnused}/bin/sed 's/.*?pdf=//;s/?wp-hosted.*//'
done
done | ${pkgs.findutils}/bin/xargs ${pkgs.wget}/bin/wget --no-clobber
'';
};
}

View File

@@ -1,265 +0,0 @@
{ config, pkgs, lib, ... }:
let
inherit (import <niveum/lib>) kieran;
nixpkgs-much = import (pkgs.fetchFromGitHub {
owner = "NixOS";
repo = "nixpkgs";
rev = "7c2a362b58a1c2ba72d24aa3869da3b1a91d39e1";
sha256 = "0gl4xndyahasa9dv5mi3x9w8s457wl2xh9lcldizcn1irjvkrzs4";
}) {
overlays = [
(import <stockholm/krebs/5pkgs/haskell>)
];
};
much-pkg = nixpkgs-much.haskellPackages.callCabal2nix "much" <niveum/submodules/much> {};
much = nixpkgs-much.haskell.lib.dontHaddock much-pkg;
tagRules = [
{
query = "to:miaengiadina-pwa@noreply.github.com AND subject:\"PR run failed\"";
tags = [ "-new" "+deleted" ];
}
{
query = lib.concatStringsSep " OR " [
"from:noreply-local-guides@google.com"
"from:google-maps-noreply@google.com"
"subject:fd-noti"
"from:nebenan.de"
"to:miaengiadina-pwa@noreply.github.com"
];
tags = [ "-new" ];
}
{
query = "tag:new";
tags = [ "-new" "+inbox" ];
}
];
# turns out we have to escape $ because, if the password contains a $, it will get interpolated as a variable by the msmtp `passwordeval` which does: `bash -c "COMMAND; echo"`
pass_ = file: "echo ${lib.escape ["$"] (lib.escapeShellArg (lib.strings.fileContents file))}";
generateTaggingScript = filters:
let
template = { tags, query, message ? "tagging ${query} -> ${lib.concatStringsSep " " tags}", ... }: ''
echo '${message}'
${pkgs.notmuch}/bin/notmuch tag ${lib.concatStringsSep " " tags} -- "${query}"
'';
in lib.concatStringsSep "\n" (map template filters);
enableDefaults = lib.recursiveUpdate {
mbsync = {
enable = true;
create = "both";
expunge = "both";
};
msmtp.enable = true;
notmuch.enable = true;
};
mail-sync = pkgs.writers.writeDashBin "mail-sync" ''
${pkgs.isync}/bin/mbsync --all
${pkgs.notmuch}/bin/notmuch new
'';
in {
environment.variables.NOTMUCH_CONFIG = config.home-manager.users.me.home.sessionVariables.NOTMUCH_CONFIG;
systemd.services.mail-sync = {
enable = true;
wants = [ "network-online.target" ];
startAt = "*:0/15";
serviceConfig.User = "kfm";
serviceConfig.Type = "oneshot";
environment.NOTMUCH_CONFIG = config.home-manager.users.me.home.sessionVariables.NOTMUCH_CONFIG;
script = ''
export PATH=${lib.makeBinPath [ pkgs.muchsync pkgs.notmuch mail-sync ]}
mail-sync
muchsync
'';
};
environment.systemPackages = [
pkgs.neomutt
pkgs.notmuch-addrlookup
mail-sync
pkgs.muchsync
(pkgs.writers.writeDashBin "mua" ''
if [ $# -eq 0 ]; then
${much}/bin/much-kmein
else
${much}/bin/much-kmein -q "$*"
fi
'')
(pkgs.writers.writeDashBin "mail-clean" ''
${pkgs.notmuch}/bin/notmuch search --output files --format=text0 tag:deleted | ${pkgs.findutils}/bin/xargs -r0 rm
${pkgs.notmuch}/bin/notmuch new
'')
];
home-manager.users.me = {
services.muchsync.remotes =
let
muchsyncConfig = host: {
name = host;
value = {
frequency = "*:0/10";
remote.host = host;
remote.checkForModifiedFiles = false;
local.checkForModifiedFiles = false;
# don't run `notmuch new` locally nor remotely because muchsync is only regularly run after `mail-sync`
remote.importNew = false;
local.importNew = false;
};
};
in lib.listToAttrs (map muchsyncConfig [
"wilde"
"manakish"
]);
programs.msmtp.enable = true;
programs.mbsync.enable = true;
programs.notmuch = {
enable = true;
new.tags = [ "new" ];
search.excludeTags = [ "deleted" "spam" ];
hooks.postNew = generateTaggingScript tagRules;
extraConfig.muchsync.and_tags = "inbox;unread";
};
accounts.email.maildirBasePath = "${config.users.users.me.home}/mail";
accounts.email.accounts = {
fysi = enableDefaults {
primary = false;
smtp = {
host = "smtp.fastmail.com";
port = 465;
tls.enable = true;
};
imap = {
host = "imap.fastmail.com";
port = 993;
tls.enable = true;
};
userName = "kieran@fysi.tech";
address = "kieran@fysi.tech";
realName = kieran.name;
passwordCommand = pass_ <secrets/mail/fastmail>;
};
cock = enableDefaults {
primary = false;
smtp = {
host = "mail.cock.li";
port = 587;
tls = {
enable = true;
useStartTls = true;
};
};
imap = {
host = "mail.cock.li";
port = 993;
tls.enable = true;
};
userName = "2210@cock.li";
address = "2210@cock.li";
realName = "2210";
passwordCommand = pass_ <secrets/mail/cock>;
};
kieran-gmail = enableDefaults {
primary = false;
flavor = "gmail.com";
address = "kieran.meinhardt@gmail.com";
realName = kieran.name;
userName = "kieran.meinhardt";
passwordCommand = pass_ <secrets/mail/gmail/kieran.meinhardt>;
folders = {
drafts = "[Gmail]/Entw&APw-rfe";
sent = "[Gmail]/Gesendet";
trash = "[Gmail]/Papierkorb";
};
};
amroplay = enableDefaults {
primary = false;
flavor = "gmail.com";
address = "amroplay@gmail.com";
realName = kieran.name;
userName = "amroplay";
passwordCommand = pass_ <secrets/mail/gmail/amroplay>;
folders = {
drafts = "[Gmail]/Drafts";
sent = "[Gmail]/Sent Mail";
trash = "[Gmail]/Bin";
};
};
posteo = enableDefaults {
primary = true;
smtp = {
host = "posteo.de";
port = 587;
tls = {
enable = true;
useStartTls = true;
};
};
imap = {
host = "posteo.de";
port = 993;
tls.enable = true;
};
address = "kieran.meinhardt@posteo.net";
realName = kieran.name;
userName = "kieran.meinhardt@posteo.net";
passwordCommand = pass_ <secrets/mail/posteo>;
};
hu-berlin = enableDefaults {
primary = false;
address = "meinhark@hu-berlin.de";
realName = kieran.name;
userName = "meinhark";
passwordCommand = pass_ <secrets/eduroam/password>;
smtp = {
host = "mailhost.cms.hu-berlin.de";
port = 25;
tls = {
enable = true;
useStartTls = true;
};
};
imap = {
host = "mailbox.cms.hu-berlin.de";
port = 993;
tls.enable = true;
};
};
hu-berlin-work = enableDefaults {
primary = false;
address = "meinhaki@hu-berlin.de";
realName = kieran.name;
userName = "meinhaki";
passwordCommand = pass_ <secrets/mail/meinhaki>;
smtp = {
host = "mailhost.cms.hu-berlin.de";
port = 25;
tls = {
enable = true;
useStartTls = true;
};
};
imap = {
host = "mailbox.cms.hu-berlin.de";
port = 993;
tls.enable = true;
};
};
};
};
}

19
configs/mastodon-bot.nix Normal file
View File

@@ -0,0 +1,19 @@
{pkgs, ...}: {
systemd.services.imaginary-illuminations = {
enable = false;
wants = ["network-online.target"];
serviceConfig = {
User = "kfm";
Group = "users";
WorkingDirectory = "/home/kfm/cloud/Seafile/Documents/Media/imaginary-illuminations";
Restart = "on-failure";
RestartSec = "15s";
};
startAt = "7:00";
script = ''
${pkgs.deno}/bin/deno run -A post.ts
'';
};
systemd.timers.imaginary-illuminations.timerConfig.RandomizedDelaySec = "14h";
}

View File

@@ -1,72 +0,0 @@
{ pkgs, lib, ... }:
let
bridgeBotToken = lib.strings.fileContents <system-secrets/telegram/kmein.token>;
config = {
general = {
RemoteNickFormat = "[{NOPINGNICK}] ";
Charset = "utf-8";
};
telegram.kmein.Token = bridgeBotToken;
irc.freenode = {
Server = "irc.freenode.net:6667";
Nick = "ponte";
};
mumble.lassulus = {
Server = "lassul.us:64738";
Nick = "krebs_bridge";
SkipTLSVerify = true;
};
gateway = [
{
name = "krebs-bridge";
enable = true;
inout = [
{
account = "irc.freenode";
channel = "#krebs";
}
{
account = "telegram.kmein";
channel = "-330372458";
}
{
account = "mumble.lassulus";
channel = 6; # "nixos"
}
];
}
{
name = "myengadin-bridge";
enable = true;
inout = [
{
account = "irc.freenode";
channel = "##myengadin";
}
{
account = "telegram.kmein";
channel = "-425759153";
}
];
}
];
};
in
{
nixpkgs.overlays = [
(import <niveum/overlays/toml.nix>)
(self: super: {
matterbridge = (import (super.fetchFromGitHub {
owner = "NixOS";
repo = "nixpkgs";
rev = "e45d91ee65db293a172ec506759d1248e40c35f5";
sha256 = "03cjs5xcx09lw0djyrx2kfakw7gkg4iqmy9w25azai62im39l30k";
}) {}).matterbridge;
})
];
services.matterbridge = {
enable = true;
configPath = toString (pkgs.writeTOML config);
};
}

View File

@@ -7,20 +7,20 @@
"application/pdf" = "org.pwmt.zathura.desktop";
"application/vnd.oasis.opendocument.text" = "writer.desktop";
"application/vnd.openxmlformats-officedocument.wordprocessingml.document" = "writer.desktop";
"image/jpeg" = "sxiv.desktop";
"image/png" = "sxiv.desktop";
"image/jpeg" = "nsxiv.desktop";
"image/png" = "nsxiv.desktop";
"image/vnd.djvu+multipage" = "org.pwmt.zathura.desktop";
"text/html" = "brave-browser.desktop";
"text/html" = "firefox.desktop";
"text/markdown" = "nvim.desktop";
"text/plain" = "nvim.desktop";
"x-scheme-handler/about" = "brave-browser.desktop";
"x-scheme-handler/http" = "brave-browser.desktop";
"x-scheme-handler/https" = "brave-browser.desktop";
"x-scheme-handler/mailto" = "brave-browser.desktop";
"x-scheme-handler/unknown" = "brave-browser.desktop";
"x-scheme-handler/webcal" = "brave-browser.desktop";
"x-scheme-handler/about" = "firefox.desktop";
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = "firefox.desktop";
"x-scheme-handler/mailto" = "firefox.desktop";
"x-scheme-handler/unknown" = "firefox.desktop";
"x-scheme-handler/webcal" = "firefox.desktop";
"inode/directory" = "pcmanfm.desktop";
};
};
};
}

85
configs/monitoring.nix Normal file
View File

@@ -0,0 +1,85 @@
{
config,
pkgs,
...
}: {
services.nginx.virtualHosts.default = {
locations."= /stub_status".extraConfig = "stub_status;";
};
services.prometheus = {
enable = true;
port = 9001;
exporters = {
nginx.enable = false;
node = {
enable = true;
openFirewall = true;
enabledCollectors = [
"conntrack"
"diskstats"
"entropy"
"filefd"
"filesystem"
"loadavg"
"mdadm"
"meminfo"
"netdev"
"netstat"
"stat"
"time"
"vmstat"
"systemd"
"logind"
"interrupts"
"ksmd"
];
port = 9002;
};
};
};
systemd.services.promtail = {
description = "Promtail service for Loki";
wantedBy = ["multi-user.target"];
serviceConfig = {
ExecStart = ''
${pkgs.grafana-loki}/bin/promtail --config.file ${
(pkgs.formats.yaml {}).generate "promtail.yaml" {
server = {
http_listen_port = 28183;
grpc_listen_port = 0;
};
positions.filename = "/tmp/positions.yaml";
clients = [
{
url = "http://${
if config.networking.hostName == "makanek"
then "127.0.0.1"
else "makanek.r"
}:3100/loki/api/v1/push";
}
];
scrape_configs = [
{
job_name = "journal";
journal = {
max_age = "12h";
labels.job = "systemd-journal";
labels.host = config.networking.hostName;
};
relabel_configs = [
{
source_labels = ["__journal__systemd_unit"];
target_label = "unit";
}
];
}
];
}
}
'';
};
};
}

View File

@@ -1,86 +0,0 @@
{ config, pkgs, lib, ... }:
let
inherit (import <niveum/lib>) kieran;
moodle-dl = pkgs.callPackage <niveum/packages/moodle-dl> {};
moodle-dl-config = {
telegram = {
token = lib.strings.fileContents <system-secrets/telegram/moodle-dl.token>;
chat_id = "18980945";
send_error_msg = true;
};
token = lib.strings.fileContents <system-secrets/moodle.token>;
moodle_domain = "moodle.hu-berlin.de";
moodle_path = "/";
download_course_ids = [
99881 # Dialektologie
100183 # Onomastik
100353 # Sanskrit I
100692 # Sanskrit Tutorium
99832 # Germanisch
99823 # Gotisch
99813 # Altalbanisch
98681 # Geistliche Lyrik von Luther bis Lehnert
99667 # Antike Mythologie
# 52365 # FSR KlassPhil
];
download_submissions = true;
download_descriptions = true;
download_links_in_descriptions = false;
download_databases = false;
download_forums = false;
download_linked_files = false;
download_also_with_cookie = false;
};
moodle-dl-json = pkgs.writeText "moodle-dl.json" (builtins.toJSON moodle-dl-config);
moodle-dl-directory = "/var/lib/moodle";
in
{
users.extraUsers.moodle = {
isNormalUser = false;
home = moodle-dl-directory;
createHome = true;
openssh.authorizedKeys.keys = [
# for sshfs mount
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDtIFmbspaBHaSkLEx43V0uaVd7l9NUFiwt2VOP++KzLjvRMLkyF2hg2HjmogTjUvTyoDs7RHwEH/cHZlJ5JQkM1jRqQpnYwGfkZEwYvmXAl6LY9+vQMP36gNPfXmKX3y3LelO7oD2uhUs0guTtg0tHUyN5/UY5u+VinyD6djxDkHaCUn3S7CS/odBcs/4flXT654wsvzgYicnSKH9R4W+7C0YsckZ/NoIkA4jnuwtWZYWrUkxd4/290buX6pAc5+zVVZqyy0sI4i8s6pO9RL5W7xvYt+w+U0u0dMxm5ckiRmLVKfIbMN4YtDxsZbZDajlQ1nDbOsEsrSXWz4H4cSNot7J820x1qh5SSxL4GSQlcT+6xCFk9kKyflxoS3oLoPLttx3rmOMkZKJWxF/IKLW47orxV6wkG5mHxdeR3cf6jX4j3nkwFVyC9R+WG4w2Z4vKONVE7uWGYU3y4OpR1e6MGHVShkNKqEvC/Kjcc/6v7I7AKRAuPZB0WEw36tA65/8= root@wilde"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFFPHt+FPQ6gq8Ev65YsBZrafdtpWGpCNnlVvy67S1BK root@manakish"
];
useDefaultShell = true;
};
system.activationScripts.moodle-dl-config = "ln -sfn ${toString moodle-dl-json} ${config.users.extraUsers.moodle.home}/config.json";
services.syncthing = {
enable = true;
user = "moodle"; # config.users.extraUsers.moodle.name;
openDefaultPorts = true;
configDir = "${moodle-dl-directory}/.config/syncthing";
dataDir = "${moodle-dl-directory}/.config/syncthing";
declarative = rec {
cert = toString <system-secrets/syncthing/cert.pem>;
key = toString <system-secrets/syncthing/key.pem>;
devices = {
inherit ((import <niveum/lib>).syncthing.devices) wilde manakish toum;
};
folders.${moodle-dl-directory} = {
devices = [ "toum" "wilde" "manakish" ];
id = "moodle-dl";
};
};
};
systemd.services.moodle-dl = {
enable = true;
startAt = "hourly";
serviceConfig = {
Type = "oneshot";
User = config.users.extraUsers.moodle.name;
WorkingDirectory = config.users.extraUsers.moodle.home;
};
wants = [ "network-online.target" ];
script = "${moodle-dl}/bin/moodle-dl";
};
}

View File

@@ -1,38 +0,0 @@
{ config, pkgs, lib, ... }:
let
playlists = import <niveum/lib/playlists.nix>;
playlistFiles = lib.mapAttrs (name: {tracks, ...}: pkgs.writeText "${name}.m3u" (builtins.concatStringsSep "\n" (map ({url, ...}: url) tracks))) playlists;
linkPlaylist = name: file: ''
ln -sfn "${toString file}" "/var/lib/mpd/playlists/${name}.m3u"
'';
linkPlaylists = lib.concatStringsSep "\n" (lib.mapAttrsToList linkPlaylist playlistFiles);
in
{
system.activationScripts.mpd-playlists = ''
rm -rf /var/lib/mpd/playlists
install -d /var/lib/mpd/playlists
${linkPlaylists}
'';
environment.systemPackages = [ pkgs.ncmpcpp pkgs.mpc_cli ];
services.mpd.enable = true;
services.ympd.enable = true;
services.nginx.virtualHosts.default = {
locations."^~ /ympd/" = {
proxyPass = "http://127.0.0.1:${config.services.ympd.webPort}/";
extraConfig = ''
auth_basic "Restricted Content";
auth_basic_user_file ${pkgs.writeText "ympd-password" "dj:$apr1$1ogLNSki$37uGV8iqjWEYEwtY4iq3F1"};
''; # generate password hash with `openssl passwd -apr1`
};
};
# dont let anyone outside localhost or local network in
networking.firewall.extraCommands = let ympdPort = config.services.ympd.webPort; in ''
${pkgs.iptables}/bin/iptables -A INPUT -p tcp --dport ${ympdPort} -s 192.168.0.0/16 -j ACCEPT
${pkgs.iptables}/bin/iptables -A INPUT -p tcp --dport ${ympdPort} -s 127.0.0.0/8 -j ACCEPT
${pkgs.iptables}/bin/iptables -A INPUT -p tcp --dport ${ympdPort} -j DROP
'';
}

View File

@@ -1,14 +1,28 @@
{ pkgs, ... }: let
swallow = command: "${pkgs.scripts.swallow}/bin/swallow ${command}";
{
pkgs,
lib,
config,
...
}: let
scripts = import <niveum/packages/scripts> {inherit pkgs lib;};
swallow = command: "${scripts.swallow}/bin/swallow ${command}";
in {
environment.shellAliases.mpv = swallow "mpv";
environment.shellAliases.smpv = swallow "mpv";
nixpkgs.overlays = [
(self: super: {
mpv = config.home-manager.users.me.programs.mpv.finalPackage;
})
];
home-manager.users.me = {
programs.mpv = {
enable = true;
config = {
force-window = "yes";
ytdl-format = "bestvideo[height<=?720][fps<=?30][vcodec!=?vp9]+bestaudio/best";
ytdl-raw-options = lib.concatStringsSep "," [''sub-lang="de,en"'' "write-sub=" "write-auto-sub="];
screenshot-template = "%F-%wH%wM%wS-%#04n";
script-opts = "ytdl_hook-ytdl_path=${pkgs.yt-dlp}/bin/yt-dlp";
};
bindings = {
"Alt+RIGHT" = "add video-rotate 90";
@@ -20,6 +34,10 @@ in {
"Alt+k" = "add video-pan-y 0.05";
"Alt+j" = "add video-pan-y -0.05";
};
scripts = [
pkgs.mpvScripts.youtube-quality
(pkgs.callPackage <niveum/packages/mpv-visualizer.nix> {})
];
};
};
}

View File

@@ -1,10 +0,0 @@
{
programs.nano.nanorc = ''
set autoindent
set boldtext
set morespace
set smarthome
set tabsize 4
set tabstospaces
'';
}

172
configs/neomutt.nix Normal file
View File

@@ -0,0 +1,172 @@
{
pkgs,
lib,
...
}: let
mainMailbox = "posteo";
accounts = import <niveum/lib/email.nix> {inherit lib mainMailbox;};
neomuttConfig = emailAccounts: let
as-pdf = pkgs.writers.writeDash "as-pdf" ''
d=$(mktemp -d)
trap clean EXIT
clean() {
rm -rf "$d"
}
${pkgs.libreoffice}/bin/libreoffice --headless --convert-to pdf "$1" --outdir "$d"
${pkgs.zathura}/bin/zathura "$d"/*.pdf
'';
in ''
set mailcap_path = ${
pkgs.writeText "mailcap" ''
text/plain; $EDITOR %s ;
text/html; ${pkgs.lynx}/bin/lynx -assume_charset=%{charset} -display_charset=utf-8 -dump %s; nametemplate=%s.html; copiousoutput;
image/*; ${pkgs.nsxiv}/bin/nsxiv %s ;
video/*; ${pkgs.util-linux}/bin/setsid ${pkgs.mpv}/bin/mpv --quiet %s &; copiousoutput
audio/*; ${pkgs.mpv}/bin/mpv %s ;
application/pdf; ${pkgs.zathura}/bin/zathura %s ;
application/pgp-encrypted; ${pkgs.gnupg}/bin/gpg -d '%s'; copiousoutput;
application/pgp-keys; ${pkgs.gnupg}/bin/gpg --import '%s'; copiousoutput;
application/vnd.openxmlformats-officedocument.wordprocessingml.document; ${as-pdf} %s;
application/vnd.oasis.opendocument.text; ${as-pdf} %s;
application/vnd.openxmlformats*; ${pkgs.libreoffice}/bin/soffice '%s';
''
}:$mailcap_path
set sidebar_visible
set sidebar_format = "%D%?F? [%F]?%* %?N?%N/?%S"
set sidebar_width = 25 # Plenty of space
set sidebar_divider_char = '' # Pretty line-drawing character
set mail_check_stats
set index_format="%2C %Z %D %-15.15L %s"
set date_format="%F %R"
set sort = 'reverse-date'
set sleep_time = 0 # Pause 0 seconds for informational messages
set markers = no # Disables the `+` displayed at line wraps
set mark_old = no # Unread mail stay unread until read
set wait_key = no # mutt won't ask "press key to continue"
set fast_reply # skip to compose when replying
set forward_format = "Fwd: %s" # format of subject when forwarding
set reverse_name # reply as whomever it was to
set include=ask-no # don't include message in replies
auto_view text/html # automatically show html (mailcap uses lynx)
auto_view application/pgp-encrypted
alternative_order text/plain text/enriched text/html
set abort_noattach abort_noattach_regex="\<(attach|attached|attachments?|anbei|Anhang|angehängt)\>"
set attach_save_dir=/tmp
set fast_reply
set narrow_tree # narrow threads for more depth
bind index,pager B sidebar-toggle-visible # Use 'B' to switch the Sidebar on and off
bind index,pager \Ck sidebar-prev
bind index,pager \Cj sidebar-next
bind index,pager \Co sidebar-open
bind index,pager \Cp sidebar-prev-new
bind index,pager \Cn sidebar-next-new
macro index * <limit>~F\r
macro index + <limit>all\r
set query_command = "khard email --parsable %s"
bind editor <Tab> complete-query
bind editor ^T complete
set mail_check = 90
set timeout = 15
# set imap_check_subscribed
set use_from
set header_cache="~/.cache/mutt" message_cachedir="~/.cache/mutt"
source ${
pkgs.writeText "accounts.neomuttrc" ''
set realname = "Kierán Meinhardt"
account-hook . 'unset imap_user imap_pass smtp_user smtp_pass'
# set accordingly: postponed trash record
${
lib.concatStringsSep "\n\n" (lib.mapAttrsToList (name: account: let
imapRoot = "imaps://${account.user}@${account.imap}";
in ''
account-hook ${account.user}@${account.imap} 'set imap_user="${account.user}" imap_pass="${account.password}"'
account-hook ${account.user}@${account.smtp} 'set smtp_user="${account.user}" smtp_pass="${account.password}"'
folder-hook ${account.user}@${account.imap} 'set smtp_url="${account.smtpSettings "${account.user}@${account.smtp}"}" from="${account.address}" record="${imapRoot}/${account.folders.sent}" postponed="${imapRoot}/${account.folders.drafts}" trash="${imapRoot}/${account.folders.trash}"'
named-mailboxes "${name}" "${imapRoot}" "${name}" "${imapRoot}/${account.folders.sent}"
'')
emailAccounts)
}
''
}
set spoolfile="${mainMailbox}"
source ${
pkgs.writeText "colors.neomuttrc" ''
# Default index colors:
color index_number blue default
color index red default '.*'
color index_flags lightcyan default '.*'
color index_author yellow default '.*'
color index_subject default default '.*'
# New mail is boldened:
color index_author lightyellow default "~N"
color index_subject lightwhite default "~N"
# Flagged mail is highlighted:
color index_flags lightmagenta default '~F'
# Other colors and aesthetic settings:
mono bold bold
mono underline underline
mono error bold
mono indicator reverse
# color sidebar_flagged red black
mono sidebar_new bold
color error red default
color message cyan default
color search brightmagenta default
color hdrdefault lightblack default
color quoted green default
color quoted1 blue default
color quoted2 cyan default
color quoted3 yellow default
color quoted4 red default
color quoted5 brightred default
color signature lightblack default
color tree color235 default
# Regex highlighting:
color header red default "^(Date)"
color header yellow default "^(From)"
color header white default "^(B?CC)"
color header brightwhite default "^(Subject)"
color body cyan default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses
color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL
color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow
color body red default "(BAD signature)|^gpg: BAD signature from.*"
color body brightgreen default "(Good signature)|^gpg: Good signature .*"
color body brightyellow default "^gpg: "
mono body bold "^gpg: Good signature"
mono body bold "^gpg: BAD signature from.*"
color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
''
}
'';
in {
environment.systemPackages = [pkgs.neomutt];
environment.shellAliases =
lib.mapAttrs' (accountName: account:
lib.nameValuePair
"mua-${accountName}"
"${pkgs.neomutt}/bin/neomutt -F ${pkgs.writeText "neomuttrc-${accountName}" (neomuttConfig {"${accountName}" = accounts.${accountName};})}")
accounts
// {mua = "${pkgs.neomutt}/bin/neomutt -f ${mainMailbox}";};
home-manager.users.me.xdg.configFile."neomutt/neomuttrc".text = neomuttConfig accounts;
}

View File

@@ -1,42 +1,39 @@
{ pkgs, ... }: {
{pkgs, ...}: {
environment.variables.EDITOR = pkgs.lib.mkForce "nvim";
environment.shellAliases.vi = "nvim";
environment.shellAliases.vim = "nvim";
environment.shellAliases.view = "nvim -R";
nixpkgs.config.packageOverrides = pkgs: {
vimPlugins = pkgs.vimPlugins // {
cheat-sh-vim = pkgs.callPackage <niveum/packages/vimPlugins/cheat-sh.nix> { };
vim-fetch = pkgs.callPackage <niveum/packages/vimPlugins/vim-fetch.nix> { };
vim-colors-paramount = pkgs.callPackage <niveum/packages/vimPlugins/vim-colors-paramount.nix> { };
vim-256noir = pkgs.callPackage <niveum/packages/vimPlugins/vim-256noir.nix> { };
icalendar-vim = pkgs.callPackage <niveum/packages/vimPlugins/icalendar-vim.nix> { };
todo-txt-vim = pkgs.callPackage <niveum/packages/vimPlugins/todo-txt-vim.nix> { };
jq-vim = pkgs.callPackage <niveum/packages/vimPlugins/jq-vim.nix> { };
vim-fsharp = pkgs.callPackage <niveum/packages/vimPlugins/vim-fsharp.nix> { };
vim-reason-plus = pkgs.callPackage <niveum/packages/vimPlugins/vim-reason-plus.nix> { };
vim-mail = pkgs.callPackage <niveum/packages/vimPlugins/vim-mail.nix> { };
};
vimPlugins =
pkgs.vimPlugins
// {
cheat-sh-vim = pkgs.callPackage <niveum/packages/vimPlugins/cheat-sh.nix> {};
vim-fetch = pkgs.callPackage <niveum/packages/vimPlugins/vim-fetch.nix> {};
vim-colors-paramount = pkgs.callPackage <niveum/packages/vimPlugins/vim-colors-paramount.nix> {};
vim-256noir = pkgs.callPackage <niveum/packages/vimPlugins/vim-256noir.nix> {};
icalendar-vim = pkgs.callPackage <niveum/packages/vimPlugins/icalendar-vim.nix> {};
jq-vim = pkgs.callPackage <niveum/packages/vimPlugins/jq-vim.nix> {};
vim-fsharp = pkgs.callPackage <niveum/packages/vimPlugins/vim-fsharp.nix> {};
vim-reason-plus = pkgs.callPackage <niveum/packages/vimPlugins/vim-reason-plus.nix> {};
vim-mail = pkgs.callPackage <niveum/packages/vimPlugins/vim-mail.nix> {};
};
};
environment.systemPackages = [
(pkgs.writers.writeDashBin "vim" ''neovim "$@"'')
(pkgs.neovim.override {
configure = {
customRC = builtins.readFile <niveum/lib/vim/init.vim>;
packages.nvim = with pkgs.vimPlugins; {
start = [
# cheat-sh-vim
# deoplete-nvim
# vim-abolish
ale
fzf-vim
fzfWrapper
goyo
supertab
undotree
tabular
vimwiki
vim-256noir
# vimwiki
vim-colors-paramount
vim-commentary
vim-css-color
@@ -44,35 +41,37 @@
vim-fetch
vim-fugitive
vim-gitgutter
vim-pandoc
vim-pandoc-syntax # vim-pandoc-after
vim-repeat
vim-sensible
# vim-startify
vim-surround
vim-mail
(pkgs.vimUtils.buildVimPlugin rec {
pname = "vim-dim";
version = "1.1.0";
name = "${pname}-${version}";
src = pkgs.fetchFromGitHub {
owner = "jeffkreeftmeijer";
repo = pname;
rev = version;
sha256 = "sha256-lyTZUgqUEEJRrzGo1FD8/t8KBioPrtB3MmGvPeEVI/g=";
};
})
];
opt = [
csv
dhall-vim
elm-vim
emmet-vim
haskell-vim
icalendar-vim
idris-vim
nim-vim
jq-vim
purescript-vim
rust-vim
todo-txt-vim
typescript-vim
vim-fsharp
vim-javascript
vim-ledger
vim-nix
vim-reason-plus
vim-toml
vimtex
vim-pandoc
vim-pandoc-syntax
vim-256noir
];
};
};

101
configs/networkmanager.nix Normal file
View File

@@ -0,0 +1,101 @@
{
lib,
pkgs,
...
}: let
profile = name: custom:
lib.recursiveUpdate {
connection.id = name;
connection.type = "wifi";
connection.interface-name = "wlp3s0";
connection.permissions = "";
wifi.mac-address-blacklist = "";
wifi.ssid = name;
wifi.mode = "infrastructure";
ipv4.dns-search = "";
ipv4.method = "auto";
ipv6.addr-gen-mode = "stable-privacy";
ipv6.dns-search = "";
ipv6.method = "auto";
proxy = {};
}
custom;
eduroamProfile = {
connection.uuid = "eae9fee6-a7d2-4120-a609-440b457d6fcf";
wifi-security = {
group = "ccmp;tkip;";
key-mgmt = "wpa-eap";
pairwise = "ccmp;";
proto = "rsn;";
};
"802-1x" = {
altsubject-matches = "DNS:srv1-radius.cms.hu-berlin.de;DNS:srv2-radius.cms.hu-berlin.de;";
anonymous-identity = "anonymous@wlan.hu-berlin.de";
ca-cert = pkgs.fetchurl {
url = "https://www.cms.hu-berlin.de/de/dl/netze/wlan/config/eduroam/t-telesec_globalroot_class_2.pem";
sha256 = "0if8aqd06sid7a0vw009zpa087wxcgdd2x6z2zs4pis5kvyqj2dk";
};
eap = "ttls;";
identity = lib.strings.fileContents <secrets/eduroam/identity>;
password = lib.strings.fileContents <secrets/eduroam/password>;
phase2-auth = "pap";
};
};
in {
imports = [<niveum/modules/networkmanager-declarative.nix>];
programs.nm-applet.enable = true;
networking.networkmanager = {
enable = true;
plugins = [
pkgs.networkmanager-openvpn
pkgs.networkmanager-fortisslvpn
];
wifi.macAddress = "random";
ethernet.macAddress = "random";
unmanaged = ["docker*"];
profiles = lib.mapAttrs profile {
Aether = {
connection.uuid = "7138bb0f-1aeb-4905-890e-a6628427aa21";
ipv6.addr-gen-mode = "stable";
wifi.cloned-mac-address = "stable";
wifi-security = {
psk = lib.strings.fileContents <secrets/wifi/Aether.psk>;
auth-alg = "open";
key-mgmt = "wpa-psk";
};
};
FactoryCommunityGuest = {
connection.uuid = "fb1f2e52-651e-48b5-a72c-1accddf31afb";
connection.timestamp = "1631885129";
wifi.seen-bssids = "54:EC:2F:19:30:DC;54:EC:2F:19:5C:9C;54:EC:2F:58:E4:3C;";
wifi-security = {
psk = "Factory4ever";
auth-alg = "open";
key-mgmt = "wpa-psk";
};
};
o2-WLAN66 = {
connection.uuid = "c563aec3-f344-4ffb-8d1c-60a6cdac8fe0";
wifi-security = {
psk = "PK3468KV488T934U";
auth-alg = "open";
key-mgmt = "wpa-psk";
};
};
"WIFI@DB".connection.uuid = "4eff4e94-8850-4e9f-a338-1787d0d90479";
eduroam = eduroamProfile;
eduroam_5GHz = eduroamProfile;
};
};
users.users.me.extraGroups = ["networkmanager"];
environment.systemPackages = [
pkgs.speedtest-cli
pkgs.networkmanager-openvpn
pkgs.networkmanagerapplet
pkgs.networkmanager-fortisslvpn
];
}

View File

@@ -1,13 +1,42 @@
{ pkgs, config, ... }:
let
{
pkgs,
config,
lib,
...
}: let
scripts = import <niveum/packages/scripts> {inherit pkgs lib;};
ytdl-format = "'bestvideo[height<=?720][fps<=?30][vcodec!=?vp9]+bestaudio/best'";
newsboat-home =
"${config.users.users.me.home}/cloud/syncthing/common/newsboat";
linkhandler-bin = "${pkgs.scripts.linkhandler}/bin/linkhandler";
youtube-download = "${pkgs.ts}/bin/ts ${pkgs.yt-dlp}/bin/yt-dlp -f ${ytdl-format} --add-metadata";
newsboat-home = "${config.users.users.me.home}/cloud/Seafile/Documents/newsboat";
linkhandler = pkgs.writers.writeDash "linkhandler" ''
# Feed script a url or file location.
# If an image, it will view in sxiv,
# if a video or gif, it will view in mpv
# if a music file or pdf, it will download,
# otherwise it opens link in browser.
# If no url given. Opens browser. For using script as $BROWSER.
[ -z "$1" ] && { "$BROWSER"; exit; }
case "$1" in
*mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*|*bitchute.com*|*videos.lukesmith.xyz*|*odysee.com*)
setsid -f ${pkgs.mpv}/bin/mpv -quiet "$1" >/dev/null 2>&1 ;;
*png|*jpg|*jpe|*jpeg|*gif)
curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///")" && sxiv -a "/tmp/$(echo "$1" | sed "s/.*\///")" >/dev/null 2>&1 & ;;
*mp3|*flac|*opus|*mp3?source*)
setsid -f tsp curl -LO "$1" >/dev/null 2>&1 ;;
*)
if [ -f "$1" ]; then "$TERMINAL" -e "$EDITOR" "$1"
else setsid -f "$BROWSER" "$1" >/dev/null 2>&1; fi ;;
esac
'';
newsboat-config = pkgs.writeText "config" ''
auto-reload no
reload-threads 8
prepopulate-query-feeds yes
# dont keep a search history
@@ -17,12 +46,12 @@ let
text-width 85
external-url-viewer "${pkgs.urlscan}/bin/urlscan -dc -r '${linkhandler-bin} {}'"
browser ${linkhandler-bin}
external-url-viewer "${pkgs.urlscan}/bin/urlscan -dc -r '${linkhandler} {}'"
browser ${linkhandler}
macro , open-in-browser
macro c set browser "${pkgs.xsel}/bin/xsel -b <<<" ; open-in-browser ; set browser ${linkhandler-bin}
macro v set browser "${pkgs.utillinux}/bin/setsid -f ${pkgs.mpv}/bin/mpv" ; open-in-browser ; set browser ${linkhandler-bin}
macro y set browser "${pkgs.ts}/bin/ts ${pkgs.youtube-dl}/bin/youtube-dl -f ${ytdl-format} --add-metadata" ; open-in-browser ; set browser ${linkhandler-bin}
macro c set browser "${pkgs.xsel}/bin/xsel -b <<<" ; open-in-browser ; set browser ${linkhandler}
macro v set browser "${pkgs.util-linux}/bin/setsid -f ${pkgs.mpv}/bin/mpv" ; open-in-browser ; set browser ${linkhandler}
macro y set browser "${youtube-download}" ; open-in-browser ; set browser ${linkhandler}
bind-key j down
bind-key k up
@@ -46,7 +75,7 @@ let
save-path ${newsboat-home}/saved/
highlight all "---.*---" yellow default
highlight feedlist ".*(0/0))" black default
# highlight feedlist ".*(0/0))" default default
highlight article "^Title:.*" yellow default bold
highlight article "^Author:.*" yellow default
highlight article "^Flags:.*" red default
@@ -54,20 +83,38 @@ let
highlight article "\\[image [0-9][0-9]*\\]" color109 default bold
highlight article "\\[embedded flash: [0-9][0-9]*\\]" color66 default bold
color background white default
color listnormal white default
color listnormal_unread white default bold
color listfocus blue default
color listfocus_unread blue default bold
color info red default bold
color article white default
'';
in {
nixpkgs.config.packageOverrides = pkgs: {
newsboat = pkgs.writers.writeDashBin "newsboat" ''
${pkgs.newsboat}/bin/newsboat -C ${newsboat-config} -c ${newsboat-home}/cache.db -u ${newsboat-home}/urls "$@"
'';
};
environment.systemPackages = [ pkgs.newsboat ];
urls-source "miniflux"
miniflux-url "https://feed.kmein.de"
miniflux-login "kfm"
miniflux-password "${lib.strings.fileContents <secrets/miniflux/password>}"
'';
newsboat-sql = "${pkgs.sqlite}/bin/sqlite3 ${newsboat-home}/cache.db";
in {
environment.systemPackages = [
pkgs.newsboat
(pkgs.writers.writeDashBin "newsboat-unread-count" ''
if [ -f ${newsboat-home}/cache.db.lock ]; then
${pkgs.jq}/bin/jq -n '{state: "Info", text: "", icon: "rss"}'
else
${pkgs.jq}/bin/jq -n \
--argjson unread "$(${newsboat-sql} "SELECT COUNT(DISTINCT id) FROM rss_item WHERE unread=1")" \
--argjson watchLater "$(${newsboat-sql} "SELECT COUNT(DISTINCT id) FROM rss_item WHERE flags='e' AND deleted=0")" \
'{
state: (if $unread > 0 then "Good" else "Idle" end),
text: (if $unread > 0 then "\($unread)" else "[\($watchLater)]" end),
icon: "rss"
}'
fi
'')
(pkgs.writers.writeDashBin "mpv-watch-later" ''
${newsboat-sql} "SELECT url FROM rss_item WHERE flags='e' AND deleted=0 ORDER BY pubDate DESC" \
| ${pkgs.findutils}/bin/xargs ${pkgs.mpv}/bin/mpv
'')
];
}

View File

@@ -1,55 +0,0 @@
{ pkgs, lib, ... }:
let
inherit (import <niveum/lib>) localAddresses;
in
{
services.nextcloud = {
enable = true;
package = pkgs.nextcloud20;
https = true;
autoUpdateApps = {
enable = true;
startAt = "05:00:00";
};
hostName = "cloud.xn--kiern-0qa.de";
config = {
overwriteProtocol = "https";
dbtype = "pgsql";
dbuser = "nextcloud";
dbhost = "/run/postgresql"; # nextcloud will add /.s.PGSQL.5432 by itself
dbname = "nextcloud";
dbpass = lib.strings.fileContents <system-secrets/nextcloud/database>;
adminpass = lib.strings.fileContents <system-secrets/nextcloud/admin>;
adminuser = "admin";
# extraTrustedDomains = [ "toum.r" ];
};
};
services.postgresql = {
enable = true;
ensureDatabases = [ "nextcloud" ];
ensureUsers = [
{
name = "nextcloud";
ensurePermissions."DATABASE nextcloud" = "ALL PRIVILEGES";
}
];
};
services.nginx.virtualHosts."cloud.xn--kiern-0qa.de" = {
enableACME = true;
addSSL = true;
};
# Ensure that postgres is running before running the setup
systemd.services."nextcloud-setup" = {
requires = ["postgresql.service"];
after = ["postgresql.service"];
};
}

13
configs/nix.nix Normal file
View File

@@ -0,0 +1,13 @@
{pkgs, ...}: {
nixpkgs = {
config.allowUnfree = true;
overlays = [
(import <nix-writers/pkgs>)
(import <stockholm/krebs/5pkgs>)
];
};
nix = {
package = pkgs.nixUnstable;
extraOptions = "experimental-features = nix-command flakes";
};
}

66
configs/nsxiv.nix Normal file
View File

@@ -0,0 +1,66 @@
{
pkgs,
lib,
...
}: let
important-directories = pkgs.writeText "directories" ''
h ~/
d ~/cloud/Dropbox/
g ~/cloud/gdrive/
s ~/cloud/Seafile/
kk ~/cloud/keybase/private/kmein/
kp ~/cloud/keybase/public/kmein/
t /tmp
D ~/Downloads
cf ''${XDG_CONFIG_HOME:-$HOME/.config}
'';
in {
environment.systemPackages = [pkgs.nsxiv];
# TODO fix
home-manager.users.me.xdg.configFile."nsxiv/exec/key-handler".source = pkgs.writers.writeDash "key-handler" ''
PATH=$PATH:${
lib.makeBinPath [
pkgs.gnused
pkgs.gawk
pkgs.dmenu
pkgs.coreutils
pkgs.libnotify
pkgs.imagemagick
pkgs.xclip
]
}
echo >&2 key "$1" pressed
while read file; do
case "$1" in
"c")
[ -z "$destdir" ] && destdir="$(sed "s/\s.*#.*$//;/^\s*$/d" ${important-directories} | awk '{print $2}' | dmenu -l 20 -i -p "Copy file(s) to where?" | sed "s|~|$HOME|g")"
[ -z "$destdir" ] && exit
[ ! -d "$destdir" ] && notify-send "$destdir is not a directory, cancelled." && exit
cp "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file copied to $destdir." &
;;
"m")
[ -z "$destdir" ] && destdir="$(sed "s/\s.*#.*$//;/^\s*$/d" ${important-directories} | awk '{print $2}' | dmenu -l 20 -i -p "Move file(s) to where?" | sed "s|~|$HOME|g")"
[ -z "$destdir" ] && exit
[ ! -d "$destdir" ] && notify-send "$destdir is not a directory, cancelled." && exit
mv "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file moved to $destdir." &
;;
"r")
convert -rotate 90 "$file" "$file" ;;
"R")
convert -rotate -90 "$file" "$file" ;;
"f")
convert -flop "$file" "$file" ;;
"y")
echo -n "$file" | xclip -selection clipboard &&
notify-send "$file copied to clipboard" & ;;
"Y")
readlink -f "$file" | xclip -selection clipboard &&
notify-send "$(readlink -f "$file") copied to clipboard" & ;;
"d")
[ "$(printf "No\\nYes" | dmenu -i -p "Really delete $file?")" = "Yes" ] && rm "$file" && notify-send "$file deleted." ;;
esac
done
'';
}

View File

@@ -0,0 +1,22 @@
{
pkgs,
lib,
...
}: let
openweathermap-repo = pkgs.fetchFromGitHub {
owner = "ip1981";
repo = "openweathermap";
rev = "9cfef7b14ac5af7109449b54b1cb352b4c76167a";
sha256 = "0sm43wicvw2fy7nq65s8vch6jjb5bszqr4ilnhibayamj4jcpw53";
};
openweathermap = pkgs.haskellPackages.callCabal2nix "openweathermap" openweathermap-repo {};
openweathermap-key = lib.strings.fileContents <secrets/openweathermap.key>;
in {
nixpkgs.config.packageOverrides = pkgs: {
weather = pkgs.writers.writeDashBin "weather" ''
${openweathermap}/bin/openweathermap --api-key ${openweathermap-key} "$@"
'';
};
environment.systemPackages = [pkgs.weather];
}

Some files were not shown because too many files have changed in this diff Show More