summaryrefslogtreecommitdiffstats
path: root/makefu/2configs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2018-01-02 20:58:59 +0100
committertv <tv@krebsco.de>2018-01-02 20:58:59 +0100
commit493984d97e6deaee3d7b358724e83c59bccb212d (patch)
tree691e019ae0b55d48a9681d9c26ae65e6c83d1d0f /makefu/2configs
parent84fdbeba2ceee152a128f5e9013043c172c07ecf (diff)
parente48b4eb4606f6d0ec0b930016a53e7e7cfcbfb64 (diff)
Merge remote-tracking branch 'prism/master'
Diffstat (limited to 'makefu/2configs')
-rw-r--r--makefu/2configs/hw/exfat-nofuse.nix4
-rw-r--r--makefu/2configs/hw/tp-x230.nix30
-rw-r--r--makefu/2configs/hw/tp-x2x0.nix7
-rw-r--r--makefu/2configs/mosh.nix3
-rw-r--r--makefu/2configs/remote-build/master.nix6
-rw-r--r--makefu/2configs/stats/telegraf/airsensor.nix36
-rw-r--r--makefu/2configs/stats/telegraf/bamstats.nix35
-rw-r--r--makefu/2configs/tools/all.nix1
-rw-r--r--makefu/2configs/tools/dev.nix5
-rw-r--r--makefu/2configs/tools/mobility.nix9
-rw-r--r--makefu/2configs/torrent.nix13
-rw-r--r--makefu/2configs/vpn/vpnws/client.nix9
-rw-r--r--makefu/2configs/vpn/vpnws/server.nix42
13 files changed, 155 insertions, 45 deletions
diff --git a/makefu/2configs/hw/exfat-nofuse.nix b/makefu/2configs/hw/exfat-nofuse.nix
deleted file mode 100644
index ca3485e9f..000000000
--- a/makefu/2configs/hw/exfat-nofuse.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{ config, ... }:
-{
- boot.extraModulePackages = [ config.boot.kernelPackages.exfat-nofuse ];
-}
diff --git a/makefu/2configs/hw/tp-x230.nix b/makefu/2configs/hw/tp-x230.nix
index 14572b35c..ec4e05d1b 100644
--- a/makefu/2configs/hw/tp-x230.nix
+++ b/makefu/2configs/hw/tp-x230.nix
@@ -3,38 +3,14 @@
with import <stockholm/lib>;
{
- imports = [ ./tp-x2x0.nix ];
- boot = {
- # tp-smapi is not supported bt x230 anymore
- kernelModules = [
- "kvm-intel"
- "thinkpad_ec"
- "acpi_call"
- # "thinkpad_acpi"
- # "tpm-rng"
- ];
- extraModulePackages = [
- config.boot.kernelPackages.acpi_call
- ];
- # support backlight adjustment
- kernelParams = [ "acpi_osi=Linux" "acpi_backlight=vendor" ];
- };
+ imports = [ ./tp-x2x0.nix <nixos-hardware/lenovo/thinkpad/x230> ];
# configured media keys inside awesomerc
# sound.mediaKeys.enable = true;
hardware.bluetooth.enable = true;
- services.acpid.enable = true;
- hardware.opengl.extraPackages = [ pkgs.vaapiIntel pkgs.vaapiVdpau ];
- services.xserver = {
- videoDriver = "intel";
- deviceSection = ''
- Option "AccelMethod" "sna"
- Option "Backlight" "intel_backlight"
- '';
- };
-
- security.rngd.enable = true;
+ # possible i915 powersave options:
+ # options i915 enable_rc6=1 enable_fbc=1 semaphores=1
services.xserver.displayManager.sessionCommands =''
xinput set-int-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation" 8 1
diff --git a/makefu/2configs/hw/tp-x2x0.nix b/makefu/2configs/hw/tp-x2x0.nix
index 81c4bf4c8..f33c12a8f 100644
--- a/makefu/2configs/hw/tp-x2x0.nix
+++ b/makefu/2configs/hw/tp-x2x0.nix
@@ -5,6 +5,11 @@ with import <stockholm/lib>;
imports = [
./tpm.nix
];
+
+ boot.kernelModules = [
+ "kvm-intel"
+ ];
+
networking.wireless.enable = lib.mkDefault true;
hardware.enableAllFirmware = true;
@@ -17,6 +22,8 @@ with import <stockholm/lib>;
# enable synaptics so we can easily disable the touchpad
# enable the touchpad with `synclient TouchpadOff=0`
+
+ services.xserver.libinput.enable = false;
services.xserver.synaptics = {
enable = true;
additionalOptions = ''Option "TouchpadOff" "1"'';
diff --git a/makefu/2configs/mosh.nix b/makefu/2configs/mosh.nix
new file mode 100644
index 000000000..1c2e34e0b
--- /dev/null
+++ b/makefu/2configs/mosh.nix
@@ -0,0 +1,3 @@
+{
+ programs.mosh.enable = true;
+}
diff --git a/makefu/2configs/remote-build/master.nix b/makefu/2configs/remote-build/master.nix
index 4ad2c5ed8..2a2c68119 100644
--- a/makefu/2configs/remote-build/master.nix
+++ b/makefu/2configs/remote-build/master.nix
@@ -8,7 +8,7 @@ in {
{ inherit hostName sshKey;
sshUser = "nixBuild";
system = "x86_64-linux";
- maxJobs = 1;
- }) [ "omo.r" "gum.r" "latte.r" ];
- # puyak.r "wbob.r"
+ maxJobs = 8;
+ }) [ "hotdog.r" ];
+ # puyak.r "wbob.r" "omo.r" "gum.r" "latte.r"
}
diff --git a/makefu/2configs/stats/telegraf/airsensor.nix b/makefu/2configs/stats/telegraf/airsensor.nix
index 09d23e7d4..9d481000f 100644
--- a/makefu/2configs/stats/telegraf/airsensor.nix
+++ b/makefu/2configs/stats/telegraf/airsensor.nix
@@ -1,11 +1,36 @@
{ pkgs, ...}:
-
-{
+let
+ genTopic = name: topic: tags: {
+ servers = [ "tcp://localhost:1883" ];
+ qos = 0;
+ connection_timeout = "30s";
+ topics = [ topic ];
+ tags = tags;
+ persistent_session = false;
+ name_override = name;
+ data_format = "value";
+ data_type = "float";
+ };
+ bamStat = stat: # Temperature or Humidity
+ host: # easy{1-4}
+ sensor: # dht11, dht22, ds18
+ (genTopic stat
+ "/bam/${host}/${sensor}/${stat}"
+ {"host" = host;
+ "scope" = "bam";
+ "sensor" = sensor;
+ } );
+ dht22 = host: [(bamStat "Temperature" host "dht22")
+ (bamStat "Humidity" host "dht22")];
+ dht11 = host: [(bamStat "Temperature" host "dht11")
+ (bamStat "Humidity" host "dht11")];
+ ds18 = host: [(bamStat "Temperature" host "ds18")];
+in {
services.udev.extraRules = ''
SUBSYSTEMS=="usb", ATTRS{product}=="iAQ Stick", GROUP="input"
'';
users.users.telegraf.extraGroups = [ "input" ];
- services.telegraf.extraConfig.inputs.exec = [
+ services.telegraf.extraConfig.inputs.exec = [
{
commands = [ "${pkgs.airsensor-py}/bin/airsensor-py"];
timeout = "10s";
@@ -16,4 +41,9 @@
tags.unit="VOC";
}
];
+ services.telegraf.extraConfig.inputs.mqtt_consumer =
+ (dht22 "easy1")
+ ++ (dht22 "easy2")
+ ++ (dht11 "easy3")
+ ++ (ds18 "easy3");
}
diff --git a/makefu/2configs/stats/telegraf/bamstats.nix b/makefu/2configs/stats/telegraf/bamstats.nix
new file mode 100644
index 000000000..ae5301204
--- /dev/null
+++ b/makefu/2configs/stats/telegraf/bamstats.nix
@@ -0,0 +1,35 @@
+{ pkgs, ...}:
+
+let
+ genTopic = name: topic: tags: {
+ servers = [ "tcp://localhost:1883" ];
+ qos = 0;
+ connection_timeout = "30s";
+ topics = [ topic ];
+ tags = tags;
+ persistent_session = false;
+ name_override = name;
+ data_format = "value";
+ data_type = "float";
+ };
+ bamStat = stat: # Temperature or Humidity
+ host: # easy{1-4}
+ sensor: # dht11, dht22, ds18
+ (genTopic stat
+ "/bam/${host}/${sensor}/${stat}"
+ {"host" = host;
+ "scope" = "bam";
+ "sensor" = sensor;
+ } );
+ dht22 = host: [(bamStat "Temperature" host "dht22")
+ (bamStat "Humidity" host "dht22")];
+ dht11 = host: [(bamStat "Temperature" host "dht11")
+ (bamStat "Humidity" host "dht11")];
+ ds18 = host: [(bamStat "Temperature" host "ds18")];
+in {
+ services.telegraf.extraConfig.inputs.mqtt_consumer =
+ (dht22 "easy1")
+ ++ (dht22 "easy2")
+ ++ (dht11 "easy3")
+ ++ (ds18 "easy3");
+}
diff --git a/makefu/2configs/tools/all.nix b/makefu/2configs/tools/all.nix
index 7755e2872..1ac22e34c 100644
--- a/makefu/2configs/tools/all.nix
+++ b/makefu/2configs/tools/all.nix
@@ -7,6 +7,7 @@
./extra-gui.nix
./games.nix
./media.nix
+ ./mobility.nix
./scanner-tools.nix
./sec.nix
./sec-gui.nix
diff --git a/makefu/2configs/tools/dev.nix b/makefu/2configs/tools/dev.nix
index 26e9808b2..04a65df26 100644
--- a/makefu/2configs/tools/dev.nix
+++ b/makefu/2configs/tools/dev.nix
@@ -2,8 +2,9 @@
{
users.users.makefu.packages = with pkgs;[
- python3Packages.virtualenv
+ python3
python3Packages.pyserial
+ python3Packages.virtualenv
# embedded
gi
flashrom
@@ -20,5 +21,7 @@
gen-oath-safe
cdrtools
stockholm
+ # git-related
+ tig
];
}
diff --git a/makefu/2configs/tools/mobility.nix b/makefu/2configs/tools/mobility.nix
new file mode 100644
index 000000000..1993a5212
--- /dev/null
+++ b/makefu/2configs/tools/mobility.nix
@@ -0,0 +1,9 @@
+{ config, pkgs, ... }:
+{
+ users.users.makefu.packages = with pkgs;[
+ go-mtpfs
+ mosh
+ ];
+
+ boot.extraModulePackages = [ config.boot.kernelPackages.exfat-nofuse ];
+}
diff --git a/makefu/2configs/torrent.nix b/makefu/2configs/torrent.nix
index d063ad3e3..a076479c2 100644
--- a/makefu/2configs/torrent.nix
+++ b/makefu/2configs/torrent.nix
@@ -8,13 +8,13 @@ let
peer-port = 51412;
web-port = 8112;
daemon-port = 58846;
- dl-dir = config.makefu.dl-dir;
+ torrent-dir = config.makefu.dl-dir;
in {
users.users = {
download = {
name = "download";
- home = dl-dir;
+ home = torrent-dir;
uid = mkDefault (genid "download");
createHome = true;
useDefaultShell = true;
@@ -26,9 +26,9 @@ in {
# todo: race condition, do this after download user has been created
system.activationScripts."download-dir-chmod" = ''
for i in finished watch torrents; do
- mkdir -p "${dl-dir}/$i"
- chown download:download "${dl-dir}/$i"
- chmod 770 "${dl-dir}/$i"
+ mkdir -p "${torrent-dir}/$i"
+ chown download:download "${torrent-dir}/$i"
+ chmod 770 "${torrent-dir}/$i"
done
'';
@@ -54,9 +54,8 @@ in {
rutorrent.enable = true;
enableXMLRPC = true;
listenPort = peer-port;
- downloadDir = dl-dir + "/finished";
+ workDir = torrent-dir;
# dump old torrents into watch folder to have them re-added
- watchDir = dl-dir +"/watch";
};
networking.firewall.extraCommands = ''
diff --git a/makefu/2configs/vpn/vpnws/client.nix b/makefu/2configs/vpn/vpnws/client.nix
new file mode 100644
index 000000000..d06bc27db
--- /dev/null
+++ b/makefu/2configs/vpn/vpnws/client.nix
@@ -0,0 +1,9 @@
+{ pkgs, ... }:
+{
+ users.users.makefu.packages = with pkgs; [ iproute vpn-ws ];
+ # vpn-ws-client vpnws wss://localhost/vpn --no-verify --exec "ip link set vpnws up;ip addr add 10.244.1.2/24 dev vpnws"
+ networking.interfaces.vpnws = {
+ virtual = true;
+ virtualType = "tap";
+ };
+}
diff --git a/makefu/2configs/vpn/vpnws/server.nix b/makefu/2configs/vpn/vpnws/server.nix
new file mode 100644
index 000000000..6baa5ff11
--- /dev/null
+++ b/makefu/2configs/vpn/vpnws/server.nix
@@ -0,0 +1,42 @@
+{pkgs, options, ... }:
+let
+ pkg = pkgs.vpn-ws;
+ uid = "nginx";
+ gid = "nginx";
+ ip = "${pkgs.iproute}/bin/ip";
+ socket = "/run/vpn.sock";
+ htpasswd = (toString <secrets>) + "/vpn-ws-auth";
+ nginx-prepared-secrets = "/var/spool/nginx/vpn-ws-auth";
+in {
+ systemd.services.vpn-ws-auth-prepare = {
+ wantedBy = [ "multi-user.target" ];
+ before = [ "nginx.service" ];
+ script = "install -m700 -o${uid} -g${gid} ${htpasswd} ${nginx-prepared-secrets}";
+ };
+ services.nginx.virtualHosts."euer.krebsco.de".locations."/vpn" = {
+ extraConfig = ''
+ auth_basic "please stand by...";
+ auth_basic_user_file ${nginx-prepared-secrets};
+ uwsgi_pass unix:${socket};
+ include ${pkgs.nginx}/conf/uwsgi_params;
+ '';
+ };
+
+ networking.interfaces.vpnws = {
+ virtual = true;
+ virtualType = "tap";
+ };
+ systemd.services.vpnws = {
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network.target" ];
+ serviceConfig = {
+ Restart = "always";
+ PrivateTmp = true;
+ ExecStartPre = pkgs.writeDash "vpnws-pre" ''
+ ${ip} link set vpnws up
+ ${ip} addr add 10.244.1.1/24 dev vpnws || :
+ '';
+ ExecStart = "${pkg}/bin/vpn-ws --uid ${uid} --gid ${gid} --tuntap vpnws ${socket}";
+ };
+ };
+}