2015-06-18 21:59:14 +00:00
{ pkgs , . . . }:
2015-03-19 22:04:35 +00:00
2015-06-18 23:35:37 +00:00
let
inherit ( builtins ) readFile ;
in
2015-03-19 22:04:35 +00:00
{
imports =
[
2015-05-21 20:33:16 +00:00
<secrets/hashedPasswords.nix>
2015-06-18 21:59:14 +00:00
./git.nix
2015-04-07 23:07:01 +00:00
./iptables.nix
./networking.nix
2015-05-19 20:04:36 +00:00
../common/nixpkgs.nix
2015-04-07 23:26:30 +00:00
../tv/base.nix
2015-04-07 23:07:01 +00:00
../tv/base-cac-CentOS-7-64bit.nix
../tv/ejabberd.nix # XXX echtes modul
../tv/exim-smarthost.nix
../tv/retiolum.nix
../tv/sanitize.nix
2015-03-19 22:04:35 +00:00
] ;
# "Developer 2" plan has two vCPUs.
nix . maxJobs = 2 ;
2015-05-19 20:04:36 +00:00
nixpkgs = {
url = " h t t p s : / / g i t h u b . c o m / N i x O S / n i x p k g s " ;
rev = " 4 c 0 1 e 6 d 9 1 9 9 3 b 6 d e 1 2 8 7 9 5 f 4 f b d d 2 5 f 6 2 2 7 f b 8 7 0 " ;
} ;
2015-03-19 22:04:35 +00:00
environment . systemPackages = with pkgs ; [
2015-05-19 20:04:36 +00:00
git # required for ./deploy, clone_or_update
2015-03-19 22:04:35 +00:00
htop
iftop
iotop
2015-04-02 17:08:42 +00:00
iptables
2015-03-24 17:31:39 +00:00
mutt # for mv
2015-03-19 22:04:35 +00:00
nethogs
rxvt_unicode . terminfo
tcpdump
] ;
security . rtkit . enable = false ;
services . cron . enable = false ;
2015-03-24 17:30:57 +00:00
services . ejabberd-cd = {
enable = true ;
} ;
2015-03-19 22:04:35 +00:00
services . journald . extraConfig = ''
SystemMaxUse = 1 G
RuntimeMaxUse = 1 2 8 M
'' ;
services . ntp . enable = false ;
services . openssh = {
enable = true ;
hostKeys = [
# XXX bits here make no science
{ bits = 8192 ; type = " e d 2 5 5 1 9 " ; path = " / e t c / s s h / s s h _ h o s t _ e d 2 5 5 1 9 _ k e y " ; }
] ;
permitRootLogin = " y e s " ;
} ;
services . retiolum = {
enable = true ;
2015-06-14 17:20:30 +00:00
hosts = <retiolum-hosts> ;
2015-03-19 22:04:35 +00:00
privateKeyFile = " / e t c / n i x o s / s e c r e t s / c d . r e t i o l u m . r s a _ k e y . p r i v " ;
connectTo = [
" f a s t p o k e "
" p i g s t a r t e r "
" i r e "
] ;
} ;
sound . enable = false ;
# TODO replace by ./modules/cd-users.nix
users . extraGroups = {
# ● systemd-tmpfiles-setup.service - Create Volatile Files and Directories
# Loaded: loaded (/nix/store/2l33gg7nmncqkpysq9f5fxyhlw6ncm2j-systemd-217/example/systemd/system/systemd-tmpfiles-setup.service)
# Active: failed (Result: exit-code) since Mon 2015-03-16 10:29:18 UTC; 4s ago
# Docs: man:tmpfiles.d(5)
# man:systemd-tmpfiles(8)
# Process: 19272 ExecStart=/nix/store/2l33gg7nmncqkpysq9f5fxyhlw6ncm2j-systemd-217/bin/systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev (code=exited, status=1/FAILURE)
# Main PID: 19272 (code=exited, status=1/FAILURE)
#
# Mar 16 10:29:17 cd systemd-tmpfiles[19272]: [/usr/lib/tmpfiles.d/legacy.conf:26] Unknown group 'lock'.
# Mar 16 10:29:18 cd systemd-tmpfiles[19272]: Two or more conflicting lines for /var/log/journal configured, ignoring.
# Mar 16 10:29:18 cd systemd-tmpfiles[19272]: Two or more conflicting lines for /var/log/journal/7b35116927d74ea58785e00b47ac0f0d configured, ignoring.
# Mar 16 10:29:18 cd systemd[1]: systemd-tmpfiles-setup.service: main process exited, code=exited, status=1/FAILURE
# Mar 16 10:29:18 cd systemd[1]: Failed to start Create Volatile Files and Directories.
# Mar 16 10:29:18 cd systemd[1]: Unit systemd-tmpfiles-setup.service entered failed state.
# Mar 16 10:29:18 cd systemd[1]: systemd-tmpfiles-setup.service failed.
# warning: error(s) occured while switching to the new configuration
lock . gid = 10001 ;
} ;
users . extraUsers =
{
root = {
openssh . authorizedKeys . keys = [
2015-06-18 23:35:37 +00:00
( readFile <pubkeys/deploy_wu.ssh.pub> )
( readFile <pubkeys/tv_wu.ssh.pub> )
2015-03-19 22:04:35 +00:00
] ;
} ;
2015-03-24 17:31:39 +00:00
mv = rec {
name = " m v " ;
uid = 1338 ;
group = " u s e r s " ;
home = " / h o m e / ${ name } " ;
createHome = true ;
useDefaultShell = true ;
openssh . authorizedKeys . keys = [
2015-06-18 23:35:37 +00:00
( readFile <pubkeys/mv_vod.ssh.pub> )
2015-03-24 17:31:39 +00:00
] ;
} ;
2015-03-19 22:04:35 +00:00
} ;
2015-03-24 17:31:39 +00:00
2015-03-19 22:04:35 +00:00
users . mutableUsers = false ;
}