stockholm/lass/1systems/mors.nix

332 lines
8.8 KiB
Nix
Raw Normal View History

2015-07-16 13:52:17 +00:00
{ config, pkgs, ... }:
{
imports = [
2016-02-15 15:27:11 +00:00
../.
../2configs/baseX.nix
../2configs/programs.nix
../2configs/bitcoin.nix
../2configs/browsers.nix
../2configs/games.nix
../2configs/pass.nix
../2configs/virtualbox.nix
../2configs/elster.nix
../2configs/steam.nix
../2configs/wine.nix
../2configs/texlive.nix
../2configs/binary-caches.nix
2015-08-23 14:51:51 +00:00
#../2configs/ircd.nix
../2configs/chromium-patched.nix
../2configs/git.nix
2015-11-13 00:10:55 +00:00
#../2configs/wordpress.nix
2015-08-23 14:51:51 +00:00
../2configs/bitlbee.nix
2016-02-17 13:58:59 +00:00
#../2configs/firefoxPatched.nix
2015-10-08 10:05:32 +00:00
../2configs/skype.nix
2015-12-12 17:22:09 +00:00
../2configs/teamviewer.nix
../2configs/libvirt.nix
../2configs/fetchWallpaper.nix
2016-02-17 13:58:59 +00:00
#../2configs/buildbot-standalone.nix
{
#risk of rain port
krebs.iptables.tables.filter.INPUT.rules = [
{ predicate = "-p tcp --dport 11100"; target = "ACCEPT"; }
];
}
2015-11-13 00:10:55 +00:00
{
2016-02-01 14:56:24 +00:00
#static-nginx-test
2015-11-13 00:10:55 +00:00
imports = [
2016-02-01 14:56:24 +00:00
../3modules/static_nginx.nix
2015-11-13 00:10:55 +00:00
];
2016-02-01 14:56:24 +00:00
lass.staticPage."testserver.de" = {
#sslEnable = true;
#certificate = "${toString <secrets>}/testserver.de/server.cert";
#certificate_key = "${toString <secrets>}/testserver.de/server.pem";
ssl = {
enable = true;
certificate = "${toString <secrets>}/testserver.de/server.cert";
certificate_key = "${toString <secrets>}/testserver.de/server.pem";
2015-12-26 09:43:15 +00:00
};
2015-11-13 00:10:55 +00:00
};
networking.extraHosts = ''
10.243.0.2 testserver.de
'';
}
2016-02-01 14:56:24 +00:00
#{
# #wordpress-test
# #imports = singleton (sitesGenerators.createWordpress "testserver.de");
# imports = [
# ../3modules/wordpress_nginx.nix
# ];
# lass.wordpress."testserver.de" = {
# multiSite = {
# "1" = "testserver.de";
# "2" = "bla.testserver.de";
# };
# };
2015-12-26 09:43:15 +00:00
2016-02-01 14:56:24 +00:00
# services.mysql = {
# enable = true;
# package = pkgs.mariadb;
# rootPassword = "<secrets>/mysql_rootPassword";
# };
# networking.extraHosts = ''
# 10.243.0.2 testserver.de
# '';
# krebs.iptables.tables.filter.INPUT.rules = [
# { predicate = "-i retiolum -p tcp --dport 80"; target = "ACCEPT"; precedence = 9998; }
# ];
#}
#{
# #owncloud-test
# #imports = singleton (sitesGenerators.createWordpress "testserver.de");
# imports = [
# ../3modules/owncloud_nginx.nix
# ];
# lass.owncloud."owncloud-test.de" = {
# };
# #services.mysql = {
# # enable = true;
# # package = pkgs.mariadb;
# # rootPassword = "<secrets>/mysql_rootPassword";
# #};
# networking.extraHosts = ''
# 10.243.0.2 owncloud-test.de
# '';
# krebs.iptables.tables.filter.INPUT.rules = [
# { predicate = "-i retiolum -p tcp --dport 80"; target = "ACCEPT"; precedence = 9998; }
# ];
#}
2016-02-15 15:57:48 +00:00
{
containers.pythonenv = {
config = {
services.openssh.enable = true;
users.users.root.openssh.authorizedKeys.keys = [
config.krebs.users.lass.pubkey
];
environment = {
systemPackages = with pkgs; [
git
libxml2
libxslt
libzip
python27Full
python27Packages.buildout
stdenv
zlib
];
pathsToLink = [ "/include" ];
shellInit = ''
# help pip to find libz.so when building lxml
export LIBRARY_PATH=/var/run/current-system/sw/lib
# ditto for header files, e.g. sqlite
export C_INCLUDE_PATH=/var/run/current-system/sw/include
'';
};
};
};
}
2016-02-15 15:58:04 +00:00
{
2016-02-17 13:59:21 +00:00
services.mysql = {
2016-02-15 15:58:04 +00:00
enable = true;
2016-02-17 13:59:21 +00:00
package = pkgs.mariadb;
rootPassword = "<secrets>/mysql_rootPassword";
2016-02-15 15:58:04 +00:00
};
}
2016-02-18 16:05:01 +00:00
{
services.elasticsearch = {
enable = true;
plugins = [
pkgs.elasticsearchPlugins.elasticsearch_kopf
];
};
}
2015-07-16 13:52:17 +00:00
];
2015-10-19 12:00:15 +00:00
krebs.build.host = config.krebs.hosts.mors;
2015-07-27 11:54:29 +00:00
2015-07-16 13:52:17 +00:00
networking.wireless.enable = true;
networking.extraHosts = ''
2015-12-26 09:43:15 +00:00
213.239.205.240 wohnprojekt-rhh.de
213.239.205.240 karlaskop.de
213.239.205.240 makeup.apanowicz.de
213.239.205.240 pixelpocket.de
213.239.205.240 reich-gebaeudereinigung.de
213.239.205.240 o.ubikmedia.de
2015-07-16 13:52:17 +00:00
'';
hardware.enableAllFirmware = true;
nixpkgs.config.allowUnfree = true;
boot = {
loader.grub.enable = true;
loader.grub.version = 2;
loader.grub.device = "/dev/sda";
initrd.luks.devices = [ { name = "luksroot"; device = "/dev/sda2"; } ];
initrd.luks.cryptoModules = [ "aes" "sha512" "sha1" "xts" ];
initrd.availableKernelModules = [ "xhci_hcd" "ehci_pci" "ahci" "usb_storage" ];
#kernelModules = [ "kvm-intel" "msr" ];
kernelModules = [ "msr" ];
};
fileSystems = {
"/" = {
device = "/dev/big/nix";
fsType = "ext4";
};
"/boot" = {
device = "/dev/sda1";
};
"/mnt/loot" = {
device = "/dev/big/loot";
fsType = "ext4";
};
"/home" = {
device = "/dev/big/home";
fsType = "ext4";
};
"/home/lass" = {
device = "/dev/big/home-lass";
fsType = "ext4";
};
"/mnt/backups" = {
device = "/dev/big/backups";
fsType = "ext4";
};
"/home/games/.local/share/Steam" = {
device = "/dev/big/steam";
fsType = "ext4";
};
"/home/virtual/virtual" = {
device = "/dev/big/virtual";
fsType = "ext4";
};
"/mnt/public" = {
device = "/dev/big/public";
fsType = "ext4";
};
2016-02-17 13:59:36 +00:00
"/mnt/conf" = {
device = "/dev/big/conf";
fsType = "ext4";
};
2015-07-16 13:52:17 +00:00
};
services.udev.extraRules = ''
SUBSYSTEM=="net", ATTR{address}=="a0:88:b4:29:26:bc", NAME="wl0"
SUBSYSTEM=="net", ATTR{address}=="f0:de:f1:0c:a7:63", NAME="et0"
'';
#TODO activationScripts seem broken, fix them!
#activationScripts
#split up and move into base
system.activationScripts.powertopTunables = ''
#Enable Audio codec power management
echo '1' > '/sys/module/snd_hda_intel/parameters/power_save'
#VM writeback timeout
echo '1500' > '/proc/sys/vm/dirty_writeback_centisecs'
#Autosuspend for USB device Broadcom Bluetooth Device [Broadcom Corp]
#echo 'auto' > '/sys/bus/usb/devices/1-1.4/power/control'
2015-07-16 13:52:17 +00:00
#Autosuspend for USB device Biometric Coprocessor
echo 'auto' > '/sys/bus/usb/devices/1-1.3/power/control'
#Runtime PMs
echo 'auto' > '/sys/bus/pci/devices/0000:00:02.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:16.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:00.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:03:00.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.3/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.2/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1d.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1c.3/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:0d:00.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1c.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1b.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1a.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:19.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:16.3/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1c.1/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1c.4/power/control'
'';
hardware.trackpoint = {
enable = true;
sensitivity = 220;
speed = 0;
emulateWheel = true;
};
services.xserver = {
videoDriver = "intel";
vaapiDrivers = [ pkgs.vaapiIntel ];
deviceSection = ''
Option "AccelMethod" "sna"
BusID "PCI:0:2:0"
'';
};
environment.systemPackages = with pkgs; [
2016-02-06 18:26:51 +00:00
cac-api
2015-10-03 12:37:34 +00:00
sshpass
2015-09-30 13:18:31 +00:00
get
2015-10-15 12:44:14 +00:00
teamspeak_client
hashPassword
2015-07-16 13:52:17 +00:00
];
#TODO: fix this shit
##fprint stuff
##sudo fprintd-enroll $USER to save fingerprints
#services.fprintd.enable = true;
#security.pam.services.sudo.fprintAuth = true;
users.extraGroups = {
loot = {
members = [
config.users.extraUsers.mainUser.name
"firefox"
"chromium"
"google"
"virtual"
];
};
};
services.mongodb = {
enable = true;
};
2015-07-27 11:59:22 +00:00
2015-10-01 20:13:40 +00:00
krebs.iptables = {
2015-07-27 11:59:22 +00:00
tables = {
filter.INPUT.rules = [
{ predicate = "-p tcp --dport 8000"; target = "ACCEPT"; precedence = 9001; }
];
};
};
2015-10-19 12:02:17 +00:00
2015-10-15 12:45:32 +00:00
#touchpad config
services.xserver.synaptics = {
enable = true;
2015-10-19 12:02:17 +00:00
accelFactor = "0.035";
additionalOptions = ''
Option "FingerHigh" "60"
Option "FingerLow" "60"
'';
2015-10-15 12:45:32 +00:00
tapButtons = false;
2015-10-19 12:02:17 +00:00
twoFingerScroll = true;
2015-10-15 12:45:32 +00:00
};
2015-07-16 13:52:17 +00:00
}