summaryrefslogtreecommitdiffstats
path: root/tv
diff options
context:
space:
mode:
Diffstat (limited to 'tv')
-rw-r--r--tv/1systems/mu/config.nix7
-rw-r--r--tv/2configs/br.nix9
-rw-r--r--tv/2configs/default.nix1
-rw-r--r--tv/2configs/hw/AO753.nix2
-rw-r--r--tv/2configs/hw/w110er.nix9
-rw-r--r--tv/2configs/sshd.nix6
-rw-r--r--tv/2configs/urlwatch.nix10
-rw-r--r--tv/2configs/xp-332.nix2
-rw-r--r--tv/5pkgs/simple/field.nix6
-rw-r--r--tv/5pkgs/simple/utsushi.nix32
-rw-r--r--tv/5pkgs/vim/nix.nix44
11 files changed, 72 insertions, 56 deletions
diff --git a/tv/1systems/mu/config.nix b/tv/1systems/mu/config.nix
index f1cd7d673..98332b2d6 100644
--- a/tv/1systems/mu/config.nix
+++ b/tv/1systems/mu/config.nix
@@ -49,6 +49,13 @@ with import <stockholm/lib>;
networking.networkmanager.enable = true;
+ # XXX reload to work around occasional "Failed to load firmware chunk!"
+ # TODO only do this if firmware is actually broken(?)
+ system.activationScripts.reload-iwlwifi = /* sh */ ''
+ ${pkgs.kmod}/bin/modprobe -vr iwlwifi
+ ${pkgs.kmod}/bin/modprobe -v iwlwifi
+ '';
+
environment.systemPackages = with pkgs; [
chromium
firefoxWrapper
diff --git a/tv/2configs/br.nix b/tv/2configs/br.nix
index d660ebc35..e6a46e903 100644
--- a/tv/2configs/br.nix
+++ b/tv/2configs/br.nix
@@ -5,10 +5,11 @@ with import <stockholm/lib>;
<nixpkgs/nixos/modules/services/hardware/sane_extra_backends/brscan4.nix>
];
- krebs.nixpkgs.allowUnfreePredicate = pkg: any (flip hasPrefix pkg.name) [
- "brother-udev-rule-type1-"
- "brscan4-"
- "mfcl2700dnlpr-"
+ krebs.nixpkgs.allowUnfreePredicate = pkg: any (eq (packageName pkg)) [
+ "brother-udev-rule-type1"
+ "brscan4"
+ "brscan4-etc-files"
+ "mfcl2700dnlpr"
];
hardware.sane = {
diff --git a/tv/2configs/default.nix b/tv/2configs/default.nix
index 4fc755c43..72c48da2c 100644
--- a/tv/2configs/default.nix
+++ b/tv/2configs/default.nix
@@ -120,6 +120,7 @@ with import <stockholm/lib>;
{
environment.systemPackages = [
+ pkgs.field
pkgs.get
pkgs.git
pkgs.git-crypt
diff --git a/tv/2configs/hw/AO753.nix b/tv/2configs/hw/AO753.nix
index 4df5e097a..d5b755cef 100644
--- a/tv/2configs/hw/AO753.nix
+++ b/tv/2configs/hw/AO753.nix
@@ -39,5 +39,5 @@ with import <stockholm/lib>;
HandleSuspendKey=ignore
'';
- krebs.nixpkgs.allowUnfreePredicate = pkg: hasPrefix "broadcom-sta-" pkg.name;
+ krebs.nixpkgs.allowUnfreePredicate = pkg: packageName pkg == "broadcom-sta";
}
diff --git a/tv/2configs/hw/w110er.nix b/tv/2configs/hw/w110er.nix
index 55e9482d4..7d837eabc 100644
--- a/tv/2configs/hw/w110er.nix
+++ b/tv/2configs/hw/w110er.nix
@@ -10,10 +10,11 @@ with import <stockholm/lib>;
#hardware.bumblebee.enable = true;
#hardware.bumblebee.group = "video";
#hardware.enableRedistributableFirmware= true;
- #krebs.nixpkgs.allowUnfreePredicate = pkg:
- # hasPrefix "nvidia-x11-" pkg.name ||
- # hasPrefix "nvidia-persistenced-" pkg.name ||
- # hasPrefix "nvidia-settings-" pkg.name;
+ #krebs.nixpkgs.allowUnfreePredicate = pkg: any (eq (packageName pkg)) [
+ # "nvidia-x11"
+ # "nvidia-persistenced"
+ # "nvidia-settings"
+ #];
}
];
diff --git a/tv/2configs/sshd.nix b/tv/2configs/sshd.nix
index 1749b552d..25468f23e 100644
--- a/tv/2configs/sshd.nix
+++ b/tv/2configs/sshd.nix
@@ -5,12 +5,6 @@ with import <stockholm/lib>;
{
services.openssh = {
enable = true;
- hostKeys = [
- {
- type = "ed25519";
- path = "/etc/ssh/ssh_host_ed25519_key";
- }
- ];
};
tv.iptables.input-internet-accept-tcp = singleton "ssh";
}
diff --git a/tv/2configs/urlwatch.nix b/tv/2configs/urlwatch.nix
index 40dc7d237..378b5d167 100644
--- a/tv/2configs/urlwatch.nix
+++ b/tv/2configs/urlwatch.nix
@@ -1,9 +1,15 @@
with import <stockholm/lib>;
{ config, pkgs, ... }: let
- json = url: {
+ exec = filename: args: url: {
inherit url;
- filter = "system:${pkgs.jq}/bin/jq .";
+ filter = "system:${
+ concatMapStringsSep " " shell.escape ([filename] ++ toList args)
+ }";
};
+ json = json' ["."];
+ json' = exec "${pkgs.jq}/bin/jq";
+ xml = xml' ["--format" "-"];
+ xml' = exec "${pkgs.libxml2}/bin/xmllint";
in {
krebs.urlwatch = {
enable = true;
diff --git a/tv/2configs/xp-332.nix b/tv/2configs/xp-332.nix
index 4a0b0ae16..a66b884c8 100644
--- a/tv/2configs/xp-332.nix
+++ b/tv/2configs/xp-332.nix
@@ -16,7 +16,7 @@ with import <stockholm/lib>;
};
krebs.nixpkgs.allowUnfreePredicate = pkg:
- elem (parseDrvName pkg.name).name [ "imagescan-plugin-networkscan" ];
+ packageName pkg == "imagescan-plugin-networkscan";
nixpkgs.overlays = singleton (self: super: {
utsushi-customized = self.utsushi.override {
diff --git a/tv/5pkgs/simple/field.nix b/tv/5pkgs/simple/field.nix
new file mode 100644
index 000000000..71362398d
--- /dev/null
+++ b/tv/5pkgs/simple/field.nix
@@ -0,0 +1,6 @@
+{ gawk, writeDashBin }:
+
+writeDashBin "field" ''
+ set -u
+ exec ${gawk}/bin/awk -v n="$1" '{print$n}'
+''
diff --git a/tv/5pkgs/simple/utsushi.nix b/tv/5pkgs/simple/utsushi.nix
index 0ae4ed880..0414eae09 100644
--- a/tv/5pkgs/simple/utsushi.nix
+++ b/tv/5pkgs/simple/utsushi.nix
@@ -46,33 +46,34 @@ let
'';
imagescan-plugin-networkscan = stdenv.mkDerivation rec {
- name = "imagescan-plugin-networkscan-${meta.version}";
+ pname = "imagescan-plugin-networkscan";
+ version = "1.1.3";
src =
if stdenv.system == "i686-linux" then
fetchurl {
urls = [
- "https://download2.ebz.epson.net/imagescanv3/debian/latest1/deb/x86/imagescan-bundle-debian-9-3.55.0.x86.deb.tar.gz"
- "http://ni.r/~tv/mirrors/epson/imagescan-bundle-debian-9-3.55.0.x86.deb.tar.gz"
+ "https://download2.ebz.epson.net/imagescanv3/debian/latest1/deb/x86/imagescan-bundle-debian-9-3.59.2.x86.deb.tar.gz"
+ "http://ni.r/~tv/mirrors/epson/imagescan-bundle-debian-9-3.59.2.x86.deb.tar.gz"
];
- sha256 = "12syk4y8z22hm9r1lgxqp81vd24jbqgmq83b7yiyqfd4wfxb6k3s";
+ sha256 = "1whw96kcfj65h2jnk72xgyr9jj05fa07d0xjxpaqb0zwdag3465g";
}
else if stdenv.system == "x86_64-linux" then
fetchurl {
urls = [
- "https://download2.ebz.epson.net/imagescanv3/debian/latest1/deb/x64/imagescan-bundle-debian-9-3.55.0.x64.deb.tar.gz"
- "http://ni.r/~tv/mirrors/epson/imagescan-bundle-debian-9-3.55.0.x64.deb.tar.gz"
+ "https://download2.ebz.epson.net/imagescanv3/debian/latest1/deb/x64/imagescan-bundle-debian-9-3.59.2.x64.deb.tar.gz"
+ "http://ni.r/~tv/mirrors/epson/imagescan-bundle-debian-9-3.59.2.x64.deb.tar.gz"
];
- sha256 = "1wp372hqhzdar6ldxy7s9js2s872x8c5nwq3608dwg9gca11ppc5";
+ sha256 = "0kd6mrs48wwss54gw4v9fm7ss5ma2xpn6gd1pz26cgjvp6n8hknn";
}
- else throw "${name} is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)";
+ else throw "${pname} is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)";
dontBuild = true;
installPhase = ''
# Wildcard * stand for either i386 or amd64
${dpkg}/bin/dpkg -x \
- plugins/imagescan-plugin-networkscan_${meta.version}-1epson4debian9_*.deb \
+ plugins/imagescan-plugin-networkscan_${version}-1epson4debian9_*.deb \
tmp
mv tmp/usr $out
@@ -94,25 +95,25 @@ let
This package provides the unfree networkscan plugin from the Epson
Image Scan v3 scanner driver bundle, which can be used by Utsushi.
'';
- homepage = "http://support.epson.net/linux/en/imagescanv3.php?version=${meta.version}";
+ homepage = "http://support.epson.net/linux/en/imagescanv3.php?version=${version}";
license = stdenv.lib.licenses.eapl;
maintainers = [ stdenv.lib.maintainers.tv ];
platforms = stdenv.lib.platforms.linux;
- version = "1.1.2";
};
};
in
stdenv.mkDerivation rec {
- name = "utsushi-${meta.version}";
+ pname = "utsushi";
+ version = "3.59.2";
src = fetchurl {
urls = [
- "http://support.epson.net/linux/src/scanner/imagescanv3/debian/imagescan_${meta.version}.orig.tar.gz"
- "http://ni.r/~tv/mirrors/epson/imagescan_${meta.version}.orig.tar.gz"
+ "http://support.epson.net/linux/src/scanner/imagescanv3/debian/imagescan_${version}.orig.tar.gz"
+ "http://ni.r/~tv/mirrors/epson/imagescan_${version}.orig.tar.gz"
];
- sha256 = "0xwl4xp07cigslbi1qc52jsjvxcyvjlx54g812mn7211p01v2h4l";
+ sha256 = "1mns10mpyjprkrh2bjcg2nda9iyrnd0pf1did9py84glpapkzrdq";
};
preConfigure = ''
@@ -212,6 +213,5 @@ stdenv.mkDerivation rec {
license = stdenv.lib.licenses.gpl3;
maintainers = [ stdenv.lib.maintainers.tv ];
platforms = stdenv.lib.platforms.linux;
- version = "3.55.0";
};
}
diff --git a/tv/5pkgs/vim/nix.nix b/tv/5pkgs/vim/nix.nix
index 747ab0bc0..4f3f83aaa 100644
--- a/tv/5pkgs/vim/nix.nix
+++ b/tv/5pkgs/vim/nix.nix
@@ -63,16 +63,28 @@ with import <stockholm/lib>;
syn cluster nix_ind_strings contains=NixIND_STRING
syn cluster nix_strings contains=NixSTRING
- ${concatStringsSep "\n" (mapAttrsToList (name: {
+ ${concatStringsSep "\n" (let
+ alts = xs: ''\(${concatStringsSep ''\|'' xs}\)'';
+ capitalize = s: let
+ xs = stringToCharacters s;
+ in
+ toUpper (head xs) + concatStrings (tail xs);
+ comment = k: ''/\* ${k} \*/'';
+ def = k: ''${k}[ \t\r\n]*='';
+ writer = k: ''write${k}[^ \t\r\n]*[ \t\r\n]*\("[^"]*"\|[a-z]\+\)'';
+ writerExt = k: writerName ''[^"]*\.${k}'';
+ writerName = k:
+ ''${alts [''toFile'' ''write[^ \t\r\n]*'']}*[ \t\r\n]*"${k}"'';
+ in mapAttrsToList (name: {
extraStart ? null,
lang ? name
}:
let
startAlts = filter isString [
- ''/\* ${name} \*/''
+ (comment name)
extraStart
];
- sigil = ''\(${concatStringsSep ''\|'' startAlts}\)[ \t\r\n]*'';
+ sigil = ''${alts startAlts}[ \t\r\n]*'';
in /* vim */ ''
syn include @nix_${lang}_syntax syntax/${lang}.vim
if exists("b:current_syntax")
@@ -111,22 +123,7 @@ with import <stockholm/lib>;
" This is required because containedin isn't transitive.
syn cluster nix_has_dollar_curly
\ add=@nix_${lang}_syntax
- '') (let
-
- # TODO move this higher
- capitalize = s: let
- xs = stringToCharacters s;
- in
- toUpper (head xs) + concatStrings (tail xs);
-
- alts = xs: ''\(${concatStringsSep ''\|'' xs}\)'';
- def = k: ''${k}[ \t\r\n]*='';
- writer = k: ''write${k}[^ \t\r\n]*[ \t\r\n]*\("[^"]*"\|[a-z]\+\)'';
-
- writerExt = k: writerName ''[^"]*\.${k}'';
- writerName = k: ''write[^ \t\r\n]*[ \t\r\n]*"${k}"'';
-
- in {
+ '') {
c = {};
cabal = {};
diff = {};
@@ -136,10 +133,13 @@ with import <stockholm/lib>;
(writer "Jq")
(writerExt "jq")
];
- javascript.extraStart = ''/\* js \*/'';
+ javascript.extraStart = comment "jq";
lua = {};
#nginx = {};
- python.extraStart = ''/\* py \*/'';
+ python.extraStart = alts [
+ (comment "py")
+ (writerExt "py")
+ ];
sed.extraStart = writer "Sed";
sh.extraStart = let
phases = [
@@ -172,7 +172,7 @@ with import <stockholm/lib>;
];
xdefaults = {};
xmodmap = {};
- }))}
+ })}
" Clear syntax that interferes with nixINSIDE_DOLLAR_CURLY.
syn clear shVarAssign