stockholm/makefu/2configs/omo-share.nix

98 lines
2.3 KiB
Nix
Raw Normal View History

{ config, lib, pkgs, ... }:
2016-02-14 15:43:44 +00:00
with config.krebs.lib;
let
hostname = config.krebs.build.host.name;
# TODO local-ip from the nets config
local-ip = "192.168.1.11";
# local-ip = config.krebs.build.host.nets.retiolum.ip4.addr;
in {
krebs.nginx = {
enable = mkDefault true;
servers = {
omo-share = {
listen = [ "${local-ip}:80" ];
locations = singleton (nameValuePair "/" ''
2016-05-02 15:37:48 +00:00
access_log off;
# sendfile off;
# tcp_nopush on;
# aio on;
sendfile on;
sendfile_max_chunk 512k;
directio 512;
aio threads;
mp4;
autoindex on;
root /media;
limit_rate_after 100m;
limit_rate 5m;
mp4_buffer_size 4M;
mp4_max_buffer_size 10M;
allow all;
access_log off;
keepalive_timeout 65;
keepalive_requests 200;
reset_timedout_connection on;
tcp_nopush on;
gzip off;
'');
};
};
};
2016-02-01 21:01:41 +00:00
# samba share /media/crypt1/share
users.users.smbguest = {
name = "smbguest";
uid = config.ids.uids.smbguest;
description = "smb guest user";
home = "/var/empty";
};
services.samba = {
enable = true;
shares = {
winshare = {
path = "/media/crypt1/share";
"read only" = "no";
browseable = "yes";
"guest ok" = "yes";
};
2016-04-03 19:39:28 +00:00
emu = {
path = "/media/crypt1/emu";
"read only" = "yes";
browseable = "yes";
"guest ok" = "yes";
};
2016-02-01 21:01:41 +00:00
usenet = {
path = "/media/crypt0/usenet/dst";
"read only" = "yes";
browseable = "yes";
"guest ok" = "yes";
};
crypt0-rw = {
path = "/media/crypt0/";
2016-04-17 19:19:44 +00:00
"read only" = "no";
browseable = "yes";
"guest ok" = "no";
"valid users" = "makefu";
};
crypt1-rw = {
path = "/media/crypt1/";
2016-05-02 15:37:48 +00:00
"read only" = "no";
browseable = "yes";
"guest ok" = "no";
"valid users" = "makefu";
};
2016-02-01 21:01:41 +00:00
};
extraConfig = ''
guest account = smbguest
map to guest = bad user
# disable printing
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
'';
};
}