Merge remote-tracking branch 'prism/master'

This commit is contained in:
tv 2018-02-28 22:51:18 +01:00
commit becf1ce7ac
31 changed files with 245 additions and 229 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
/.graveyard
/TODO
result

View File

@ -79,6 +79,8 @@
jetbrains.goland
# document viewer
zathura
# xorg
xorg.xbacklight
];
# Some programs need SUID wrappers, can be configured further or are

View File

@ -551,6 +551,32 @@ with import <stockholm/lib>;
};
};
};
dpdkm = {
ci = false;
external = true;
nets = rec {
retiolum = {
ip4.addr = "10.243.29.173";
ip6.addr = "42:4992:6a6d:900::1";
aliases = [ "dpdkm.r" ];
tinc.pubkey = ''
-----BEGIN RSA PUBLIC KEY-----
MIICCgKCAgEAuW31xGBdPMSS45KmsCX81yuTcDZv1z7wSpsGQiAw7RsApG0fbBDj
NvzWZaZpTTUueG7gtt7U9Gk8DhWYR1hNt8bLXxE5QlY+gxVjU8+caRvlv10Y9XYp
qZEr1n1O5R7jS1srvutPt74uiA8I3hBoeP5TXndu8tVcehjRWXPqJj4VCy9pT2gP
X880Z30cXm0jUIu9XKhzQU2UNaxbqRzhJTvFUG04M+0a9olsUoN7PnDV6MC5Dxzn
f0ZZZDgHkcx6vsSkN/C8Tik/UCXr3tS/VX6/3+PREz6Z3bPd2QfaWdowrlFQPeYa
bELPvuqYiq7zR/jw3vVsWX2e91goAfKH5LYKNmzJCj5yYq+knB7Wil3HgBn86zvL
Joj56VsuB8fQrrUxjrDetNgtdwci+yFeXkJouQRLM0r0W24liyCuBX4B6nqbj71T
B6rAMzhBbl1yixgf31EgiCYFSusk+jiT+hye5lAhes4gBW9GAWxGNU9zE4QeAc1w
tkPH/CxRIAeuPYNwmjvYI2eQH9UQkgSBa3/Kz7/KT9scbykbs8nhDHCXwT6oAp+n
dR5aHkuBrTQOCU3Xx5ZwU5A0T83oLExIeH8jR1h2mW1JoJDdO85dAOrIBHWnjLls
mqrJusBh2gbgvNqIrDaQ9J+o1vefw1QeSvcF71JjF1CEBUmTbUAp8KMCAwEAAQ==
-----END RSA PUBLIC KEY-----
'';
};
};
};
xerxes = {
cores = 2;
nets = rec {

View File

@ -503,6 +503,7 @@ with import <stockholm/lib>;
# ip6.addr = "42:5a02:2c30:c1b1:3f2e:7c19:2496:a732";
aliases = [
"wbob.r"
"hydra.wbob.r"
];
tinc.pubkey = ''
-----BEGIN RSA PUBLIC KEY-----

View File

@ -24,7 +24,7 @@ in
stockholm-version.pipe = "${pkgs.stockholm}/bin/get-version";
nixpkgs.git = {
url = https://github.com/NixOS/nixpkgs;
ref = "c831224528cd6bfd49bfc2c18b9c5d9015651077"; # nixos-17.09 @ 2018-02-15
ref = "c5bc83b503dfb29eb27c1deb0268f15c1858e7ce"; # nixos-17.09 @ 2018-02-27
};
}
override

View File

@ -10,6 +10,7 @@ in {
./livestream.nix
./dns-stuff.nix
./urxvt.nix
./network-manager.nix
{
hardware.pulseaudio = {
enable = true;
@ -121,13 +122,14 @@ in {
name = "xmonad";
start = ''
${pkgs.xorg.xhost}/bin/xhost +LOCAL:
${pkgs.systemd}/bin/systemctl --user start xmonad
exec ${pkgs.coreutils}/bin/sleep infinity
'';
}];
};
systemd.user.services.xmonad = {
wantedBy = [ "graphical-session.target" ];
#wantedBy = [ "graphical-session.target" ];
environment = {
DISPLAY = ":${toString config.services.xserver.display}";
RXVT_SOCKET = "%t/urxvtd-socket";

View File

@ -21,13 +21,21 @@ let
'';
mailboxes = {
wireguard = [ "to:wireguard@lists.zx2c4" ];
c-base = [ "to:c-base.org" ];
security = [ "to:seclists.org" "to:security" "to:bugtraq" ];
dezentrale = [ "to:dezentrale.space" ];
kaosstuff = [ "to:gearbest@lassul.us" "to:banggood@lassul.us" ];
nix-devel = [ "to:nix-devel@googlegroups.com" ];
patreon = [ "to:patreon@lassul.us" ];
security = [ "to:seclists.org" "to:security" "to:bugtraq" ];
shack = [ "to:shackspace.de" ];
wireguard = [ "to:wireguard@lists.zx2c4" ];
};
tag-mails = pkgs.writeDashBin "nm-init-tag" ''
${pkgs.notmuch}/bin/notmuch new
${concatMapStringsSep "\n" (i: ''${pkgs.notmuch}/bin/notmuch tag -inbox +${i.name} -- tag:inbox ${concatMapStringsSep " or " (f: "${f}") i.value}'') (mapAttrsToList nameValuePair mailboxes)}
'';
muttrc = pkgs.writeText "muttrc" ''
# gpg
source ${pkgs.neomutt}/share/doc/mutt/samples/gpg.rc
@ -80,10 +88,9 @@ let
# V
''} %r |"
virtual-mailboxes "INBOX" "notmuch://?query=tag:inbox ${concatMapStringsSep " " (f: "and NOT ${f}") (flatten (attrValues mailboxes))}"
virtual-mailboxes "INBOX" "notmuch://?query=tag:inbox"
virtual-mailboxes "Unread" "notmuch://?query=tag:unread"
${concatMapStringsSep "\n" (i: ''${" "}virtual-mailboxes "${i.name}" "notmuch://?query=${concatMapStringsSep " or " (f: "${f}") i.value}"'') (mapAttrsToList nameValuePair mailboxes)}
virtual-mailboxes "BOX" "notmuch://?query=${concatMapStringsSep " and " (f: "NOT ${f}") (flatten (attrValues mailboxes))}"
${concatMapStringsSep "\n" (i: ''${" "}virtual-mailboxes "${i.name}" "notmuch://?query=tag:${i.name}"'') (mapAttrsToList nameValuePair mailboxes)}
virtual-mailboxes "TODO" "notmuch://?query=tag:TODO"
virtual-mailboxes "Starred" "notmuch://?query=tag:*"
virtual-mailboxes "Archive" "notmuch://?query=tag:archive"
@ -163,5 +170,6 @@ in {
mutt
pkgs.much
pkgs.notmuch
tag-mails
];
}

View File

@ -0,0 +1,24 @@
{ pkgs, lib, ... }:
{
networking.wireless.enable = lib.mkForce false;
systemd.services.modemmanager = {
description = "ModemManager";
after = [ "network-manager.service" ];
bindsTo = [ "network-manager.service" ];
wantedBy = [ "network-manager.service" ];
serviceConfig = {
ExecStart = "${pkgs.modemmanager}/bin/ModemManager";
PrivateTmp = true;
Restart = "always";
RestartSec = "5";
};
};
networking.networkmanager.enable = true;
users.users.mainUser = {
extraGroups = [ "networkmanager" ];
packages = with pkgs; [
gnome3.gnome_keyring gnome3.dconf
];
};
}

View File

@ -29,7 +29,8 @@ in {
# <stockholm/makefu/2configs/vncserver.nix>
# Services
<stockholm/makefu/2configs/remote-build/slave.nix>
<stockholm/makefu/2configs/hydra/stockholm.nix>
<stockholm/makefu/2configs/share/wbob.nix>
(let
musicDirectory = "/data/music";
@ -83,6 +84,9 @@ in {
load-module module-filter-apply
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
load-module module-switch-on-connect
# may be required for "system-wide" pulse to connect to bluetooth
#module-bluez5-device
#module-bluez5-discover
'';
};
# connect via https://nixos.wiki/wiki/Bluetooth#Using_Bluetooth_headsets_with_PulseAudio

View File

@ -100,7 +100,43 @@ with import <stockholm/lib>;
];
};
}
{ # bluetooth+pulse config
# for blueman-applet
users.users.makefu.packages = [
pkgs.blueman
];
hardware.pulseaudio = {
enable = true;
package = pkgs.pulseaudioFull;
# systemWide = true;
support32Bit = true;
configFile = pkgs.writeText "default.pa" ''
load-module module-udev-detect
load-module module-bluetooth-policy
load-module module-bluetooth-discover
load-module module-native-protocol-unix
load-module module-always-sink
load-module module-console-kit
load-module module-systemd-login
load-module module-intended-roles
load-module module-position-event-sounds
load-module module-filter-heuristics
load-module module-filter-apply
load-module module-switch-on-connect
'';
};
# presumably a2dp Sink
# Enable profile:
## pacmd set-card-profile "$(pactl list cards short | egrep -o bluez_card[[:alnum:]._]+)" a2dp_sink
hardware.bluetooth.extraConfig = '';
[general]
Enable=Source,Sink,Media,Socket
'';
# connect via https://nixos.wiki/wiki/Bluetooth#Using_Bluetooth_headsets_with_PulseAudio
hardware.bluetooth.enable = true;
}
{ # auto-mounting
services.udisks2.enable = true;
services.devmon.enable = true;

View File

@ -28,6 +28,7 @@ let
init-stockholm = {
cgit.desc = "Init stuff for stockholm";
};
hydra-stockholm = { };
};
priv-repos = mapAttrs make-priv-repo {

View File

@ -0,0 +1,34 @@
# iterative:
# $ hydra-create-user krebs --password derp --role admin
# curl 'http://hydra.wbob.r/project/.new' -X PUT -H 'Host: hydra.wbob.r' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' -H 'X-Requested-With: XMLHttpRequest' -H 'Cookie: redirect_to=%252F; hydra_session=abcdefghijklmnopqrstuvwxyz' -H 'Connection: keep-alive' --data 'enabled=on&visible=on&name=stockholm&displayname=Stockholm&description=make+all+systems+into+1systems&homepage=https%3A%2F%2Fkrebsco.de&owner=krebs&declfile=spec.json&decltype=git&declvalue=http%3A%2F%2Fcgit.euer.krebsco.de%2Fhydra-stockholm'
{
# TODO postgres backup
services.postgresql.enable = true;
services.hydra = {
enable = true;
hydraURL = "http://hydra.wbob.r"; # externally visible URL
notificationSender = "hydra@wbob.r";
# you will probably also want, otherwise *everything* will be built from scratch
useSubstitutes = true;
port = 3030;
buildMachinesFiles = [];
};
networking.firewall.allowedTCPPorts = [ 80 ];
services.nginx = {
enable = true;
virtualHosts."hydra.wbob.r" = {
locations."/" = {
proxyPass = "http://localhost:3030/";
extraConfig = ''
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
'';
};
};
};
}

View File

@ -34,7 +34,7 @@ in {
http://guest:derpi@cvs2svn.tigris.org/svn/cvs2svn/tags/
http://ftp.debian.org/debian/pool/main/a/apt-cacher-ng/
https://erdgeist.org/gitweb/opentracker/info/refs?service=git-upload-pack
https://git.tasktools.org/TM/taskd/info/refs?service=git-upload-pack
http://www.iozone.org/src/current/
{
@ -51,6 +51,8 @@ in {
"embray/d2to1"
"dorimanx/exfat-nofuse"
"rapid7/metasploit-framework"
"GothenburgBitFactory/taskserver"
"GothenburgBitFactory/taskwarrior"
];
};
}

View File

@ -29,15 +29,7 @@ let
nixpkgs.config.packageOverrides = pkgs: rec {
awesome = pkgs.stdenv.lib.overrideDerivation pkgs.awesome (oldAttrs : {
postFixup = let
rclua = pkgs.substituteAll {
src = cfg.baseConfig;
modkey = cfg.modkey;
# inherit (cfg) modkey;
amixer = "${pkgs.alsaUtils}/bin/amixer";
xlock = "${pkgs.xlockmore}/bin/xlock";
xbacklight = "${pkgs.xorg.xbacklight}/bin/xbacklight";
};
rclua = cfg.baseConfig.override { inherit (cfg) modkey; };
in "cp ${rclua} $out/etc/xdg/awesome/rc.lua";
});
};

View File

@ -1,7 +1,24 @@
_:
{ pkgs
, lib
, alsaUtils
, xlockmore
, xbacklight
, modkey?"Mod4"
, ... }:
{
# replace: @amixer@ @xlock@ @xbacklight@
full = ./full.cfg;
kiosk = ./kiosk.lua;
# replace: @alsaUtils@ @xlockmore@ @xbacklight@ @modkey@
full = lib.makeOverridable pkgs.substituteAll {
name = "awesome_full_config";
inherit alsaUtils xlockmore xbacklight modkey;
isExecutable = false;
src = ./full.cfg;
};
kiosk = lib.makeOverridable pkgs.substituteAll {
name = "awesome_kiosk_config";
inherit alsaUtils xlockmore xbacklight modkey;
isExecutable = false;
src = ./kiosk.lua;
};
}

View File

@ -365,22 +365,22 @@ globalkeys = awful.util.table.join(
{description = "restore minimized", group = "client"}),
awful.key({ }, "XF86MonBrightnessUp", function ()
awful.util.spawn("@xbacklight@ -inc 5", false) end),
awful.util.spawn("@xbacklight@/bin/xbacklight -inc 5", false) end),
awful.key({ }, "XF86MonBrightnessDown", function ()
awful.util.spawn("@xbacklight@ -dec 5", false) end),
awful.util.spawn("@xbacklight@/bin/xbacklight -dec 5", false) end),
awful.key({ }, "XF86AudioRaiseVolume", function ()
awful.util.spawn("@amixer@ set Master 5%+", false) end),
awful.util.spawn("@alsaUtils@/bin/amixer set Master 5%+", false) end),
awful.key({ }, "XF86AudioLowerVolume", function ()
awful.util.spawn("@amixer@ set Master 5%-", false) end),
awful.util.spawn("@alsaUtils@/bin/amixer set Master 5%-", false) end),
awful.key({ }, "XF86AudioMute", function ()
awful.util.spawn("@amixer@ -q -D default sset Master toggle", false) end),
awful.util.spawn("@alsaUtils@/bin/amixer -q -D default sset Master toggle", false) end),
-- Prompt
awful.key({ modkey }, "r", function () awful.screen.focused().mypromptbox:run() end,
{description = "run prompt", group = "launcher"}),
awful.key({ modkey,"Control" }, "BackSpace", function () awful.util.spawn("@xlock@ -mode blank") end),
awful.key({ }, "XF86ScreenSaver", function () awful.util.spawn("@xlock@ -mode blank") end),
awful.key({ modkey,"Control" }, "BackSpace", function () awful.util.spawn("@xlockmore@/bin/xlock -mode blank") end),
awful.key({ }, "XF86ScreenSaver", function () awful.util.spawn("@xlockmore@/bin/xlock -mode blank") end),
awful.key({ modkey }, "x",
function ()

View File

@ -1,3 +0,0 @@
{}:
{
}

View File

@ -1,6 +1,9 @@
{ lib, stdenv, fetchFromGitHub, fetchgit, libusb, libtool, autoconf, pkgconfig, git,
gettext, automake, libxml2 , qmake,
qtbase, qttools, qtmultimedia, libnotify, ffmpeg, gdk_pixbuf }:
gettext, automake, libxml2
, autoreconfHook
, qmake4Hook
, qmake
, qtbase, qttools, qtmultimedia, libnotify, ffmpeg, gdk_pixbuf }:
let
libvitamtp = stdenv.mkDerivation rec {
name = "libvitamtp-${version}";
@ -13,8 +16,8 @@ let
sha256 = "09c9f7gqpyicfpnhrfb4r67s2hci6hh31bzmqlpds4fywv5mzaf8";
};
buildInputs = [ libusb libxml2 libtool autoconf automake gettext pkgconfig ];
preConfigure = "sh ./autogen.sh";
buildInputs = [ libusb libxml2 libtool autoconf automake gettext pkgconfig
autoreconfHook ];
meta = {
description = "Content Manager Assistant for the PS Vita";
@ -26,40 +29,29 @@ let
};
in stdenv.mkDerivation rec {
name = "qcma-${version}";
version = "0.3.13";
version = "8e6cafedc0f47733f33323f829624e3fc847a176";
src = fetchgit {
url = "git://github.com/codestation/qcma.git";
rev = "refs/tags/v"+version;
leaveDotGit = true;
sha256 = "164abjwlw2nw2i30wlwpsavz1zjkp6a14yprvinma5hflkw4yj6i";
src = fetchFromGitHub {
owner = "codestation";
repo = "qcma";
rev = version;
sha256 = "1l95kx3x4pf5iwmwigbch5c6n2h27lls5qiy4xh15v59p5442yw5";
};
preConfigure = ''
lrelease common/resources/translations/*.ts
'';
# TODO: manually adding qtbase and qtmultimedia to the library path is shit,
# this should be done somewhere before when building the project, idk.
installPhase = ''
make INSTALL_ROOT="$(out)" install
for i in qcma qcma_cli; do
wrapQtProgram $out/bin/$i --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [
qtbase qtmultimedia ]}
done
'';
enableParallelBuilding = true;
buildInputs = [ gdk_pixbuf ffmpeg libnotify libvitamtp git qtmultimedia qtbase ];
nativeBuildInputs = [ qmake qttools pkgconfig ];
nativeBuildInputs = [ qttools pkgconfig qmake ];
meta = {
description = "Content Manager Assistant for the PS Vita";
homepage = https://github.com/codestation/qcma;
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.linux;
broken = true;
maintainers = with stdenv.lib.maintainers; [ makefu ];
};
}

View File

@ -1,50 +0,0 @@
{ stdenv, lib, pkgs, fetchurl,fetchFromGitHub,
libpcap, libdnet, libevent, readline, autoconf, automake, libtool, zlib, pcre,
libev,
... }:
let
liblcfg = stdenv.mkDerivation rec {
name = "liblcfg-${version}";
version = "750bc90";
src = fetchFromGitHub {
owner = "ThomasAdam";
repo = "liblcfg";
rev = version;
sha256 = "1k3r47p81paw5802jklx9xqbjrxr26pahipxn9nq3177qhxxibkr";
};
buildInputs = with pkgs;[ autoconf automake ];
preConfigure = ''autoreconf -fi'';
sourceRoot = "${name}-src/code";
};
in stdenv.mkDerivation rec {
name = "liblcfg-${version}";
#version = "1.5c"; #original, does not compile due to libc errors
#src = fetchurl {
# url = "http://www.honeyd.org/uploads/honeyd-${version}.tar.gz";
# sha256 = "0vcih16fk5pir5ssfil8x79nvi62faw0xvk8s5klnysv111db1ii";
#};
#version = "64d087c"; # honeyd-1.6.7
# sha256 = "0zhnn13r24y1q494xcfx64vyp84zqk8qmsl41fq2674230bn0p31";
version = "6756787f94c4f1ac53d1e5545d052774a0446c04";
src = fetchFromGitHub {
owner = "rep";
repo = "dionaea";
rev = version;
sha256 = "04zjr9b7x0rqwzgb9gfxq6pclb817gz4qaghdl8xa79bqf9vv2p7";
};
buildInputs = with pkgs;[ libtool automake autoconf ];
configureFlags = [
"--with-liblcfg=${liblcfg}"
"--with-libpcap=${libpcap}"
];
meta = {
homepage = http://www.honeyd.org/;
description = "virtual Honeypots";
license = lib.licenses.gpl2;
};
}

View File

@ -1,63 +0,0 @@
{ stdenv, lib, pkgs, fetchurl,fetchFromGitHub,
libpcap, libdnet, libevent, readline, autoconf, automake, libtool, zlib, pcre,
... }:
stdenv.mkDerivation rec {
name = "farpd-${version}";
version = "0.2";
src = fetchurl {
url = https://launchpad.net/ubuntu/+archive/primary/+files/farpd_0.2.orig.tar.gz ;
sha256 = "1m3pynvynr4vgkwh7z5i0yqlang2y0ph32cys3vbi2hx2apk9abd";
};
buildInputs = with pkgs;[
automake
gnugrep
libpcap
libdnet
pcre
libevent.out # requires .so and .h
readline
autoconf
libtool
zlib
coreutils
python
pythonPackages.pysqlite
];
patches = [
( fetchurl {
url = https://launchpad.net/ubuntu/+archive/primary/+files/farpd_0.2-11.diff.gz;
sha256 = "2c246b37de8aab9c73f955fb77101adefd90637d03f582b9f8ffae2903af2f94";
})
];
# removes user install script from Makefile before automake
#patches = [ ./autoconf.patch ];
preConfigure = ''
autoreconf -fi
substituteInPlace configure \
--replace "dumbnet" "dnet" \
--replace "libpcap.a" "libpcap.so" \
--replace "libevent.a" "libevent.so" \
--replace "net/bpf.h" "pcap/bpf.h"
'';
makeFlags = [ "LIBS=-lz" ];
configureFlags = [
"--with-libpcap=${libpcap}"
"--with-libevent=${libevent}"
"--with-libdnet=${libdnet}"
];
postInstall = ''
mv $out/sbin/arpd $out/sbin/farpd
mv $out/share/man/man8/arpd.8 $out/share/man/man8/farpd.8
'';
meta = {
homepage = https://launchpad.net/ubuntu/+source/farpd/ ;
description = "fake arp";
license = lib.licenses.gpl2;
};
}

View File

@ -11,6 +11,10 @@ python2Packages.buildPythonPackage rec {
propagatedBuildInputs = with python2Packages;
[ python2Packages.pygtk gtk3 python2Packages.pillow ];
# for module in sys.modules.itervalues():
# RuntimeError: dictionary changed size during iteration
doCheck = false;
meta = {
homepage = https://github.com/pyload/pyload;
description = "Free and Open Source download manager written in Python";

View File

@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
meta = {
homepage = https://github.com/ifcaro/Open-PS2-Loader;
description = "open-ps2-loader utils (opl2iso,iso2opl,genvmc)";
license = lib.licenses.afl3;
## not yet in stable
# license = lib.licenses.afl3;
};
}

View File

@ -1,12 +0,0 @@
{ stdenv }:
stdenv.mkDerivation rec {
name = "programs-db";
src = builtins.fetchTarball https://nixos.org/channels/nixos-unstable/nixexprs.tar.xz ;
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
cp programs.sqlite $out
'';
}

View File

@ -1,33 +0,0 @@
{ pkgs, fetchFromGitHub, ... }:
with pkgs.python3Packages;
let
asyncio-irc = buildPythonPackage rec {
name = "asyncio-irc-${version}";
version = "2016-09-02";
src = fetchFromGitHub {
owner = "watchtower";
repo = "asyncirc";
rev = "5384d19";
sha256 = "0xgzdvp0ig0im7r3vbqd3a9rzac0lkk2mvf7y4fw56p8k61df8nv";
};
propagatedBuildInputs = [ blinker ];
};
in
buildPythonPackage rec {
name = "shackie-${version}";
version = "2017-04-24";
propagatedBuildInputs = [
asyncio-irc
beautifulsoup4
lxml
pytz
redis
requests
];
src = fetchFromGitHub {
owner = "shackspace";
repo = "shackie";
rev = "e717ec7";
sha256 = "1ffbjm3x2xcyxl42hfsjs5xg1pm0xsprdi5if9zxa5ycqydmiw3l";
};
}

View File

@ -0,0 +1 @@
{}

View File

@ -11,6 +11,7 @@ with lib;
<stockholm/nin>
<nixpkgs/nixos/modules/installer/scan/not-detected.nix>
#../2configs/copyq.nix
<stockholm/nin/2configs/ableton.nix>
<stockholm/nin/2configs/games.nix>
<stockholm/nin/2configs/git.nix>
<stockholm/nin/2configs/retiolum.nix>
@ -98,6 +99,9 @@ with lib;
enable = true;
};
services.xserver.displayManager.sessionCommands = ''
${pkgs.xorg.xhost}/bin/xhost + local:
'';
services.xserver.desktopManager.xfce = let
xbindConfig = pkgs.writeText "xbindkeysrc" ''

20
nin/2configs/ableton.nix Normal file
View File

@ -0,0 +1,20 @@
{ config, pkgs, ... }: let
mainUser = config.users.extraUsers.nin;
in {
users.users= {
ableton = {
isNormalUser = true;
extraGroups = [
"audio"
"video"
];
packages = [
pkgs.wine
pkgs.winetricks
];
};
};
security.sudo.extraConfig = ''
${mainUser.name} ALL=(ableton) NOPASSWD: ALL
'';
}

View File

@ -36,17 +36,6 @@ let
make-public-repo = name: { cgit ? {}, ... }: {
inherit cgit name;
public = true;
hooks = {
post-receive = pkgs.git-hooks.irc-announce {
# TODO make nick = config.krebs.build.host.name the default
nick = config.krebs.build.host.name;
channel = "#xxx";
server = "irc.r";
verbose = config.krebs.build.host.name == "onondaga";
# TODO define branches in some kind of option per repo
branches = [ "master" ];
};
};
};
make-rules =

19
nin/2configs/im.nix Normal file
View File

@ -0,0 +1,19 @@
{ config, lib, pkgs, ... }:
with import <stockholm/lib>;
{
environment.systemPackages = with pkgs; [
(pkgs.writeDashBin "im" ''
export PATH=${makeSearchPath "bin" (with pkgs; [
tmux
gnugrep
weechat
])}
ssh chat@onondaga
if tmux list-sessions -F\#S | grep -q '^im''$'; then
exec tmux attach -t im
else
exec tmux new -s im weechat
fi
'')
];
}

View File

@ -18,8 +18,5 @@ in
};
stockholm.file = toString <stockholm>;
stockholm-version.pipe = "${pkgs.stockholm}/bin/get-version";
nixpkgs.git = {
url = https://github.com/nixos/nixpkgs;
ref = "afe9649";
};
nixpkgs = (import <stockholm/krebs/source.nix> host).nixpkgs;
}