stockholm/lass/1systems/mors/config.nix

204 lines
5.5 KiB
Nix
Raw Normal View History

2015-07-16 13:52:17 +00:00
{ config, pkgs, ... }:
2016-10-20 18:54:38 +00:00
with import <stockholm/lib>;
2015-07-16 13:52:17 +00:00
{
imports = [
<stockholm/lass>
2017-07-23 19:10:50 +00:00
<stockholm/lass/2configs/hw/x220.nix>
2017-08-21 10:36:04 +00:00
<stockholm/lass/2configs/boot/stock-x220.nix>
2017-07-23 19:10:50 +00:00
<stockholm/lass/2configs/mouse.nix>
<stockholm/lass/2configs/retiolum.nix>
<stockholm/lass/2configs/baseX.nix>
<stockholm/lass/2configs/exim-retiolum.nix>
<stockholm/lass/2configs/programs.nix>
<stockholm/lass/2configs/bitcoin.nix>
<stockholm/lass/2configs/browsers.nix>
<stockholm/lass/2configs/games.nix>
<stockholm/lass/2configs/pass.nix>
<stockholm/lass/2configs/elster.nix>
<stockholm/lass/2configs/steam.nix>
<stockholm/lass/2configs/wine.nix>
<stockholm/lass/2configs/git.nix>
<stockholm/lass/2configs/virtualbox.nix>
<stockholm/lass/2configs/fetchWallpaper.nix>
<stockholm/lass/2configs/mail.nix>
<stockholm/lass/2configs/repo-sync.nix>
2017-09-03 22:16:54 +00:00
<stockholm/krebs/2configs/ircd.nix>
<stockholm/lass/2configs/logf.nix>
<stockholm/lass/2configs/syncthing.nix>
2017-07-17 13:11:54 +00:00
<stockholm/lass/2configs/otp-ssh.nix>
2017-09-03 08:36:14 +00:00
<stockholm/lass/2configs/c-base.nix>
2017-11-12 12:01:59 +00:00
<stockholm/lass/2configs/br.nix>
2018-01-03 17:23:22 +00:00
<stockholm/lass/2configs/ableton.nix>
{
#risk of rain port
krebs.iptables.tables.filter.INPUT.rules = [
{ predicate = "-p tcp --dport 11100"; target = "ACCEPT"; }
];
}
2016-07-05 07:18:16 +00:00
{
lass.umts = {
enable = true;
2017-09-19 18:07:05 +00:00
modem = "/dev/serial/by-id/usb-Lenovo_F5521gw_2C7D8D7C35FC7040-if09";
2016-07-05 07:18:16 +00:00
initstrings = ''
Init1 = AT+CFUN=1
Init2 = AT+CGDCONT=1,"IP","pinternet.interkom.de","",0,0
'';
};
}
2016-08-29 08:58:46 +00:00
{
2016-12-26 13:18:08 +00:00
services.nginx = {
2016-08-29 08:58:46 +00:00
enable = true;
2016-12-26 13:18:08 +00:00
virtualHosts.default = {
serverAliases = [
2016-12-22 22:23:59 +00:00
"localhost"
"${config.krebs.build.host.name}"
"${config.krebs.build.host.name}.r"
];
2016-12-26 13:18:08 +00:00
locations."~ ^/~(.+?)(/.*)?\$".extraConfig = ''
alias /home/$1/public_html$2;
'';
2016-12-22 22:23:59 +00:00
};
2016-08-29 08:58:46 +00:00
};
}
2016-10-20 19:05:56 +00:00
{
services.redis.enable = true;
}
2017-02-13 15:16:01 +00:00
{
environment.systemPackages = [
2017-06-18 12:00:05 +00:00
pkgs.ovh-zone
2017-02-13 15:16:01 +00:00
];
}
2017-04-16 21:35:02 +00:00
{
services.tor = {
enable = true;
client.enable = true;
};
}
2017-08-25 21:43:43 +00:00
{
services.mongodb.enable = true;
}
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
fileSystems = {
2017-07-16 19:34:47 +00:00
"/bku" = {
device = "/dev/mapper/pool-bku";
fsType = "btrfs";
options = ["defaults" "noatime" "ssd" "compress=lzo"];
};
2018-02-13 15:56:59 +00:00
"/home/virtual" = {
device = "/dev/mapper/pool-virtual";
fsType = "ext4";
};
2015-07-16 13:52:17 +00:00
};
services.udev.extraRules = ''
2017-08-21 10:36:04 +00:00
SUBSYSTEM=="net", ATTR{address}=="00:24:d7:f0:e8:c8", NAME="wl0"
SUBSYSTEM=="net", ATTR{address}=="f0:de:f1:8f:8a:78", NAME="et0"
2015-07-16 13:52:17 +00:00
'';
#TODO activationScripts seem broken, fix them!
#activationScripts
#split up and move into base
system.activationScripts.powertopTunables = ''
#Runtime PMs
echo 'auto' > '/sys/bus/pci/devices/0000:00:02.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00: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: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:1c.1/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1c.4/power/control'
'';
environment.systemPackages = with pkgs; [
2016-03-15 13:12:13 +00:00
acronym
2017-06-20 17:46:37 +00:00
brain
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
2016-04-13 14:47:47 +00:00
urban
mk_sql_pair
2016-05-31 22:10:13 +00:00
remmina
2016-08-29 08:59:03 +00:00
2016-10-01 00:13:47 +00:00
iodine
2016-10-02 10:38:04 +00:00
macchanger
2017-09-19 18:11:43 +00:00
dpass
2017-11-12 12:02:21 +00:00
dnsutils
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"
];
};
};
2016-06-28 15:25:12 +00:00
krebs.repo-sync.timerConfig = {
OnCalendar = "00:37";
};
2017-10-09 11:19:27 +00:00
environment.shellAliases = {
deploy = pkgs.writeDash "deploy" ''
set -eu
export PATH=${makeBinPath [
pkgs.bash
pkgs.coreutils
pkgs.nix
(pkgs.writeDashBin "is-git-crypt-locked" ''
magic=$(dd status=none if="$1" skip=1 bs=1 count=8)
test "$magic" = GITCRYPT
'')
]}
cd ~/stockholm
export SYSTEM="$1"
if is-git-crypt-locked ~/secrets/ready; then
echo 'secrets are crypted' >&2
exit 23
else
2017-12-12 16:30:48 +00:00
exec nix-shell -I stockholm="$PWD" --run 'deploy --diff --system="$SYSTEM"'
2017-10-09 11:19:27 +00:00
fi
'';
predeploy = pkgs.writeDash "predeploy" ''
set -eu
export PATH=${makeBinPath [
pkgs.bash
pkgs.coreutils
pkgs.nix
]}
cd ~/stockholm
export SYSTEM="$1"
exec nix-shell -I stockholm="$PWD" --run 'test --system="$SYSTEM" --target="$SYSTEM/var/test/" --force-populate'
'';
};
2017-11-12 12:02:48 +00:00
2018-01-20 12:03:21 +00:00
nix.package = pkgs.nixUnstable;
2017-11-12 12:02:48 +00:00
programs.adb.enable = true;
2018-02-13 16:06:02 +00:00
users.users.mainUser.extraGroups = [ "adbusers" "docker" ];
virtualisation.docker.enable = true;
2015-07-16 13:52:17 +00:00
}