]>
Commit | Line | Data |
---|---|---|
ab8f306d | 1 | { lib, pkgs, config, ... }: |
5ccc61bb IB |
2 | { |
3 | options = { | |
8d213e2b | 4 | myServices.pub.enable = lib.mkOption { |
5ccc61bb IB |
5 | type = lib.types.bool; |
6 | default = false; | |
7 | description = '' | |
8 | Whether to enable pub user. | |
9 | ''; | |
10 | }; | |
11 | }; | |
12 | ||
8d213e2b | 13 | config = lib.mkIf config.myServices.pub.enable { |
1b9150a5 IB |
14 | myServices.ssh.modules = [{ |
15 | snippet = builtins.readFile ./ldap_pub.sh; | |
16 | dependencies = [ pkgs.coreutils ]; | |
17 | }]; | |
d2e703c5 | 18 | services.duplyBackup.profiles.pub = { |
6a8252b1 | 19 | rootDir = "/var/lib/pub"; |
f7c27d31 | 20 | remotes = [ "eriomem" "ovh" ]; |
6a8252b1 | 21 | }; |
5ccc61bb | 22 | users.users.pub = let |
46a61a1b | 23 | restrict = pkgs.runCommand "restrict" { |
5ccc61bb IB |
24 | file = ./restrict; |
25 | buildInputs = [ pkgs.makeWrapper ]; | |
26 | } '' | |
27 | mkdir -p $out/bin | |
28 | cp $file $out/bin/restrict | |
29 | chmod a+x $out/bin/restrict | |
30 | patchShebangs $out/bin/restrict | |
31 | wrapProgram $out/bin/restrict \ | |
32 | --prefix PATH : ${lib.makeBinPath [ pkgs.bubblewrap pkgs.rrsync ]} \ | |
33 | --set TMUX_RESTRICT ${./tmux.restrict.conf} | |
34 | ''; | |
1be1a523 IB |
35 | purple-hangouts = pkgs.purple-hangouts.overrideAttrs(old: { |
36 | installPhase = '' | |
37 | install -Dm755 -t $out/lib/purple-2/ libhangouts.so | |
38 | for size in 16 22 24 48; do | |
39 | install -TDm644 hangouts$size.png $out/share/pixmaps/pidgin/protocols/$size/hangouts.png | |
40 | done | |
41 | ''; | |
42 | }); | |
5ccc61bb IB |
43 | in { |
44 | createHome = true; | |
45 | description = "Restricted shell user"; | |
46 | home = "/var/lib/pub"; | |
ab8f306d | 47 | uid = config.myEnv.users.pub.uid; |
5ccc61bb IB |
48 | useDefaultShell = true; |
49 | packages = [ | |
50 | restrict | |
51 | pkgs.tmux | |
52 | (pkgs.pidgin.override { plugins = [ | |
1be1a523 | 53 | pkgs.purple-plugin-pack purple-hangouts |
5ccc61bb IB |
54 | pkgs.purple-discord pkgs.purple-facebook |
55 | pkgs.telegram-purple | |
56 | ]; }) | |
57 | ]; | |
58 | }; | |
59 | }; | |
60 | } |