This repository has no description
2.4 kB
96 lines
1{
2 self,
3 config,
4 pkgs,
5 ...
6}:
7{
8 clan.core.vars.password-store.secretLocation = "/var/state/secret-vars";
9
10 imports = [
11 ../../2configs
12 ../../2configs/retiolum.nix
13 ../../2configs/exim-retiolum.nix
14 ../../2configs/mail.nix
15
16 ../../2configs/syncthing.nix
17
18 ../../2configs/weechat.nix
19 ../../2configs/bitlbee.nix
20
21 ../../2configs/pass.nix
22
23 ../../2configs/git-brain.nix
24 ../../2configs/et-server.nix
25
26 ../../2configs/atuin-server.nix
27 ../../2configs/autoupdate.nix
28 ];
29
30 krebs.build.host = config.krebs.hosts.green;
31
32 krebs.sync-containers3.inContainer = {
33 enable = true;
34 pubkey = config.clan.core.vars.generators.green-container.files."green.sync.pub".path;
35 };
36
37 clan.core.vars.generators.green-container = {
38 files."green.sync.key" = { };
39 files."green.sync.pub".secret = false;
40 runtimeInputs = with pkgs; [
41 coreutils
42 openssh
43 ];
44 script = ''
45 ssh-keygen -t ed25519 -N "" -f "$out"/green.sync.key
46 mv "$out"/green.sync.key.pub "$out"/green.sync.pub
47 '';
48 };
49
50 systemd.tmpfiles.rules = [
51 "d /home/lass/.local/share 0700 lass users -"
52 "d /home/lass/.local 0700 lass users -"
53 "d /home/lass/.config 0700 lass users -"
54
55 "d /var/state/lass_mail 0700 lass users -"
56 "L+ /home/lass/Maildir - - - - ../../var/state/lass_mail"
57
58 "d /var/state/lass_ssh 0700 lass users -"
59 "L+ /home/lass/.ssh - - - - ../../var/state/lass_ssh"
60 "d /var/state/lass_gpg 0700 lass users -"
61 "L+ /home/lass/.gnupg - - - - ../../var/state/lass_gpg"
62 "d /var/state/lass_sync 0700 lass users -"
63 "L+ /home/lass/sync - - - - ../../var/state/lass_sync"
64
65 "d /var/state/git 0700 git nogroup -"
66 "L+ /var/lib/git - - - - ../../var/state/git"
67
68 "d /var/state/zerotier-one 0700 root root -"
69 "L+ /var/lib/zerotier-one - - - - ../../var/state/zerotier-one"
70 ];
71
72 krebs.iptables.tables.nat.PREROUTING.rules = [
73 {
74 predicate = "-i eth0 -p tcp -m tcp --dport 22";
75 target = "ACCEPT";
76 }
77 ];
78
79 # workaround for ssh access from yubikey via android
80 services.openssh.extraConfig = ''
81 HostKeyAlgorithms +ssh-rsa
82 PubkeyAcceptedAlgorithms +ssh-rsa
83 '';
84
85 services.dovecot2 = {
86 enable = true;
87 mailLocation = "maildir:~/Maildir";
88 };
89
90 networking.firewall.allowedTCPPorts = [ 143 ];
91
92 environment.systemPackages = [
93 self.packages.${pkgs.system}.muchsync
94 pkgs.rbw
95 ];
96}