summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--krebs/3modules/buildbot/master.nix1
-rw-r--r--krebs/3modules/buildbot/slave.nix2
-rw-r--r--krebs/5pkgs/simple/Reaktor/default.nix4
-rw-r--r--krebs/5pkgs/simple/Reaktor/plugins.nix2
-rw-r--r--krebs/5pkgs/simple/buildbot-classic/default.nix4
-rw-r--r--krebs/nixpkgs.json6
-rw-r--r--lass/2configs/radio.nix81
-rw-r--r--makefu/1systems/x/config.nix4
-rw-r--r--makefu/1systems/x/source.nix1
-rw-r--r--makefu/2configs/home-manager/cli.nix12
-rw-r--r--makefu/2configs/home-manager/default.nix7
-rw-r--r--makefu/2configs/home-manager/desktop.nix31
-rw-r--r--makefu/2configs/home-manager/mail.nix46
-rw-r--r--makefu/3modules/airdcpp.nix210
-rw-r--r--makefu/5pkgs/airdcpp-webclient/default.nix27
-rw-r--r--makefu/5pkgs/pavumeter/default.nix30
-rw-r--r--makefu/krops.nix11
17 files changed, 444 insertions, 35 deletions
diff --git a/krebs/3modules/buildbot/master.nix b/krebs/3modules/buildbot/master.nix
index a02f3645d..209dbe980 100644
--- a/krebs/3modules/buildbot/master.nix
+++ b/krebs/3modules/buildbot/master.nix
@@ -82,6 +82,7 @@ let
irc = words.IRC("${cfg.irc.server}", "${cfg.irc.nick}",
channels=${builtins.toJSON cfg.irc.channels},
notify_events={
+ 'started': 1,
'success': 1,
'failure': 1,
'exception': 1,
diff --git a/krebs/3modules/buildbot/slave.nix b/krebs/3modules/buildbot/slave.nix
index fba585448..544f9c4e0 100644
--- a/krebs/3modules/buildbot/slave.nix
+++ b/krebs/3modules/buildbot/slave.nix
@@ -160,8 +160,6 @@ let
# TODO: maybe also prepare buildbot.tac?
ExecStartPre = pkgs.writeDash "buildbot-master-init" ''
set -efux
- #remove garbage from old versions
- rm -rf ${workdir}
mkdir -p ${workdir}/info
cp ${buildbot-slave-init} ${workdir}/buildbot.tac
echo ${contact} > ${workdir}/info/admin
diff --git a/krebs/5pkgs/simple/Reaktor/default.nix b/krebs/5pkgs/simple/Reaktor/default.nix
index a9566087f..b66e2b22c 100644
--- a/krebs/5pkgs/simple/Reaktor/default.nix
+++ b/krebs/5pkgs/simple/Reaktor/default.nix
@@ -2,7 +2,7 @@
python3Packages.buildPythonPackage rec {
name = "Reaktor-${version}";
- version = "0.6.0";
+ version = "0.6.1";
doCheck = false;
@@ -14,7 +14,7 @@ python3Packages.buildPythonPackage rec {
owner = "krebs";
repo = "Reaktor";
rev = version;
- sha256 = "0nsnv1rixmlg5wkb74b4f5bycb42b9rp4b14hijh558hbsa1b9am";
+ sha256 = "0mw2zizv8p264zqqrnb5qyx7szldcza5ma190292a1qlasyg1b4m";
};
meta = {
homepage = http://krebsco.de/;
diff --git a/krebs/5pkgs/simple/Reaktor/plugins.nix b/krebs/5pkgs/simple/Reaktor/plugins.nix
index 2ccc1c8e9..6f59ad1de 100644
--- a/krebs/5pkgs/simple/Reaktor/plugins.nix
+++ b/krebs/5pkgs/simple/Reaktor/plugins.nix
@@ -120,7 +120,7 @@ rec {
url-title = (buildSimpleReaktorPlugin "url-title" {
pattern = "^.*(?P<args>http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+).*$$";
path = with pkgs; [ curl perl ];
- script = pkgs.writePython3 "url-title" { deps = [ "beautifulsoup4" "lxml" ]; } ''
+ script = pkgs.writePython3 "url-title" { deps = with pkgs.python3Packages; [ beautifulsoup4 lxml ]; } ''
import cgi
import sys
import urllib.request
diff --git a/krebs/5pkgs/simple/buildbot-classic/default.nix b/krebs/5pkgs/simple/buildbot-classic/default.nix
index 4fae6256d..665b36ab4 100644
--- a/krebs/5pkgs/simple/buildbot-classic/default.nix
+++ b/krebs/5pkgs/simple/buildbot-classic/default.nix
@@ -2,7 +2,7 @@
python2Packages.buildPythonApplication rec {
name = "buildbot-classic-${version}";
- version = "0.8.17";
+ version = "0.8.18";
namePrefix = "";
patches = [];
@@ -10,7 +10,7 @@ python2Packages.buildPythonApplication rec {
owner = "krebs";
repo = "buildbot-classic";
rev = version;
- sha256 = "0yn0n37rs2bhz9q0simnvyzz5sfrpqhbdm6pdj6qk7sab4y6xbq8";
+ sha256 = "0b4y3n9zd2gdy8xwk1vpvs4n9fbg72vi8mx4ydgijwngcmdqkjmq";
};
postUnpack = "sourceRoot=\${sourceRoot}/master";
diff --git a/krebs/nixpkgs.json b/krebs/nixpkgs.json
index a9a0f6634..a3612fa7a 100644
--- a/krebs/nixpkgs.json
+++ b/krebs/nixpkgs.json
@@ -1,7 +1,7 @@
{
"url": "https://github.com/NixOS/nixpkgs-channels",
- "rev": "a37638d46706610d12c9747614fd1b8f8d35ad48",
- "date": "2018-08-30T21:03:26+02:00",
- "sha256": "0rsdkk4z7pkqr2mw0pq7i6fkqs7gbi5kral3c8smm9bw104sn8v7",
+ "rev": "d16a7abceb72aac85e0deb8c45fbcb7127baf628",
+ "date": "2018-09-20T18:31:51-05:00",
+ "sha256": "0byf6rlwwy70v2sdfmv7mnwd0kvxmlq0pi8ijghg0mcfhcqibgh7",
"fetchSubmodules": true
}
diff --git a/lass/2configs/radio.nix b/lass/2configs/radio.nix
index a83d51f1d..fb7ae01b6 100644
--- a/lass/2configs/radio.nix
+++ b/lass/2configs/radio.nix
@@ -131,6 +131,30 @@ in {
};
};
+ systemd.services.radio-recent = let
+ recentlyPlayed = pkgs.writeDash "recentlyPlayed" ''
+ LIMIT=1000 #how many tracks to keep in the history
+ HISTORY_FILE=/tmp/played
+ while :; do
+ ${pkgs.mpc_cli}/bin/mpc idle player > /dev/null
+ ${pkgs.mpc_cli}/bin/mpc current -f %file%
+ done | while read track; do
+ echo "$(date -Is)" "$track" | tee -a "$HISTORY_FILE"
+ echo "$(tail -$LIMIT "$HISTORY_FILE")" > "$HISTORY_FILE"
+ done
+ '';
+ in {
+ description = "radio recently played";
+ after = [ "mpd.service" "network.target" ];
+ wantedBy = [ "multi-user.target" ];
+
+ restartIfChanged = true;
+
+ serviceConfig = {
+ ExecStart = recentlyPlayed;
+ };
+ };
+
krebs.Reaktor.playlist = {
nickname = "the_playlist|r";
channels = [
@@ -157,27 +181,40 @@ in {
})
];
};
- services.nginx.virtualHosts."lassul.us".locations."/the_playlist".extraConfig = let
- html = pkgs.writeText "index.html" ''
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8">
- <title>lassulus playlist</title>
- </head>
- <body>
- <div style="display:inline-block;margin:0px;padding:0px;overflow:hidden">
- <iframe src="https://kiwiirc.com/client/irc.freenode.org/?nick=kiwi_test|?&theme=cli#the_playlist" frameborder="0" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;height:95%;width:100%;position:absolute;top:0px;left:0px;right:0px;bottom:0px" height="95%" width="100%"></iframe>
- </div>
- <div style="position:absolute;bottom:1px;display:inline-block;background-color:red;">
- <audio controls autoplay="autoplay"><source src="http://lassul.us:8000/radio.ogg" type="audio/ogg">Your browser does not support the audio element.</audio>
- </div>
- <!-- page content -->
- </body>
- </html>
+ services.nginx = {
+ enable = true;
+ virtualHosts."radio.lassul.us" = {
+ forceSSL = true;
+ enableACME = true;
+ locations."/".extraConfig = ''
+ proxy_pass http://localhost:8000;
+ '';
+ locations."/recent".extraConfig = ''
+ alias /tmp/played;
+ '';
+ };
+ virtualHosts."lassul.us".locations."/the_playlist".extraConfig = let
+ html = pkgs.writeText "index.html" ''
+ <!DOCTYPE html>
+ <html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>lassulus playlist</title>
+ </head>
+ <body>
+ <div style="display:inline-block;margin:0px;padding:0px;overflow:hidden">
+ <iframe src="https://kiwiirc.com/client/irc.freenode.org/?nick=kiwi_test|?&theme=cli#the_playlist" frameborder="0" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;height:95%;width:100%;position:absolute;top:0px;left:0px;right:0px;bottom:0px" height="95%" width="100%"></iframe>
+ </div>
+ <div style="position:absolute;bottom:1px;display:inline-block;background-color:red;">
+ <audio controls autoplay="autoplay"><source src="http://lassul.us:8000/radio.ogg" type="audio/ogg">Your browser does not support the audio element.</audio>
+ </div>
+ <!-- page content -->
+ </body>
+ </html>
+ '';
+ in ''
+ default_type "text/html";
+ alias ${html};
'';
- in ''
- default_type "text/html";
- alias ${html};
- '';
+ };
}
diff --git a/makefu/1systems/x/config.nix b/makefu/1systems/x/config.nix
index 97d11fbd3..66d904512 100644
--- a/makefu/1systems/x/config.nix
+++ b/makefu/1systems/x/config.nix
@@ -7,6 +7,10 @@
[ # base
<stockholm/makefu>
<stockholm/makefu/2configs/nur.nix>
+ <stockholm/makefu/2configs/home-manager>
+ <stockholm/makefu/2configs/home-manager/desktop.nix>
+ <stockholm/makefu/2configs/home-manager/cli.nix>
+ <stockholm/makefu/2configs/home-manager/mail.nix>
<stockholm/makefu/2configs/main-laptop.nix>
<stockholm/makefu/2configs/extra-fonts.nix>
<stockholm/makefu/2configs/tools/all.nix>
diff --git a/makefu/1systems/x/source.nix b/makefu/1systems/x/source.nix
index 75af3255b..050fd39f7 100644
--- a/makefu/1systems/x/source.nix
+++ b/makefu/1systems/x/source.nix
@@ -6,5 +6,6 @@
unstable = true;
mic92 = true;
clever_kexec = true;
+ home-manager = true;
# torrent = true;
}
diff --git a/makefu/2configs/home-manager/cli.nix b/makefu/2configs/home-manager/cli.nix
new file mode 100644
index 000000000..1efc4d2bf
--- /dev/null
+++ b/makefu/2configs/home-manager/cli.nix
@@ -0,0 +1,12 @@
+{
+ home-manager.users.makefu = {
+ services.gpg-agent = {
+ defaultCacheTtl = 900;
+ maxCacheTtl = 7200;
+ defaultCacheTtlSsh = 3600;
+ maxCacheTtlSsh = 86400;
+ enableSshSupport = true;
+ };
+ programs.fzf.enable = true; # alt-c
+ };
+}
diff --git a/makefu/2configs/home-manager/default.nix b/makefu/2configs/home-manager/default.nix
new file mode 100644
index 000000000..e75ee6262
--- /dev/null
+++ b/makefu/2configs/home-manager/default.nix
@@ -0,0 +1,7 @@
+{
+ imports = [
+ <home-manager/nixos>
+ ];
+ home-manager.users.makefu = {
+ };
+}
diff --git a/makefu/2configs/home-manager/desktop.nix b/makefu/2configs/home-manager/desktop.nix
new file mode 100644
index 000000000..c2f854d47
--- /dev/null
+++ b/makefu/2configs/home-manager/desktop.nix
@@ -0,0 +1,31 @@
+{pkgs, ... }: {
+ home-manager.users.makefu = {
+ programs.browserpass = { browsers = [ "firefox" ] ; enable = true; };
+ services.network-manager-applet.enable = true;
+ services.blueman-applet.enable = true;
+ services.pasystray.enable = true;
+
+ systemd.user.services.network-manager-applet.Service.Environment = ''
+ XDG_DATA_DIRS=/etc/profiles/per-user/makefu/share GDK_PIXBUF_MODULE_FILE=${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
+ '';
+ systemd.user.services.clipit = {
+ Unit = {
+ Description = "clipboard manager";
+ After = [ "graphical-session-pre.target" ];
+ PartOf = [ "graphical-session.target" ];
+ };
+
+ Install = {
+ WantedBy = [ "graphical-session.target" ];
+ };
+
+ Service = {
+ Environment = ''
+ XDG_DATA_DIRS=/etc/profiles/per-user/makefu/share GDK_PIXBUF_MODULE_FILE=${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
+ '';
+ ExecStart = "${pkgs.clipit}/bin/clipit";
+ Restart = "on-abort";
+ };
+ };
+ };
+}
diff --git a/makefu/2configs/home-manager/mail.nix b/makefu/2configs/home-manager/mail.nix
new file mode 100644
index 000000000..ce7ae4f4d
--- /dev/null
+++ b/makefu/2configs/home-manager/mail.nix
@@ -0,0 +1,46 @@
+{
+ home-manager.users.makefu = {
+ accounts.email.accounts.syntaxfehler = {
+ address = "felix.richter@syntax-fehler.de";
+ userName = "Felix.Richter@syntax-fehler.de";
+ imap = {
+ host = "syntax-fehler.de";
+ tls = {
+ enable = true;
+ };
+ };
+ smtp = {
+ host = "syntax-fehler.de";
+ tls = {
+ enable = true;
+ };
+ };
+ msmtp.enable = true;
+ notmuch.enable = true;
+ offlineimap = {
+ enable = true;
+ postSyncHookCommand = "notmuch new";
+ extraConfig.remote = {
+ holdconnectionopen = true;
+ idlefolders = "['INBOX']";
+ };
+ };
+ primary = true;
+ realName = "Felix Richter";
+ passwordCommand = "gpg --use-agent --quiet --batch -d /home/makefu/.mail/syntax-fehler.gpg";
+ };
+ programs.offlineimap.enable = true;
+ programs.offlineimap.extraConfig = {
+ mbnames = {
+ filename = "~/.mutt/muttrc.mailboxes";
+ header = "'mailboxes '";
+ peritem = "'+%(accountname)s/%(foldername)s'";
+ sep = "' '";
+ footer = "'\\n'";
+ };
+ general = {
+ ui = "TTY.TTYUI";
+ };
+ };
+ };
+}
diff --git a/makefu/3modules/airdcpp.nix b/makefu/3modules/airdcpp.nix
new file mode 100644
index 000000000..5250ee67a
--- /dev/null
+++ b/makefu/3modules/airdcpp.nix
@@ -0,0 +1,210 @@
+{ config, lib, pkgs, ... }:
+with import <stockholm/lib>; #genid
+let
+ cfg = config.makefu.airdcpp;
+
+ out = {
+ options.makefu.airdcpp = api;
+ config = lib.mkIf cfg.enable imp;
+ };
+
+ api = with types;{
+ enable = mkEnableOption "airdcpp";
+
+ package = mkOption {
+ type = package;
+ default = pkgs.airdcpp-webclient;
+ };
+
+ user = mkOption {
+ description = ''
+ user which will run udpt. if kept default a new user will be created
+ '';
+ type = str;
+ default = "airdcpp";
+ };
+ extraGroups = mkOption {
+ description = ''extra groups for the user (only for default user)'';
+ type = listOf str;
+ default = [];
+ example = [ "nginx" ];
+ };
+
+ stateDir = mkOption {
+ description = ''
+ directory for storing state (pid,config)
+ '';
+ type = str;
+ default = "/var/lib/airdcpp";
+ };
+ dcpp = {
+ Nick = mkOption {
+ description = ''
+ Nick Name for connection
+ '';
+ type = str;
+ default = "kevin";
+ };
+ InPort = mkOption {
+ description = "Input Port";
+ type = int;
+ default = 16849;
+ };
+ UDPPort = mkOption {
+ description = "UDP open Port";
+ type = int;
+ default = 16849;
+ };
+ TLSPort = mkOption {
+ description = "TLS open Port";
+ type = int;
+ default = 16869;
+ };
+ DownloadSpeed = mkOption {
+ description = "Total Download Speed in Mbps/s";
+ type = str;
+ default = "100";
+ };
+ UploadSpeed = mkOption {
+ description = "Total Upload Speed in Mbp/s";
+ type = str;
+ default = "100";
+ };
+ shares = mkOption {
+ default = {};
+ type = attrsOf (submodule ( { config, ... }: {
+ options = {
+ path = mkOption {
+ description = "path to the share";
+ type = str;
+ };
+ incoming = mkOption {
+ description = "incoming";
+ type = bool;
+ default = false;
+ };
+ };
+ }));
+ };
+ initialConfigFile = mkOption {
+ description = ''
+ path inital DCPlusPlus.xml configuration if none exists
+ '';
+ type = nullOr path;
+ default = null;
+ };
+ };
+ web = {
+ port = mkOption {
+ description = ''web-ui port
+
+ NOTE: once the initial config had been written to the state directory it will not be replaced
+ '';
+ type = int;
+ default = 5600;
+ };
+ initialConfigFile = mkOption {
+ description = ''
+ path inital WebServer.xml configuration if none exists
+ '';
+ type = nullOr path;
+ default = null;
+ };
+ # TODO: tlsPort
+ users = mkOption {
+ type = attrsOf (submodule ( { config, ... }: {
+ options = {
+ password = mkOption {
+ description = "password of user";
+ type = str;
+ };
+ permissions = mkOption {
+ description = "user permissions";
+ type = str;
+ default = "admin";
+ };
+ };
+ }));
+ };
+ };
+ };
+
+ imp = let
+ genUsers = users: concatMapStringsSep "\n" (user:
+ ''<WebUser Username="${user.name}" Password="${user.password}" LastLogin="0" Permissions="${user.permissions}"/>'' )
+ (mapAttrsToList (name: val: val // { inherit name; }) users);
+ genShares = shares: concatMapStringsSep "\n" (share:
+ ''<Directory Virtual="stockholm" Incoming="${
+ if share.incoming then "1" else "0"
+ }" LastRefreshTime="0">${share.path}</Directory>'' )
+ (mapAttrsToList (name: val: val // { inherit name; }) shares);
+ webConfigFile = if (cfg.web.initialConfigFile == null) then builtins.trace "warning: airdcpp passwords are stored in plain text" pkgs.writeText "initial-config" ''
+ <?xml version="1.0" encoding="utf-8" standalone="yes"?>
+ <WebServer>
+ <Config>
+ <Server Port="${toString cfg.web.port}"/>
+ <TLSServer Port="0" Certificate="" CertificateKey=""/>
+ </Config>
+ <WebUsers>${genUsers cfg.web.users}
+ </WebUsers>
+ </WebServer>
+ '' else cfg.web.initialConfigFile;
+ dcppConfigFile = if (cfg.dcpp.initialConfigFile == null) then pkgs.writeText "initial-config" ''
+ <?xml version="1.0" encoding="utf-8" standalone="yes"?>
+ <DCPlusPlus>
+ <Settings>
+ <Nick type="string">${cfg.dcpp.Nick}</Nick>
+ <ConfigVersion type="string">${cfg.package.version}</ConfigVersion>
+ <InPort type="int">${toString cfg.dcpp.InPort}</InPort>
+ <UDPPort type="int">${toString cfg.dcpp.UDPPort}</UDPPort>
+ <TLSPort type="int">${toString cfg.dcpp.TLSPort}</TLSPort>
+ <ConfigBuildNumber type="int">0</ConfigBuildNumber>
+ <AutoDetectIncomingConnection type="int">0</AutoDetectIncomingConnection>
+ <NoIpOverride type="int">1</NoIpOverride>
+ <WizardRunNew type="int">0</WizardRunNew>
+ <IPUpdate type="int">0</IPUpdate>
+ <AlwaysCCPM type="int">1</AlwaysCCPM>
+ <DownloadSpeed type="string">${cfg.dcpp.DownloadSpeed}</DownloadSpeed>
+ <UploadSpeed type="string">${cfg.dcpp.UploadSpeed}</UploadSpeed>
+ </Settings>
+ <Share Token="0" Name="Default">
+ ${genShares cfg.dcpp.shares}
+ <NoShare/>
+ </Share>
+ <ChatFilterItems/>
+ </DCPlusPlus>
+ '' else cfg.dcpp.initialConfigFile;
+ in {
+ systemd.services.airdcpp = {
+ description = "airdcpp webui";
+ after = [ "network.target" ];
+ wantedBy = [ "multi-user.target" ];
+ restartIfChanged = true;
+ serviceConfig = {
+ Type = "simple";
+ ExecStartPre = pkgs.writeDash "prepare-env" ''
+ d=${cfg.stateDir}/WebServer.xml
+ test -e $d || install -m700 -o${cfg.user} ${webConfigFile} $d
+ d=${cfg.stateDir}/DCPlusPlus.xml
+ test -e $d || install -m700 -o${cfg.user} ${dcppConfigFile} $d
+ '';
+ PermissionsStartOnly = true;
+ ExecStart = "${cfg.package}/bin/airdcppd -c=${cfg.stateDir} -p=${cfg.stateDir}/airdcpp.pid";
+ PrivateTmp = true;
+ WorkingDirectory = cfg.stateDir;
+ User = "${cfg.user}";
+ };
+ };
+ users = lib.mkIf (cfg.user == "airdcpp") {
+ users.airdcpp = {
+ uid = genid "airdcpp";
+ home = cfg.stateDir;
+ createHome = true;
+ inherit (cfg) extraGroups;
+ };
+ groups.airdcpp.gid = genid "airdcpp";
+ };
+ };
+in
+out
+
diff --git a/makefu/5pkgs/airdcpp-webclient/default.nix b/makefu/5pkgs/airdcpp-webclient/default.nix
new file mode 100644
index 000000000..361a7da65
--- /dev/null
+++ b/makefu/5pkgs/airdcpp-webclient/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl
+}:
+stdenv.mkDerivation rec {
+ name = "airdcpp-webclient-${version}";
+ version = "2.3.0";
+
+ src = fetchurl {
+ url = http://web-builds.airdcpp.net/stable/airdcpp_2.3.0_webui-2.3.0_64-bit_portable.tar.gz;
+ sha256 = "0yvcl0nc70fghc7vfsgvbpryi5q97arld8adql4way4qa0mdnyv1";
+ };
+
+ phases = [ "unpackPhase" "installPhase" ];
+ installPhase = ''
+ mkdir -p $out/{share,bin}
+ cp -r * $out/share
+ ln -s $out/share/airdcppd $out/bin/
+ '';
+
+ meta = with stdenv.lib; {
+ # to start it: airdcpp -p=<pid-file> -c=<config-store-path (must be writeable)> --configure
+ description = "dcpp client (statically precompiled)";
+ homepage = http://fixme;
+ license = licenses.gpl3;
+ maintainers = with maintainers; [ makefu ];
+ platforms = with platforms; linux;
+ };
+}
diff --git a/makefu/5pkgs/pavumeter/default.nix b/makefu/5pkgs/pavumeter/default.nix
new file mode 100644
index 000000000..b1822530a
--- /dev/null
+++ b/makefu/5pkgs/pavumeter/default.nix
@@ -0,0 +1,30 @@
+{ lib, stdenv, fetchurl, libusb, libtool, autoconf, pkgconfig, git,
+gettext, automake, libxml2
+, autoreconfHook
+, lynx
+, gtkmm2
+, libpulseaudio
+, gnome2
+, libsigcxx
+}:
+stdenv.mkDerivation rec {
+ pname = "pavumeter";
+ name = "${pname}-${version}";
+ version = "0.9.3";
+
+ src = fetchurl {
+ url = "http://0pointer.de/lennart/projects/${pname}/${name}.tar.gz";
+ sha256 = "0yq67w8j8l1xsv8pp37bylax22npd6msbavr6pb25yvyq825i3gx";
+ };
+
+ buildInputs = [ gtkmm2 libpulseaudio gnome2.gnome_icon_theme ];
+ nativeBuildInputs = [ pkgconfig autoreconfHook lynx ];
+
+ meta = {
+ description = "PulseAudio volumene meter";
+ homepage = http://0pointer.de/lennart/projects/pavumeter;
+ license = stdenv.lib.licenses.gpl2;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ makefu ];
+ };
+}
diff --git a/makefu/krops.nix b/makefu/krops.nix
index f8ea6f7ef..ddb4afece 100644
--- a/makefu/krops.nix
+++ b/makefu/krops.nix
@@ -20,12 +20,11 @@
nms = false;
arm6 = false;
clever_kexec = false;
+ home-manager = false;
} // import (./. + "/1systems/${name}/source.nix");
source = { test }: lib.evalSource [
{
- # nixos-18.03 @ 2018-08-06
- # + do_sqlite3 ruby: 55a952be5b5
- # + exfat-nofuse bump: ee6a5296a35
+ # nixos-18.09 @ 2018-09-18
# + uhub/sqlite: 5dd7610401747
nixpkgs = if test || host-src.full then {
git.ref = nixpkgs-src.rev;
@@ -70,6 +69,12 @@
ref = "30fdd53";
};
})
+ (lib.mkIf ( host-src.home-manager ) {
+ home-manager.git = {
+ url = https://github.com/rycee/home-manager;
+ ref = "6eea2a4";
+ };
+ })
];
in {