diff options
-rw-r--r-- | krebs/3modules/setuid.nix | 2 | ||||
-rw-r--r-- | krebs/4lib/infest/prepare.sh | 7 | ||||
-rw-r--r-- | krebs/5pkgs/simple/brain/default.nix | 4 | ||||
-rw-r--r-- | lass/1systems/iso.nix | 2 | ||||
-rw-r--r-- | lass/1systems/mors.nix | 12 | ||||
-rw-r--r-- | lass/1systems/prism.nix | 4 | ||||
-rw-r--r-- | lass/2configs/buildbot-standalone.nix | 120 | ||||
-rw-r--r-- | lass/2configs/ciko.nix | 23 | ||||
-rw-r--r-- | lass/2configs/htop.nix | 2 | ||||
-rw-r--r-- | lass/2configs/mail.nix | 2 | ||||
-rw-r--r-- | lass/2configs/mc.nix | 2 | ||||
-rw-r--r-- | lass/2configs/mpv.nix | 2 | ||||
-rw-r--r-- | lass/2configs/nixpkgs.nix | 2 | ||||
-rw-r--r-- | lass/2configs/radio.nix | 5 | ||||
-rw-r--r-- | lass/2configs/websites/domsen.nix | 4 | ||||
-rw-r--r-- | makefu/1systems/x.nix | 2 | ||||
-rw-r--r-- | makefu/2configs/default.nix | 2 | ||||
-rw-r--r-- | makefu/2configs/deployment/dirctator.nix | 30 | ||||
-rw-r--r-- | makefu/2configs/git/brain-retiolum.nix | 57 |
19 files changed, 165 insertions, 119 deletions
diff --git a/krebs/3modules/setuid.nix b/krebs/3modules/setuid.nix index a17ec0883..02176ec4a 100644 --- a/krebs/3modules/setuid.nix +++ b/krebs/3modules/setuid.nix @@ -5,7 +5,7 @@ let out = { options.krebs.setuid = api; - config = imp; + config = mkIf (cfg != {}) imp; }; api = mkOption { diff --git a/krebs/4lib/infest/prepare.sh b/krebs/4lib/infest/prepare.sh index 3f5d66431..50d521e17 100644 --- a/krebs/4lib/infest/prepare.sh +++ b/krebs/4lib/infest/prepare.sh @@ -43,6 +43,13 @@ prepare() {( exit esac ;; + stockholm) + case $(cat /proc/cmdline) in + *' root=LABEL=NIXOS_ISO '*) + prepare_nixos_iso "$@" + exit + esac + ;; esac elif test -e /etc/centos-release; then case $(cat /etc/centos-release) in diff --git a/krebs/5pkgs/simple/brain/default.nix b/krebs/5pkgs/simple/brain/default.nix index 079db825f..e69b44f0f 100644 --- a/krebs/5pkgs/simple/brain/default.nix +++ b/krebs/5pkgs/simple/brain/default.nix @@ -1,11 +1,11 @@ { pass, writeOut, writeDash, ... }: writeOut "brain" { - "/bin/brain-pass".link = writeDash "brain-pass" '' + "/bin/brain".link = writeDash "brain" '' PASSWORD_STORE_DIR=$HOME/brain \ exec ${pass}/bin/pass $@ ''; - "/bin/brain-passmenu".link = writeDash "brain-passmenu" '' + "/bin/brainmenu".link = writeDash "brainmenu" '' PASSWORD_STORE_DIR=$HOME/brain \ exec ${pass}/bin/passmenu $@ ''; diff --git a/lass/1systems/iso.nix b/lass/1systems/iso.nix index 8b2e82d31..b45d5b228 100644 --- a/lass/1systems/iso.nix +++ b/lass/1systems/iso.nix @@ -21,7 +21,6 @@ with import <stockholm/lib>; coreutils = pkgs.symlinkJoin { name = "coreutils-hack"; paths = [ - pkgs.coreutils (pkgs.writeDashBin "tee" '' if test "$1" = /dev/stderr; then while read -r line; do @@ -32,6 +31,7 @@ with import <stockholm/lib>; ${super.coreutils}/bin/tee "$@" fi '') + pkgs.coreutils ]; }; }; diff --git a/lass/1systems/mors.nix b/lass/1systems/mors.nix index 6790c0aea..b9ab54503 100644 --- a/lass/1systems/mors.nix +++ b/lass/1systems/mors.nix @@ -17,7 +17,7 @@ with import <stockholm/lib>; ../2configs/steam.nix ../2configs/wine.nix ../2configs/git.nix - ../2configs/libvirt.nix + ../2configs/virtualbox.nix ../2configs/fetchWallpaper.nix #../2configs/c-base.nix ../2configs/mail.nix @@ -156,15 +156,6 @@ with import <stockholm/lib>; #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' - #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:00.0/power/control' @@ -183,6 +174,7 @@ with import <stockholm/lib>; environment.systemPackages = with pkgs; [ acronym + brain cac-api sshpass get diff --git a/lass/1systems/prism.nix b/lass/1systems/prism.nix index 02054a8e5..af847333d 100644 --- a/lass/1systems/prism.nix +++ b/lass/1systems/prism.nix @@ -46,6 +46,10 @@ in { ../2configs/paste.nix ../2configs/syncthing.nix ../2configs/coders-irc.nix + ../2configs/ciko.nix + { + lass.pyload.enable = true; + } { imports = [ ../2configs/bepasty.nix diff --git a/lass/2configs/buildbot-standalone.nix b/lass/2configs/buildbot-standalone.nix index 5edd1075d..e765ddbb4 100644 --- a/lass/2configs/buildbot-standalone.nix +++ b/lass/2configs/buildbot-standalone.nix @@ -32,7 +32,7 @@ in { stockholm_repo, workdir='stockholm-poller', branches=True, project='stockholm', - pollinterval=120 + pollinterval=10 ) ) ''; @@ -44,7 +44,7 @@ in { change_filter=util.ChangeFilter(branch_re=".*"), treeStableTimer=10, name="build-all-branches", - builderNames=["build-hosts", "build-pkgs"] + builderNames=["build-hosts"] ) ) ''; @@ -77,6 +77,11 @@ in { "NIX_REMOTE": "daemon", "dummy_secrets": "true", } + env_tv = { + "LOGNAME": "tv", + "NIX_REMOTE": "daemon", + "dummy_secrets": "true", + } # prepare nix-shell # the dependencies which are used by the test script @@ -91,6 +96,7 @@ in { # SSL_CERT_FILE,LOGNAME,NIX_REMOTE nixshell = [ "nix-shell", + "-I", "/var/src", "-I", "stockholm=.", "-p" ] + deps + [ "--run" ] @@ -103,45 +109,31 @@ in { build-hosts = '' f = util.BuildFactory() f.addStep(grab_repo) - for i in [ "test-minimal-deploy", "test-all-krebs-modules", "wolf", "test-centos7" ]: - addShell(f,name="build-{}".format(i),env=env_shared, - command=nixshell + \ - ["mkdir -p $HOME/$LOGNAME && touch $HOME/$LOGNAME/.populate; \ - make NIX_PATH=$HOME/$LOGNAME test method=build \ - target=buildbotworker@${config.krebs.build.host.name}$HOME/$LOGNAME \ - system={}".format(i) - ] + + def build_host(env, host): + addShell(f,name="build-{}".format(i),env=env, + command=nixshell + ["mkdir -p $HOME/$LOGNAME && touch $HOME/$LOGNAME/.populate; \ + echo $HOME; echo $LOGNAME; \ + test -e $HOME/$LOGNAME/nixpkgs || cp -r /var/src/nixpkgs $HOME/$LOGNAME/; \ + make NIX_PATH=$HOME/$LOGNAME:secrets=/var/src/stockholm/null test method=build \ + target=buildbotworker@${config.krebs.build.host.name}$HOME/$LOGNAME \ + system={}".format(host)] ) + for i in [ "alnus", "mu", "nomic", "wu", "xu", "zu" ]: + build_host(env_tv, i) + for i in [ "mors", "uriel", "shodan", "icarus", "cloudkrebs", "echelon", "dishfire", "prism" ]: - addShell(f,name="build-{}".format(i),env=env_lass, - command=nixshell + \ - ["mkdir -p $HOME/$LOGNAME && touch $HOME/$LOGNAME/.populate; \ - make NIX_PATH=$HOME/$LOGNAME test method=build \ - target=buildbotworker@${config.krebs.build.host.name}$HOME/$LOGNAME \ - system={}".format(i) - ] - ) + build_host(env_lass, i) for i in [ "x", "wry", "vbob", "wbob", "shoney" ]: - addShell(f,name="build-{}".format(i),env=env_makefu, - command=nixshell + \ - ["mkdir -p $HOME/$LOGNAME && touch $HOME/$LOGNAME/.populate; \ - make NIX_PATH=$HOME/$LOGNAME test method=build \ - target=buildbotworker@${config.krebs.build.host.name}$HOME/$LOGNAME \ - system={}".format(i) - ] - ) + build_host(env_makefu, i) for i in [ "hiawatha", "onondaga" ]: - addShell(f,name="build-{}".format(i),env=env_nin, - command=nixshell + \ - ["mkdir -p $HOME/$LOGNAME && touch $HOME/$LOGNAME/.populate; \ - make NIX_PATH=$HOME/$LOGNAME test method=build \ - target=buildbotworker@${config.krebs.build.host.name}$HOME/$LOGNAME \ - system={}".format(i) - ] - ) + build_host(env_nin, i) + + for i in [ "test-minimal-deploy", "test-all-krebs-modules", "wolf", "test-centos7" ]: + build_host(env_shared, i) bu.append( util.BuilderConfig( @@ -152,63 +144,6 @@ in { ) ''; - - build-pkgs = '' - f = util.BuildFactory() - f.addStep(grab_repo) - for i in [ - "apt-cacher-ng", - "bepasty-client-cli", - "cac-api", - "cac-cert", - "cac-panel", - "charybdis", - "collectd-connect-time", - "dic", - "drivedroid-gen-repo", - "exim", - "fortclientsslvpn", - "get", - "git-hooks", - "github-hosts-sync", - "go", - "hashPassword", - "haskellPackages.blessings", - "haskellPackages.email-header", - "haskellPackages.scanner", - "haskellPackages.xmonad-stockholm", - "krebspaste", - "logf", - "much", - "newsbot-js", - "noVNC", - "ovh-zone", - "passwdqc-utils", - "populate", - "posix-array", - "pssh", - "push", - "Reaktor", - "realwallpaper", - "repo-sync", - "retiolum-bootstrap", - "tarantool", - "test", - "tinc_graphs", - "translate-shell", - "urlwatch", - "with-tmpdir", - "youtube-tools", - ]: - addShell(f,name="build-{}".format(i),env=env_lass, - command=nixshell + \ - ["mkdir -p $HOME/$LOGNAME && touch $HOME/$LOGNAME/.populate; \ - make system=prism pkgs.{}".format(i)]) - - bu.append(util.BuilderConfig(name="build-pkgs", - workernames=workernames, - factory=f)) - ''; }; enable = true; web.enable = true; @@ -230,9 +165,6 @@ in { username = "testworker"; password = "lasspass"; packages = with pkgs; [ gnumake jq nix populate ]; - extraEnviron = { - NIX_PATH="/var/src"; - }; }; config.krebs.iptables = { tables = { diff --git a/lass/2configs/ciko.nix b/lass/2configs/ciko.nix new file mode 100644 index 000000000..56c9a286c --- /dev/null +++ b/lass/2configs/ciko.nix @@ -0,0 +1,23 @@ +{ config, pkgs, ... }: +with import <stockholm/lib>; +{ + users.users.ciko = { + uid = genid_signed "ciko"; + description = "acc for ciko"; + home = "/home/ciko"; + useDefaultShell = true; + createHome = true; + openssh.authorizedKeys.keys = [ + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTUWm/fISw/gbuHvf3kwxGEuk1aY5HrNNvr8QXCQv0khDdaYmZSELbtFQtE04WGTWmackNcLpld5mETVyCM0BjOgqMJYQNhtywxfYcodEY5xxHCuGgA3S1t94MZub+DRodXCfB0yUV85Wbb0sltkMTJufMwYmLEGxSLRukxAOcNsXdjlyro96csmYrIiV6R7+REnz8OcR7sKlI4tvKA1mbvWmjbDBd1MZ8Jc0Lwf+b0H/rH69wEQIcB5HRHHJIChoAk0t2azSjXagk1+4AebONZTCKvTHxs/D2wUBIzoxyjmh5S0aso/cKw8qpKcl/A2mZiIvW3KMlJAM5U+RQKMrr" + ]; + }; + krebs.exim-smarthost = { + internet-aliases = [ + { from = "*@slash16.net"; to = "ciko"; } + ]; + sender_domains = [ + "slash16.net" + ]; + }; +} + diff --git a/lass/2configs/htop.nix b/lass/2configs/htop.nix index ec86d4120..d9307347e 100644 --- a/lass/2configs/htop.nix +++ b/lass/2configs/htop.nix @@ -8,7 +8,6 @@ with import <stockholm/lib>; htop = pkgs.symlinkJoin { name = "htop"; paths = [ - super.htop (pkgs.writeDashBin "htop" '' export HTOPRC=${pkgs.writeText "htoprc" '' fields=0 48 17 18 38 39 40 2 46 47 49 1 @@ -38,6 +37,7 @@ with import <stockholm/lib>; ''} exec ${super.htop}/bin/htop "$@" '') + super.htop ]; }; }; diff --git a/lass/2configs/mail.nix b/lass/2configs/mail.nix index 5748b6eaf..feb532709 100644 --- a/lass/2configs/mail.nix +++ b/lass/2configs/mail.nix @@ -116,10 +116,10 @@ let mutt = pkgs.symlinkJoin { name = "mutt"; paths = [ - pkgs.neomutt (pkgs.writeDashBin "mutt" '' exec ${pkgs.neomutt}/bin/mutt -F ${muttrc} $@ '') + pkgs.neomutt ]; }; diff --git a/lass/2configs/mc.nix b/lass/2configs/mc.nix index 62fd52f3f..3bd1852a8 100644 --- a/lass/2configs/mc.nix +++ b/lass/2configs/mc.nix @@ -325,7 +325,6 @@ in { (pkgs.symlinkJoin { name = "mc"; paths = [ - pkgs.mc (pkgs.writeDashBin "mc" '' export MC_DATADIR=${pkgs.writeOut "mc-ext" { "/mc.ext".link = mcExt; @@ -334,6 +333,7 @@ in { export TERM=xterm-256color exec ${pkgs.mc}/bin/mc -S xoria256 "$@" '') + pkgs.mc ]; }) ]; diff --git a/lass/2configs/mpv.nix b/lass/2configs/mpv.nix index c8b590857..04fd9213e 100644 --- a/lass/2configs/mpv.nix +++ b/lass/2configs/mpv.nix @@ -10,10 +10,10 @@ let mpv = pkgs.symlinkJoin { name = "mpv"; paths = [ - pkgs.mpv (pkgs.writeDashBin "mpv" '' exec ${pkgs.mpv}/bin/mpv --no-config --script=${scripts} "$@" '') + pkgs.mpv ]; }; diff --git a/lass/2configs/nixpkgs.nix b/lass/2configs/nixpkgs.nix index 1c68d58d5..2adba34bb 100644 --- a/lass/2configs/nixpkgs.nix +++ b/lass/2configs/nixpkgs.nix @@ -3,6 +3,6 @@ { krebs.build.source.nixpkgs.git = { url = https://cgit.lassul.us/nixpkgs; - ref = "0a4db15"; + ref = "4847963"; }; } diff --git a/lass/2configs/radio.nix b/lass/2configs/radio.nix index 1e14e31bb..7f531bf3a 100644 --- a/lass/2configs/radio.nix +++ b/lass/2configs/radio.nix @@ -132,7 +132,10 @@ in { krebs.Reaktor.playlist = { nickname = "the_playlist|r"; - channels = [ "#the_playlist" ]; + channels = [ + "#the_playlist" + "#krebs" + ]; extraEnviron = { REAKTOR_HOST = "irc.freenode.org"; }; diff --git a/lass/2configs/websites/domsen.nix b/lass/2configs/websites/domsen.nix index b0d28d4da..aaf311576 100644 --- a/lass/2configs/websites/domsen.nix +++ b/lass/2configs/websites/domsen.nix @@ -35,17 +35,16 @@ in { "apanowicz.de" "nirwanabluete.de" "aldonasiech.com" - "360gradvideo.tv" "ubikmedia.eu" "facts.cloud" "youthtube.xyz" "illucloud.eu" "illucloud.de" "illucloud.com" + "joemisch.com" "www.apanowicz.de" "www.nirwanabluete.de" "www.aldonasiech.com" - "www.360gradvideo.tv" "www.ubikmedia.eu" "www.facts.cloud" "www.youthtube.xyz" @@ -62,7 +61,6 @@ in { "karlaskop.ubikmedia.de" "nb.ubikmedia.de" "youthtube.ubikmedia.de" - "joemisch.com" ]) ]; diff --git a/makefu/1systems/x.nix b/makefu/1systems/x.nix index d1503c8d7..ee3a7bb1b 100644 --- a/makefu/1systems/x.nix +++ b/makefu/1systems/x.nix @@ -55,7 +55,7 @@ with import <stockholm/lib>; ../2configs/rad1o.nix # services - #../2configs/git/brain-retiolum.nix + ../2configs/git/brain-retiolum.nix ../2configs/tor.nix ../2configs/steam.nix # ../2configs/buildbot-standalone.nix diff --git a/makefu/2configs/default.nix b/makefu/2configs/default.nix index 0d61e8dee..bcd998826 100644 --- a/makefu/2configs/default.nix +++ b/makefu/2configs/default.nix @@ -22,7 +22,7 @@ with import <stockholm/lib>; user = config.krebs.users.makefu; source = let inherit (config.krebs.build) host user; - ref = "a772c3a"; # unstable @ 2017-05-09 + graceful requests2 + ref = "7a7c39c"; # unstable @ 2017-05-09 + graceful requests2 + logstash5 in { nixpkgs = if config.makefu.full-populate || (getEnv "dummy_secrets" == "true") then { diff --git a/makefu/2configs/deployment/dirctator.nix b/makefu/2configs/deployment/dirctator.nix new file mode 100644 index 000000000..b8e61955d --- /dev/null +++ b/makefu/2configs/deployment/dirctator.nix @@ -0,0 +1,30 @@ +{ pkgs, lib, ... }: + +with lib; +let + port = 18872; + runit = pkgs.writeDash "runit" '' + set -xeuf + export PULSE_COOKIE=/var/run/pulse/.config/pulse/cookie + echo "$@" | sed 's/^dirctator://' | ${pkgs.espeak}/bin/espeak -v mb-de7 2>&1 | tee -a /tmp/speak + ''; +in { + services.logstash = { + package = pkgs.logstash5; + enable = true; + inputConfig = '' + irc { + channels => [ "#krebs", "#afra" ] + host => "irc.freenode.net" + nick => "dirctator" + } + ''; + filterConfig = '' + ''; + outputConfig = '' + stdout { codec => rubydebug } + exec { command => "${runit} '%{message}" } + ''; + plugins = [ ]; + }; +} diff --git a/makefu/2configs/git/brain-retiolum.nix b/makefu/2configs/git/brain-retiolum.nix new file mode 100644 index 000000000..18275e3df --- /dev/null +++ b/makefu/2configs/git/brain-retiolum.nix @@ -0,0 +1,57 @@ +{ config, lib, pkgs, ... }: +# TODO: remove tv lib :) +with import <stockholm/lib>; +let + + repos = krebs-repos; + rules = concatMap krebs-rules (attrValues krebs-repos); + + krebs-repos = mapAttrs make-krebs-repo { + brain = { }; + }; + + + make-krebs-repo = with git; name: { cgit ? {}, ... }: { + inherit cgit name; + public = false; + hooks = { + post-receive = pkgs.git-hooks.irc-announce { + nick = config.networking.hostName; + verbose = true; + channel = "#retiolum"; + # TODO remove the hardcoded hostname + server = "ni.r"; + }; + }; + }; + + + + # TODO: get the list of all krebsministers + krebsminister = with config.krebs.users; [ lass tv ]; + krebs-rules = repo: + set-owners repo [ config.krebs.users.makefu ] ++ set-ro-access repo krebsminister; + + set-ro-access = with git; repo: user: + optional repo.public { + inherit user; + repo = [ repo ]; + perm = fetch; + }; + + set-owners = with git;repo: user: + singleton { + inherit user; + repo = [ repo ]; + perm = push "refs/*" [ non-fast-forward create delete merge ]; + }; + +in { + krebs.git = { + enable = true; + cgit = { + enable = false; + }; + inherit repos rules; + }; +} |