Merge remote-tracking branch 'ni/master'
This commit is contained in:
commit
91e7352884
100
krebs/5pkgs/simple/TabFS/default.nix
Normal file
100
krebs/5pkgs/simple/TabFS/default.nix
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
{ lib, pkgs, stdenv }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "TabFS";
|
||||||
|
|
||||||
|
src = pkgs.fetchgit {
|
||||||
|
url = https://cgit.krebsco.de/TabFS;
|
||||||
|
rev = "1fc4845283a0e6aa46a8d8978f356d5ccdcedd13";
|
||||||
|
sha256 = "0bsm5fhxrr6zwbnm9p10h9pwm85llr02g2ch97a62r62dhjjrc8h";
|
||||||
|
};
|
||||||
|
|
||||||
|
phases = [
|
||||||
|
"unpackPhase"
|
||||||
|
"buildPhase"
|
||||||
|
"installPhase"
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkgs.jq
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
pkgs.fuse
|
||||||
|
];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
make -C fs
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
|
||||||
|
cp fs/tabfs $out/bin
|
||||||
|
|
||||||
|
${lib.concatStrings
|
||||||
|
(lib.mapAttrsToList
|
||||||
|
(name: spec: /* sh */ ''
|
||||||
|
jq < ${spec.source} > $out/bin/${name} \
|
||||||
|
--arg out $out \
|
||||||
|
--arg path ${lib.makeBinPath spec.path} \
|
||||||
|
-Rrs \
|
||||||
|
${lib.escapeShellArg /* jq */ ''
|
||||||
|
def when(cond; update): if cond then update else . end;
|
||||||
|
|
||||||
|
split("\n") |
|
||||||
|
map(${lib.concatMapStringsSep "|" (filter: "(${filter})")
|
||||||
|
(lib.toList (spec.filter or []) ++ [
|
||||||
|
/* jq */ ''when(test("^#!"); "\(.)\nexport PATH=\($path)")''
|
||||||
|
])
|
||||||
|
}) |
|
||||||
|
join("\n")
|
||||||
|
''}
|
||||||
|
chmod +x $out/bin/${name}
|
||||||
|
'')
|
||||||
|
{
|
||||||
|
tabfs-enable-native-messaging = {
|
||||||
|
source = "install.sh";
|
||||||
|
path = [
|
||||||
|
pkgs.coreutils
|
||||||
|
];
|
||||||
|
filter = /* jq */''
|
||||||
|
when(test("^EXE_PATH="); "EXE_PATH=\($out)/bin/tabfs-wrapper")
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
tabfs-wrapper = {
|
||||||
|
source = "fs/tabfs-wrapper";
|
||||||
|
path = [
|
||||||
|
pkgs.coreutils
|
||||||
|
pkgs.findutils
|
||||||
|
pkgs.gnugrep
|
||||||
|
pkgs.procps
|
||||||
|
"/run/wrappers" # for fusermount
|
||||||
|
];
|
||||||
|
};
|
||||||
|
tabfs-build-crx = {
|
||||||
|
source = "build-crx.sh";
|
||||||
|
path = [
|
||||||
|
pkgs.coreutils
|
||||||
|
pkgs.crx
|
||||||
|
pkgs.gnugrep
|
||||||
|
pkgs.jq
|
||||||
|
pkgs.openssl
|
||||||
|
];
|
||||||
|
filter = /* jq */''
|
||||||
|
when(test("^source_dir=");
|
||||||
|
sub("\\$\\(dirname \"\\$0\"\\)"; ${builtins.toJSON src})
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
tabfs-install-crx = {
|
||||||
|
source = "install-crx.sh";
|
||||||
|
path = [
|
||||||
|
pkgs.coreutils
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
}
|
50
krebs/5pkgs/simple/crx/default.nix
Normal file
50
krebs/5pkgs/simple/crx/default.nix
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
{ lib, pkgs, stdenv }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "crx";
|
||||||
|
version = "1.1.0";
|
||||||
|
|
||||||
|
src = pkgs.fetchgit {
|
||||||
|
url = https://cgit.krebsco.de/crx;
|
||||||
|
rev = "refs/tags/v${version}";
|
||||||
|
sha256 = "10xwrdxwbvqydayg6a4jcl3cfp4wi9ssm7a0dlnclkc4rmf6sv4a";
|
||||||
|
};
|
||||||
|
|
||||||
|
phases = [
|
||||||
|
"unpackPhase"
|
||||||
|
"installPhase"
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
|
||||||
|
${lib.concatStrings
|
||||||
|
(lib.mapAttrsToList
|
||||||
|
(name: path: /* sh */ ''
|
||||||
|
sed \
|
||||||
|
's,^set -efu$,&\nPATH=${lib.makeBinPath path}; export PATH,' \
|
||||||
|
< ./${name} \
|
||||||
|
> $out/bin/${name}
|
||||||
|
chmod +x $out/bin/${name}
|
||||||
|
'')
|
||||||
|
{
|
||||||
|
crxid = [
|
||||||
|
pkgs.bc
|
||||||
|
pkgs.coreutils
|
||||||
|
pkgs.file
|
||||||
|
pkgs.gnused
|
||||||
|
pkgs.openssl
|
||||||
|
pkgs.xxd
|
||||||
|
];
|
||||||
|
crxmake = [
|
||||||
|
pkgs.coreutils
|
||||||
|
pkgs.gnused
|
||||||
|
pkgs.openssl
|
||||||
|
pkgs.xxd
|
||||||
|
pkgs.zip
|
||||||
|
];
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
}
|
|
@ -65,6 +65,9 @@ let {
|
||||||
|
|
||||||
public-repos = mapAttrs make-public-repo ({
|
public-repos = mapAttrs make-public-repo ({
|
||||||
} // mapAttrs (_: recursiveUpdate { cgit.section = "1. miscellaneous"; }) {
|
} // mapAttrs (_: recursiveUpdate { cgit.section = "1. miscellaneous"; }) {
|
||||||
|
crx = {
|
||||||
|
cgit.desc = "utilities for working with Chrome extensions";
|
||||||
|
};
|
||||||
dic = {
|
dic = {
|
||||||
cgit.desc = "dict.leo.org command line interface";
|
cgit.desc = "dict.leo.org command line interface";
|
||||||
};
|
};
|
||||||
|
@ -102,6 +105,9 @@ let {
|
||||||
stockholm = {
|
stockholm = {
|
||||||
cgit.desc = "NixOS configuration";
|
cgit.desc = "NixOS configuration";
|
||||||
};
|
};
|
||||||
|
TabFS = {
|
||||||
|
cgit.desc = "mount browser tabs & co. as a filesystem";
|
||||||
|
};
|
||||||
with-ssh = {};
|
with-ssh = {};
|
||||||
} // mapAttrs (_: recursiveUpdate { cgit.section = "2. Host configurations"; }) {
|
} // mapAttrs (_: recursiveUpdate { cgit.section = "2. Host configurations"; }) {
|
||||||
ni = {
|
ni = {
|
||||||
|
|
Loading…
Reference in a new issue