From bfc2aa3b236813945ca4f2b5d683d51c82e983b7 Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 21 Jul 2016 10:38:41 +0200 Subject: m 2 hw/tp-x2x0: disable touchpad via synaptics --- makefu/2configs/hw/tp-x2x0.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'makefu') diff --git a/makefu/2configs/hw/tp-x2x0.nix b/makefu/2configs/hw/tp-x2x0.nix index c10ec1314..9047cfb66 100644 --- a/makefu/2configs/hw/tp-x2x0.nix +++ b/makefu/2configs/hw/tp-x2x0.nix @@ -12,6 +12,12 @@ with config.krebs.lib; zramSwap.enable = true; zramSwap.numDevices = 2; + # enable synaptics so we can easily disable the touchpad + # enable the touchpad with `synclient TouchpadOff=0` + services.xserver.synaptics = { + enable = true; + additionalOptions = ''Option "TouchpadOff" "1"''; + }; hardware.trackpoint = { enable = true; sensitivity = 220; @@ -19,7 +25,6 @@ with config.krebs.lib; emulateWheel = true; }; - services.tlp.enable = true; services.tlp.extraConfig = '' # BUG: http://linrunner.de/en/tlp/docs/tlp-faq.html#erratic-battery -- cgit v1.2.3 From 864e711114b048e875f0d73eeefdca436eebea00 Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 21 Jul 2016 16:19:07 +0200 Subject: k 3 nginx: add ssl.force_encryption --- makefu/2configs/bepasty-dual.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'makefu') diff --git a/makefu/2configs/bepasty-dual.nix b/makefu/2configs/bepasty-dual.nix index f675c4ac8..4b5389c32 100644 --- a/makefu/2configs/bepasty-dual.nix +++ b/makefu/2configs/bepasty-dual.nix @@ -45,6 +45,7 @@ in { #certificate = "${sec}/wildcard.krebsco.de.crt"; #certificate_key = "${sec}/wildcard.krebsco.de.key"; ciphers = "RC4:HIGH:!aNULL:!MD5" ; + force_encryption = true; }; locations = singleton ( nameValuePair "/.well-known/acme-challenge" '' root ${acmechall}/${ext-dom}/; @@ -54,10 +55,7 @@ in { ssl_session_timeout 10m; ssl_verify_client off; proxy_ssl_session_reuse off; - - if ($scheme = http){ - return 301 https://$server_name$request_uri; - }''; + ''; }; defaultPermissions = "read"; secretKey = secKey; -- cgit v1.2.3 From fa3896135414b2634e6d912a2647aba7bea3ac2d Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 22 Jul 2016 12:35:06 +0200 Subject: m 2 zsh-user: use absolute path to gpg-connect-agent --- makefu/2configs/zsh-user.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'makefu') diff --git a/makefu/2configs/zsh-user.nix b/makefu/2configs/zsh-user.nix index 99c1315e1..a3286b7fd 100644 --- a/makefu/2configs/zsh-user.nix +++ b/makefu/2configs/zsh-user.nix @@ -22,7 +22,7 @@ in bindkey "\e[3~" delete-char zstyle ':completion:*' menu select - gpg-connect-agent updatestartuptty /bye >/dev/null + ${pkgs.gnupg}/bin/gpg-connect-agent updatestartuptty /bye >/dev/null GPG_TTY=$(tty) export GPG_TTY unset SSH_AGENT_PID -- cgit v1.2.3 From 88a220f78825c1bfc60f0e885e02eacc0b7cd6a9 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 27 Jul 2016 00:05:59 +0200 Subject: m 1 omo: configure mergerfs --- makefu/1systems/omo.nix | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) (limited to 'makefu') diff --git a/makefu/1systems/omo.nix b/makefu/1systems/omo.nix index e11abd40d..ead8f49b6 100644 --- a/makefu/1systems/omo.nix +++ b/makefu/1systems/omo.nix @@ -4,6 +4,7 @@ { config, pkgs, lib, ... }: let + toMapper = id: "/media/crypt${builtins.toString id}"; byid = dev: "/dev/disk/by-id/" + dev; keyFile = byid "usb-Verbatim_STORE_N_GO_070B3CEE0B223954-0:0"; rootDisk = byid "ata-SanDisk_SD8SNAT128G1122_162099420904"; @@ -33,7 +34,8 @@ let # all physical disks # TODO callPackage ../3modules/MonitorDisks { disks = allDisks } - allDisks = [ rootDisk cryptDisk0 cryptDisk1 cryptDisk2 ]; + dataDisks = [ cryptDisk0 cryptDisk1 cryptDisk2 ]; + allDisks = [ rootDisk ] ++ dataDisks; in { imports = [ @@ -73,25 +75,34 @@ in { virtualisation.docker.enable = true; - # HDD Array stuff - environment.systemPackages = [ pkgs.mergerfs ]; services.smartd.devices = builtins.map (x: { device = x; }) allDisks; - makefu.snapraid = let - toMapper = id: "/media/crypt${builtins.toString id}"; - in { + makefu.snapraid = { enable = true; disks = map toMapper [ 0 1 ]; parity = toMapper 2; }; + # TODO create folders in /media + system.activationScripts.createCryptFolders = '' + ${lib.concatMapStringsSep "\n" + (d: "install -m 755 -d " + (toMapper d) ) + [ 0 1 2 "X" ]} + ''; + environment.systemPackages = [ pkgs.mergerfs ]; fileSystems = let cryptMount = name: { "/media/${name}" = { device = "/dev/mapper/${name}"; fsType = "xfs"; };}; in cryptMount "crypt0" // cryptMount "crypt1" - // cryptMount "crypt2"; + // cryptMount "crypt2" + // { "/media/cryptX" = { + device = (lib.concatMapStringsSep ":" (d: (toMapper d)) [ 0 1 2 ]); + fsType = "mergerfs"; + options = [ "defaults" "allow_other" ]; + }; + }; powerManagement.powerUpCommands = lib.concatStrings (map (disk: '' ${pkgs.hdparm}/sbin/hdparm -S 100 ${disk} -- cgit v1.2.3 From b1569158057042aa50e6816e38f0305bab8e5f9c Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 28 Jul 2016 12:58:54 +0200 Subject: makefu: pornocauster -> x --- makefu/1systems/pornocauster.nix | 81 ---------------------------------------- makefu/1systems/wbob.nix | 2 +- makefu/1systems/x.nix | 73 ++++++++++++++++++++++++++++++++++++ makefu/2configs/tinc/siem.nix | 12 ++++++ 4 files changed, 86 insertions(+), 82 deletions(-) delete mode 100644 makefu/1systems/pornocauster.nix create mode 100644 makefu/1systems/x.nix create mode 100644 makefu/2configs/tinc/siem.nix (limited to 'makefu') diff --git a/makefu/1systems/pornocauster.nix b/makefu/1systems/pornocauster.nix deleted file mode 100644 index b683e5630..000000000 --- a/makefu/1systems/pornocauster.nix +++ /dev/null @@ -1,81 +0,0 @@ -# -# -# -{ config, pkgs, ... }: - -{ - imports = - [ # Include the results of the hardware scan. - ../. - ../2configs/main-laptop.nix #< base-gui + zsh - ../2configs/laptop-utils.nix - - # Krebs - #../2configs/disable_v6.nix - - - # applications - - ../2configs/exim-retiolum.nix - ../2configs/mail-client.nix - ../2configs/printer.nix - ../2configs/virtualization.nix - ../2configs/virtualization-virtualbox.nix - ../2configs/wwan.nix - - # services - ../2configs/git/brain-retiolum.nix - ../2configs/tor.nix - ../2configs/steam.nix - # ../2configs/buildbot-standalone.nix - - # hardware specifics are in here - ../2configs/hw/tp-x220.nix - ../2configs/hw/rtl8812au.nix - # mount points - ../2configs/fs/sda-crypto-root-home.nix - # ../2configs/mediawiki.nix - #../2configs/wordpress.nix - ../2configs/nginx/public_html.nix - - ../2configs/tinc/retiolum.nix - # temporary modules - ../2configs/temp/share-samba.nix - # ../2configs/temp/elkstack.nix - # ../2configs/temp/sabnzbd.nix - ]; - - services.tinc.networks.siem = { - name = "makefu"; - extraConfig = '' - ConnectTo = sdarth - ConnectTo = sjump - ''; - }; - - krebs.nginx = { - default404 = false; - servers.default.listen = [ "80 default_server" ]; - servers.default.server-names = [ "_" ]; - }; - - environment.systemPackages = [ pkgs.passwdqc-utils pkgs.bintray-upload ]; - - virtualisation.docker.enable = true; - - # configure pulseAudio to provide a HDMI sink as well - networking.firewall.enable = true; - networking.firewall.allowedTCPPorts = [ 80 24800 ]; - networking.firewall.allowedUDPPorts = [ 665 ]; - - krebs.build.host = config.krebs.hosts.pornocauster; - krebs.hosts.omo.nets.retiolum.via.ip4.addr = "192.168.1.11"; - - krebs.tinc.retiolum.connectTo = [ "omo" "gum" "prism" ]; - - networking.extraHosts = '' - 192.168.1.11 omo.local - ''; - # hard dependency because otherwise the device will not be unlocked - boot.initrd.luks.devices = [ { name = "luksroot"; device = "/dev/sda2"; allowDiscards=true; }]; -} diff --git a/makefu/1systems/wbob.nix b/makefu/1systems/wbob.nix index e8e0b091f..ff593ab35 100644 --- a/makefu/1systems/wbob.nix +++ b/makefu/1systems/wbob.nix @@ -66,7 +66,7 @@ in { client = { enable = true; screenName = "wbob"; - serverAddress = "pornocauster.r"; + serverAddress = "x.r"; }; }; } diff --git a/makefu/1systems/x.nix b/makefu/1systems/x.nix new file mode 100644 index 000000000..d41edfa46 --- /dev/null +++ b/makefu/1systems/x.nix @@ -0,0 +1,73 @@ +# +# +# +{ config, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ../. + ../2configs/main-laptop.nix #< base-gui + zsh + ../2configs/laptop-utils.nix + + # Krebs + #../2configs/disable_v6.nix + + + # applications + + ../2configs/exim-retiolum.nix + ../2configs/mail-client.nix + ../2configs/printer.nix + ../2configs/virtualization.nix + ../2configs/virtualization-virtualbox.nix + ../2configs/wwan.nix + + # services + ../2configs/git/brain-retiolum.nix + ../2configs/tor.nix + ../2configs/steam.nix + # ../2configs/buildbot-standalone.nix + + # hardware specifics are in here + ../2configs/hw/tp-x220.nix + ../2configs/hw/rtl8812au.nix + # mount points + ../2configs/fs/sda-crypto-root-home.nix + # ../2configs/mediawiki.nix + #../2configs/wordpress.nix + ../2configs/nginx/public_html.nix + + ../2configs/tinc/retiolum.nix + # temporary modules + ../2configs/temp/share-samba.nix + # ../2configs/temp/elkstack.nix + # ../2configs/temp/sabnzbd.nix + ../2configs/tinc/siem.nix + ]; + krebs.nginx = { + default404 = false; + servers.default.listen = [ "80 default_server" ]; + servers.default.server-names = [ "_" ]; + }; + + environment.systemPackages = [ pkgs.passwdqc-utils pkgs.bintray-upload ]; + + virtualisation.docker.enable = true; + + # configure pulseAudio to provide a HDMI sink as well + networking.firewall.enable = true; + networking.firewall.allowedTCPPorts = [ 80 24800 26061 ]; + networking.firewall.allowedUDPPorts = [ 665 26061 ]; + + krebs.build.host = config.krebs.hosts.x; + krebs.hosts.omo.nets.retiolum.via.ip4.addr = "192.168.1.11"; + + krebs.tinc.retiolum.connectTo = [ "omo" "gum" "prism" ]; + + networking.extraHosts = '' + 192.168.1.11 omo.local + ''; + # hard dependency because otherwise the device will not be unlocked + boot.initrd.luks.devices = [ { name = "luksroot"; device = "/dev/sda2"; allowDiscards=true; }]; +} diff --git a/makefu/2configs/tinc/siem.nix b/makefu/2configs/tinc/siem.nix new file mode 100644 index 000000000..fae72590f --- /dev/null +++ b/makefu/2configs/tinc/siem.nix @@ -0,0 +1,12 @@ +{lib, config, ... }: +{ + # TODO do not know why we need to force it, port is only set via default to 655 + krebs.build.host.nets.siem.tinc.port = lib.mkForce 1655; + + networking.firewall.allowedUDPPorts = [ 1665 ]; + networking.firewall.allowedTCPPorts = [ 1655 ]; + krebs.tinc.siem = { + enable = true; + connectTo = [ "shoney" ]; + }; +} -- cgit v1.2.3 From 469fc88a6f4015dc1a71bc668107488fdb6a4a52 Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 28 Jul 2016 12:59:29 +0200 Subject: m ps3netsrv: init --- makefu/3modules/default.nix | 7 +++-- makefu/3modules/ps3netsrv.nix | 58 ++++++++++++++++++++++++++++++++++++++ makefu/5pkgs/ps3netsrv/default.nix | 2 +- 3 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 makefu/3modules/ps3netsrv.nix (limited to 'makefu') diff --git a/makefu/3modules/default.nix b/makefu/3modules/default.nix index febebaa18..7fc095bab 100644 --- a/makefu/3modules/default.nix +++ b/makefu/3modules/default.nix @@ -2,11 +2,12 @@ _: { imports = [ - ./snapraid.nix - ./umts.nix - ./taskserver.nix ./awesome-extra.nix ./forward-journal.nix + ./ps3netsrv.nix + ./snapraid.nix + ./taskserver.nix + ./umts.nix ]; } diff --git a/makefu/3modules/ps3netsrv.nix b/makefu/3modules/ps3netsrv.nix new file mode 100644 index 000000000..22681637c --- /dev/null +++ b/makefu/3modules/ps3netsrv.nix @@ -0,0 +1,58 @@ +{ config, lib, pkgs, ... }: + +with config.krebs.lib; +let + cfg = config.makefu.ps3netsrv; + + out = { + options.makefu.ps3netsrv = api; + config = lib.mkIf cfg.enable imp; + }; + + api = { + enable = mkEnableOption "ps3netsrv"; + + servedir = mkOption { + description = "path to serve, must be set"; + type = types.str; + }; + + package = mkOption { + type = types.package; + default = pkgs.ps3netsrv; + }; + + user = mkOption { + description = ''user which will run ps3netsrv''; + type = types.str; + default = "ps3netsrv"; + }; + }; + + imp = { + systemd.services.ps3netsrv = { + description = "ps3netsrv server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + restartIfChanged = true; + unitConfig = { + Documentation = "https://www.arm-blog.com/playing-ps3-games-from-your-nas/" ; + ConditionPathExists = cfg.servedir; + }; + serviceConfig = { + Type = "simple"; + ExecStart = "${cfg.package}/bin/ps3netsrv++ ${shell.escape cfg.servedir}"; + PrivateTmp = true; + User = "${cfg.user}"; + }; + }; + + # TODO only create if user is ps3netsrv + users.users.ps3netsrv = { + uid = genid "ps3netsrv"; + }; + users.groups.ps3netsrv.gid = genid "ps3netsrv"; + }; +in +out + diff --git a/makefu/5pkgs/ps3netsrv/default.nix b/makefu/5pkgs/ps3netsrv/default.nix index 904185934..f62ee0c9a 100644 --- a/makefu/5pkgs/ps3netsrv/default.nix +++ b/makefu/5pkgs/ps3netsrv/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { url = "https://github.com/dirkvdb/ps3netsrv--"; fetchSubmodules = true; rev = "e54a66cbf142b86e2cffc1701984b95adb921e81"; # latest @ 2016-05-24 - sha256 = "0l7bp18cs3xr2qgsmcf18diccski49mj9whngxm9isi8wd4r9inj"; + sha256 = "09hvmfzqy2jckpsml0z1gkcnar8sigmgs1q66k718fph2d3g54sa"; }; nativeBuildInputs = [ gnugrep ]; -- cgit v1.2.3 From 0916d0167c5ff983bc0202f7351be807e2fa1a1b Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 28 Jul 2016 13:00:24 +0200 Subject: m 5 git-xlsx-textconv: fix builder --- makefu/5pkgs/git-xlsx-textconv/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'makefu') diff --git a/makefu/5pkgs/git-xlsx-textconv/default.nix b/makefu/5pkgs/git-xlsx-textconv/default.nix index 1f631f020..66dde76ef 100644 --- a/makefu/5pkgs/git-xlsx-textconv/default.nix +++ b/makefu/5pkgs/git-xlsx-textconv/default.nix @@ -1,6 +1,6 @@ -{ stdenv, lib, goPackages, fetchFromGitHub }: +{ stdenv, lib, buildGoPackage, fetchFromGitHub }: let - go-xlsx = goPackages.buildGoPackage rec { + go-xlsx = buildGoPackage rec { name = "go-xlsx-${version}"; version = "46e6e472d"; @@ -13,7 +13,7 @@ let }; }; in -(goPackages.buildGoPackage rec { +(buildGoPackage rec { name = "git-xlsx-textconv-${version}"; version = "70685e7f8"; -- cgit v1.2.3 From 64f0e746992f9ab1395a917f43af09a86add70b6 Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 28 Jul 2016 13:02:06 +0200 Subject: m 1 omo: enable ps3netsrv --- makefu/1systems/omo.nix | 5 ++++- makefu/2configs/nginx/euer.wiki.nix | 38 ++++++++++++++++++++++++++++--------- 2 files changed, 33 insertions(+), 10 deletions(-) (limited to 'makefu') diff --git a/makefu/1systems/omo.nix b/makefu/1systems/omo.nix index ead8f49b6..699cdb2e1 100644 --- a/makefu/1systems/omo.nix +++ b/makefu/1systems/omo.nix @@ -74,7 +74,10 @@ in { systemd.services.sabnzbd.environment.SSL_CERT_FILE = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; virtualisation.docker.enable = true; - + makefu.ps3netsrv = { + enable = true; + servedir = "/media/cryptX/emu/ps3"; + }; # HDD Array stuff services.smartd.devices = builtins.map (x: { device = x; }) allDisks; diff --git a/makefu/2configs/nginx/euer.wiki.nix b/makefu/2configs/nginx/euer.wiki.nix index 10985c833..655dee7b2 100644 --- a/makefu/2configs/nginx/euer.wiki.nix +++ b/makefu/2configs/nginx/euer.wiki.nix @@ -3,8 +3,15 @@ with config.krebs.lib; let sec = toString ; - ssl_cert = "${sec}/wildcard.krebsco.de.crt"; - ssl_key = "${sec}/wildcard.krebsco.de.key"; + ext-dom = "wiki.euer.krebsco.de"; + acmepath = "/var/lib/acme/"; + acmechall = acmepath + "/challenges/"; + + #ssl_cert = "${sec}/wildcard.krebsco.de.crt"; + #ssl_key = "${sec}/wildcard.krebsco.de.key"; + ssl_cert = "${acmepath}/${ext-dom}/fullchain.pem"; + ssl_key = "${acmepath}/${ext-dom}/key.pem"; + user = config.services.nginx.user; group = config.services.nginx.group; fpm-socket = "/var/run/php5-fpm.sock"; @@ -80,22 +87,23 @@ in { listen = [ "${external-ip}:80" "${external-ip}:443 ssl" "${internal-ip}:80" "${internal-ip}:443 ssl" ]; server-names = [ - "wiki.euer.krebsco.de" + ext-dom "wiki.makefu.retiolum" "wiki.makefu" ]; + ssl = { + enable = true; + # these certs will be needed if acme has not yet created certificates: + certificate = ssl_cert; + certificate_key = ssl_key; + force_encryption = true; + }; extraConfig = '' gzip on; gzip_buffers 4 32k; gzip_types text/plain application/x-javascript text/css; - ssl_certificate ${ssl_cert}; - ssl_certificate_key ${ssl_key}; default_type text/plain; - if ($scheme = http){ - return 301 https://$server_name$request_uri; - } - ''; locations = [ (nameValuePair "/" '' @@ -111,8 +119,20 @@ in { include ${pkgs.nginx}/conf/fastcgi_params; include ${pkgs.nginx}/conf/fastcgi.conf; '') + (nameValuePair "/.well-known/acme-challenge" '' + root ${acmechall}/${ext-dom}/; + '') + ]; }; }; }; + security.acme.certs."${ext-dom}" = { + email = "acme@syntax-fehler.de"; + webroot = "${acmechall}/${ext-dom}/"; + group = "nginx"; + allowKeysForGroup = true; + postRun = "systemctl reload nginx.service"; + extraDomains."${ext-dom}" = null ; + }; } -- cgit v1.2.3 From d3e9830f9850591e5a0e0820b785fd324087ac40 Mon Sep 17 00:00:00 2001 From: makefu Date: Sat, 30 Jul 2016 18:31:17 +0200 Subject: m 5 wol: init --- makefu/5pkgs/default.nix | 9 +++++---- makefu/5pkgs/wol/default.nix | 22 ++++++++++++++++++++++ 2 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 makefu/5pkgs/wol/default.nix (limited to 'makefu') diff --git a/makefu/5pkgs/default.nix b/makefu/5pkgs/default.nix index 718b23c9e..29e762f27 100644 --- a/makefu/5pkgs/default.nix +++ b/makefu/5pkgs/default.nix @@ -5,20 +5,21 @@ let in { nixpkgs.config.packageOverrides = rec { - alsa-hdspmixer = callPackage ./alsa-tools { alsaToolTarget="hdspmixer";}; alsa-hdspconf = callPackage ./alsa-tools { alsaToolTarget="hdspconf";}; + alsa-hdspmixer = callPackage ./alsa-tools { alsaToolTarget="hdspmixer";}; alsa-hdsploader = callPackage ./alsa-tools { alsaToolTarget="hdsploader";}; awesomecfg = callPackage ./awesomecfg {}; bintray-upload = callPackage ./bintray-upload {}; + inherit (callPackage ./devpi {}) devpi-web devpi-server; + farpd = callPackage ./farpd {}; git-xlsx-textconv = callPackage ./git-xlsx-textconv {}; mergerfs = callPackage ./mergerfs {}; mycube-flask = callPackage ./mycube-flask {}; nodemcu-uploader = callPackage ./nodemcu-uploader {}; + ps3netsrv = callPackage ./ps3netsrv {}; tw-upload-plugin = callPackage ./tw-upload-plugin {}; - inherit (callPackage ./devpi {}) devpi-web devpi-server; skytraq-logger = callPackage ./skytraq-logger {}; taskserver = callPackage ./taskserver {}; - ps3netsrv = callPackage ./ps3netsrv {}; - farpd = callPackage ./farpd {}; + wol = callPackage ./wol {}; }; } diff --git a/makefu/5pkgs/wol/default.nix b/makefu/5pkgs/wol/default.nix new file mode 100644 index 000000000..a6d54b8a2 --- /dev/null +++ b/makefu/5pkgs/wol/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + proj = "wake-on-lan"; + name = "wol-${version}"; + version = "0.7.1"; + + enableParallelBuilding = true; + + src = fetchurl { + url = "mirror://sourceforge/${proj}/${name}.tar.gz"; + sha256 = "08i6l5lr14mh4n3qbmx6kyx7vjqvzdnh3j9yfvgjppqik2dnq270"; + }; + + meta = { + description = "simple wake-on-lan client"; + homepage = https://sourceforge.net/projects/wake-on-lan/; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ makefu ]; + }; +} -- cgit v1.2.3 From 75cecd1f2e1ea789d574e4092bc5c2725edf2c00 Mon Sep 17 00:00:00 2001 From: makefu Date: Sat, 30 Jul 2016 18:42:57 +0200 Subject: m 1 filepimp: enable wol --- makefu/1systems/filepimp.nix | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'makefu') diff --git a/makefu/1systems/filepimp.nix b/makefu/1systems/filepimp.nix index c6966c99c..4037f693d 100644 --- a/makefu/1systems/filepimp.nix +++ b/makefu/1systems/filepimp.nix @@ -3,6 +3,7 @@ let byid = dev: "/dev/disk/by-id/" + dev; part1 = disk: disk + "-part1"; rootDisk = byid "ata-SanDisk_SDSSDP064G_140237402890"; + primary-interface = "enp2s0"; # c8:cb:b8:cf:e4:dc # N54L Chassis: # ____________________ # |______FRONT_______| @@ -75,4 +76,11 @@ in { (xfsmount "j2" (part1 jDisk2)) // (xfsmount "par0" (part1 jDisk3)) ; + services.wakeonlan.interfaces = [ + { + interface = primary-interface; + method = "password"; + password = "CA:FE:BA:BE:13:37"; + } + ]; } -- cgit v1.2.3 From d82d6dfb8609fadc8a65c6ff61e8ced2fdbde9ba Mon Sep 17 00:00:00 2001 From: makefu Date: Sat, 30 Jul 2016 18:43:21 +0200 Subject: m 1 omo: add wol pkg to systempkgs --- makefu/1systems/omo.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'makefu') diff --git a/makefu/1systems/omo.nix b/makefu/1systems/omo.nix index 699cdb2e1..3aa5e943e 100644 --- a/makefu/1systems/omo.nix +++ b/makefu/1systems/omo.nix @@ -93,7 +93,10 @@ in { (d: "install -m 755 -d " + (toMapper d) ) [ 0 1 2 "X" ]} ''; - environment.systemPackages = [ pkgs.mergerfs ]; + environment.systemPackages = with pkgs;[ + mergerfs # hard requirement for mount + wol # wake up filepimp + ]; fileSystems = let cryptMount = name: { "/media/${name}" = { device = "/dev/mapper/${name}"; fsType = "xfs"; };}; -- cgit v1.2.3 From e215b30483a4275ac831c6def9c27b004d4d6887 Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 2 Aug 2016 11:49:24 +0200 Subject: m 2 base-gui: xhost +local: --- makefu/2configs/base-gui.nix | 5 ++++- makefu/2configs/fetchWallpaper.nix | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'makefu') diff --git a/makefu/2configs/base-gui.nix b/makefu/2configs/base-gui.nix index f7d6991c5..a028e5073 100644 --- a/makefu/2configs/base-gui.nix +++ b/makefu/2configs/base-gui.nix @@ -87,5 +87,8 @@ in URxvt.url-select.underline: true URxvt.searchable-scrollback: CM-s ''; - in "cat ${xdefaultsfile} | xrdb -merge"; + in '' + cat ${xdefaultsfile} | xrdb -merge + ${pkgs.xorg.xhost}/bin/xhost +local: + ''; } diff --git a/makefu/2configs/fetchWallpaper.nix b/makefu/2configs/fetchWallpaper.nix index 786df6d40..fb74919c4 100644 --- a/makefu/2configs/fetchWallpaper.nix +++ b/makefu/2configs/fetchWallpaper.nix @@ -3,7 +3,7 @@ { krebs.fetchWallpaper = { enable = true; - display = ":0"; + display = ":0.0"; unitConfig.ConditionPathExists = "!/var/run/ppp0.pid"; timerConfig = { OnCalendar = "*:0/30"; -- cgit v1.2.3 From 278e34c393988b3e039c7e47bbb73eb8adb978f8 Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 2 Aug 2016 11:50:16 +0200 Subject: m 2 main-laptop: add power-action --- makefu/2configs/main-laptop.nix | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'makefu') diff --git a/makefu/2configs/main-laptop.nix b/makefu/2configs/main-laptop.nix index 3cc91b630..92cc1fc43 100644 --- a/makefu/2configs/main-laptop.nix +++ b/makefu/2configs/main-laptop.nix @@ -16,6 +16,44 @@ with config.krebs.lib; users.users.${config.krebs.build.user.name}.extraGroups = [ "dialout" ]; + krebs.power-action = let + speak = "${pkgs.espeak}/bin/espeak"; + whisper = text: ''${pkgs.espeak}/bin/espeak -v +whisper -s 110 "${text}"''; + note = "${pkgs.libnotify}/bin/notify-send"; + in { + enable = true; + plans.low-battery = { + upperLimit = 25; + lowerLimit = 15; + charging = false; + action = whisper "power level low, please plug me in"; + }; + plans.nag-harder = { + upperLimit = 15; + lowerLimit = 5; + action = pkgs.writeDash "crit-speak" '' + ${whisper "Power level critical, do something"} + ${note} Battery -u critical -t 600000 "Power level critical, do something!" + ''; + }; + plans.last-chance = { + upperLimit = 5; + lowerLimit = 3; + charging = false; + action = pkgs.writeDash "suspend-wrapper" '' + ${note} Battery -u crit "You've had your chance, suspend in 5 seconds" + ${concatMapStringsSep "\n" (i: '' + ${note} -u critical -t 1000 ${toString i} + ${speak} ${toString i} & + sleep 1 + '') + [ 5 4 3 2 1 ]} + /var/setuid-wrappers/sudo ${pkgs.systemd}/bin/systemctl suspend + ''; + }; + }; + users.users.power-action.extraGroups = [ "audio" ]; + security.sudo.extraConfig = "${config.krebs.power-action.user.name} ALL= (root) NOPASSWD: ${pkgs.systemd}/bin/systemctl suspend"; services.redshift = { enable = true; -- cgit v1.2.3 From 9ef2790f099115a4759ae7ae45945a4d85ad097d Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 2 Aug 2016 11:50:53 +0200 Subject: m 2 tinc/siem: add krebs dns provider --- makefu/2configs/tinc/siem.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'makefu') diff --git a/makefu/2configs/tinc/siem.nix b/makefu/2configs/tinc/siem.nix index fae72590f..8f17f1a0a 100644 --- a/makefu/2configs/tinc/siem.nix +++ b/makefu/2configs/tinc/siem.nix @@ -2,7 +2,7 @@ { # TODO do not know why we need to force it, port is only set via default to 655 krebs.build.host.nets.siem.tinc.port = lib.mkForce 1655; - + krebs.dns.providers.siem = "hosts"; networking.firewall.allowedUDPPorts = [ 1665 ]; networking.firewall.allowedTCPPorts = [ 1655 ]; krebs.tinc.siem = { -- cgit v1.2.3 From 4719eb8d581dc6462e8531959c6e841e51c4f0d7 Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 2 Aug 2016 15:40:41 +0200 Subject: m 2 main-laptop: remove obsolete display --- makefu/2configs/base-gui.nix | 2 +- makefu/2configs/main-laptop.nix | 27 +++++++++++++++++++-------- 2 files changed, 20 insertions(+), 9 deletions(-) (limited to 'makefu') diff --git a/makefu/2configs/base-gui.nix b/makefu/2configs/base-gui.nix index a028e5073..b039c12ca 100644 --- a/makefu/2configs/base-gui.nix +++ b/makefu/2configs/base-gui.nix @@ -55,7 +55,7 @@ in hardware.pulseaudio = { enable = true; - # systemWide = true; + systemWide = true; }; services.xserver.displayManager.sessionCommands = let xdefaultsfile = pkgs.writeText "Xdefaults" '' diff --git a/makefu/2configs/main-laptop.nix b/makefu/2configs/main-laptop.nix index 92cc1fc43..9d5b06f70 100644 --- a/makefu/2configs/main-laptop.nix +++ b/makefu/2configs/main-laptop.nix @@ -6,7 +6,10 @@ # TODO split generic desktop stuff and laptop-specifics like lidswitching with config.krebs.lib; -{ +let + window-manager = "awesome"; + user = config.krebs.build.user.name; +in { imports = [ ./base-gui.nix ./fetchWallpaper.nix @@ -17,23 +20,32 @@ with config.krebs.lib; users.users.${config.krebs.build.user.name}.extraGroups = [ "dialout" ]; krebs.power-action = let - speak = "${pkgs.espeak}/bin/espeak"; - whisper = text: ''${pkgs.espeak}/bin/espeak -v +whisper -s 110 "${text}"''; - note = "${pkgs.libnotify}/bin/notify-send"; + #speak = "XDG_RUNTIME_DIR=/run/user/$(id -u) ${pkgs.espeak}/bin/espeak"; # when run as user + speak = "${pkgs.espeak}/bin/espeak"; # systemwide pulse + whisper = text: ''${speak} -v +whisper -s 110 "${text}"''; + + note = pkgs.writeDash "note-as-user" '' + eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(${pkgs.procps}/bin/pgrep -u ${user} ${window-manager})/environ)" + ${pkgs.libnotify}/bin/notify-send "$@"; + ''; in { enable = true; + inherit user; plans.low-battery = { upperLimit = 25; lowerLimit = 15; charging = false; - action = whisper "power level low, please plug me in"; + action = pkgs.writeDash "low-speak" '' + ${whisper "power level low, please plug me in"} + ''; }; plans.nag-harder = { upperLimit = 15; lowerLimit = 5; + charging = false; action = pkgs.writeDash "crit-speak" '' + ${note} Battery -u critical -t 60000 "Power level critical, do something!" ${whisper "Power level critical, do something"} - ${note} Battery -u critical -t 600000 "Power level critical, do something!" ''; }; plans.last-chance = { @@ -52,8 +64,7 @@ with config.krebs.lib; ''; }; }; - users.users.power-action.extraGroups = [ "audio" ]; - security.sudo.extraConfig = "${config.krebs.power-action.user.name} ALL= (root) NOPASSWD: ${pkgs.systemd}/bin/systemctl suspend"; + security.sudo.extraConfig = "${config.krebs.power-action.user} ALL= (root) NOPASSWD: ${pkgs.systemd}/bin/systemctl suspend"; services.redshift = { enable = true; -- cgit v1.2.3 From b197949ab83ee3ee87b5774e0fc7c8d0123a6708 Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 2 Aug 2016 19:09:42 +0200 Subject: m 5 f3: init --- makefu/5pkgs/default.nix | 1 + makefu/5pkgs/f3/default.nix | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 makefu/5pkgs/f3/default.nix (limited to 'makefu') diff --git a/makefu/5pkgs/default.nix b/makefu/5pkgs/default.nix index 29e762f27..6598f5d3f 100644 --- a/makefu/5pkgs/default.nix +++ b/makefu/5pkgs/default.nix @@ -11,6 +11,7 @@ in awesomecfg = callPackage ./awesomecfg {}; bintray-upload = callPackage ./bintray-upload {}; inherit (callPackage ./devpi {}) devpi-web devpi-server; + f3 = callPackage ./f3 {}; farpd = callPackage ./farpd {}; git-xlsx-textconv = callPackage ./git-xlsx-textconv {}; mergerfs = callPackage ./mergerfs {}; diff --git a/makefu/5pkgs/f3/default.nix b/makefu/5pkgs/f3/default.nix new file mode 100644 index 000000000..e7f20b1e6 --- /dev/null +++ b/makefu/5pkgs/f3/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub }: + +stdenv.mkDerivation rec { + name = "f3-${version}"; + version = "6.0"; + + enableParallelBuilding = true; + + src = fetchFromGitHub { + owner = "AltraMayor"; + repo = "f3"; + rev = "v${version}"; + sha256 = "1azi10ba0h9z7m0gmfnyymmfqb8380k9za8hn1rrw1s442hzgnz2"; + }; + + makeFlags = [ "PREFIX=$(out)" ]; + patchPhase = "sed -i 's/-oroot -groot//' Makefile"; + + meta = { + description = "Fight Flash Fraud"; + homepage = http://oss.digirati.com.br/f3/; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = with stdenv.lib.maintainers; [ makefu ]; + }; +} -- cgit v1.2.3