Compare commits

..

213 Commits

Author SHA1 Message Date
d8f1fe6a44 Add comments to DNS config 2025-02-20 15:34:20 +01:00
8980c02e77 switch to EU DNS servers 2025-02-20 15:29:38 +01:00
6eddd7e990 Update systems/LoutreOS/web.nix 2025-02-20 15:13:58 +01:00
770eef9e09
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/edf04b75c13c2ac0e54df5ec5c543e300f76f1c9?narHash=sha256-tfYRbFhMOnYaM4ippqqid3BaLOXoFNdImrfBfCp4zn0%3D' (2024-12-31)
  → 'github:NixOS/nixpkgs/a60651b217d2e529729cbc7d989c19f3941b9250?narHash=sha256-f84lBmLl4tkDp1ZU5LBTSFzlxXP4926DVW3KnXrke10%3D' (2025-02-15)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/88195a94f390381c6afcdaa933c2f6ff93959cb4?narHash=sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs%3D' (2024-12-29)
  → 'github:NixOS/nixpkgs/d74a2335ac9c133d6bbec9fc98d91a77f1604c1f?narHash=sha256-zON2GNBkzsIyALlOCFiEBcIjI4w38GYOb%2BP%2BR4S8Jsw%3D' (2025-02-16)
2025-02-17 15:33:11 +01:00
025c5aa148 zigbee2mqtt: set stable usb serial path 2025-01-08 22:24:19 +01:00
053455054d clean old config 2025-01-07 16:42:37 +01:00
f10ac3078e allow ipv4 forwarding needed by NAT 2025-01-07 16:00:50 +01:00
ea8e9a14bc do not remove systemd and f2b rules on reload 2025-01-07 16:00:26 +01:00
4c353f949e fix typo 2025-01-06 15:44:21 +01:00
7f461268da Only forward IPv6 traffic 2025-01-03 14:56:07 +01:00
db19e625ce iptables --> nftables migrate 2025-01-03 14:37:19 +01:00
66b8f6f52f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b47fd6fa00c6afca88b8ee46cfdb00e104f50bca?narHash=sha256-nbG9TijTMcfr%2Bau7ZVbKpAhMJzzE2nQBYmRvSdXUD8g%3D' (2024-12-19)
  → 'github:NixOS/nixpkgs/edf04b75c13c2ac0e54df5ec5c543e300f76f1c9?narHash=sha256-tfYRbFhMOnYaM4ippqqid3BaLOXoFNdImrfBfCp4zn0%3D' (2024-12-31)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/d3c42f187194c26d9f0309a8ecc469d6c878ce33?narHash=sha256-cHar1vqHOOyC7f1%2BtVycPoWTfKIaqkoe1Q6TnKzuti4%3D' (2024-12-17)
  → 'github:NixOS/nixpkgs/88195a94f390381c6afcdaa933c2f6ff93959cb4?narHash=sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs%3D' (2024-12-29)
• Updated input 'simple-nixos-mailserver':
    'gitlab:simple-nixos-mailserver/nixos-mailserver/35fa7dc495aa89bd224f08c43dfd9119b81f0fa7?narHash=sha256-YzE0lCGNKDXeinkZ6knSM8jo1VS9CeNwBJvYMEYQaQM%3D' (2024-12-16)
  → 'gitlab:simple-nixos-mailserver/nixos-mailserver/63209b1def2c9fc891ad271f474a3464a5833294?narHash=sha256-HA9fAmGNGf0cOYrhgoa%2BB6BxNVqGAYXfLyx8zIS0ZBY%3D' (2024-12-22)
2025-01-02 12:20:30 +01:00
b8bdb492c5 remove python CI service 2025-01-02 12:17:02 +01:00
da67f2b523 Do not backup music 2024-12-31 12:52:02 +01:00
c028b9b6ed gitea: don't set default theme
Themes where renamed upstream

https://github.com/go-gitea/gitea/pull/27419
2024-12-23 14:23:23 +01:00
c9c0061ff7 fix networkd not working on boot 2024-12-20 19:17:16 +01:00
17ff809406 LoutreOS: update to 24.11
flake.lock: Update

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/bcba2fbf6963bf6bed3a749f9f4cf5bff4adb96d' (2024-12-14)
  → 'github:NixOS/nixpkgs/b47fd6fa00c6afca88b8ee46cfdb00e104f50bca' (2024-12-19)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/3566ab7246670a43abd2ffa913cc62dad9cdf7d5' (2024-12-13)
  → 'github:NixOS/nixpkgs/d3c42f187194c26d9f0309a8ecc469d6c878ce33' (2024-12-17)
• Updated input 'simple-nixos-mailserver':
    'gitlab:simple-nixos-mailserver/nixos-mailserver/29916981e7b3b5782dc5085ad18490113f8ff63b' (2024-06-11)
  → 'gitlab:simple-nixos-mailserver/nixos-mailserver/35fa7dc495aa89bd224f08c43dfd9119b81f0fa7' (2024-12-16)
• Removed input 'simple-nixos-mailserver/nixpkgs-24_05'
• Added input 'simple-nixos-mailserver/nixpkgs-24_11':
    follows 'nixpkgs'
• Removed input 'simple-nixos-mailserver/utils'
• Removed input 'simple-nixos-mailserver/utils/systems'
2024-12-20 19:15:54 +01:00
1a414771ba
common-gui: pipewire set clock rate 2024-12-16 16:55:28 +01:00
f526dc3054
common-gui: enable zram 2024-12-16 16:55:27 +01:00
99f63e7af8 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7109b680d161993918b0a126f38bc39763e5a709' (2024-12-09)
  → 'github:NixOS/nixpkgs/bcba2fbf6963bf6bed3a749f9f4cf5bff4adb96d' (2024-12-14)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/a73246e2eef4c6ed172979932bc80e1404ba2d56' (2024-12-09)
  → 'github:NixOS/nixpkgs/3566ab7246670a43abd2ffa913cc62dad9cdf7d5' (2024-12-13)
2024-12-16 16:02:48 +01:00
32e6d3b60a fix mangle rules for incoming traffic 2024-12-12 16:58:52 +01:00
2a23c234ac fix Sonarr build 2024-12-12 16:50:50 +01:00
9d15f4f4c8 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/cd3e8833d70618c4eea8df06f95b364b016d4950' (2024-10-26)
  → 'github:NixOS/nixpkgs/7109b680d161993918b0a126f38bc39763e5a709' (2024-12-09)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/18536bf04cd71abd345f9579158841376fdd0c5a' (2024-10-25)
  → 'github:NixOS/nixpkgs/a73246e2eef4c6ed172979932bc80e1404ba2d56' (2024-12-09)
2024-12-11 14:47:50 +01:00
aaf33053c2 disable navidrome 2024-12-10 00:40:12 +01:00
59435f987b fix rule priority
main table should be first, else masqueraded packet responses will never reach internal network
2024-12-10 00:34:58 +01:00
933d758e3b force packet forwarding to true 2024-12-10 00:33:31 +01:00
268dbf181a simplify VPN network config 2024-11-28 15:30:55 +01:00
e15cd2091e remove NixOS nat config, set networkd masquerade and add FW marks 2024-11-28 15:18:36 +01:00
fad8652bac Try to use multiple tables with CONNMARK 2024-11-28 12:14:26 +01:00
fe7f6b62a0 disable useless autossh 2024-11-25 18:19:05 +01:00
0d64372b57 remove comments 2024-11-25 18:09:42 +01:00
8ad48e5aa4 set Wireguard keys with credentials 2024-11-25 17:26:38 +01:00
4d8c76e207 Working outgoing emails 2024-11-21 11:32:35 +01:00
4df84a3be0 begin migration to VPN 2024-11-20 21:19:10 +01:00
ca01004c86 multi table route setup 2024-11-20 16:50:26 +01:00
e8e4c4b311 wireguard partial setup 2024-11-20 09:15:56 +01:00
67d7b6669f setup wireguard interface 2024-11-13 14:44:13 +01:00
ae8d689727 Création de la config de base WireGuard 2024-11-08 11:04:12 +01:00
fae42bcdb2 import flaresolverr module 2024-10-28 22:18:03 +01:00
3d797c3c6f flake.lock: Update
Flake lock file updates:

• Updated input 'dogetipbot-telegram':
    'gitlab:nyanloutre/dogetipbot-telegram/f5b59ef0cb8124cadf203eb26e1498847366abad' (2024-10-20)
  → 'gitlab:nyanloutre/dogetipbot-telegram/667e318212920005917792b06e0f480b421fa6d3' (2024-10-28)
2024-10-28 21:48:12 +01:00
9984e14035 flake.lock: Update
Flake lock file updates:

• Updated input 'dogetipbot-telegram':
    'gitlab:nyanloutre/dogetipbot-telegram/d7970444d7b9b602b55aa67f5e593d41e97d12cf' (2023-06-13)
  → 'gitlab:nyanloutre/dogetipbot-telegram/f5b59ef0cb8124cadf203eb26e1498847366abad' (2024-10-20)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c0b1da36f7c34a7146501f684e9ebdf15d2bebf8' (2024-10-14)
  → 'github:NixOS/nixpkgs/cd3e8833d70618c4eea8df06f95b364b016d4950' (2024-10-26)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c' (2024-10-14)
  → 'github:NixOS/nixpkgs/18536bf04cd71abd345f9579158841376fdd0c5a' (2024-10-25)
2024-10-28 21:43:37 +01:00
23caf31735 Merge branch 'master' of https://gitea.nyanlout.re/nyanloutre/nixos-config 2024-10-20 11:21:16 +02:00
032fc56503 LoutreOS: downgrade transmission to 4.0.5 2024-10-20 11:20:01 +02:00
d6733835aa
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d51c28603def282a24fa034bcb007e2bcb5b5dd0' (2024-10-09)
  → 'github:NixOS/nixpkgs/c0b1da36f7c34a7146501f684e9ebdf15d2bebf8' (2024-10-14)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/5633bcff0c6162b9e4b5f1264264611e950c8ec7' (2024-10-09)
  → 'github:NixOS/nixpkgs/a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c' (2024-10-14)
2024-10-16 19:57:04 +02:00
b7cd7fcfe5
disable boot.enableContainers on PC-fixe 2024-10-11 22:59:27 +02:00
d2484bb579
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1bfbbbe5bbf888d675397c66bfdb275d0b99361c' (2024-10-07)
  → 'github:NixOS/nixpkgs/d51c28603def282a24fa034bcb007e2bcb5b5dd0' (2024-10-09)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/c31898adf5a8ed202ce5bea9f347b1c6871f32d1' (2024-10-06)
  → 'github:NixOS/nixpkgs/5633bcff0c6162b9e4b5f1264264611e950c8ec7' (2024-10-09)
2024-10-11 22:54:30 +02:00
25d2c2ba64
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1719f27dd95fd4206afb9cec9f415b539978827e' (2024-09-30)
  → 'github:NixOS/nixpkgs/1bfbbbe5bbf888d675397c66bfdb275d0b99361c' (2024-10-07)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/27e30d177e57d912d614c88c622dcfdb2e6e6515' (2024-10-01)
  → 'github:NixOS/nixpkgs/c31898adf5a8ed202ce5bea9f347b1c6871f32d1' (2024-10-06)
2024-10-09 21:13:18 +02:00
312c1e00a9 disable nixos containers functionality 2024-10-02 19:05:08 +02:00
d271a36f7e migrate slimserver to nixos module 2024-10-02 19:04:45 +02:00
5b1cc90b6f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6f6c45b5134a8ee2e465164811e451dcb5ad86e3' (2024-09-03)
  → 'github:NixOS/nixpkgs/1719f27dd95fd4206afb9cec9f415b539978827e' (2024-09-30)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/ad416d066ca1222956472ab7d0555a6946746a80' (2024-09-04)
  → 'github:NixOS/nixpkgs/27e30d177e57d912d614c88c622dcfdb2e6e6515' (2024-10-01)
2024-10-02 17:54:44 +02:00
41d4a4ab12
fix nvidia driver 2024-09-06 01:35:08 +02:00
bfeb387fd4 Merge branch 'master' of https://gitea.nyanlout.re/nyanloutre/nixos-config 2024-09-06 01:25:27 +02:00
06d9956291
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a781ff33ae258bbcfd4ed6e673860c3e923bf2cc' (2024-08-10)
  → 'github:NixOS/nixpkgs/6f6c45b5134a8ee2e465164811e451dcb5ad86e3' (2024-09-03)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/5e0ca22929f3342b19569b21b2f3462f053e497b' (2024-08-09)
  → 'github:NixOS/nixpkgs/ad416d066ca1222956472ab7d0555a6946746a80' (2024-09-04)
2024-09-06 01:17:01 +02:00
c5e2921797
install switch emulator 2024-09-06 01:15:42 +02:00
e4c8c2acfa
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8c50662509100d53229d4be607f1a3a31157fa12' (2024-07-27)
  → 'github:NixOS/nixpkgs/a781ff33ae258bbcfd4ed6e673860c3e923bf2cc' (2024-08-10)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/b73c2221a46c13557b1b3be9c2070cc42cf01eb3' (2024-07-27)
  → 'github:NixOS/nixpkgs/5e0ca22929f3342b19569b21b2f3462f053e497b' (2024-08-09)
2024-08-12 10:07:17 +02:00
278b49fe66
cleanup common GUI config 2024-08-12 10:06:25 +02:00
01cf06eba1 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8c50662509100d53229d4be607f1a3a31157fa12' (2024-07-27)
  → 'github:NixOS/nixpkgs/883180e6550c1723395a3a342f830bfc5c371f6b' (2024-08-05)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/b73c2221a46c13557b1b3be9c2070cc42cf01eb3' (2024-07-27)
  → 'github:NixOS/nixpkgs/cb9a96f23c491c081b38eab96d22fa958043c9fa' (2024-08-04)
2024-08-07 09:55:37 +02:00
91b73bceb1 backup nextcloud 2024-08-07 09:36:58 +02:00
56095f920c Improve Nextcloud preview generation and autoupdate apps 2024-08-06 17:56:31 +02:00
2b9d525a50
fix browserpass in Firefox 2024-07-29 20:23:06 +02:00
43e14afa38
disable old HDD mount 2024-07-29 20:22:42 +02:00
114fae331f
fix Epomaker Fn keys 2024-07-29 20:20:22 +02:00
2772a3086d
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f12ee5f64c6a09995e71c9626d88c4efa983b488' (2024-07-12)
  → 'github:NixOS/nixpkgs/8c50662509100d53229d4be607f1a3a31157fa12' (2024-07-27)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/7e7c39ea35c5cdd002cd4588b03a3fb9ece6fad9' (2024-07-12)
  → 'github:NixOS/nixpkgs/b73c2221a46c13557b1b3be9c2070cc42cf01eb3' (2024-07-27)
2024-07-28 13:57:16 +02:00
b34231217a replace youtube-dl by yt-dlp 2024-07-14 16:14:58 +02:00
260cf20971 LoutreOS: install watcharr 2024-07-14 16:14:45 +02:00
a39395a027 Merge branch 'master' of https://gitea.nyanlout.re/nyanloutre/nixos-config 2024-07-14 14:57:54 +02:00
9e08d33ccf flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/194846768975b7ad2c4988bdb82572c00222c0d7' (2024-07-07)
  → 'github:NixOS/nixpkgs/f12ee5f64c6a09995e71c9626d88c4efa983b488' (2024-07-12)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/9f4128e00b0ae8ec65918efeba59db998750ead6' (2024-07-03)
  → 'github:NixOS/nixpkgs/7e7c39ea35c5cdd002cd4588b03a3fb9ece6fad9' (2024-07-12)
2024-07-14 14:57:35 +02:00
cd2c41130d LoutreOS: create lg devmode reset timer 2024-07-14 14:56:46 +02:00
c39ed72891
LoutreOS: rollback wayland 2024-07-08 20:58:55 +02:00
968033f95d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/49ee0e94463abada1de470c9c07bfc12b36dcf40' (2024-07-06)
  → 'github:NixOS/nixpkgs/194846768975b7ad2c4988bdb82572c00222c0d7' (2024-07-07)
2024-07-08 14:15:04 +02:00
5a83340353
migration PC fixe vers Wayland 2024-07-08 14:11:47 +02:00
e8586051dd
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d032c1a6dfad4eedec7e35e91986becc699d7d69' (2024-07-01)
  → 'github:NixOS/nixpkgs/49ee0e94463abada1de470c9c07bfc12b36dcf40' (2024-07-06)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/00d80d13810dbfea8ab4ed1009b09100cca86ba8' (2024-07-01)
  → 'github:NixOS/nixpkgs/9f4128e00b0ae8ec65918efeba59db998750ead6' (2024-07-03)
2024-07-07 22:47:05 +02:00
d445dd9c46 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/fc07dc3bdf2956ddd64f24612ea7fc894933eb2e' (2024-06-24)
  → 'github:NixOS/nixpkgs/d032c1a6dfad4eedec7e35e91986becc699d7d69' (2024-07-01)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/2893f56de08021cffd9b6b6dfc70fd9ccd51eb60' (2024-06-24)
  → 'github:NixOS/nixpkgs/00d80d13810dbfea8ab4ed1009b09100cca86ba8' (2024-07-01)
2024-07-02 20:15:06 +02:00
6e6498aaa1 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e4509b3a560c87a8d4cb6f9992b8915abf9e36d8' (2024-06-23)
  → 'github:NixOS/nixpkgs/fc07dc3bdf2956ddd64f24612ea7fc894933eb2e' (2024-06-24)
2024-06-26 22:52:55 +02:00
9dc6cea270
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9b5328b7f761a7bbdc0e332ac4cf076a3eedb89b' (2024-06-06)
  → 'github:NixOS/nixpkgs/e4509b3a560c87a8d4cb6f9992b8915abf9e36d8' (2024-06-23)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/e8057b67ebf307f01bdcc8fba94d94f75039d1f6' (2024-06-05)
  → 'github:NixOS/nixpkgs/2893f56de08021cffd9b6b6dfc70fd9ccd51eb60' (2024-06-24)
• Updated input 'simple-nixos-mailserver':
    'gitlab:simple-nixos-mailserver/nixos-mailserver/62afb98ef6385bcb745d7b189ef4efdce2044030' (2024-06-08)
  → 'gitlab:simple-nixos-mailserver/nixos-mailserver/29916981e7b3b5782dc5085ad18490113f8ff63b' (2024-06-11)
2024-06-25 22:11:42 +02:00
5bda267c85
pkgs/watcharr: init at v1.39.0 2024-06-09 18:24:04 +02:00
5ff3312395 LoutreOS: upgrade to 24.05 2024-06-08 11:21:16 +02:00
f22931c57d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9d29cd266cebf80234c98dd0b87256b6be0af44e' (2024-05-25)
  → 'github:NixOS/nixpkgs/9b5328b7f761a7bbdc0e332ac4cf076a3eedb89b' (2024-06-06)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/bfb7a882678e518398ce9a31a881538679f6f092' (2024-05-24)
  → 'github:NixOS/nixpkgs/e8057b67ebf307f01bdcc8fba94d94f75039d1f6' (2024-06-05)
• Updated input 'simple-nixos-mailserver':
    'gitlab:simple-nixos-mailserver/nixos-mailserver/e47f3719f1db3e0961a4358d4cb234a0acaa7baf' (2024-01-25)
  → 'gitlab:simple-nixos-mailserver/nixos-mailserver/62afb98ef6385bcb745d7b189ef4efdce2044030' (2024-06-08)
• Updated input 'simple-nixos-mailserver/flake-compat':
    'github:edolstra/flake-compat/009399224d5e398d03b22badca40a37ac85412a1' (2022-11-17)
  → 'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33' (2023-10-04)
• Removed input 'simple-nixos-mailserver/nixpkgs-23_05'
• Removed input 'simple-nixos-mailserver/nixpkgs-23_11'
• Added input 'simple-nixos-mailserver/nixpkgs-24_05':
    follows 'nixpkgs'
• Updated input 'simple-nixos-mailserver/utils':
    'github:numtide/flake-utils/5021eac20303a61fafe17224c087f5519baed54d' (2020-11-14)
  → 'github:numtide/flake-utils/d465f4819400de7c8d874d50b982301f28a84605' (2024-02-28)
• Added input 'simple-nixos-mailserver/utils/systems':
    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e' (2023-04-09)
2024-06-08 11:15:37 +02:00
eee03fe1b4
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/44072e24566c5bcc0b7aa9178a0104f4cfffab19' (2024-05-12)
  → 'github:NixOS/nixpkgs/9d29cd266cebf80234c98dd0b87256b6be0af44e' (2024-05-25)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/2057814051972fa1453ddfb0d98badbea9b83c06' (2024-05-12)
  → 'github:NixOS/nixpkgs/bfb7a882678e518398ce9a31a881538679f6f092' (2024-05-24)
2024-05-28 17:59:30 +02:00
c5596f9a04 revert a6ce24d547 (#3)
revert fix firewall

Reviewed-on: #3
2024-05-14 22:54:04 +02:00
1abd6bd06d fix webdav server 2024-05-14 17:39:41 +02:00
3725e30663 install nextcloud 2024-05-14 17:39:29 +02:00
a6ce24d547 fix firewall 2024-05-14 12:08:15 +02:00
ab8c752a76 remove open mail port 2024-05-14 10:38:42 +02:00
f9871ae0e1 fix flake-util-plus migration 2024-05-14 10:38:08 +02:00
42799518f5
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a5e4bbcb4780c63c79c87d29ea409abf097de3f7' (2024-04-21)
  → 'github:NixOS/nixpkgs/44072e24566c5bcc0b7aa9178a0104f4cfffab19' (2024-05-12)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/6143fc5eeb9c4f00163267708e26191d1e918932' (2024-04-21)
  → 'github:NixOS/nixpkgs/2057814051972fa1453ddfb0d98badbea9b83c06' (2024-05-12)
2024-05-14 09:53:33 +02:00
1c93135d60
remove flake util plus 2024-05-14 09:52:39 +02:00
189885868b
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e38d7cb66ea4f7a0eb6681920615dfcc30fc2920' (2024-04-06)
  → 'github:NixOS/nixpkgs/a5e4bbcb4780c63c79c87d29ea409abf097de3f7' (2024-04-21)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/ff0dbd94265ac470dda06a657d5fe49de93b4599' (2024-04-06)
  → 'github:NixOS/nixpkgs/6143fc5eeb9c4f00163267708e26191d1e918932' (2024-04-21)
2024-04-23 17:10:56 +02:00
9c77dca203
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/880992dcc006a5e00dd0591446fdf723e6a51a64' (2024-03-05)
  → 'github:NixOS/nixpkgs/e38d7cb66ea4f7a0eb6681920615dfcc30fc2920' (2024-04-06)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/9df3e30ce24fd28c7b3e2de0d986769db5d6225d' (2024-03-06)
  → 'github:NixOS/nixpkgs/ff0dbd94265ac470dda06a657d5fe49de93b4599' (2024-04-06)
2024-04-08 21:15:52 +02:00
4d02c7a637
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b7ee09cf5614b02d289cd86fcfa6f24d4e078c2a' (2024-02-26)
  → 'github:NixOS/nixpkgs/880992dcc006a5e00dd0591446fdf723e6a51a64' (2024-03-05)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/13aff9b34cc32e59d35c62ac9356e4a41198a538' (2024-02-26)
  → 'github:NixOS/nixpkgs/9df3e30ce24fd28c7b3e2de0d986769db5d6225d' (2024-03-06)
2024-03-07 20:21:03 +01:00
0df6f35149
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d2003f2223cbb8cd95134e4a0541beea215c1073' (2024-01-19)
  → 'github:NixOS/nixpkgs/b7ee09cf5614b02d289cd86fcfa6f24d4e078c2a' (2024-02-26)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/842d9d80cfd4560648c785f8a4e6f3b096790e19' (2024-01-17)
  → 'github:NixOS/nixpkgs/13aff9b34cc32e59d35c62ac9356e4a41198a538' (2024-02-26)
• Updated input 'simple-nixos-mailserver':
    'gitlab:simple-nixos-mailserver/nixos-mailserver/4bfb8eb058f098302c97b909df2d019926e11220' (2023-12-19)
  → 'gitlab:simple-nixos-mailserver/nixos-mailserver/e47f3719f1db3e0961a4358d4cb234a0acaa7baf' (2024-01-25)
• Removed input 'simple-nixos-mailserver/nixpkgs-22_11'
• Updated input 'simple-nixos-mailserver/nixpkgs-23_05':
    'github:NixOS/nixpkgs/8966c43feba2c701ed624302b6a935f97bcbdf88' (2023-05-22)
  → 'github:NixOS/nixpkgs/70bdadeb94ffc8806c0570eb5c2695ad29f0e421' (2024-01-03)
2024-02-28 20:01:08 +01:00
5c05e540cb redirect SMTP port to VPS server as backup 2024-02-22 13:33:43 +01:00
c3f141ae24 remove PREROUTING rule first to prevent already existing rule error 2024-02-22 13:33:11 +01:00
50ee8138ea fix gitea for offline use 2024-02-22 13:32:38 +01:00
d1b5f85fb3 fix rspam WebUI with IPv6 2024-02-22 11:11:06 +01:00
2b2077d46a fix server access when fiber down 2024-02-22 11:10:45 +01:00
27f34a48f2 force first subnet on bouygues interface 2024-01-27 17:43:21 +01:00
40e8c352a3 Merge branch 'master' of https://gitea.nyanlout.re/nyanloutre/nixos-config 2024-01-20 13:29:05 +01:00
44d04496cd LoutreOS: update to NixOS 23.11
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6386d8aafc28b3a7ed03880a57bdc6eb4465491d' (2023-12-02)
  → 'github:NixOS/nixpkgs/d2003f2223cbb8cd95134e4a0541beea215c1073' (2024-01-19)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/91050ea1e57e50388fa87a3302ba12d188ef723a' (2023-12-01)
  → 'github:NixOS/nixpkgs/842d9d80cfd4560648c785f8a4e6f3b096790e19' (2024-01-17)
• Updated input 'simple-nixos-mailserver':
    'gitlab:simple-nixos-mailserver/nixos-mailserver/24128c3052090311688b09a400aa408ba61c6ee5' (2023-06-22)
  → 'gitlab:simple-nixos-mailserver/nixos-mailserver/4bfb8eb058f098302c97b909df2d019926e11220' (2023-12-19)
• Updated input 'simple-nixos-mailserver/nixpkgs-23_05':
    follows 'nixpkgs'
  → 'github:NixOS/nixpkgs/8966c43feba2c701ed624302b6a935f97bcbdf88' (2023-05-22)
• Added input 'simple-nixos-mailserver/nixpkgs-23_11':
    follows 'nixpkgs'
2024-01-20 13:27:39 +01:00
690e6e0249 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6386d8aafc28b3a7ed03880a57bdc6eb4465491d' (2023-12-02)
  → 'github:NixOS/nixpkgs/d2003f2223cbb8cd95134e4a0541beea215c1073' (2024-01-19)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/91050ea1e57e50388fa87a3302ba12d188ef723a' (2023-12-01)
  → 'github:NixOS/nixpkgs/842d9d80cfd4560648c785f8a4e6f3b096790e19' (2024-01-17)
• Updated input 'simple-nixos-mailserver':
    'gitlab:simple-nixos-mailserver/nixos-mailserver/24128c3052090311688b09a400aa408ba61c6ee5' (2023-06-22)
  → 'gitlab:simple-nixos-mailserver/nixos-mailserver/4bfb8eb058f098302c97b909df2d019926e11220' (2023-12-19)
• Updated input 'simple-nixos-mailserver/nixpkgs-23_05':
    follows 'nixpkgs'
  → 'github:NixOS/nixpkgs/8966c43feba2c701ed624302b6a935f97bcbdf88' (2023-05-22)
• Added input 'simple-nixos-mailserver/nixpkgs-23_11':
    follows 'nixpkgs'
2024-01-20 13:10:56 +01:00
4e45fc1f82
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8f1180704ac35baded1a74164365ac7cdfba6f38' (2023-11-22)
  → 'github:NixOS/nixpkgs/6386d8aafc28b3a7ed03880a57bdc6eb4465491d' (2023-12-02)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/e4ad989506ec7d71f7302cc3067abd82730a4beb' (2023-11-19)
  → 'github:NixOS/nixpkgs/91050ea1e57e50388fa87a3302ba12d188ef723a' (2023-12-01)
2023-12-05 14:42:53 +01:00
885ea477b2
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/017ef2132a5bda50bd713aeabce8f918502d4ec1' (2023-10-30)
  → 'github:NixOS/nixpkgs/8f1180704ac35baded1a74164365ac7cdfba6f38' (2023-11-22)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/0cbe9f69c234a7700596e943bfae7ef27a31b735' (2023-10-29)
  → 'github:NixOS/nixpkgs/e4ad989506ec7d71f7302cc3067abd82730a4beb' (2023-11-19)
2023-11-23 20:36:51 +01:00
c6c8e72cab
fix PC fixe 2023-11-23 20:36:11 +01:00
7937c07328
flake.lock: Update
Flake lock file updates:

• Updated input 'utils':
    'github:gytis-ivaskevicius/flake-utils-plus/166d6ebd9f0de03afc98060ac92cba9c71cfe550' (2021-11-29)
  → 'github:gytis-ivaskevicius/flake-utils-plus/6cf1e312fb259693c4930d07ca3cbe1d07ef4a48' (2023-10-02)
• Updated input 'utils/flake-utils':
    'github:numtide/flake-utils/74f7e4319258e287b0f9cb95426c9853b282730b' (2021-11-28)
  → 'github:numtide/flake-utils/ff7b65b44d01cf9ba6a71320833626af21126384' (2023-09-12)
• Added input 'utils/flake-utils/systems':
    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e' (2023-04-09)
2023-11-01 22:34:28 +01:00
3fa5cb9606
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5a237aecb57296f67276ac9ab296a41c23981f56' (2023-10-07)
  → 'github:NixOS/nixpkgs/017ef2132a5bda50bd713aeabce8f918502d4ec1' (2023-10-30)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/87828a0e03d1418e848d3dd3f3014a632e4a4f64' (2023-10-06)
  → 'github:NixOS/nixpkgs/0cbe9f69c234a7700596e943bfae7ef27a31b735' (2023-10-29)
2023-11-01 20:58:46 +01:00
acde13cce6 enable podman autoprune and socket 2023-10-10 22:18:02 +02:00
e5c82197e7 update transmission to version 4 2023-10-10 22:17:25 +02:00
18e31c8df3 assign IPv6 to upstream 2023-10-10 22:17:02 +02:00
c126a6fc58 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5d017a8822e0907fb96f7700a319f9fe2434de02' (2023-09-17)
  → 'github:NixOS/nixpkgs/5a237aecb57296f67276ac9ab296a41c23981f56' (2023-10-07)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/5ba549eafcf3e33405e5f66decd1a72356632b96' (2023-09-19)
  → 'github:NixOS/nixpkgs/87828a0e03d1418e848d3dd3f3014a632e4a4f64' (2023-10-06)
2023-10-10 20:12:31 +02:00
3ff503b7b7 fix 4G key interface name 2023-09-21 23:52:56 +02:00
f0dcdd88cd migrate dhcpcd to networkd 2023-09-21 23:29:14 +02:00
dd7dbb6be5 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e5f018cf150e29aac26c61dac0790ea023c46b24' (2023-09-12)
  → 'github:NixOS/nixpkgs/5d017a8822e0907fb96f7700a319f9fe2434de02' (2023-09-17)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/f2ea252d23ebc9a5336bf6a61e0644921f64e67c' (2023-09-14)
  → 'github:NixOS/nixpkgs/5ba549eafcf3e33405e5f66decd1a72356632b96' (2023-09-19)
2023-09-21 20:01:22 +02:00
c26b1d8988 fix DNS servers for IPV6 2023-09-15 15:57:00 +02:00
55d8e55d3e enable Bouygues IPv6 2023-09-15 15:27:47 +02:00
4d10ab6aca flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/bfd953b2c6de4f550f75461bcc5768b6f966be10' (2023-08-15)
  → 'github:NixOS/nixpkgs/e5f018cf150e29aac26c61dac0790ea023c46b24' (2023-09-12)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/caac0eb6bdcad0b32cb2522e03e4002c8975c62e' (2023-08-16)
  → 'github:NixOS/nixpkgs/f2ea252d23ebc9a5336bf6a61e0644921f64e67c' (2023-09-14)
2023-09-15 14:14:36 +02:00
15cc0c9d0d
rename old options 2023-08-16 20:47:28 +02:00
317b1a24e6
remove hotfix 2023-08-16 20:37:06 +02:00
d898b83cd0
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/09a137528c3aea3780720d19f99cd706f52c3823' (2023-08-14)
  → 'github:NixOS/nixpkgs/bfd953b2c6de4f550f75461bcc5768b6f966be10' (2023-08-15)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/6e287913f7b1ef537c97aa301b67c34ea46b640f' (2023-08-14)
  → 'github:NixOS/nixpkgs/caac0eb6bdcad0b32cb2522e03e4002c8975c62e' (2023-08-16)
2023-08-16 20:35:44 +02:00
cbe429a351
hotfix failed build 2023-08-15 23:46:29 +02:00
afac2029e2
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9034b46dc4c7596a87ab837bb8a07ef2d887e8c7' (2023-08-09)
  → 'github:NixOS/nixpkgs/09a137528c3aea3780720d19f99cd706f52c3823' (2023-08-14)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e' (2023-08-10)
  → 'github:NixOS/nixpkgs/6e287913f7b1ef537c97aa301b67c34ea46b640f' (2023-08-14)
2023-08-15 23:37:58 +02:00
bb43809bbd
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/61676e4dcfeeb058f255294bcb08ea7f3bc3ce56' (2023-08-06)
  → 'github:NixOS/nixpkgs/9034b46dc4c7596a87ab837bb8a07ef2d887e8c7' (2023-08-09)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/5a8e9243812ba528000995b294292d3b5e120947' (2023-08-07)
  → 'github:NixOS/nixpkgs/ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e' (2023-08-10)
2023-08-12 00:14:12 +02:00
f7cf15be33
GUI: disable unused apps 2023-08-07 23:27:36 +02:00
4274d2d086
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9790f3242da2152d5aa1976e3e4b8b414f4dd206' (2023-06-27)
  → 'github:NixOS/nixpkgs/61676e4dcfeeb058f255294bcb08ea7f3bc3ce56' (2023-08-06)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/e18dc963075ed115afb3e312b64643bf8fd4b474' (2023-06-27)
  → 'github:NixOS/nixpkgs/5a8e9243812ba528000995b294292d3b5e120947' (2023-08-07)
2023-08-07 20:11:32 +02:00
9c1c0d8e76 add challenge amandoline website 2023-06-29 10:54:22 +02:00
dad1bd43a1 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b6c73c5fe53bb3afbf65e870541e0645e9145171' (2023-06-20)
  → 'github:NixOS/nixpkgs/9790f3242da2152d5aa1976e3e4b8b414f4dd206' (2023-06-27)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/04af42f3b31dba0ef742d254456dc4c14eedac86' (2023-06-17)
  → 'github:NixOS/nixpkgs/e18dc963075ed115afb3e312b64643bf8fd4b474' (2023-06-27)
• Updated input 'simple-nixos-mailserver':
    'gitlab:simple-nixos-mailserver/nixos-mailserver/4966c0f63f04659015f064f2aa34b1893a16dfde' (2023-06-11)
  → 'gitlab:simple-nixos-mailserver/nixos-mailserver/24128c3052090311688b09a400aa408ba61c6ee5' (2023-06-22)
2023-06-29 10:51:44 +02:00
0c8a0c3854 LoutreOS: replace zha with zigbee2mqtt 2023-06-22 18:40:32 +02:00
1a525bb29a
replace chromium with brave and disable netdata 2023-06-22 18:19:40 +02:00
2d8a066fd7
flake.lock: Update
Flake lock file updates:

• Updated input 'dogetipbot-telegram':
    'gitlab:nyanloutre/dogetipbot-telegram/baafc544b59db91dbe9466565e2f224e3aa76f7b' (2023-06-13)
  → 'gitlab:nyanloutre/dogetipbot-telegram/d7970444d7b9b602b55aa67f5e593d41e97d12cf' (2023-06-13)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/bb8b5735d6f7e06b9ddd27de115b0600c1ffbdb4' (2023-06-11)
  → 'github:NixOS/nixpkgs/b6c73c5fe53bb3afbf65e870541e0645e9145171' (2023-06-20)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/75a5ebf473cd60148ba9aec0d219f72e5cf52519' (2023-06-11)
  → 'github:NixOS/nixpkgs/04af42f3b31dba0ef742d254456dc4c14eedac86' (2023-06-17)
2023-06-22 18:11:10 +02:00
2ff32860e5 flake.lock: Update
Flake lock file updates:

• Updated input 'dogetipbot-telegram':
    'gitlab:nyanloutre/dogetipbot-telegram/e1b7b838a2863cb88f034ebed2fd74e1971bc962' (2023-06-13)
  → 'gitlab:nyanloutre/dogetipbot-telegram/baafc544b59db91dbe9466565e2f224e3aa76f7b' (2023-06-13)
2023-06-13 16:56:23 +02:00
7c45822d7d flake.lock: Update
Flake lock file updates:

• Updated input 'dogetipbot-telegram':
    'gitlab:nyanloutre/dogetipbot-telegram/9fa9fd3215d6b8a16af59cf6b33cde047e64b0a7' (2023-06-13)
  → 'gitlab:nyanloutre/dogetipbot-telegram/e1b7b838a2863cb88f034ebed2fd74e1971bc962' (2023-06-13)
2023-06-13 16:53:42 +02:00
ccb1ffebfe flake.lock: Update
Flake lock file updates:

• Updated input 'dogetipbot-telegram':
    'gitlab:nyanloutre/dogetipbot-telegram/df4062f9e6dc2ebf9f5ecea27766a3189df06851' (2023-06-13)
  → 'gitlab:nyanloutre/dogetipbot-telegram/9fa9fd3215d6b8a16af59cf6b33cde047e64b0a7' (2023-06-13)
2023-06-13 16:50:57 +02:00
de4fc8b682 flake.lock: Update
Flake lock file updates:

• Updated input 'dogetipbot-telegram':
    'gitlab:nyanloutre/dogetipbot-telegram/134eb1ca05cb64fa2185c9f80056aa8cb2207872' (2023-06-13)
  → 'gitlab:nyanloutre/dogetipbot-telegram/df4062f9e6dc2ebf9f5ecea27766a3189df06851' (2023-06-13)
2023-06-13 16:44:07 +02:00
9d55820d77 flake.lock: Update
Flake lock file updates:

• Updated input 'dogetipbot-telegram':
    'gitlab:nyanloutre/dogetipbot-telegram/de99d17926f5c62be6fa20484669ae13bf42a30a' (2023-06-13)
  → 'gitlab:nyanloutre/dogetipbot-telegram/134eb1ca05cb64fa2185c9f80056aa8cb2207872' (2023-06-13)
2023-06-13 16:37:42 +02:00
afe53131ad flake.lock: Update
Flake lock file updates:

• Updated input 'dogetipbot-telegram':
    'gitlab:nyanloutre/dogetipbot-telegram/e781adbbeda8aa0cbaef47558fc28f9e1dd162fb' (2021-11-02)
  → 'gitlab:nyanloutre/dogetipbot-telegram/de99d17926f5c62be6fa20484669ae13bf42a30a' (2023-06-13)
2023-06-13 16:32:29 +02:00
c9f1186eb7 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d3bb401dcfc5a46ce51cdfb5762e70cc75d082d2' (2023-06-10)
  → 'github:NixOS/nixpkgs/bb8b5735d6f7e06b9ddd27de115b0600c1ffbdb4' (2023-06-11)
2023-06-13 16:28:45 +02:00
1612f543dc Revert "LoutreOS: replace dhcpd4 with networkd"
This reverts commit 0037f3fd6d.
2023-06-13 16:19:14 +02:00
0037f3fd6d LoutreOS: replace dhcpd4 with networkd 2023-06-13 14:47:44 +02:00
ab08037dc9 LoutreOS: update to 23.05 and rename deprecated options 2023-06-13 14:05:05 +02:00
cacf58c7dd flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d83945caa7624015f11b152bf5c6c4363ffe9f7c' (2023-06-06)
  → 'github:NixOS/nixpkgs/d3bb401dcfc5a46ce51cdfb5762e70cc75d082d2' (2023-06-10)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/381e92a35e2d196fdd6077680dca0cd0197e75cb' (2023-06-07)
  → 'github:NixOS/nixpkgs/75a5ebf473cd60148ba9aec0d219f72e5cf52519' (2023-06-11)
• Updated input 'simple-nixos-mailserver':
    'gitlab:simple-nixos-mailserver/nixos-mailserver/bc667fb6afc45f6cc2d118ab77658faf2227cffd' (2022-12-21)
  → 'gitlab:simple-nixos-mailserver/nixos-mailserver/4966c0f63f04659015f064f2aa34b1893a16dfde' (2023-06-11)
• Added input 'simple-nixos-mailserver/flake-compat':
    'github:edolstra/flake-compat/009399224d5e398d03b22badca40a37ac85412a1' (2022-11-17)
• Updated input 'simple-nixos-mailserver/nixpkgs-22_11':
    follows 'nixpkgs'
  → 'github:NixOS/nixpkgs/ce5fe99df1f15a09a91a86be9738d68fadfbad82' (2022-11-27)
• Added input 'simple-nixos-mailserver/nixpkgs-23_05':
    follows 'nixpkgs'
2023-06-13 13:56:00 +02:00
fab9a81d0e
replace minecraft by prismlauncher 2023-06-08 21:35:55 +02:00
69e9788a16
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/628d4bb6e9f4f0c30cfd9b23d3c1cdcec9d3cb5c' (2023-05-18)
  → 'github:NixOS/nixpkgs/d83945caa7624015f11b152bf5c6c4363ffe9f7c' (2023-06-06)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/48a0fb7aab511df92a17cf239c37f2bd2ec9ae3a' (2023-05-18)
  → 'github:NixOS/nixpkgs/381e92a35e2d196fdd6077680dca0cd0197e75cb' (2023-06-07)
2023-06-08 21:35:19 +02:00
cb4f74182e
no trim/scrub on daily computer 2023-06-08 21:34:28 +02:00
0167221dc5 replace jackett with prowlarr 2023-05-18 22:41:11 +02:00
d28de2a644 use unstable radarr and sonarr 2023-05-18 20:23:15 +02:00
30faf02d27 create photoprism accounts 2023-05-18 20:23:02 +02:00
da693daad6 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f5364316e314436f6b9c8fd50592b18920ab18f9' (2023-04-24)
  → 'github:NixOS/nixpkgs/628d4bb6e9f4f0c30cfd9b23d3c1cdcec9d3cb5c' (2023-05-18)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/e78d25df6f1036b3fa76750ed4603dd9d5fe90fc' (2023-04-23)
  → 'github:NixOS/nixpkgs/48a0fb7aab511df92a17cf239c37f2bd2ec9ae3a' (2023-05-18)
2023-05-18 20:19:11 +02:00
08833324c2 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a575c243c23e2851b78c00e9fa245232926ec32f' (2023-03-29)
  → 'github:NixOS/nixpkgs/f5364316e314436f6b9c8fd50592b18920ab18f9' (2023-04-24)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/e3652e0735fbec227f342712f180f4f21f0594f2' (2023-03-30)
  → 'github:NixOS/nixpkgs/e78d25df6f1036b3fa76750ed4603dd9d5fe90fc' (2023-04-23)
2023-04-24 20:29:13 +02:00
3568d0bb16
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9ef6e7727f4c31507627815d4f8679c5841efb00' (2023-03-22)
  → 'github:NixOS/nixpkgs/a575c243c23e2851b78c00e9fa245232926ec32f' (2023-03-29)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/19cf008bb18e47b6e3b4e16e32a9a4bdd4b45f7e' (2023-03-21)
  → 'github:NixOS/nixpkgs/e3652e0735fbec227f342712f180f4f21f0594f2' (2023-03-30)
2023-04-01 12:53:34 +02:00
2da57f3126
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c43f676c938662072772339be6269226c77b51b8' (2023-02-14)
  → 'github:NixOS/nixpkgs/9ef6e7727f4c31507627815d4f8679c5841efb00' (2023-03-22)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/545c7a31e5dedea4a6d372712a18e00ce097d462' (2023-02-13)
  → 'github:NixOS/nixpkgs/19cf008bb18e47b6e3b4e16e32a9a4bdd4b45f7e' (2023-03-21)
2023-03-23 11:35:15 +01:00
94ab3f04fe ajout amandoline-creations.fr 2023-02-16 17:31:01 +01:00
0ae3cd7ba4 redirect www.musique-meyenheim.fr 2023-02-16 17:30:46 +01:00
2fac85824a install photoprism from unstable 2023-02-16 17:13:06 +01:00
4d7fc25aaf remove riot 2023-02-16 17:11:20 +01:00
a8b8356e0d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ab1254087f4cdf4af74b552d7fc95175d9bdbb49' (2023-01-22)
  → 'github:NixOS/nixpkgs/c43f676c938662072772339be6269226c77b51b8' (2023-02-14)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/1b1f50645af2a70dc93eae18bfd88d330bfbcf7f' (2023-01-23)
  → 'github:NixOS/nixpkgs/545c7a31e5dedea4a6d372712a18e00ce097d462' (2023-02-13)
2023-02-16 17:04:00 +01:00
ea61674cff flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6a3f9996408c970b99b8b992b11bb249d1455b62' (2023-01-12)
  → 'github:NixOS/nixpkgs/ab1254087f4cdf4af74b552d7fc95175d9bdbb49' (2023-01-22)
• Updated input 'nixpkgs-photoprism':
    'github:Stunkymonkey/nixpkgs/2dc710c13cfd1f33b16439c84afd9eafeb3371f2' (2023-01-12)
  → 'github:Stunkymonkey/nixpkgs/0214f02419f80674ffcaa26e9f20769a56b5f0c1' (2023-01-15)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/6c8644fc37b6e141cbfa6c7dc8d98846c4ff0c2e' (2023-01-11)
  → 'github:NixOS/nixpkgs/1b1f50645af2a70dc93eae18bfd88d330bfbcf7f' (2023-01-23)
2023-01-26 20:42:59 +01:00
734f54f69f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2dea8991d89b9f1e78d874945f78ca15f6954289' (2023-01-06)
  → 'github:NixOS/nixpkgs/6a3f9996408c970b99b8b992b11bb249d1455b62' (2023-01-12)
• Updated input 'nixpkgs-photoprism':
    'github:Stunkymonkey/nixpkgs/9f3d8078ecec6f757b6fde1734f258913e062be2' (2023-01-01)
  → 'github:Stunkymonkey/nixpkgs/2dc710c13cfd1f33b16439c84afd9eafeb3371f2' (2023-01-12)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/a518c77148585023ff56022f09c4b2c418a51ef5' (2023-01-05)
  → 'github:NixOS/nixpkgs/6c8644fc37b6e141cbfa6c7dc8d98846c4ff0c2e' (2023-01-11)
2023-01-13 09:53:31 +01:00
166219459f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e9ade2c8240e00a4784fac282a502efff2786bdc' (2023-01-04)
  → 'github:NixOS/nixpkgs/2dea8991d89b9f1e78d874945f78ca15f6954289' (2023-01-06)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/9813adc7f7c0edd738c6bdd8431439688bb0cb3d' (2023-01-04)
  → 'github:NixOS/nixpkgs/a518c77148585023ff56022f09c4b2c418a51ef5' (2023-01-05)
2023-01-07 23:34:55 +01:00
d97d8a5949 add photoprism url 2023-01-05 11:28:10 +01:00
a449f29502 remove backup mount and add photoprism mount 2023-01-05 11:26:51 +01:00
0cddbf1def flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/913a47cd064cc06440ea84e5e0452039a85781f0' (2022-12-29)
  → 'github:NixOS/nixpkgs/e9ade2c8240e00a4784fac282a502efff2786bdc' (2023-01-04)
• Updated input 'nixpkgs-photoprism':
    'github:Stunkymonkey/nixpkgs/6805f176fcc4b3673f23df5ee67caccc24bfba8c' (2022-12-24)
  → 'github:Stunkymonkey/nixpkgs/9f3d8078ecec6f757b6fde1734f258913e062be2' (2023-01-01)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/e182da8622a354d44c39b3d7a542dc12cd7baa5f' (2022-12-28)
  → 'github:NixOS/nixpkgs/9813adc7f7c0edd738c6bdd8431439688bb0cb3d' (2023-01-04)
2023-01-05 11:26:51 +01:00
884498f573 Update 'systems/LoutreOS/services.nix' 2023-01-05 11:25:26 +01:00
3d472d07c2 Update 'systems/LoutreOS/configuration.nix' 2023-01-05 11:18:09 +01:00
eff9aadf90 Update 'systems/LoutreOS/configuration.nix' 2023-01-05 11:13:39 +01:00
09ec8c3554 Add 'overlays/transmission.nix' 2023-01-05 11:11:22 +01:00
a315db49c6 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/dac57a4eccf1442e8bf4030df6fcbb55883cb682' (2022-12-24)
  → 'github:NixOS/nixpkgs/913a47cd064cc06440ea84e5e0452039a85781f0' (2022-12-29)
2022-12-30 15:09:18 +01:00
c4ff862ab4 install photoprism 2022-12-30 15:08:37 +01:00
5ce6087b57 update LoutreOS to 22.11 2022-12-30 15:08:20 +01:00
17d985a56c flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/fecf05d4861f3985e8dee73f08bc82668ef75125' (2022-11-27)
  → 'github:NixOS/nixpkgs/dac57a4eccf1442e8bf4030df6fcbb55883cb682' (2022-12-24)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/a115bb9bd56831941be3776c8a94005867f316a7' (2022-11-27)
  → 'github:NixOS/nixpkgs/e182da8622a354d44c39b3d7a542dc12cd7baa5f' (2022-12-28)
• Updated input 'simple-nixos-mailserver':
    'gitlab:simple-nixos-mailserver/nixos-mailserver/f535d8123c4761b2ed8138f3d202ea710a334a1d' (2022-06-22)
  → 'gitlab:simple-nixos-mailserver/nixos-mailserver/bc667fb6afc45f6cc2d118ab77658faf2227cffd' (2022-12-21)
• Removed input 'simple-nixos-mailserver/nixpkgs-22_05'
• Added input 'simple-nixos-mailserver/nixpkgs-22_11':
    'github:NixOS/nixpkgs/ce5fe99df1f15a09a91a86be9738d68fadfbad82' (2022-11-27)
2022-12-29 15:37:00 +01:00
7ea8686685 LoutreOS: backup more 2022-11-29 21:53:24 +01:00
3b4f25ead8 fix postgres backup 2022-11-29 21:45:48 +01:00
8f36dda4e8
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f42a45c015f28ac3beeb0df360e50cdbf495d44b' (2022-11-18)
  → 'github:NixOS/nixpkgs/fecf05d4861f3985e8dee73f08bc82668ef75125' (2022-11-27)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/52b2ac8ae18bbad4374ff0dd5aeee0fdf1aea739' (2022-11-18)
  → 'github:NixOS/nixpkgs/a115bb9bd56831941be3776c8a94005867f316a7' (2022-11-27)
2022-11-29 21:11:37 +01:00
82c3e1243f
add esphome 2022-11-29 21:10:45 +01:00
2848cd7547
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e06bd4b64bbfda91d74f13cb5eca89485d47528f' (2022-10-12)
  → 'github:NixOS/nixpkgs/f42a45c015f28ac3beeb0df360e50cdbf495d44b' (2022-11-18)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/ba187fbdc5e35322c7dff556ef2c47bddfd6e8d7' (2022-10-13)
  → 'github:NixOS/nixpkgs/52b2ac8ae18bbad4374ff0dd5aeee0fdf1aea739' (2022-11-18)
2022-11-19 14:53:49 +01:00
9157a59135 jackett version unstable 2022-10-14 14:54:48 +02:00
aba13fd530 essai de configuration de l'IPV6 Bouygues 2022-10-14 14:54:22 +02:00
721e1be1f7 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9ecc270f02b09b2f6a76b98488554dd842797357' (2022-10-07)
  → 'github:NixOS/nixpkgs/e06bd4b64bbfda91d74f13cb5eca89485d47528f' (2022-10-12)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/c5924154f000e6306030300592f4282949b2db6c' (2022-10-08)
  → 'github:NixOS/nixpkgs/ba187fbdc5e35322c7dff556ef2c47bddfd6e8d7' (2022-10-13)
2022-10-14 14:14:10 +02:00
dbaa468f36 amandoleene-designyourfuture: wordpress to static website 2022-10-14 14:13:12 +02:00
4572c8c81b fix home assistant 2022-10-14 14:12:40 +02:00
ef246753b8 increase influxdb startup timeout 2022-10-10 23:05:21 +02:00
41f1843e59
fix changed options 2022-10-10 22:25:14 +02:00
28fa70ef0f
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/52527082ea267fe486f0648582d57c85486b2031' (2022-08-22)
  → 'github:NixOS/nixpkgs/9ecc270f02b09b2f6a76b98488554dd842797357' (2022-10-07)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/5e804cd8a27f835a402b22e086e36e797716ef8b' (2022-08-23)
  → 'github:NixOS/nixpkgs/c5924154f000e6306030300592f4282949b2db6c' (2022-10-08)
2022-10-10 21:55:24 +02:00
5af49514f1 add wordpress website 2022-09-23 13:38:36 +02:00
8ba5ff2308 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/23534df34c1c499a6c82ce690df06d8c6e4e759d' (2022-08-21)
  → 'github:NixOS/nixpkgs/52527082ea267fe486f0648582d57c85486b2031' (2022-08-22)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/a7855f2235a1876f97473a76151fec2afa02b287' (2022-08-21)
  → 'github:NixOS/nixpkgs/5e804cd8a27f835a402b22e086e36e797716ef8b' (2022-08-23)
2022-08-23 19:09:46 +02:00
e074720847
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e43cf1748462c81202a32b26294e9f8eefcc3462' (2022-08-01)
  → 'github:NixOS/nixpkgs/23534df34c1c499a6c82ce690df06d8c6e4e759d' (2022-08-21)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/5857574d45925585baffde730369414319228a84' (2022-07-31)
  → 'github:NixOS/nixpkgs/a7855f2235a1876f97473a76151fec2afa02b287' (2022-08-21)
2022-08-22 23:22:00 +02:00
0d3a998a66
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f0fa012b649a47e408291e96a15672a4fe925d65' (2022-07-25)
  → 'github:NixOS/nixpkgs/e43cf1748462c81202a32b26294e9f8eefcc3462' (2022-08-01)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/5a0e0d73b944157328d54c4ded1cf2f0146a86a5' (2022-07-25)
  → 'github:NixOS/nixpkgs/5857574d45925585baffde730369414319228a84' (2022-07-31)
2022-08-03 00:50:37 +02:00
b9981c7075 fix transmission default downloaddir 2022-07-26 21:27:31 +02:00
9addf815c9 remove unused wireguard 2022-07-26 21:27:14 +02:00
d202456d6b
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e732e1fdbf79bec59f7ade4a3675b091b4a9f6d6' (2022-07-19)
  → 'github:NixOS/nixpkgs/f0fa012b649a47e408291e96a15672a4fe925d65' (2022-07-25)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/e4d49de45a3b5dbcb881656b4e3986e666141ea9' (2022-07-18)
  → 'github:NixOS/nixpkgs/5a0e0d73b944157328d54c4ded1cf2f0146a86a5' (2022-07-25)
2022-07-26 19:33:26 +02:00
000d5924ff
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/316b762afdb9e142a803f29c49a88b4a47db80ee' (2022-07-06)
  → 'github:NixOS/nixpkgs/e732e1fdbf79bec59f7ade4a3675b091b4a9f6d6' (2022-07-19)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/a5c867d9fe9e4380452628e8f171c26b69fa9d3d' (2022-07-06)
  → 'github:NixOS/nixpkgs/e4d49de45a3b5dbcb881656b4e3986e666141ea9' (2022-07-18)
2022-07-20 15:35:38 +02:00
756e619a1d
add channel patch example 2022-07-20 15:34:53 +02:00
ab6d9dc848
PC-fixe: enable HP printing 2022-07-20 15:29:20 +02:00
4fab7e63f5
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e8d47977286a44955262adbc76f2c8a66e7419d5' (2022-07-04)
  → 'github:NixOS/nixpkgs/316b762afdb9e142a803f29c49a88b4a47db80ee' (2022-07-06)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/18b14a254dca6b68ca0ce2ce885ce2b550065799' (2022-07-03)
  → 'github:NixOS/nixpkgs/a5c867d9fe9e4380452628e8f171c26b69fa9d3d' (2022-07-06)
2022-07-07 19:09:21 +02:00
5b51fdc5c2 Merge pull request 'update to nixos-22.05' (#2) from update_22_05 into master
Reviewed-on: #2
2022-07-07 19:08:34 +02:00
744d3fc57e LoutreOS: temporarily disable max website 2022-07-05 21:53:47 +02:00
4371eb399b LoutreOS: remove unused iscsi config 2022-07-05 21:51:06 +02:00
e35f6defa0 LoutreOS: remove unused game servers 2022-07-05 21:50:38 +02:00
407f0ac4f6 Merge branch 'master' into update_22_05 2022-07-05 21:47:27 +02:00
5a479bbe03 LoutreOS: disable syncthing 2022-07-05 21:46:18 +02:00
8c8795cd2a LoutreOS: update PostgreSQL from 9.6 to 14 2022-07-05 21:45:28 +02:00
89a8d3baa6 LoutreOS: fix acme config 2022-07-05 20:41:35 +02:00
349d25b201 LoutreOS: keep default logrotate config 2022-07-05 20:41:04 +02:00
be051f67d3 LoutreOS: disable redis 2022-07-05 20:40:48 +02:00
4f0c846880 flake.lock: Update
Flake lock file changes:

• Updated input 'simple-nixos-mailserver':
    'gitlab:simple-nixos-mailserver/nixos-mailserver/6e3a7b2ea6f0d68b82027b988aa25d3423787303' (2021-12-07)
  → 'gitlab:simple-nixos-mailserver/nixos-mailserver/f535d8123c4761b2ed8138f3d202ea710a334a1d' (2022-06-22)
• Removed input 'simple-nixos-mailserver/nixpkgs-21_05'
• Removed input 'simple-nixos-mailserver/nixpkgs-21_11'
• Added input 'simple-nixos-mailserver/nixpkgs-22_05':
    follows 'nixpkgs'
2022-07-05 20:25:04 +02:00
fe51717336 LoutreOS: update nixos-mailserver 2022-07-05 20:25:00 +02:00
7edc314234
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/685d243d971c4f9655c981036b9c7bafdb728a0d' (2022-05-19)
  → 'github:NixOS/nixpkgs/573603b7fdb9feb0eb8efc16ee18a015c667ab1b' (2022-07-02)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/48037fd90426e44e4bf03e6479e88a11453b9b66' (2022-05-18)
  → 'github:NixOS/nixpkgs/18b14a254dca6b68ca0ce2ce885ce2b550065799' (2022-07-03)
2022-07-05 20:10:31 +02:00
580c33acba flake.lock: Update
Flake lock file changes:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/09c32b0bda4db98d6454e910206188e85d5b04cc' (2022-07-02)
  → 'github:NixOS/nixpkgs/e8d47977286a44955262adbc76f2c8a66e7419d5' (2022-07-04)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/0ea7a8f1b939d74e5df8af9a8f7342097cdf69eb' (2022-07-02)
  → 'github:NixOS/nixpkgs/18b14a254dca6b68ca0ce2ce885ce2b550065799' (2022-07-03)
2022-07-05 20:09:13 +02:00
c937ecd33c LoutreOS: update Postgresql to 14 2022-07-04 23:39:05 +02:00
371f28a719 LoutreOS: use unstable Jellyfin 2022-07-04 23:38:41 +02:00
d5c54d97c5 flake.lock: Update
Flake lock file changes:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/be6da3774db3746e6ae94bf412dd3707e35b2800' (2022-06-29)
  → 'github:NixOS/nixpkgs/09c32b0bda4db98d6454e910206188e85d5b04cc' (2022-07-02)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/cf3ab54b4afe2b7477faa1dd0b65bf74c055d70c' (2022-06-29)
  → 'github:NixOS/nixpkgs/0ea7a8f1b939d74e5df8af9a8f7342097cdf69eb' (2022-07-02)
2022-07-04 22:33:55 +02:00
29e12eed94 flake.lock: Update
Flake lock file changes:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a119e218ad27bea32057a3463e3694a61c9e3802' (2022-06-13)
  → 'github:NixOS/nixpkgs/be6da3774db3746e6ae94bf412dd3707e35b2800' (2022-06-29)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/914ef51ffa88d9b386c71bdc88bffc5273c08ada' (2022-06-12)
  → 'github:NixOS/nixpkgs/cf3ab54b4afe2b7477faa1dd0b65bf74c055d70c' (2022-06-29)
2022-06-30 19:57:50 +02:00
592b02f911 Merge branch 'master' into update_22_05 2022-06-30 19:00:14 +02:00
a21636baa2 reduce frequency of high IO operations 2022-06-30 18:58:34 +02:00
418a7ba107 configure hetzner backup 2022-06-30 18:58:16 +02:00
21 changed files with 930 additions and 1465 deletions

107
flake.lock generated
View File

@ -23,11 +23,11 @@
]
},
"locked": {
"lastModified": 1635873573,
"narHash": "sha256-KcrFb8HSNcVTtYNXoUwZxW531cQn6T3YBU6Goo5G9mo=",
"lastModified": 1730148450,
"narHash": "sha256-CSxPIeDqavQ3fJhshuNs0oS84P1p87BsbNoashKlrKg=",
"owner": "nyanloutre",
"repo": "dogetipbot-telegram",
"rev": "e781adbbeda8aa0cbaef47558fc28f9e1dd162fb",
"rev": "667e318212920005917792b06e0f480b421fa6d3",
"type": "gitlab"
},
"original": {
@ -37,18 +37,19 @@
"type": "gitlab"
}
},
"flake-utils": {
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1638122382,
"narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "74f7e4319258e287b0f9cb95426c9853b282730b",
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
@ -75,41 +76,42 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1655096306,
"narHash": "sha256-3B3zBaQVLL956deZgmucouvkZroObQ4JKHzbIfFS9/c=",
"lastModified": 1739624908,
"narHash": "sha256-f84lBmLl4tkDp1ZU5LBTSFzlxXP4926DVW3KnXrke10=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a119e218ad27bea32057a3463e3694a61c9e3802",
"rev": "a60651b217d2e529729cbc7d989c19f3941b9250",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-22.05",
"ref": "nixos-24.11",
"type": "indirect"
}
},
"nixpkgs-21_05": {
"nixpkgs-4a3fc4cf7": {
"locked": {
"lastModified": 1625692408,
"narHash": "sha256-e9L3TLLDVIJpMnHtiNHJE62oOh6emRtSZ244bgYJUZs=",
"owner": "NixOS",
"lastModified": 1716914467,
"narHash": "sha256-KkT6YM/yNQqirtYj/frn6RRakliB8RDvGqVGGaNhdcU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c06613c25df3fe1dd26243847a3c105cf6770627",
"rev": "4a3fc4cf736b7d2d288d7a8bf775ac8d4c0920b4",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-21.05",
"type": "indirect"
"owner": "nixos",
"repo": "nixpkgs",
"rev": "4a3fc4cf736b7d2d288d7a8bf775ac8d4c0920b4",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1655043425,
"narHash": "sha256-A+oT+aQGhW5lXy8H0cqBLsYtgcnT5glmGOXWQDcGw6I=",
"lastModified": 1739736696,
"narHash": "sha256-zON2GNBkzsIyALlOCFiEBcIjI4w38GYOb+P+R4S8Jsw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "914ef51ffa88d9b386c71bdc88bffc5273c08ada",
"rev": "d74a2335ac9c133d6bbec9fc98d91a77f1604c1f",
"type": "github"
},
"original": {
@ -123,71 +125,36 @@
"dogetipbot-telegram": "dogetipbot-telegram",
"ipmihddtemp": "ipmihddtemp",
"nixpkgs": "nixpkgs",
"nixpkgs-4a3fc4cf7": "nixpkgs-4a3fc4cf7",
"nixpkgs-unstable": "nixpkgs-unstable",
"simple-nixos-mailserver": "simple-nixos-mailserver",
"utils": "utils_2"
"simple-nixos-mailserver": "simple-nixos-mailserver"
}
},
"simple-nixos-mailserver": {
"inputs": {
"blobs": "blobs",
"flake-compat": "flake-compat",
"nixpkgs": [
"nixpkgs-unstable"
],
"nixpkgs-21_05": "nixpkgs-21_05",
"nixpkgs-21_11": [
"nixpkgs-24_11": [
"nixpkgs"
],
"utils": "utils"
]
},
"locked": {
"lastModified": 1638911354,
"narHash": "sha256-hNhzLOp+dApEY15vwLAQZu+sjEQbJcOXCaSfAT6lpsQ=",
"lastModified": 1734884447,
"narHash": "sha256-HA9fAmGNGf0cOYrhgoa+B6BxNVqGAYXfLyx8zIS0ZBY=",
"owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver",
"rev": "6e3a7b2ea6f0d68b82027b988aa25d3423787303",
"rev": "63209b1def2c9fc891ad271f474a3464a5833294",
"type": "gitlab"
},
"original": {
"owner": "simple-nixos-mailserver",
"ref": "nixos-21.11",
"ref": "nixos-24.11",
"repo": "nixos-mailserver",
"type": "gitlab"
}
},
"utils": {
"locked": {
"lastModified": 1605370193,
"narHash": "sha256-YyMTf3URDL/otKdKgtoMChu4vfVL3vCMkRqpGifhUn0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5021eac20303a61fafe17224c087f5519baed54d",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"utils_2": {
"inputs": {
"flake-utils": "flake-utils"
},
"locked": {
"lastModified": 1638172912,
"narHash": "sha256-jxhQGNEsZTdop/Br3JPS+xmBf6t9cIWRzVZFxbT76Rw=",
"owner": "gytis-ivaskevicius",
"repo": "flake-utils-plus",
"rev": "166d6ebd9f0de03afc98060ac92cba9c71cfe550",
"type": "github"
},
"original": {
"owner": "gytis-ivaskevicius",
"ref": "v1.3.1",
"repo": "flake-utils-plus",
"type": "github"
}
}
},
"root": "root",

109
flake.nix
View File

@ -1,13 +1,14 @@
{
inputs = {
nixpkgs.url = "flake:nixpkgs/nixos-22.05";
nixpkgs.url = "flake:nixpkgs/nixos-24.11";
nixpkgs-unstable.url = "flake:nixpkgs/nixos-unstable";
utils.url = "github:gytis-ivaskevicius/flake-utils-plus/v1.3.1";
# transmission 4.0.5 downgrade to fix tracker bug
nixpkgs-4a3fc4cf7.url = "github:nixos/nixpkgs/4a3fc4cf736b7d2d288d7a8bf775ac8d4c0920b4";
simple-nixos-mailserver = {
url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-21.11";
url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.11";
inputs = {
nixpkgs.follows = "nixpkgs-unstable";
nixpkgs-21_11.follows = "nixpkgs";
nixpkgs-24_11.follows = "nixpkgs";
};
};
dogetipbot-telegram = {
@ -20,34 +21,90 @@
};
};
outputs = inputs@{ self, utils, nixpkgs, nixpkgs-unstable, simple-nixos-mailserver, dogetipbot-telegram, ipmihddtemp }: utils.lib.mkFlake {
outputs = {
self,
nixpkgs,
nixpkgs-unstable,
nixpkgs-4a3fc4cf7,
simple-nixos-mailserver,
dogetipbot-telegram,
ipmihddtemp
}@inputs: {
inherit self inputs;
packages.x86_64-linux = (import ./pkgs nixpkgs.legacyPackages.x86_64-linux);
supportedSystems = [ "x86_64-linux" ];
hostDefaults.modules = [
nixpkgs.nixosModules.notDetected
{
nix.generateRegistryFromInputs = true;
nix.linkInputs = true;
nix.generateNixPathFromInputs = true;
}
];
hosts.loutreos.modules = [
simple-nixos-mailserver.nixosModule
dogetipbot-telegram.nixosModule
ipmihddtemp.nixosModule
./systems/LoutreOS/configuration.nix
];
hosts.paul-fixe = {
channelName = "nixpkgs-unstable";
nixosConfigurations.paul-fixe = nixpkgs-unstable.lib.nixosSystem {
system = "x86_64-linux";
modules = [
nixpkgs-unstable.nixosModules.notDetected
{
nixpkgs.config.allowUnfree = true;
nix = {
settings.experimental-features = [ "nix-command" "flakes" ];
registry = {
nixpkgs.to = {
type = "path";
path = nixpkgs-unstable.legacyPackages.x86_64-linux.path;
};
};
};
}
./systems/PC-Fixe/configuration.nix
];
};
nixosConfigurations.loutreos = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
specialArgs = {
inputs = inputs;
pkgs-unstable = import nixpkgs-unstable {
inherit system;
config.permittedInsecurePackages = [
"aspnetcore-runtime-6.0.36"
"aspnetcore-runtime-wrapped-6.0.36"
"dotnet-sdk-6.0.428"
"dotnet-sdk-wrapped-6.0.428"
];
};
pkgs-4a3fc4cf7 = import nixpkgs-4a3fc4cf7 {
inherit system;
};
};
modules = [
nixpkgs-unstable.nixosModules.notDetected
simple-nixos-mailserver.nixosModule
dogetipbot-telegram.nixosModule
ipmihddtemp.nixosModule
{
nix = {
settings.experimental-features = [ "nix-command" "flakes" ];
registry = {
nixpkgs.to = {
type = "path";
path = nixpkgs.legacyPackages.x86_64-linux.path;
};
};
};
systemd.services.watcharr = {
description = "Watcharr";
after = [ "network.target" ];
environment = {
PORT = "3005";
WATCHARR_DATA = "/var/lib/watcharr";
};
serviceConfig = {
DynamicUser = true;
StateDirectory = "watcharr";
ExecStart = "${self.packages.x86_64-linux.watcharr}/bin/Watcharr";
PrivateTmp = true;
};
wantedBy = [ "multi-user.target" ];
};
}
./systems/LoutreOS/configuration.nix
];
};
};
}

View File

@ -1,15 +0,0 @@
self: super:
{
riot-web = super.riot-web.override {
conf = {
default_hs_url = "https://matrix.nyanlout.re";
default_is_url = "https://vector.im";
brand = "Nyanloutre";
default_theme = "dark";
integrations_ui_url = "https://dimension.t2bot.io/riot";
integrations_rest_url = "https://dimension.t2bot.io/api/v1/scalar";
integrations_widgets_urls = ["https://dimension.t2bot.io/widgets"];
integrations_jitsi_widget_url = "https://dimension.t2bot.io/widgets/jitsi";
};
};
}

3
pkgs/default.nix Normal file
View File

@ -0,0 +1,3 @@
pkgs: {
watcharr = pkgs.callPackage ./watcharr { };
}

64
pkgs/watcharr/default.nix Normal file
View File

@ -0,0 +1,64 @@
{ lib
, pkgs
, buildGoModule
, fetchFromGitHub
, buildNpmPackage
, nixosTests
, caddy
, testers
, installShellFiles
, stdenv
}:
let
version = "1.41.0";
src = fetchFromGitHub {
owner = "sbondCo";
repo = "Watcharr";
rev = "v${version}";
hash = "sha256-ZvCxgfZZ9pbp+NvH+IhWphJWnAwgAH0x/REPd/XxJ70=";
};
frontend = buildNpmPackage {
pname = "watcharr-ui";
inherit version src;
npmDepsHash = "sha256-73paI0y4QyzkEnU99f1HeLD/hW8GP3F9N8tGGQnloH8=";
installPhase = ''
cp -r build $out
cp package.json package-lock.json $out
cd $out && npm ci --omit=dev
'';
};
in
buildGoModule {
pname = "watcharr";
inherit version;
src = src + "/server";
vendorHash = "sha256-86pFpS8ZSj+c7vwn0QCwzXlvVYJIf3SBj4X81zlwBWQ=";
# Inject frontend assets into go embed
prePatch = ''
# rm -rf ui
# ln -s ${frontend} ui
substituteInPlace watcharr.go \
--replace-fail ui/index.js ${frontend}/index.js \
--replace-fail \"127.0.0.1:3000\" "\"127.0.0.1:\"+os.Getenv(\"PORT\")"
'';
buildInputs = [ pkgs.makeWrapper ];
postFixup = ''
wrapProgram "$out/bin/Watcharr" --prefix PATH : "${lib.makeBinPath [ pkgs.nodejs ]}"
'';
meta = with lib; {
homepage = "https://watcharr.app/";
description = "Open source, self-hostable watched list for all your content with user authentication, modern and clean UI and a very simple setup";
license = licenses.asl20;
# mainProgram = "caddy";
maintainers = with maintainers; [ nyanloutre ];
};
}

View File

@ -1,49 +0,0 @@
{lib, config, pkgs, ... }:
with lib;
let
cfg = config.services.python-ci;
in
{
options.services.python-ci = {
enable = mkEnableOption "Service de CI Nix écrit en Python";
};
config = mkIf cfg.enable {
users.users = {
python-ci = {
isSystemUser = true;
group = "nogroup";
description = "Python CI user";
};
};
systemd.services.python-ci = {
description = "CI Nix en Python";
requires = ["network-online.target"];
wantedBy = ["multi-user.target"];
environment = { HOME = "/var/lib/python-ci"; NIX_PATH = concatStringsSep ":" config.nix.nixPath; NIXPKGS_ALLOW_UNFREE = "1";};
path = with pkgs;[ nix gnutar gzip ];
serviceConfig = {
User = "python-ci";
StateDirectory = "python-ci";
RuntimeDirectory = "python-ci";
RuntimeDirectoryPreserve = "yes";
ExecStart = with pkgs;
let env = python3Packages.python.buildEnv.override {
extraLibs = with python3Packages;[ pyramid python-gitlab ];
ignoreCollisions = true;
};
in "${pkgs.writeShellScriptBin "run.sh" ''
${env}/bin/python ${pkgs.writeScript "python-ci.py" "${readFile ./python-ci.py}"} --port 52350 \
--secret /var/lib/python-ci/secret --gitlab-token /var/lib/python-ci/gitlab_token \
--gitea-token /var/lib/python-ci/gitea_token --output /run/python-ci
''}/bin/run.sh";
};
};
};
}

View File

@ -1,168 +0,0 @@
#! /usr/bin/env nix-shell
#! nix-shell -i python3 -p "python3.withPackages(ps: [ps.pyramid ps.python-gitlab])"
from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.view import view_config, view_defaults
from pyramid.httpexceptions import HTTPNotFound
from subprocess import check_call, CalledProcessError
import urllib.request
import tarfile
from tempfile import TemporaryDirectory
from multiprocessing import Pool
from gitlab import Gitlab
import urllib.request
import json
import argparse
import hmac
import hashlib
def gitlab_build(payload, gl):
commit = gl.projects.get(payload['project']['path_with_namespace']).commits.get(payload['checkout_sha'])
commit.statuses.create({'state': 'running', 'name': 'Python CI'})
print("push from " + payload['user_name'])
print("repo: " + payload['project']['path_with_namespace'])
print("commit: " + payload['checkout_sha'])
temp_dir = TemporaryDirectory()
repo_dir = temp_dir.name + '/' + payload['project']['name'] + '-' + payload['checkout_sha']
archive_url = payload['project']['web_url'] + '/-/archive/' + payload['checkout_sha'] + \
'/' + payload['project']['name'] + '-' + payload['checkout_sha'] + '.tar.gz'
with urllib.request.urlopen(archive_url) as gitlab_archive:
with tarfile.open(fileobj=gitlab_archive, mode='r|gz') as gitlab_repo_files:
gitlab_repo_files.extractall(path=temp_dir.name)
check_call(['ls', '-lha', repo_dir])
try:
check_call(['nix-build', '-o', args.output + '/' + payload['project']['path_with_namespace'], repo_dir])
except CalledProcessError:
commit.statuses.create({'state': 'failed', 'name': 'Python CI'})
print("erreur build")
else:
commit.statuses.create({'state': 'success', 'name': 'Python CI'})
print("build terminé")
@view_defaults(
route_name="gitlab_payload", renderer="json", request_method="POST"
)
class GitlabHook(object):
def __init__(self, request):
self.request = request
self.payload = self.request.json
self.whitelist = ['nyanloutre/site-musique']
self.secret = open(args.secret, 'r').readline().splitlines()[0]
self.gitlab_token = open(args.gitlab_token, 'r').readline().splitlines()[0]
self.gl = Gitlab('https://gitlab.com', private_token=self.gitlab_token)
@view_config(header="X-Gitlab-Event:Push Hook")
def push_hook(self):
if self.payload['project']['path_with_namespace'] in self.whitelist and self.request.headers['X-Gitlab-Token'] == self.secret:
self.gl.projects.get(self.payload['project']['path_with_namespace']).commits.get(self.payload['checkout_sha']).statuses.create({'state': 'pending', 'name': 'Python CI'})
pool.apply_async(gitlab_build, (self.payload, self.gl))
return "build started"
else:
raise HTTPNotFound
def gitea_status_update(repo, commit, token, status):
url = 'https://gitea.nyanlout.re/api/v1/repos/' + repo + '/statuses/' + commit
print(url)
req = urllib.request.Request(url)
req.add_header('Content-Type', 'application/json; charset=utf-8')
req.add_header('accept', 'application/json')
req.add_header('Authorization', 'token ' + token)
jsondata = json.dumps({'state': status}).encode('utf-8')
req.add_header('Content-Length', len(jsondata))
urllib.request.urlopen(req, jsondata)
def gitea_build(payload, token):
commit = payload['after']
repo = payload['repository']['full_name']
gitea_status_update(repo, commit, token, 'pending')
print("push from " + payload['pusher']['username'])
print("repo: " + repo)
print("commit: " + commit)
temp_dir = TemporaryDirectory()
repo_dir = temp_dir.name + '/' + payload['repository']['name']
archive_url = payload['repository']['html_url'] + '/archive/' + commit + '.tar.gz'
with urllib.request.urlopen(archive_url) as gitea_archive:
with tarfile.open(fileobj=gitea_archive, mode='r|gz') as gitea_repo_files:
gitea_repo_files.extractall(path=temp_dir.name)
check_call(['ls', '-lha', repo_dir])
try:
check_call(['nix-build', '-o', args.output + '/' + repo, repo_dir])
except CalledProcessError:
gitea_status_update(repo, commit, token, 'failure')
print("erreur build")
else:
gitea_status_update(repo, commit, token, 'success')
print("build terminé")
@view_defaults(
route_name="gitea_payload", renderer="json", request_method="POST"
)
class GiteaHook(object):
def __init__(self, request):
self.payload = request.json
self.whitelist = ['nyanloutre/site-musique', 'nyanloutre/site-max']
self.gitea_token = open(args.gitea_token, 'r').readline().strip()
@view_config(header=["X-Gitea-Event:push", "X-Gitea-Signature"], check_hmac=True)
def push_hook(self):
if self.payload['repository']['full_name'] in self.whitelist:
pool.apply_async(gitea_build, (self.payload, self.gitea_token))
return "build started"
else:
raise HTTPNotFound
class CheckHmacPredicate(object):
def __init__(self, val, info):
self.secret = open(args.secret, 'r').readline().strip().encode()
def text(self):
return 'HMAC checking enabled'
phash = text
def __call__(self, context, request):
payload_signature = hmac.new(self.secret, request.body, hashlib.sha256).hexdigest()
return hmac.compare_digest(request.headers["X-Gitea-Signature"], payload_signature)
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='CI server')
parser.add_argument('--address', help='listening address', default='127.0.0.1')
parser.add_argument('--port', type=int, help='listening port')
parser.add_argument('--output', help='output directory')
parser.add_argument('--secret', help='repo secret file')
parser.add_argument('--gitlab-token', help='gitlab token file')
parser.add_argument('--gitea-token', help='gitea token file')
args = parser.parse_args()
pool = Pool(1)
config = Configurator()
config.add_view_predicate('check_hmac', CheckHmacPredicate)
config.add_route("gitlab_payload", "/gitlab_payload")
config.add_route("gitea_payload", "/gitea_payload")
config.scan()
app = config.make_wsgi_app()
server = make_server(args.address, args.port, app)
print('listening ...')
server.serve_forever()

View File

@ -1,120 +0,0 @@
{lib, config, pkgs, ... }:
with lib;
let
cfg = config.services.sdtdserver;
gamePath = "/var/lib/sdtdserver";
gameOptions = {
ServerPort="26900";
ServerVisibility="2";
ServerName="Serveur des loutres";
ServerPassword="";
ServerMaxPlayerCount="16";
ServerReservedSlots="0";
ServerReservedSlotsPermission="100";
ServerAdminSlots="0";
ServerAdminSlotsPermission="0";
ServerDescription="Un serveur idiot anti gilets jaunes";
ServerWebsiteURL="";
ServerDisabledNetworkProtocols="";
GameWorld="Navezgane";
WorldGenSeed="Lakeu";
WorldGenSize="4096";
GameName="Lakeu";
GameDifficulty="2";
GameMode="GameModeSurvival";
ZombiesRun="0";
ZombieMove="0";
ZombieMoveNight="3";
ZombieFeralMove="3";
ZombieBMMove="3";
BuildCreate="false";
DayNightLength="60";
DayLightLength="18";
PlayerKillingMode="3";
PersistentPlayerProfiles="false";
PlayerSafeZoneLevel="5";
PlayerSafeZoneHours="5";
ControlPanelEnabled="false";
ControlPanelPort="8080";
ControlPanelPassword="CHANGEME";
TelnetEnabled="false";
TelnetPort="8081";
TelnetPassword="";
TelnetFailedLoginLimit="10";
TelnetFailedLoginsBlocktime="10";
TerminalWindowEnabled="false";
AdminFileName="serveradmin.xml";
DropOnDeath="0";
DropOnQuit="0";
BloodMoonEnemyCount="8";
EnemySpawnMode="true";
EnemyDifficulty="0";
BlockDurabilityModifier="100";
LootAbundance="100";
LootRespawnDays="30";
LandClaimSize="41";
LandClaimDeadZone="30";
LandClaimExpiryTime="3";
LandClaimDecayMode="0";
LandClaimOnlineDurabilityModifier="4";
LandClaimOfflineDurabilityModifier="4";
PartySharedKillRange="100";
AirDropFrequency="72";
AirDropMarker="false";
MaxSpawnedZombies="60";
MaxSpawnedAnimals="50";
EACEnabled="true";
HideCommandExecutionLog="0";
MaxUncoveredMapChunksPerPlayer="131072";
BedrollDeadZoneSize="15";
ServerLoginConfirmationText="Prout";
};
gameConfig = builtins.toFile "serverconfig.xml" ''
<?xml version="1.0"?>
<ServerSettings>
${concatStrings (
mapAttrsToList (name: value:
" <property name=\"${name}\" value=\"${value}\"/>\n"
) gameOptions)}
</ServerSettings>
'';
in
{
options.services.sdtdserver = {
enable = mkEnableOption "Activation du serveur dédié 7 Days to Die";
};
config = mkIf cfg.enable {
systemd.services.sdtdserver = {
description = "Serveur dédié 7 Days to Die";
requires = ["network-online.target"];
wantedBy = ["multi-user.target"];
environment = { HOME = gamePath; };
serviceConfig = {
DynamicUser = true;
StateDirectory = "sdtdserver";
};
preStart = let
libPath = with pkgs; lib.makeLibraryPath [
stdenv.cc.cc.lib
];
in ''
${pkgs.steamcmd}/bin/steamcmd +login anonymous +force_install_dir ${gamePath} +app_update 294420 validate +quit
install -m666 ${gameConfig} ${gamePath}/serverconfig.xml
'';
script = ''
${pkgs.steam-run}/bin/steam-run ${gamePath}/7DaysToDieServer.x86_64 -quit -batchmode -nographics -dedicated -configfile=serverconfig.xml
'';
};
networking.firewall = {
allowedTCPPorts = [ 26900 ];
allowedUDPPorts = [ 26900 26901 26902 ];
};
};
}

View File

@ -1,47 +0,0 @@
from .observer import MultiplexingObserver, LoggingObserver, JSObserver
global escape
from cgi import escape
def signFilter(poi):
if poi['id'] == 'Sign' or poi['id'] == 'minecraft:sign':
return "<pre>" + "\n".join(map(escape, [poi['Text1'], poi['Text2'], poi['Text3'], poi['Text4']])) + "</pre>"
global json
import json
def petFilter(poi):
if "CustomName" in poi:
custom_name = json.loads(poi['CustomName'])
if "text" in custom_name:
return custom_name["text"]
def playerIcons(poi):
if poi['id'] == 'Player':
poi['icon'] = "https://overviewer.org/avatar/%s" % poi['EntityId']
return "Last known location for %s" % poi['EntityId']
processes = 2
worlds["My world"] = "/var/lib/minecraft/world"
renders["Vue normale"] = {
"world": "My world",
"title": "Vue normale",
"texturepath": "@CLIENT_JAR@",
"rendermode": smooth_lighting,
'markers': [dict(name="All signs", filterFunction=signFilter),
dict(name="Pets", filterFunction=petFilter, icon="icons/marker_cat.png", createInfoWindow=False, checked=True),
dict(name="Position joueurs", filterFunction=playerIcons),],
}
cave_rendermode = [Base(), EdgeLines(), Cave(only_lit=True), DepthTinting()]
renders["Grottes"] = {
"world": "My world",
"title": "Grottes",
"texturepath": "@CLIENT_JAR@",
"rendermode": cave_rendermode,
}
outputdir = "/var/www/minecraft-overviewer"
observer = MultiplexingObserver(LoggingObserver(), JSObserver(outputdir))

View File

@ -1,18 +1,15 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }:
{ config, pkgs, inputs, ... }:
{
imports = [
../common-cli.nix
./hardware-configuration.nix
./network.nix
./users.nix
./services.nix
];
nix.trustedUsers = [ "root" "paul" ];
nix.settings.trusted-users = [ "root" "paul" ];
boot = {
loader = {
@ -22,144 +19,29 @@
supportedFilesystems = [ "zfs" ];
tmpOnTmpfs = true;
tmp.useTmpfs = true;
# Enabling both boot.enableContainers & virtualisation.containers on system.stateVersion < 22.05 is unsupported
enableContainers = false;
};
documentation.nixos.enable = false;
nixpkgs.config.allowUnfree = false;
nixpkgs.config.allowUnfreePredicate = (pkg: builtins.elem pkg.pname or (builtins.parseDrvName pkg.name).name [ "factorio-headless" "perl5.32.1-slimserver" "minecraft-server" ]);
services.zfs = {
autoSnapshot.enable = true;
autoScrub.enable = true;
};
hardware.usbWwan.enable = true;
# eno1 -> VLAN100 -> Internet
# eno2 -> LAN
# eno3 -> Legacy client DHCP
# eno4 -> Pas utilisé
networking = {
hostName = "loutreos"; # Define your hostname.
hostId = "7e66e347";
useNetworkd = true;
useDHCP = false;
vlans = {
bouygues = {
id = 100;
interface = "eno1";
};
chinoiseries = {
id = 20;
interface = "eno2";
};
};
interfaces = {
bouygues = {
# Adresse MAC BBox ? https://lafibre.info/remplacer-bbox/informations-de-connexion-ftth/msg598303/#msg598303
macAddress = "E8:AD:A6:21:73:68";
useDHCP = true;
};
eno2 = {
ipv4.addresses = [
{ address = "10.30.0.1"; prefixLength = 16; }
];
};
chinoiseries = {
ipv4.addresses = [
{ address = "10.40.0.1"; prefixLength = 16; }
];
};
enp0s21u2.useDHCP = true;
};
# NAT bouygues <-> eno2
nat = {
enable = true;
externalInterface = "bouygues";
# Permet d'utiliser le SNAT plus rapide au lieu de MASQUERADE
# externalIP = "0.0.0.0";
internalIPs = [ "10.30.0.0/16" "10.40.0.0/16" ];
internalInterfaces = [ "eno2" "chinoiseries" ];
forwardPorts = [
{ destination = "10.30.0.1:22"; proto = "tcp"; sourcePort = 8443;}
{ destination = "10.30.135.35:25565"; proto = "tcp"; sourcePort = 25565; loopbackIPs=[ "195.36.180.44" ];}
];
};
firewall = {
allowedTCPPorts = [ 80 443 ];
allowedUDPPorts = [ ];
interfaces.eno2 = {
allowedTCPPorts = [
111 2049 4000 4001 4002 # NFS
3483 9000 9090 # Slimserver
1935 # RTMP
];
allowedUDPPorts = [
111 2049 4000 4001 4002 # NFS
3483 # Slimserver
];
};
autoScrub = {
enable = true;
interval = "monthly";
};
};
systemd.network.networks = {
"40-bouygues" = {
dhcpV4Config.RouteMetric = 1;
networkConfig.KeepConfiguration = "dhcp-on-stop";
};
"40-enp0s21u2".dhcpV4Config.RouteMetric = 1024;
};
services.dhcpd4 = {
enable = true;
interfaces = [ "eno2" "chinoiseries" ];
machines = [
{ ethernetAddress = "50:c7:bf:b6:b8:ef"; hostName = "HS110"; ipAddress = "10.30.50.7"; }
{ ethernetAddress = "ac:1f:6b:4b:01:15"; hostName = "IPMI"; ipAddress = "10.30.1.1"; }
{ ethernetAddress = "b4:2e:99:ed:24:26"; hostName = "paul-fixe"; ipAddress = "10.30.50.1"; }
#ESPHome
{ ethernetAddress = "e0:98:06:85:e9:ce"; hostName = "salonled"; ipAddress = "10.30.40.1"; }
{ ethernetAddress = "e0:98:06:86:38:fc"; hostName = "bureauled"; ipAddress = "10.30.40.2"; }
{ ethernetAddress = "50:02:91:78:be:be"; hostName = "guirlande"; ipAddress = "10.30.40.3"; }
# YeeLights
{ ethernetAddress = "04:cf:8c:b5:7e:18"; hostName = "yeelink-light-color3_miap7e18"; ipAddress = "10.40.249.0"; }
{ ethernetAddress = "04:cf:8c:b5:2d:28"; hostName = "yeelink-light-color3_miap2d28"; ipAddress = "10.40.249.1"; }
{ ethernetAddress = "04:cf:8c:b5:71:04"; hostName = "yeelink-light-color3_miap7104"; ipAddress = "10.40.249.2"; }
];
extraConfig = ''
option domain-name-servers 89.234.141.66, 80.67.169.12, 80.67.169.40;
option subnet-mask 255.255.0.0;
subnet 10.30.0.0 netmask 255.255.0.0 {
option routers 10.30.0.1;
range 10.30.100.0 10.30.200.0;
}
subnet 10.40.0.0 netmask 255.255.0.0 {
option routers 10.40.0.1;
range 10.40.100.0 10.40.200.0;
}
'';
};
nixpkgs.overlays = [
(import ../../overlays/riot-web.nix)
];
services.openssh = {
enable = true;
permitRootLogin = "no";
passwordAuthentication = false;
forwardX11 = true;
settings = {
PermitRootLogin = "no";
PasswordAuthentication = false;
X11Forwarding = true;
};
};
users = {
@ -172,8 +54,6 @@
};
};
services.autossh.sessions = [ { extraArguments = "-N -R 0.0.0.0:2222:127.0.0.1:22 loutre@vps772619.ovh.net"; monitoringPort = 20000; name = "backup-ssh-reverse"; user = "autossh"; } ];
virtualisation.podman.enable = true;
security.sudo.wheelNeedsPassword = false;

View File

@ -123,10 +123,10 @@
fsType = "zfs";
};
fileSystems."/mnt/backup" =
{ device = "backup";
fsType = "zfs";
};
# fileSystems."/mnt/backup" =
# { device = "backup";
# fsType = "zfs";
# };
fileSystems."/mnt/backup_loutre" =
{ device = "loutrepool/backup";
@ -158,6 +158,16 @@
fsType = "zfs";
};
fileSystems."/var/lib/nextcloud" =
{ device = "loutrepool/var/nextcloud";
fsType = "zfs";
};
fileSystems."/var/lib/private/photoprism" =
{ device = "loutrepool/var/photoprism";
fsType = "zfs";
};
fileSystems."/mnt/paul-home" =
{ device = "loutrepool/zfs-replicate/paul-fixe/fastaf/home";
fsType = "zfs";
@ -176,6 +186,6 @@
}
];
nix.maxJobs = lib.mkDefault 4;
nix.settings.max-jobs = lib.mkDefault 4;
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
}

View File

@ -1,9 +1,10 @@
{ config, lib, pkgs, ... }:
{ config, lib, pkgs, pkgs-unstable, pkgs-4a3fc4cf7, ... }:
{
services = {
transmission = {
enable = true;
package = pkgs-4a3fc4cf7.transmission_4;
home = "/var/lib/transmission";
group = "medias";
settings = {
@ -13,25 +14,33 @@
rpc-whitelist-enabled = false;
peer-port = 51413;
incomplete-dir = "/mnt/medias/incomplete";
download-dir = "/mnt/medias/torrent";
};
};
radarr.enable = true;
sonarr.enable = true;
jackett.enable = true;
radarr = {
enable = true;
package = pkgs-unstable.radarr;
};
sonarr = {
enable = true;
package = pkgs-unstable.sonarr;
};
flaresolverr = {
enable = false;
package = pkgs-unstable.flaresolverr;
};
prowlarr = {
enable = true;
package = pkgs-unstable.prowlarr;
};
jellyfin = {
enable = true;
package = pkgs.jellyfin;
package = pkgs-unstable.jellyfin;
};
navidrome = {
enable = true;
settings = {
MusicFolder = "/mnt/medias/musique";
ImageCacheSize = 0;
};
};
slimserver.enable = true;
};
systemd.services.transmission.serviceConfig = {
@ -48,25 +57,4 @@
config.services.transmission.settings.peer-port
];
};
virtualisation.oci-containers = {
backend = "podman";
containers = {
slimserver = {
image = "docker.io/lmscommunity/logitechmediaserver:stable";
volumes = [
"/mnt/medias/musique:/music:ro"
"/var/lib/slimserver:/config:rw"
"/etc/localtime:/etc/localtime:ro"
];
ports = [
"10.30.0.1:9000:9000/tcp"
"10.30.0.1:9090:9090/tcp"
"10.30.0.1:3483:3483/tcp"
"10.30.0.1:3483:3483/udp"
];
extraOptions = ["--pull=always"];
};
};
};
}

View File

@ -7,7 +7,7 @@ in
services = {
smartd = {
enable = true;
defaults.monitored = "-a -o on -s (S/../.././02|L/../../1/04)";
defaults.monitored = "-a -o on -s (S/../.././02|L/../15/./02)";
notifications.mail = {
enable = true;
recipient = "paul@nyanlout.re";
@ -87,18 +87,27 @@ in
grafana = {
enable = true;
addr = "127.0.0.1";
dataDir = "/var/lib/grafana";
extraOptions = {
SERVER_ROOT_URL = "https://grafana.${domaine}";
SMTP_ENABLED = "true";
SMTP_FROM_ADDRESS = "grafana@${domaine}";
SMTP_SKIP_VERIFY = "true";
AUTH_DISABLE_LOGIN_FORM = "true";
AUTH_DISABLE_SIGNOUT_MENU = "true";
AUTH_ANONYMOUS_ENABLED = "true";
AUTH_ANONYMOUS_ORG_ROLE = "Admin";
AUTH_BASIC_ENABLED = "false";
settings = {
server = {
http_addr = "127.0.0.1";
root_url = "https://grafana.${domaine}";
};
smtp = {
enabled = true;
from_address = "grafana@${domaine}";
skip_verify = true;
};
auth = {
disable_signout_menu = true;
};
"auth.basic" = {
enabled = false;
};
"auth.proxy" = {
enabled = true;
header_name = "X-WEBAUTH-USER";
};
};
};
@ -108,6 +117,10 @@ in
};
};
systemd.services.influxdb.serviceConfig = {
TimeoutStartSec = "10min";
};
security.sudo.extraRules = [
{ commands = [ { command = "${pkgs.smartmontools}/bin/smartctl"; options = [ "NOPASSWD" ]; } ]; users = [ "telegraf" ]; }
];

View File

@ -0,0 +1,365 @@
{ config, pkgs, inputs, ... }:
{
boot = {
kernel.sysctl = {
"net.ipv6.conf.all.forwarding" = true;
"net.ipv6.conf.default.forwarding" = true;
"net.ipv4.conf.all.forwarding" = true;
"net.ipv4.conf.default.forwarding" = true;
};
};
# Enable LTE drivers
hardware.usb-modeswitch.enable = true;
##################
# NETWORK CONFIG #
##################
# eno1 -> VLAN100 -> Internet
# eno2 -> LAN
# eno3 -> Pas utilisé
# eno4 -> Pas utilisé
# enp0s21u1 -> Clé 4G Bouygues
# wg0 -> Tunnel Wireguard ARN
networking = {
hostName = "loutreos"; # Define your hostname.
hostId = "7e66e347";
useNetworkd = true;
useDHCP = false;
nameservers = [
# https://www.dns0.eu/fr
"193.110.81.0"
"185.253.5.0"
];
vlans = {
bouygues = {
id = 100;
interface = "eno1";
};
};
interfaces = {
bouygues = {
# Adresse MAC BBox : https://lafibre.info/remplacer-bbox/informations-de-connexion-ftth/msg598303/#msg598303
macAddress = "E8:AD:A6:21:73:68";
useDHCP = true;
};
eno2 = {
ipv4.addresses = [
{ address = "10.30.0.1"; prefixLength = 16; }
];
};
enp0s21u1.useDHCP = true;
};
nftables = {
enable = true;
flushRuleset = false;
tables = {
"multi-wan-routing" = {
family = "inet";
content = ''
chain PREROUTING {
type filter hook prerouting priority mangle; policy accept;
# Restore the packet's CONNMARK to the MARK for existing incoming connections
counter meta mark set ct mark
# If packet MARK is set, then it means that there is already a connection mark
meta mark != 0x00000000 counter accept
# Else, we need to mark the packet.
# If the packet is incoming on bouygues then set MARK to 1, LTE MARK 2 and VPN MARK 3
iifname "bouygues" counter meta mark set 0x1
iifname "enp0s21u1" counter meta mark set 0x2
iifname "wg0" counter meta mark set 0x3
# Save new mark in CONNMARK
counter ct mark set mark
}
chain OUTPUT {
type route hook output priority mangle; policy accept;
# Restore CONNMARK to MARK for outgoing packets before final routing decision
counter meta mark set ct mark
}
chain POSTROUTING {
type filter hook postrouting priority mangle; policy accept;
# Save MARK to CONNMARK
counter ct mark set mark
}
'';
};
"redirect-external-to-local" = {
family = "ip";
content = ''
chain PREROUTING {
type nat hook prerouting priority dstnat; policy accept;
# Redirect local network request from server external IP to internal IP
# This allow access to server without internet access
ip saddr 10.30.0.0/16 ip daddr 176.180.172.105 counter dnat to 10.30.0.1
}
'';
};
};
};
firewall = {
enable = true;
allowedTCPPorts = [ 80 443 ];
allowedUDPPorts = [ ];
# Open ports on local netwok only
interfaces.eno2 = {
allowedTCPPorts = [
111 2049 4000 4001 4002 # NFS
3483 9000 9090 # Slimserver
1935 # RTMP
];
allowedUDPPorts = [
111 2049 4000 4001 4002 # NFS
3483 # Slimserver
67 # DHCP
];
};
# Don't forward incoming IPv6 requests to local network
filterForward = true;
extraForwardRules = ''
# Forward all IPv6 traffic from local network
iifname "eno2" counter accept
'';
};
};
systemd.services.systemd-networkd = {
unitConfig = {
RequiresMountsFor = "/mnt/secrets/wireguard";
};
serviceConfig = {
LoadCredential = [
"network.wireguard.private.wg0:/mnt/secrets/wireguard/wireguard.private"
"network.wireguard.preshared.wg0:/mnt/secrets/wireguard/wireguard.preshared"
];
};
};
#################
# ROUTING RULES #
#################
# 0: from all lookup local
# 60: from all iif lo dport 25 lookup vpn # mails are forced to vpn table
# 32766: from all lookup main # main table should contain no default routes, only local network routes
# 32767: from all lookup default
# 41000: from all fwmark 0x1 lookup fiber # fwmark indicate established connection that must go through same interface
# 42000: from all fwmark 0x2 lookup lte
# 43000: from all fwmark 0x3 lookup vpn
# 51000: from all lookup fiber # first table encountered with a default route if fiber is up
# 52000: from all lookup lte # first table encountered with a default route if fiber is down
systemd.network = let
routeTables = {
fiber = 1;
lte = 2;
vpn = 3;
};
in {
enable = true;
config = {
inherit routeTables;
addRouteTablesToIPRoute2 = true;
};
# Wireguard ARN device configuation
netdevs = {
"10-wg0" = {
netdevConfig = {
Kind = "wireguard";
Name = "wg0";
MTUBytes = "1450";
};
wireguardConfig = {
PrivateKey = "@network.wireguard.private.wg0";
RouteTable = routeTables.vpn;
};
wireguardPeers = [
{
Endpoint = "89.234.141.83:8095";
PublicKey = "t3+JkBfXI1uw8fa9P6JfxXJfTPm9cOHcgIN215UHg2g=";
PresharedKey = "@network.wireguard.preshared.wg0";
AllowedIPs = ["0.0.0.0/0" "::/0"];
PersistentKeepalive = 15;
}
];
};
};
networks = {
#########
# FIBER #
#########
# Set route metric to highest priority
# Set DHCP client magic settings for Bouygues
"40-bouygues" = {
dhcpV4Config.RouteTable = routeTables.fiber;
dhcpV6Config = {
DUIDRawData = "00:03:00:01:E8:AD:A6:21:73:68";
WithoutRA = "solicit";
};
ipv6AcceptRAConfig = {
DHCPv6Client = true;
RouteTable = routeTables.fiber;
};
networkConfig = {
KeepConfiguration = "dhcp-on-stop";
IPv6AcceptRA = true;
DHCPPrefixDelegation = true;
};
# Static attribution of first IPv6 subnet
dhcpPrefixDelegationConfig.SubnetId = "0";
# Route everything to fiber link with a priority of 40000
routingPolicyRules = [
{
FirewallMark = 1;
Table = routeTables.fiber;
Priority = 41000;
Family = "both";
}
{
Table = routeTables.fiber;
Priority = 51000;
Family = "both";
}
];
};
# Don't check VLAN physical interface as it is not directly used
"40-eno1".linkConfig.RequiredForOnline = "no";
#######
# LTE #
#######
# Set LTE route to lower priority
"40-enp0s21u1" = {
dhcpV4Config.RouteTable = routeTables.lte;
# Route all to lte link with a priority of 50000
routingPolicyRules = [
{
FirewallMark = 2;
Table = routeTables.lte;
Priority = 42000;
Family = "both";
}
{
Table = routeTables.lte;
Priority = 52000;
Family = "both";
}
];
};
#######
# VPN #
#######
# Wireguard ARN network configuation
"10-wg0" = {
matchConfig.Name = "wg0";
address = [
"89.234.141.196/32"
"2a00:5881:8119:400::1/128"
];
routingPolicyRules = [
# Route outgoing emails to VPN table
{
IncomingInterface = "lo";
DestinationPort = "25";
Table = routeTables.vpn;
Priority = 60;
Family = "both";
}
# Route packets originating from wg0 device to VPN table
# Allow server to respond on the wg0 interface requests
{
FirewallMark = 3;
Table = routeTables.vpn;
Priority = 43000;
Family = "both";
}
];
};
#######
# LAN #
#######
# LAN DHCP server config
"40-eno2" = {
networkConfig = {
IPv6SendRA = true;
DHCPPrefixDelegation = true;
DHCPServer = true;
IPMasquerade = "ipv4";
};
dhcpServerConfig = {
EmitRouter = true;
EmitDNS = true;
DNS = [
# https://www.dns0.eu/fr
"193.110.81.0"
"185.253.5.0"
];
};
dhcpServerStaticLeases = [
# IPMI
{
Address = "10.30.1.1";
MACAddress = "ac:1f:6b:4b:01:15";
}
# paul-fixe
{
Address = "10.30.50.1";
MACAddress = "b4:2e:99:ed:24:26";
}
# salonled
{
Address = "10.30.40.1";
MACAddress = "e0:98:06:85:e9:ce";
}
# miroir-bleu
{
Address = "10.30.40.2";
MACAddress = "e0:98:06:86:38:fc";
}
# miroir-orange
{
Address = "10.30.40.3";
MACAddress = "50:02:91:78:be:be";
}
];
ipv6SendRAConfig = {
EmitDNS = true;
DNS = [
# https://www.dns0.eu/fr
"2a0f:fc80::"
"2a0f:fc81::"
];
};
};
};
};
}

View File

@ -20,15 +20,10 @@ let
'';
backup_mail_alert = sendMail "paul@nyanlout.re" "ERREUR: Sauvegarde Borg" "Impossible de terminer la sauvegarde. Merci de voir les logs";
unstable = import <nixos-unstable> { };
in
{
imports = [
../../services/python-ci.nix
../../services/sdtdserver.nix
# /mnt/secrets/factorio_secrets.nix
./monitoring.nix
./medias.nix
./web.nix
@ -62,7 +57,7 @@ in
};
# Certificate setup
certificateScheme = 1;
certificateScheme = "manual";
certificateFile = "/var/lib/acme/${domaine}/fullchain.pem";
keyFile = "/var/lib/acme/${domaine}/key.pem";
@ -77,46 +72,19 @@ in
};
services = {
postfix = {
relayHost = "mailvps.nyanlout.re";
relayPort = 587;
config = {
smtp_tls_cert_file = lib.mkForce "/var/lib/postfix/postfixrelay.crt";
smtp_tls_key_file = lib.mkForce "/var/lib/postfix/postfixrelay.key";
};
};
rspamd.workers.controller.extraConfig = ''
secure_ip = ["0.0.0.0/0"];
secure_ip = ["0.0.0.0/0", "::"];
'';
redis.enable = true;
# redis.enable = true;
logrotate = {
enable = true;
paths = {
nginx = {
path = "/var/log/nginx/*.log";
user = config.services.nginx.user;
group = config.services.nginx.group;
keep = 7;
extraConfig = ''
compress
'';
};
};
};
# enable with nginx defult config
logrotate.enable = true;
fail2ban.enable = true;
fstrim.enable = true;
syncthing = {
enable = true;
dataDir = "/var/lib/syncthing";
openDefaultPorts = true;
};
nfs.server = {
enable = true;
exports = ''
@ -137,21 +105,26 @@ in
"/var/lib/gitea"
"/var/lib/grafana"
"/var/lib/jackett"
"/var/lib/matrix-synapse"
"/var/lib/postgresql/.zfs/snapshot/borgsnap"
"/mnt/borgsnap/postgresql"
"/var/lib/radarr"
"/var/lib/sonarr"
"/var/lib/transmission"
"/mnt/medias/musique"
"/mnt/medias/torrent/lidarr"
"/mnt/medias/torrent/musique"
"/var/lib/airsonic"
"/var/lib/hass"
"/var/lib/opendkim"
"/var/lib/slimserver"
"/var/lib/watcharr"
"/var/lib/nextcloud"
"/mnt/paul-home/paul"
"/var/sieve"
"/var/vmail"
"/mnt/backup_loutre/amandoleen"
"/mnt/secrets"
];
exclude = [
"/var/lib/radarr/.config/Radarr/radarr.db-wal"
"/var/lib/radarr/.config/Radarr/radarr.db-shm"
"/mnt/paul-home/paul/.cache"
];
repo = "ssh://u306925@u306925.your-storagebox.de:23/./loutreos";
environment = { BORG_RSH = "ssh -i /mnt/secrets/hetzner_ssh_key"; };
@ -165,15 +138,15 @@ in
weekly = 4;
monthly = 12;
};
preHook = "${pkgs.zfs}/bin/zfs snapshot loutrepool/var/postgresql@borgsnap";
preHook = ''
${pkgs.zfs}/bin/zfs snapshot loutrepool/var/postgresql@borgsnap
mkdir -p /mnt/borgsnap/postgresql
${config.security.wrapperDir}/mount -t zfs loutrepool/var/postgresql@borgsnap /mnt/borgsnap/postgresql
'';
readWritePaths = [ "/var/lib/postfix/queue/maildrop" ];
postHook = ''
${config.security.wrapperDir}/umount /mnt/borgsnap/postgresql
${pkgs.zfs}/bin/zfs destroy loutrepool/var/postgresql@borgsnap
if [[ $exitStatus == 0 ]]; then
${pkgs.rclone}/bin/rclone --config /mnt/secrets/rclone_loutre.conf sync -v $BORG_REPO BackupStorage:default
else
${backup_mail_alert}/bin/mail.sh
fi
'';
};
};
@ -191,80 +164,101 @@ in
};
};
sdtdserver.enable = false;
factorio = {
enable = false;
autosave-interval = 10;
game-name = "Shame";
public = true;
username = "nyanloutre";
};
minecraft-server = {
enable = false;
jvmOpts = "-Xms512m -Xmx3072m";
eula = true;
declarative = true;
openFirewall = true;
whitelist = {
nyanloutre = "db0669ea-e332-4ca3-8d50-f5d1458f5822";
Hautension = "f05677f4-be5a-47df-ad77-21c739180aa2";
LordDarkKiwi = "79290cfc-0b00-484f-9c94-ab0786402de6";
Madahin = "f5f747e3-fac2-43e8-9b9b-a67dc2f368ff";
Hopegcx = "4497f759-2210-48db-8764-307d33011442";
wyrd68 = "127a3021-cdc1-419f-9010-4651df9ae3af";
sparsyateloutre = "d2ff63c1-4e9f-4b21-9bfc-decce5d987b3";
};
serverProperties = {
difficulty = 2;
gamemode = 0;
max-players = 50;
motd = "Hi Mark !";
white-list = true;
};
};
kresd = {
enable = true;
};
mosquitto = {
enable = true;
listeners = [
{
acl = [ "pattern readwrite #" ];
omitPasswordAuth = true;
address = "127.0.0.1";
settings.allow_anonymous = true;
}
];
};
zigbee2mqtt = {
enable = true;
settings = {
serial.port = "/dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0014D97058-if00";
mqtt = {
server = "mqtt://${(head config.services.mosquitto.listeners).address}:${toString (head config.services.mosquitto.listeners).port}";
};
frontend = {
port = 8080;
host = "127.0.0.1";
url = "https://zigbee.nyanlout.re";
};
groups = {
"101" = {
friendly_name = "salon";
devices = [
"0x94deb8fffe760f3d"
];
};
"102" = {
friendly_name = "cuisine";
devices = [
"0x003c84fffe6d9ee6"
];
};
"103" = {
friendly_name = "entrée";
devices = [
"0x84ba20fffe5ec243"
];
};
"104" = {
friendly_name = "tout";
devices = [
"0x94deb8fffe760f3d"
"0x003c84fffe6d9ee6"
"0x84ba20fffe5ec243"
];
};
"107" = {
friendly_name = "chambre";
devices = [
"0x84ba20fffe5eb120"
];
};
};
};
};
home-assistant = {
enable = true;
extraComponents = [
# Components required to complete the onboarding
"met"
"radio_browser"
];
config = {
default_config = {};
homeassistant = {
elevation = 143;
country = "FR";
latitude = 48.60038;
longitude = 7.74063;
elevation = 146;
};
influxdb = null;
config = null;
dhcp = null;
frontend = null;
history = null;
meteo_france = null;
http = {
use_x_forwarded_for = true;
trusted_proxies = [ "127.0.0.1" ];
};
logbook = null;
map = null;
mobile_app = null;
person = null;
script = null;
sun = null;
system_health = null;
yeelight.devices = {
"10.40.249.0".name = "Chambre";
"10.40.249.1".name = "Bureau";
"10.40.249.2".name = "Cuisine";
};
zha = null;
mqtt = null;
esphome = null;
light = [
{
platform = "group";
name = "Salon";
entities = [
"light.bureau"
"light.cuisine"
"light.salon_light"
"light.cuisine_light"
"light.entree_light"
];
}
];
@ -274,317 +268,38 @@ in
host = "10.30.0.1";
}
];
tplink.switch = [
{ host = "10.30.50.7"; }
];
sensor = [
{
platform = "template";
sensors = {
serveur_amps = {
friendly_name_template = "{{ states.switch.serveur.name}} Current";
value_template = ''{{ states.switch.serveur.attributes["current_a"] | float }}'';
unit_of_measurement = "A";
};
serveur_watts = {
friendly_name_template = "{{ states.switch.serveur.name}} Current Consumption";
value_template = ''{{ states.switch.serveur.attributes["current_power_w"] | float }}'';
unit_of_measurement = "W";
};
serveur_total_kwh = {
friendly_name_template = "{{ states.switch.serveur.name}} Total Consumption";
value_template = ''{{ states.switch.serveur.attributes["total_energy_kwh"] | float }}'';
unit_of_measurement = "kWh";
};
serveur_volts = {
friendly_name_template = "{{ states.switch.serveur.name}} Voltage";
value_template = ''{{ states.switch.serveur.attributes["voltage"] | float }}'';
unit_of_measurement = "V";
};
serveur_today_kwh = {
friendly_name_template = "{{ states.switch.serveur.name}} Today's Consumption";
value_template = ''{{ states.switch.serveur.attributes["today_energy_kwh"] | float }}'';
unit_of_measurement = "kWh";
};
};
}
];
switch = [
{
platform = "wake_on_lan";
name = "PC Fixe";
mac = "b4:2e:99:ed:24:26";
host = "10.30.135.71";
broadcast_address = "10.30.255.255";
}
];
device_tracker = [
{
platform = "ping";
hosts = { telephone_paul = "10.30.50.2"; };
}
];
scene = [
{
name = "Movie";
icon = "mdi:movie-open";
entities = {
"light.salon" = {
state = "on";
xy_color = [0.299 0.115];
brightness = 50;
};
"light.bande_led_tv" = {
state = "on";
effect = "Movie";
brightness = 180;
};
"light.bande_led_bureau" = {
state = "on";
xy_color = [0.299 0.115];
brightness = 130;
};
};
}
{
name = "Home";
icon = "mdi:home";
entities = {
"light.salon" = {
state = "on";
kelvin = 2700;
brightness = 255;
};
};
}
{
name = "Night";
icon = "mdi:weather-night";
entities = {
"light.salon" = {
state = "off";
};
"light.bande_led_tv" = {
state = "off";
};
"light.bande_led_bureau" = {
state = "off";
};
"light.chambre" = {
state = "on";
kelvin = 1900;
brightness = 50;
};
};
}
];
automation = let
min_sun_elevation = 4;
};
};
switch_chambre = {
domain = "zha";
platform = "device";
device_id = "3329ecdcad244e5e8fc0f4b96d52ffe1";
};
photoprism = {
enable = true;
originalsPath = "/mnt/backup_loutre/amandoleen/d/Users/Amand/Pictures";
passwordFile = "/mnt/secrets/photoprism_pass";
settings = {
PHOTOPRISM_READONLY = "1";
PHOTOPRISM_DETECT_NSFW = "1";
PHOTOPRISM_SITE_URL = "https://photo.nyanlout.re/";
};
};
};
switch_entree = {
domain = "zha";
platform = "device";
device_id = "7cd814190ec543dba76a7aa7e7996c41";
};
remote = {
domain = "zha";
platform = "device";
device_id = "d1230b76264e483388a8fdaad4f44143";
};
in [
# ENTREE
{
alias = "Aziz lumière";
trigger = [
{
platform = "numeric_state";
entity_id = "sun.sun";
value_template = "{{ state.attributes.elevation }}";
below = min_sun_elevation;
}
];
condition = [
{
condition = "state";
entity_id = "person.paul";
state = "home";
}
# Sun below max elevation
{
condition = "template";
value_template = "{{ state_attr('sun.sun', 'elevation') < ${toString min_sun_elevation} }}";
}
];
action = {
scene = "scene.home";
};
}
{
alias = "Aziz lumière switch";
trigger = {
type = "remote_button_short_press";
subtype = "turn_on";
} // switch_entree;
action = {
scene = "scene.home";
};
}
{
alias = "Adios";
trigger = [
{
platform = "state";
entity_id = "person.paul";
to = "not_home";
}
({
type = "remote_button_short_press";
subtype = "turn_off";
} // switch_entree)
];
action = [
{
service = "light.turn_off";
entity_id = "all";
}
{
service = "media_player.turn_off";
entity_id = "all";
}
];
}
# REMOTE
{
alias = "Button toggle";
trigger = {
type = "remote_button_short_press";
subtype = "turn_on";
} // remote;
action = {
choose = {
conditions = {
condition = "template";
value_template = ''
{% set domain = 'light' %}
{% set state = 'off' %}
{{ states[domain] | count == states[domain] | selectattr('state','eq',state) | list | count }}
'';
};
sequence = {
scene = "scene.home";
};
};
default = {
service = "light.turn_off";
entity_id = "all";
};
};
}
{
alias = "Button scene movie";
trigger = {
type = "remote_button_short_press";
subtype = "right";
} // remote;
action = {
scene = "scene.movie";
};
}
{
alias = "Button scene home";
trigger = {
type = "remote_button_short_press";
subtype = "left";
} // remote;
action = {
scene = "scene.home";
};
}
{
alias = "Button light up";
trigger = {
type = "remote_button_short_press";
subtype = "dim_up";
} // remote;
action = {
service = "light.turn_on";
entity_id = "light.salon";
data = {
brightness_step = 25;
};
};
}
{
alias = "Button light down";
trigger = {
type = "remote_button_short_press";
subtype = "dim_down";
} // remote;
action = {
service = "light.turn_on";
entity_id = "light.salon";
data = {
brightness_step = -25;
};
};
}
# CHAMBRE
{
alias = "Button scene night";
trigger = {
type = "remote_button_short_press";
subtype = "turn_on";
} // switch_chambre;
action = {
scene = "scene.night";
};
}
{
alias = "Button scene dodo";
trigger = {
type = "remote_button_short_press";
subtype = "turn_off";
} // switch_chambre;
action = {
service = "light.turn_off";
entity_id = "all";
};
}
{
alias = "Button scene lumière chambre ON";
trigger = {
type = "remote_button_long_press";
subtype = "dim_up";
} // switch_chambre;
action = {
service = "light.turn_on";
entity_id = "light.chambre";
};
}
{
alias = "Button scene lumière chambre OFF";
trigger = {
type = "remote_button_long_press";
subtype = "dim_down";
} // switch_chambre;
action = {
service = "light.turn_off";
entity_id = "light.chambre";
};
}
];
systemd = {
timers."lg-devmode-reset" = {
wantedBy = [ "timers.target" ];
timerConfig = {
OnBootSec = "5m";
OnUnitActiveSec = "1w";
};
};
services = {
"borgbackup-job-loutre".serviceConfig.TemporaryFileSystem = ["/mnt/borgsnap"];
"lg-devmode-reset" = {
script = ''
${pkgs.curl}/bin/curl https://developer.lge.com/secure/ResetDevModeSession.dev\?sessionToken\=9f94269da0dc14fd924b65d8dca28b076f931ad1ca04fe7a09ac78cdb0e22cb4
'';
serviceConfig = {
Type = "oneshot";
};
};
};
};
@ -593,86 +308,21 @@ in
ipmihddtemp.enable = true;
# systemd.services.minecraft-overviewer =
# let
# clientJar = pkgs.fetchurl {
# url = "https://overviewer.org/textures/1.14";
# sha256 = "0fij9wac7vj6h0kd3mfhqpn0w9gl8pbs9vs9s085zajm0szpr44k";
# name = "client.jar";
# };
# configFile = pkgs.runCommand "overviewer-config" { CLIENT_JAR = clientJar; } ''
# substitute ${./config-overviewer.py} $out \
# --subst-var CLIENT_JAR
# '';
# in
# {
# script = ''
# ${pkgs.minecraft-overviewer}/bin/overviewer.py --config ${configFile}
# ${pkgs.minecraft-overviewer}/bin/overviewer.py --config ${configFile} --genpoi
# rm /var/www/minecraft-overviewer/progress.json
# '';
# serviceConfig = {
# User = "nginx";
# Group = "nginx";
# };
# };
# systemd.timers.minecraft-overviewer = {
# wantedBy = [ "multi-user.target" ];
# timerConfig = {
# OnCalendar = "*-*-* 04:00:00";
# };
# };
# systemd.packages = with pkgs; [
# tgt
# ];
# environment.etc."tgt/targets.conf".text = ''
# <target iqn.2019-11.nyanlout.re:steam>
# backing-store /dev/zvol/loutrepool/steam-lun
# initiator-address 10.30.50.3
# </target>
# '';
users.groups.nginx.members = [ "matrix-synapse" ];
security.pam.services.sshd.text = pkgs.lib.mkDefault( pkgs.lib.mkAfter "session optional ${pkgs.pam}/lib/security/pam_exec.so seteuid ${login_mail_alert}/bin/mail_alert.sh" );
networking = {
wireguard.interfaces = {
wg0 = {
ips = [ "192.168.20.1/24" ];
privateKeyFile = "/mnt/secrets/wireguard/wg0.privatekey";
listenPort = 51820;
allowedIPsAsRoutes = true;
peers = [
{
allowedIPs = [ "192.168.20.2/32" ];
publicKey = "b/SXiqo+GPdNOc54lyEVeUBc6B5AbVMKh+g5EZPGzlE=";
}
];
};
};
nat.internalInterfaces = [ "wg0" ];
nat.internalIPs = [ "192.168.20.0/24" ];
firewall.interfaces.eno2.allowedTCPPorts = [
3260
];
firewall.allowedTCPPorts = [
8448 # Matrix federation
20 21 # FTP
];
firewall.allowedTCPPortRanges = [
{ from = 64000; to = 65535; } # FTP
];
firewall.allowedUDPPorts = [
config.networking.wireguard.interfaces.wg0.listenPort
];
};
}

View File

@ -6,7 +6,7 @@
uid = 1000;
isNormalUser = true;
description = "Paul TREHIOU";
extraGroups = [ "wheel" "medias" "transmission" ];
extraGroups = [ "wheel" "medias" "transmission" "podman" ];
openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAF7VlzHzgg70uFbRFtVTS34qNBke/RD36mRENAsa33RxztxrqMsIDscAD/d6CTe6HDy7MCGzJnWCJSXj5iOQFM4RRMvKNEgCKPHqfhmfVvO4YZuMjNB0ufVf6zhJL4Hy43STf7NIWrenGemUP+OvVSwN/ujgl2KKw4KJZt25/h/7JjlCgsZm4lWg4xcjoiKL701W2fbEoU73XKdbRTgTvKoeK1CGxdAPFefFDFcv/mtJ7d+wIxw9xODcLcA66Bu94WGMdpyEAJc4nF8IOy4pW8AzllDi0qNEZGCQ5+94upnLz0knG1ue9qU2ScAkW1/5rIJTHCVtBnmbLNSAOBAstaGQJuSL40TWZ1oPA5i1qUEhunNcJ+Sgtp6XP69qY34T/AeJvHRyw5M5LfN0g+4ka9k06NPBhbpHFASz4M8nabQ0iM63++xcapnw/8gk+EPhYVKW86SsyTa9ur+tt6oDWEKNaOhgscX44LexY7jKdeBRt3GaObtBJtVLBRx3Z2aRXgjgnKGqS40mGRiSkqb2DShspI1l8DV2RrPiuwdBzXVQjWRc0KXmJrcgXX9uoPSxihxwaUQyvmITOV1Y+NEuek4gRkVNOxjoG7RGnaYvYzxEQVoI5TwZC2/DCrAUgCv8DQawkcpEiWnBq7Q5VnpmFx5juVQ/I0G8byOkPXgRUOk9 openpgp:0xAB524BBC"
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCACVI2dL4AmOdcb7RSl3JZpfK33NhqrYFfWfXMYow5SPJ9VPteOp5kVvKUuSbGH3chjpttYC/ueQJJhFagiKmkeftQTslIw6C009wUExGpJwRotHqISXv2ctURGURKy2FF848whd7xZJzdj49ZJ6S+SCbRFZvVWfT2dP/JwTiWW1mbEaWKyOgrixH6wSKt9ECumjX9KjqSWGw+k3yLJxIhdqiZAjNv4soJs1mQYdIlFCXCuznzoZIQBexZPQCx0j9HjczPz1feMLWkrHzEMexNjsBE2uA6yXLbH1wa8xCJ4VOeD7u9JqVY579AsicD62G+qIgw0B2zmyz7xTrdPv+061zmYn6qYr8EXGTk4dVgedZp8M1XzZ1PVoeeftPFcClXC7zCGyCR2uzJbQLzlaTwZrdghAiS9UhMRuKpNgZy2zDWw4MqdojrF5bndPkoijlXWYrPYBFED5OU1mpwzpanYgldowJC/Ixjwi+Hmse2q4XgZ+egfuotBqPfqB+bWsCa5GNiJWGdLP69uBSsXubGnqLwvE0FAQ2GHb+SEoZKFy/QV9GzOLlVrGlgK5YFgKJD+Q1nn1QRycXt1oMVC/AtR/NshOGanhdvIRpPATGmaxLVXSY093vyAOW4MPrS00fPAXzAfJUwIuWcloFfLMo5Jitj5rpE1s6FX8xrl4upQ== paul@nyanlout.re"

View File

@ -44,19 +44,18 @@ let
in
{
security.acme = {
email = "paul@nyanlout.re";
defaults = {
email = "paul@nyanlout.re";
# Use european ACME service
server = "https://api.buypass.com/acme/directory";
};
acceptTerms = true;
};
users.groups = {
work = {};
webdav = {};
};
users.users = {
work = {
isSystemUser = true;
group = config.users.groups.work.name;
};
webdav = {
isSystemUser = true;
group = config.users.groups.webdav.name;
@ -65,19 +64,6 @@ in
services = {
phpfpm.pools = {
work = {
user = config.users.users.work.name;
phpPackage = pkgs.php.withExtensions ({ all, ... }: with all; [ redis filter ]);
settings = {
"listen.owner" = config.services.nginx.user;
"pm" = "dynamic";
"pm.max_children" = 75;
"pm.start_servers" = 10;
"pm.min_spare_servers" = 5;
"pm.max_spare_servers" = 20;
"pm.max_requests" = 500;
};
};
drive = {
user = config.users.users.webdav.name;
settings = {
@ -177,6 +163,8 @@ in
proxyPass = "http://127.0.0.1:${toString(rport)}/";
extraConfig = ''
auth_request_set $cookie $upstream_http_set_cookie;
auth_request_set $username $upstream_http_x_username;
proxy_set_header X-WEBAUTH-USER $username;
add_header Set-Cookie $cookie;
'';
};
@ -202,9 +190,6 @@ in
'';
};
} // { default = true; };
"riot.nyanlout.re" = base { "/" = { root = pkgs.element-web; }; };
"factorio.nyanlout.re" = base { "/" = { root = "/var/www/factorio"; }; };
"minecraft.nyanlout.re" = base { "/" = { root = "/var/www/minecraft-overviewer"; }; };
"musique-meyenheim.fr" = base {
"/" = {
proxyPass = "http://unix:/run/site-musique.sock";
@ -216,64 +201,53 @@ in
alias = "/var/www/site-musique/media/";
};
};
"maxspiegel.fr" = base { "/" = { root = "/run/python-ci/nyanloutre/site-max"; }; };
"stream.nyanlout.re" = base {
"/" = {
proxyPass = "http://10.30.135.71";
};
"www.musique-meyenheim.fr" = {
enableACME = true;
forceSSL = true;
globalRedirect = "musique-meyenheim.fr";
};
"login.nyanlout.re" = simpleReverse config.services.nginx.sso.configuration.listen.port;
"grafana.nyanlout.re" = authReverse config.services.grafana.port;
"grafana.nyanlout.re" = authReverse config.services.grafana.settings.server.http_port;
"transmission.nyanlout.re" = authReverse config.services.transmission.settings.rpc-port;
"radarr.nyanlout.re" = authReverse 7878;
"sonarr.nyanlout.re" = authReverse 8989;
"syncthing.nyanlout.re" = authReverse 8384;
"jackett.nyanlout.re" = authReverse 9117;
"matrix.nyanlout.re" = simpleReverse 8008;
"prowlarr.nyanlout.re" = authReverse 9696;
"watcharr.nyanlout.re" = simpleReverse 3080;
"emby.nyanlout.re" = recursiveUpdate (simpleReverse 8096) {
locations."/" = {
proxyWebsockets = true;
};
};
"ci.nyanlout.re" = simpleReverse 52350;
"gitea.nyanlout.re" = simpleReverse config.services.gitea.httpPort;
"musique.nyanlout.re" = simpleReverse config.services.navidrome.settings.Port;
"gitea.nyanlout.re" = simpleReverse config.services.gitea.settings.server.HTTP_PORT;
"photo.nyanlout.re" = recursiveUpdate (simpleReverse config.services.photoprism.port) {
locations."/" = {
proxyWebsockets = true;
};
};
"zigbee.nyanlout.re" = recursiveUpdate (authReverse config.services.zigbee2mqtt.settings.frontend.port) {
locations."/" = {
proxyWebsockets = true;
};
};
"apart.nyanlout.re" = recursiveUpdate (simpleReverse config.services.home-assistant.config.http.server_port) {
locations."/" = {
proxyWebsockets = true;
};
};
# "work.rezom.eu" = base {
# "/" = {
# index = "/_h5ai/public/index.php";
# extraConfig = ''
# dav_ext_methods PROPFIND OPTIONS;
# '';
# };
# "~ ^/(_h5ai/public/index|random).php" = {
# extraConfig = ''
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# fastcgi_pass unix:${config.services.phpfpm.pools.work.socket};
# include ${pkgs.nginx}/conf/fastcgi_params;
# include ${pkgs.nginx}/conf/fastcgi.conf;
# '';
# };
# } // {
# root = "/mnt/medias/iso_linux";
# extraConfig = ''
# access_log /var/log/nginx/$host.log;
# '';
# };
"drive.nyanlout.re" = base {
"/" = {
index = "/index.php";
extraConfig = ''
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:${config.services.phpfpm.pools.drive.socket};
include ${pkgs.nginx}/conf/fastcgi_params;
include ${pkgs.nginx}/conf/fastcgi.conf;
client_max_body_size 0;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
fastcgi_intercept_errors on;
fastcgi_buffers 64 4K;
client_body_temp_path /mnt/webdav/tmp_upload;
client_max_body_size 0;
proxy_request_buffering off;
'';
};
} // {
@ -295,11 +269,30 @@ in
'';
}
];
"designyourfuture.amandoline-creations.fr" = base {
"/".alias = "/var/www/amandoline-designyourfuture/";
};
"amandoline-creations.fr" = base {
"/".alias = "/var/www/amandoline-portfolio/";
};
"www.amandoline-creations.fr" = {
enableACME = true;
forceSSL = true;
globalRedirect = "amandoline-creations.fr";
};
"challenge.amandoline-creations.fr" = base {
"/".alias = "/var/www/amandoline-challenge/";
};
${config.services.nextcloud.hostName} = {
forceSSL = true;
enableACME = true;
};
};
};
postgresql = {
enable = true;
package = pkgs.postgresql_14;
settings = {
full_page_writes = false;
};
@ -307,22 +300,54 @@ in
gitea = {
enable = true;
cookieSecure = true;
httpPort = 3001;
rootUrl = "https://gitea.nyanlout.re/";
database = {
type = "postgres";
port = 5432;
passwordFile = "/var/lib/gitea/custom/conf/database_password";
};
log.level = "Warn";
disableRegistration = true;
settings = {
ui.DEFAULT_THEME = "arc-green";
server = {
HTTP_PORT = 3001;
ROOT_URL = "https://gitea.nyanlout.re/";
};
log.LEVEL = "Warn";
service.DISABLE_REGISTRATION = true;
session.COOKIE_SECURE = true;
};
};
python-ci.enable = true;
nextcloud = {
enable = true;
package = pkgs.nextcloud30;
hostName = "cloud.nyanlout.re";
database.createLocally = true;
https = true;
maxUploadSize = "16G";
config = {
dbtype = "pgsql";
adminpassFile = "$CREDENTIALS_DIRECTORY/nextcloud_admin.pass";
};
settings = {
"preview_max_filesize_image" = "-1";
"preview_max_memory" = "1024";
"preview_ffmpeg_path" = "${pkgs.ffmpeg}/bin/ffmpeg";
"enabledPreviewProviders" = [
''OC\Preview\BMP''
''OC\Preview\GIF''
''OC\Preview\JPEG''
''OC\Preview\Krita''
''OC\Preview\MarkDown''
''OC\Preview\MP3''
''OC\Preview\OpenDocument''
''OC\Preview\PNG''
''OC\Preview\TXT''
''OC\Preview\XBitmap''
''OC\Preview\Movie''
];
};
autoUpdateApps.enable = true;
};
};
systemd.services.nginx.serviceConfig = {
@ -332,15 +357,18 @@ in
];
};
systemd.services.phpfpm-work.serviceConfig = {
ReadOnlyPaths = "/mnt/medias/iso_linux";
systemd.services.phpfpm-drive.serviceConfig = {
ReadWritePaths = [
"/mnt/medias/iso_linux/_h5ai"
"/mnt/webdav"
];
};
systemd.services.nextcloud-setup.serviceConfig = {
LoadCredential = "nextcloud_admin.pass:/mnt/secrets/nextcloud_admin.pass";
};
systemd.services.site-musique = let
djangoEnv =(pkgs.python3.withPackages (ps: with ps; [ gunicorn django_3 pillow setuptools ]));
djangoEnv =(pkgs.python3.withPackages (ps: with ps; [ gunicorn django_4 pillow setuptools ]));
in {
description = "Site Django de la musique de Meyenheim";
after = [ "network.target" ];

View File

@ -12,7 +12,7 @@
../common-gui.nix
];
nix.trustedUsers = [ "root" "paul" ];
nix.settings.trusted-users = [ "root" "paul" ];
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.grub = {
@ -26,21 +26,23 @@
"acpi_enforce_resources=lax"
"zfs.zfs_arc_max=2147483648"
];
boot.tmpOnTmpfs = false;
boot.tmp.useTmpfs = false;
boot.supportedFilesystems = [ "zfs" ];
boot.extraModprobeConfig = ''
options hid_apple fnmode=2
'';
zramSwap.enable = true;
virtualisation.virtualbox.host.enable = true;
# virtualisation.virtualbox.host.enableExtensionPack = true;
# virtualisation.anbox.enable = true;
virtualisation.podman.enable = true;
services.zfs = {
trim = {
enable = true;
enable = false;
interval = "monthly";
};
autoScrub = {
enable = true;
enable = false;
interval = "monthly";
};
autoSnapshot = {
@ -60,22 +62,7 @@
hardware.bluetooth.enable = true;
# Logitech G920
hardware.usbWwan.enable = true;
# hardware.pulseaudio.extraConfig = ''
# load-module module-null-sink sink_name=mic_denoised_out rate=48000
# load-module module-ladspa-sink sink_name=mic_raw_in sink_master=mic_denoised_out label=noise_suppressor_mono plugin=${pkgs.rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so control=50
# load-module module-loopback source=alsa_input.pci-0000_09_00.4.analog-stereo sink=mic_raw_in channels=1 source_dont_move=true sink_dont_move=true
# load-module module-echo-cancel source_name=hd_mic source_master=mic_denoised_out.monitor sink_master=alsa_output.pci-0000_09_00.4.analog-stereo
# set-default-source hd_mic
# '';
# hardware.pulseaudio.configFile = pkgs.runCommand "default.pa" {} ''
# sed '/module-switch-on-port-available$/d' \
# ${pkgs.pulseaudio}/etc/pulse/default.pa > $out
# '';
hardware.usb-modeswitch.enable = true;
services.udev.packages = with pkgs; [
usb-modeswitch-data # Logitech G920
@ -85,8 +72,6 @@
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="0664", GROUP="dialout"
'';
security.pki.certificateFiles = [ ./codemasters.pem ];
networking.hostName = "paul-fixe";
networking.hostId = "3a1f739e";
@ -96,17 +81,17 @@
environment.systemPackages = with pkgs; [
usb-modeswitch
esphome
];
programs.wireshark.enable = true;
programs.wireshark.package = pkgs.wireshark;
programs = {
wireshark.enable = true;
alvr.enable = true;
};
networking.firewall.enable = false;
services.xserver.displayManager.autoLogin = {
enable = true;
user = "paul";
};
services.displayManager.autoLogin.user = "paul";
users.users.paul = {
isNormalUser = true;
@ -118,168 +103,23 @@
];
};
services.netdata.enable = true;
services.openssh.enable = true;
services.openssh.passwordAuthentication = false;
services.openssh.forwardX11 = true;
# security.pki.certificates = [
# ''
# -----BEGIN CERTIFICATE-----
# MIIDoTCCAomgAwIBAgIGDorvJrq1MA0GCSqGSIb3DQEBCwUAMCgxEjAQBgNVBAMM
# CW1pdG1wcm94eTESMBAGA1UECgwJbWl0bXByb3h5MB4XDTIwMDgzMDE5MjA1NloX
# DTIzMDkwMTE5MjA1NlowKDESMBAGA1UEAwwJbWl0bXByb3h5MRIwEAYDVQQKDAlt
# aXRtcHJveHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsUHB2if9A
# L5ytR9VrZncwDdx3J6ZdA2+wZQe9EjtX5ax1r55bbQBoJmN2HqZCSA3vdvMzr42W
# Jx0ksNhNocEGvER2dTUIqkUKeeYQIRCc5CD9T5IpUVVKm3aeJo+FATmuzg4m23MZ
# a9Up4nCdUJwufSqzv0ZWvEHERWtRXPYRZ2t+vKqnCS+dOQ3NsGWvC+12i7kNMKyy
# 0ylFBY/BZfaH/kMVzUijAnNQPWpW3T/Wqpx7z+IXZ+ccCQ1U1N26FXhSMa/+DenW
# fo27QVNOu5cIIpAYmTl6+Oek0XLSH8oFLdjeVtBJuHFA1iAfmqPv4yJDKbSgg/d8
# Jb46BE2ZyW6RAgMBAAGjgdAwgc0wDwYDVR0TAQH/BAUwAwEB/zARBglghkgBhvhC
# AQEEBAMCAgQweAYDVR0lBHEwbwYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEFBQcD
# BAYIKwYBBQUHAwgGCisGAQQBgjcCARUGCisGAQQBgjcCARYGCisGAQQBgjcKAwEG
# CisGAQQBgjcKAwMGCisGAQQBgjcKAwQGCWCGSAGG+EIEATAOBgNVHQ8BAf8EBAMC
# AQYwHQYDVR0OBBYEFEiFqrQtFmTV66rlQ9SCqp7ohrtsMA0GCSqGSIb3DQEBCwUA
# A4IBAQBfH5xpxt4mCdnjiISaMeEcKuur2kfVbQEKNceDeKLZJfcwEkMtAr0LeyMV
# 1hkExtvyU0JPmgyzU7Le4UHEB8pwyyD3kYx7vBtxjVSXAbK1YKgDllPmXtlJGmA/
# SMuxnwkUXwMeZBxmu8LR1SOQiMX+aZvYbQIjigduXOC/ZSHYtJbh+RmrvHFEBu7L
# zZx8DzJKOmlfo9gohNIW1ucRM6B4B5yy5plqurGlkFPHlRqGoWkJPI4oB+cobzMh
# QidzHgk4Set3bqIuYAsqtHGxdTtnGooagQBUWt0CxmGdmonofzinsAAasKprcBl6
# QaNGz7o/LfHprXvCM1mHjbVVbZN2
# -----END CERTIFICATE-----
# ''
# ];
# services.wakeonlan.interfaces = [ { interface = "eno1"; method = "magicpacket"; } ];
services.nginx = {
enable = true;
recommendedGzipSettings = true;
recommendedOptimisation = true;
package = pkgs.nginx.override {
modules = with pkgs.nginxModules; [ rtmp ];
};
virtualHosts."stream.nyanlout.re" = {
locations."/" = {
root = "/var/www/hls/";
extraConfig = ''
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
'';
};
default = true;
};
appendConfig = let
rootLocation = config.services.nginx.virtualHosts."stream.nyanlout.re".locations."/".root;
in ''
rtmp {
server {
listen 1935;
application live {
live on;
interleave on;
exec_push ${pkgs.ffmpeg}/bin/ffmpeg -i rtmp://localhost/$app/$name -async 1 -vsync -1
-c:v libx264 -c:a aac -b:v 256k -b:a 96k -vf "scale=480:trunc(ow/a/2)*2" -tune zerolatency -preset veryfast -crf 23 -f flv rtmp://localhost/show/$name_low
-c:v libx264 -c:a aac -b:v 768k -b:a 96k -vf "scale=720:trunc(ow/a/2)*2" -tune zerolatency -preset veryfast -crf 23 -f flv rtmp://localhost/show/$name_mid
-c:v libx264 -c:a aac -b:v 1024k -b:a 128k -vf "scale=960:trunc(ow/a/2)*2" -tune zerolatency -preset veryfast -crf 23 -f flv rtmp://localhost/show/$name_high
-c:v libx264 -c:a aac -b:v 1920k -b:a 128k -vf "scale=1280:trunc(ow/a/2)*2" -tune zerolatency -preset veryfast -crf 23 -f flv rtmp://localhost/show/$name_hd720
-c copy -f flv rtmp://localhost/show/$name_src 2>>${rootLocation}/ffmpeg-$name.log;
}
application show {
live on;
hls on;
hls_path ${rootLocation};
hls_fragment 5;
hls_playlist_length 10;
hls_nested on;
hls_variant _low BANDWIDTH=352000; # Low bitrate, sub-SD resolution
hls_variant _mid BANDWIDTH=448000; # Medium bitrate, SD resolution
hls_variant _high BANDWIDTH=1152000; # High bitrate, higher-than-SD resolution
hls_variant _hd720 BANDWIDTH=2048000; # High bitrate, HD 720p resolution
hls_variant _src BANDWIDTH=8192000; # Source bitrate, source resolution
}
}
}
'';
services.openssh.settings = {
PasswordAuthentication = false;
X11Forwarding = true;
};
services.xserver.deviceSection = ''
Option "metamodes" "DP-4: 3440x1440_144 +0+0 {AllowGSYNCCompatible=On}"
'';
systemd = let
DP4Config = "--output DP-4 --mode 3440x1440 --rate 144";
HDMIConfig = "--output HDMI-0 --auto --left-of DP-4";
in {
services = {
wol = {
description = "Wake-on-LAN";
wantedBy = [ "multi-user.target" ];
requires = [ "network.target" ];
after = [ "network.target" ];
script = ''
${pkgs.ethtool}/sbin/ethtool -s eno1 wol g
'';
serviceConfig.Type = "oneshot";
};
nginx.serviceConfig.ReadWritePaths = "/var/www/hls";
zfs-replication.serviceConfig.StateDirectory = "zfs-replication";
};
user.services = {
"enableTV" = {
description = "Enable TV output";
script = ''
${pkgs.xorg.xrandr}/bin/xrandr ${DP4Config} --primary
/run/current-system/sw/bin/nvidia-settings --assign CurrentMetaMode="DP-4: 3440x1440_144 { AllowGSYNCCompatible=On }"
${pkgs.xorg.xrandr}/bin/xrandr ${HDMIConfig}
${pkgs.pipewire}/bin/pw-cli s 43 Profile '{ index: 1 }'
'';
conflicts = ["CSMode.service"];
serviceConfig.Type = "oneshot";
};
"primaryTV" = {
description = "Set TV output as primary";
script = ''
${pkgs.xorg.xrandr}/bin/xrandr ${DP4Config}
/run/current-system/sw/bin/nvidia-settings --assign CurrentMetaMode="DP-4: 3440x1440_144 { AllowGSYNCCompatible=On }"
${pkgs.xorg.xrandr}/bin/xrandr ${HDMIConfig} --primary
${pkgs.pipewire}/bin/pw-cli s 43 Profile '{ index: 1 }'
'';
conflicts = ["CSMode.service"];
serviceConfig.Type = "oneshot";
};
"FreeSyncMode" = {
description = "Enable FreeSync screen only";
script = ''
${pkgs.xorg.xrandr}/bin/xrandr ${DP4Config}
/run/current-system/sw/bin/nvidia-settings --assign CurrentMetaMode="DP-4: 3440x1440_144 { AllowGSYNCCompatible=On }"
${pkgs.xorg.xrandr}/bin/xrandr --output HDMI-0 --off
'';
conflicts = ["CSMode.service"];
serviceConfig.Type = "oneshot";
};
"CSMode" = {
description = "Enable 4:3 black bars";
script = ''
${pkgs.xorg.xrandr}/bin/xrandr ${DP4Config} --primary
/run/current-system/sw/bin/nvidia-settings --assign CurrentMetaMode="DP-4: 3440x1440_144 { ViewPortIn=3440x1440, ViewPortOut=1920x1440+760+0, AllowGSYNCCompatible=On }"
${pkgs.xorg.xrandr}/bin/xrandr --output HDMI-0 --off
'';
preStop = ''
/run/current-system/sw/bin/nvidia-settings --assign CurrentMetaMode="DP-4: 3440x1440_144 { ViewPortIn=3440x1440, ViewPortOut=3440x1440+0+0, AllowGSYNCCompatible=On }"
'';
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
};
};
services.printing.enable = true;
services.printing.drivers = [ pkgs.hplip ];
systemd.services = {
zfs-replication.serviceConfig.StateDirectory = "zfs-replication";
};
boot.enableContainers = false;
system.stateVersion = "20.03";
}

View File

@ -11,6 +11,10 @@
services.xserver.videoDrivers = [ "nvidia" ];
hardware.cpu.amd.updateMicrocode = true;
hardware.nvidia = {
open = false;
modesetting.enable = true;
};
fileSystems."/" =
{ device = "rpool/root/nixos";
@ -37,10 +41,10 @@
fsType = "zfs";
};
fileSystems."/mnt/hdd" =
{ device = "/dev/mapper/ManjaroVG-ManjaroRoot";
fsType = "ext4";
};
# fileSystems."/mnt/hdd" =
# { device = "/dev/mapper/ManjaroVG-ManjaroRoot";
# fsType = "ext4";
# };
fileSystems."/mnt/medias" =
{ device = "10.30.0.1:/mnt/medias";
@ -50,6 +54,6 @@
swapDevices = [ ];
nix.maxJobs = lib.mkDefault 12;
nix.settings.max-jobs = lib.mkDefault 12;
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
}

View File

@ -11,12 +11,13 @@
vimAlias = true;
configure = {
customRC = ''
set tabstop=8
set tabstop=8
set shiftwidth=4
set softtabstop=0
set expandtab
set smarttab
set smarttab
set background=dark
set mouse=
'';
packages.myVimPackage = with pkgs.vimPlugins; {
start = [
@ -29,7 +30,6 @@
})
# Gestionnaires de version
gitMinimal
tig
gitAndTools.hub
quilt
@ -49,7 +49,6 @@
inetutils
rclone
lftp
wireguard-tools
nfs-utils
nmap
@ -57,7 +56,7 @@
fzf
file
ncdu
youtube-dl
yt-dlp
tldr
starship
@ -104,6 +103,8 @@
bash.interactiveShellInit = ''
eval "$(starship init bash)"
'';
git.enable = true;
};
environment.variables = let

View File

@ -1,8 +1,6 @@
{ config, pkgs, ... }:
{
nixpkgs.config.allowUnfreePredicate = (pkg: true);
environment.systemPackages = with pkgs; [
filezilla
qbittorrent
@ -10,20 +8,18 @@
sc-controller
steam-run
minecraft
prismlauncher
lutris
teamspeak_client
ryujinx
betaflight-configurator
electrum
electron-cash
ledger-live-desktop
monero-gui
firefox
tor-browser-bundle-bin
chromium
brave
tdesktop
element-desktop
@ -39,7 +35,7 @@
ark
kate
kmail
kdeconnect
kdePackages.kdeconnect-kde
okular
yakuake
konversation
@ -62,12 +58,10 @@
obs-studio
vlc
mpv
jellyfin-mpv-shim
kdenlive
glxinfo
i7z
appimage-run
pavucontrol
];
@ -77,58 +71,58 @@
console.keyMap = "fr";
programs.steam.enable = true;
# hardware = {
# pulseaudio.enable = true;
# };
# sound.enable = true;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
networking.networkmanager.enable = true;
systemd.extraConfig = "DefaultLimitNOFILE=1048576";
security.pam.loginLimits = [{
domain = "*";
type = "hard";
item = "nofile";
value = "1048576";
}];
security = {
pam.loginLimits = [{
domain = "*";
type = "hard";
item = "nofile";
value = "1048576";
}];
rtkit.enable = true;
};
programs = {
gnupg.agent = { enable = true; enableSSHSupport = true; };
browserpass.enable = true;
steam.enable = true;
firefox.enable = true;
appimage.enable = true;
};
services = {
# desktopManager.plasma6.enable = true;
displayManager = {
sddm = {
enable = true;
# wayland.enable = true;
autoLogin.relogin = true;
};
};
xserver = {
enable = true;
layout = "fr";
xkb.layout = "fr";
exportConfiguration = true;
displayManager.sddm.enable = true;
desktopManager.plasma5.enable = true;
};
udev.packages = with pkgs; [ ledger-udev-rules ];
pcscd = {
pipewire = {
enable = true;
plugins = [
(pkgs.ccid.overrideAttrs (oldAttrs: rec {
preBuild = ''
echo "0x2C97:0x0001:Ledger Token" >> ./readers/supported_readers.txt
'';
})
)
];
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
extraConfig.pipewire = {
"10-clock-rate" = {
"context.properties" = {
"default.clock.allowed-rates" = [ 48000 ];
};
};
};
};
udev.packages = with pkgs; [ ledger-udev-rules ];
pcscd.enable = true;
};
environment.etc = {