Add borgmatic, emulated systems
This commit is contained in:
parent
836bc1e675
commit
a0cffdc5eb
|
@ -27,6 +27,8 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
binfmt.emulatedSystems = [ "wasm32-wasi" "wasm64-wasi" "armv7l-linux" "aarch64-linux" ];
|
||||
};
|
||||
|
||||
services.udev = {
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
firejail.enable = true;
|
||||
fish.enable = true;
|
||||
xonsh = {
|
||||
enable = true;
|
||||
# enable = true;
|
||||
package = pkgs.xonsh.overridePythonAttrs (
|
||||
old: {
|
||||
propagatedBuildInputs = old.propagatedBuildInputs ++ [ pkgs.python3Packages.nixpkgs ];
|
||||
|
|
416
externals/packages/borgmatic/requirements.nix
vendored
Normal file
416
externals/packages/borgmatic/requirements.nix
vendored
Normal file
|
@ -0,0 +1,416 @@
|
|||
# generated using pypi2nix tool (version: 2.0.4)
|
||||
# See more at: https://github.com/nix-community/pypi2nix
|
||||
#
|
||||
# COMMAND:
|
||||
# pypi2nix -e borgmatic
|
||||
#
|
||||
|
||||
{ pkgs ? import <nixpkgs> {},
|
||||
overrides ? ({ pkgs, python }: self: super: {})
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
inherit (pkgs) makeWrapper;
|
||||
inherit (pkgs.stdenv.lib) fix' extends inNixShell;
|
||||
|
||||
pythonPackages =
|
||||
import "${toString pkgs.path}/pkgs/top-level/python-packages.nix" {
|
||||
inherit pkgs;
|
||||
inherit (pkgs) stdenv;
|
||||
python = pkgs.python3;
|
||||
};
|
||||
|
||||
commonBuildInputs = [];
|
||||
commonDoCheck = false;
|
||||
|
||||
withPackages = pkgs':
|
||||
let
|
||||
pkgs = builtins.removeAttrs pkgs' ["__unfix__"];
|
||||
interpreterWithPackages = selectPkgsFn: pythonPackages.buildPythonPackage {
|
||||
name = "python3-interpreter";
|
||||
buildInputs = [ makeWrapper ] ++ (selectPkgsFn pkgs);
|
||||
buildCommand = ''
|
||||
mkdir -p $out/bin
|
||||
ln -s ${pythonPackages.python.interpreter} \
|
||||
$out/bin/${pythonPackages.python.executable}
|
||||
for dep in ${builtins.concatStringsSep " "
|
||||
(selectPkgsFn pkgs)}; do
|
||||
if [ -d "$dep/bin" ]; then
|
||||
for prog in "$dep/bin/"*; do
|
||||
if [ -x "$prog" ] && [ -f "$prog" ]; then
|
||||
ln -s $prog $out/bin/`basename $prog`
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
for prog in "$out/bin/"*; do
|
||||
wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH"
|
||||
done
|
||||
pushd $out/bin
|
||||
ln -s ${pythonPackages.python.executable} python
|
||||
ln -s ${pythonPackages.python.executable} \
|
||||
python3
|
||||
popd
|
||||
'';
|
||||
passthru.interpreter = pythonPackages.python;
|
||||
};
|
||||
|
||||
interpreter = interpreterWithPackages builtins.attrValues;
|
||||
in {
|
||||
__old = pythonPackages;
|
||||
inherit interpreter;
|
||||
inherit interpreterWithPackages;
|
||||
mkDerivation = args: pythonPackages.buildPythonPackage (args // {
|
||||
nativeBuildInputs = (args.nativeBuildInputs or []) ++ args.buildInputs;
|
||||
});
|
||||
packages = pkgs;
|
||||
overrideDerivation = drv: f:
|
||||
pythonPackages.buildPythonPackage (
|
||||
drv.drvAttrs // f drv.drvAttrs // { meta = drv.meta; }
|
||||
);
|
||||
withPackages = pkgs'':
|
||||
withPackages (pkgs // pkgs'');
|
||||
};
|
||||
|
||||
python = withPackages {};
|
||||
|
||||
generated = self: {
|
||||
"borgmatic" = python.mkDerivation {
|
||||
name = "borgmatic-1.5.5";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/fa/d2/e79389de00509257a7ef07a051880a93d9d5a762230fbc76b963755f647c/borgmatic-1.5.5.tar.gz";
|
||||
sha256 = "f0ecbaa1afe391b6d4bc7ed25890ac65a5b302ea4f4ae8b5011df3e7dc93e376";
|
||||
};
|
||||
doCheck = commonDoCheck;
|
||||
format = "pyproject";
|
||||
buildInputs = commonBuildInputs ++ [ ];
|
||||
propagatedBuildInputs = [
|
||||
self."colorama"
|
||||
self."pykwalify"
|
||||
self."requests"
|
||||
self."ruamel-yaml"
|
||||
self."setuptools"
|
||||
];
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
homepage = "https://torsion.org/borgmatic";
|
||||
license = licenses.gpl3;
|
||||
description = "Simple, configuration-driven backup software for servers and workstations";
|
||||
};
|
||||
};
|
||||
|
||||
"certifi" = python.mkDerivation {
|
||||
name = "certifi-2020.4.5.1";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/b8/e2/a3a86a67c3fc8249ed305fc7b7d290ebe5e4d46ad45573884761ef4dea7b/certifi-2020.4.5.1.tar.gz";
|
||||
sha256 = "51fcb31174be6e6664c5f69e3e1691a2d72a1a12e90f872cbdb1567eb47b6519";
|
||||
};
|
||||
doCheck = commonDoCheck;
|
||||
format = "setuptools";
|
||||
buildInputs = commonBuildInputs ++ [ ];
|
||||
propagatedBuildInputs = [ ];
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
homepage = "https://certifiio.readthedocs.io/en/latest/";
|
||||
license = licenses.mpl20;
|
||||
description = "Python package for providing Mozilla's CA Bundle.";
|
||||
};
|
||||
};
|
||||
|
||||
"chardet" = python.mkDerivation {
|
||||
name = "chardet-3.0.4";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d/chardet-3.0.4.tar.gz";
|
||||
sha256 = "84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae";
|
||||
};
|
||||
doCheck = commonDoCheck;
|
||||
format = "setuptools";
|
||||
buildInputs = commonBuildInputs ++ [ ];
|
||||
propagatedBuildInputs = [ ];
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
homepage = "https://github.com/chardet/chardet";
|
||||
license = licenses.lgpl2;
|
||||
description = "Universal encoding detector for Python 2 and 3";
|
||||
};
|
||||
};
|
||||
|
||||
"colorama" = python.mkDerivation {
|
||||
name = "colorama-0.4.3";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/82/75/f2a4c0c94c85e2693c229142eb448840fba0f9230111faa889d1f541d12d/colorama-0.4.3.tar.gz";
|
||||
sha256 = "e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1";
|
||||
};
|
||||
doCheck = commonDoCheck;
|
||||
format = "setuptools";
|
||||
buildInputs = commonBuildInputs ++ [ ];
|
||||
propagatedBuildInputs = [ ];
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
homepage = "https://github.com/tartley/colorama";
|
||||
license = licenses.bsdOriginal;
|
||||
description = "Cross-platform colored terminal text.";
|
||||
};
|
||||
};
|
||||
|
||||
"docopt" = python.mkDerivation {
|
||||
name = "docopt-0.6.2";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz";
|
||||
sha256 = "49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491";
|
||||
};
|
||||
doCheck = commonDoCheck;
|
||||
format = "setuptools";
|
||||
buildInputs = commonBuildInputs ++ [ ];
|
||||
propagatedBuildInputs = [ ];
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
homepage = "http://docopt.org";
|
||||
license = licenses.mit;
|
||||
description = "Pythonic argument parser, that will make you smile";
|
||||
};
|
||||
};
|
||||
|
||||
"idna" = python.mkDerivation {
|
||||
name = "idna-2.9";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/cb/19/57503b5de719ee45e83472f339f617b0c01ad75cba44aba1e4c97c2b0abd/idna-2.9.tar.gz";
|
||||
sha256 = "7588d1c14ae4c77d74036e8c22ff447b26d0fde8f007354fd48a7814db15b7cb";
|
||||
};
|
||||
doCheck = commonDoCheck;
|
||||
format = "setuptools";
|
||||
buildInputs = commonBuildInputs ++ [ ];
|
||||
propagatedBuildInputs = [ ];
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
homepage = "https://github.com/kjd/idna";
|
||||
license = licenses.bsdOriginal;
|
||||
description = "Internationalized Domain Names in Applications (IDNA)";
|
||||
};
|
||||
};
|
||||
|
||||
"pykwalify" = python.mkDerivation {
|
||||
name = "pykwalify-1.7.0";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/53/6a/c7394df238816085de6a630f1817805639e844ea7980108f19261cd44c12/pykwalify-1.7.0.tar.gz";
|
||||
sha256 = "7e8b39c5a3a10bc176682b3bd9a7422c39ca247482df198b402e8015defcceb2";
|
||||
};
|
||||
doCheck = commonDoCheck;
|
||||
format = "setuptools";
|
||||
buildInputs = commonBuildInputs ++ [ ];
|
||||
propagatedBuildInputs = [
|
||||
self."docopt"
|
||||
self."python-dateutil"
|
||||
self."pyyaml"
|
||||
];
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
homepage = "http://github.com/grokzen/pykwalify";
|
||||
license = licenses.mit;
|
||||
description = "Python lib/cli for JSON/YAML schema validation";
|
||||
};
|
||||
};
|
||||
|
||||
"python-dateutil" = python.mkDerivation {
|
||||
name = "python-dateutil-2.8.1";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/be/ed/5bbc91f03fa4c839c4c7360375da77f9659af5f7086b7a7bdda65771c8e0/python-dateutil-2.8.1.tar.gz";
|
||||
sha256 = "73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c";
|
||||
};
|
||||
doCheck = commonDoCheck;
|
||||
format = "pyproject";
|
||||
buildInputs = commonBuildInputs ++ [
|
||||
self."setuptools"
|
||||
self."setuptools-scm"
|
||||
self."wheel"
|
||||
];
|
||||
propagatedBuildInputs = [
|
||||
self."six"
|
||||
];
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
homepage = "https://dateutil.readthedocs.io";
|
||||
license = licenses.bsdOriginal;
|
||||
description = "Extensions to the standard Python datetime module";
|
||||
};
|
||||
};
|
||||
|
||||
"pyyaml" = python.mkDerivation {
|
||||
name = "pyyaml-5.3.1";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/64/c2/b80047c7ac2478f9501676c988a5411ed5572f35d1beff9cae07d321512c/PyYAML-5.3.1.tar.gz";
|
||||
sha256 = "b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d";
|
||||
};
|
||||
doCheck = commonDoCheck;
|
||||
format = "setuptools";
|
||||
buildInputs = commonBuildInputs ++ [ ];
|
||||
propagatedBuildInputs = [ ];
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
homepage = "https://github.com/yaml/pyyaml";
|
||||
license = licenses.mit;
|
||||
description = "YAML parser and emitter for Python";
|
||||
};
|
||||
};
|
||||
|
||||
"requests" = python.mkDerivation {
|
||||
name = "requests-2.23.0";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/f5/4f/280162d4bd4d8aad241a21aecff7a6e46891b905a4341e7ab549ebaf7915/requests-2.23.0.tar.gz";
|
||||
sha256 = "b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6";
|
||||
};
|
||||
doCheck = commonDoCheck;
|
||||
format = "setuptools";
|
||||
buildInputs = commonBuildInputs ++ [ ];
|
||||
propagatedBuildInputs = [
|
||||
self."certifi"
|
||||
self."chardet"
|
||||
self."idna"
|
||||
self."urllib3"
|
||||
];
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
homepage = "https://requests.readthedocs.io";
|
||||
license = licenses.asl20;
|
||||
description = "Python HTTP for Humans.";
|
||||
};
|
||||
};
|
||||
|
||||
"ruamel-yaml" = python.mkDerivation {
|
||||
name = "ruamel-yaml-0.16.10";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/16/8b/54a26c1031595e5edd0e616028b922d78d8ffba8bc775f0a4faeada846cc/ruamel.yaml-0.16.10.tar.gz";
|
||||
sha256 = "099c644a778bf72ffa00524f78dd0b6476bca94a1da344130f4bf3381ce5b954";
|
||||
};
|
||||
doCheck = commonDoCheck;
|
||||
format = "setuptools";
|
||||
buildInputs = commonBuildInputs ++ [ ];
|
||||
propagatedBuildInputs = [
|
||||
self."ruamel-yaml-clib"
|
||||
];
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
homepage = "https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree";
|
||||
license = licenses.mit;
|
||||
description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order";
|
||||
};
|
||||
};
|
||||
|
||||
"ruamel-yaml-clib" = python.mkDerivation {
|
||||
name = "ruamel-yaml-clib-0.2.0";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/92/28/612085de3fae9f82d62d80255d9f4cf05b1b341db1e180adcf28c1bf748d/ruamel.yaml.clib-0.2.0.tar.gz";
|
||||
sha256 = "b66832ea8077d9b3f6e311c4a53d06273db5dc2db6e8a908550f3c14d67e718c";
|
||||
};
|
||||
doCheck = commonDoCheck;
|
||||
format = "setuptools";
|
||||
buildInputs = commonBuildInputs ++ [ ];
|
||||
propagatedBuildInputs = [ ];
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
homepage = "https://bitbucket.org/ruamel/yaml.clib";
|
||||
license = licenses.mit;
|
||||
description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml";
|
||||
};
|
||||
};
|
||||
|
||||
"setuptools" = python.mkDerivation {
|
||||
name = "setuptools-47.1.1";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/25/bf/a37e89d3148221fedd4def62bb68749041d79f3840d58a7943f81a6f6c6e/setuptools-47.1.1.zip";
|
||||
sha256 = "145fa62b9d7bb544fce16e9b5a9bf4ab2032d2f758b7cd674af09a92736aff74";
|
||||
};
|
||||
doCheck = commonDoCheck;
|
||||
format = "setuptools";
|
||||
buildInputs = commonBuildInputs ++ [ ];
|
||||
propagatedBuildInputs = [ ];
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
homepage = "https://github.com/pypa/setuptools";
|
||||
license = licenses.mit;
|
||||
description = "Easily download, build, install, upgrade, and uninstall Python packages";
|
||||
};
|
||||
};
|
||||
|
||||
"setuptools-scm" = python.mkDerivation {
|
||||
name = "setuptools-scm-4.1.2";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/cd/66/fa77e809b7cb1c2e14b48c7fc8a8cd657a27f4f9abb848df0c967b6e4e11/setuptools_scm-4.1.2.tar.gz";
|
||||
sha256 = "a8994582e716ec690f33fec70cca0f85bd23ec974e3f783233e4879090a7faa8";
|
||||
};
|
||||
doCheck = commonDoCheck;
|
||||
format = "pyproject";
|
||||
buildInputs = commonBuildInputs ++ [
|
||||
self."setuptools"
|
||||
self."wheel"
|
||||
];
|
||||
propagatedBuildInputs = [
|
||||
self."setuptools"
|
||||
];
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
homepage = "https://github.com/pypa/setuptools_scm/";
|
||||
license = licenses.mit;
|
||||
description = "the blessed package to manage your versions by scm tags";
|
||||
};
|
||||
};
|
||||
|
||||
"six" = python.mkDerivation {
|
||||
name = "six-1.15.0";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/6b/34/415834bfdafca3c5f451532e8a8d9ba89a21c9743a0c59fbd0205c7f9426/six-1.15.0.tar.gz";
|
||||
sha256 = "30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259";
|
||||
};
|
||||
doCheck = commonDoCheck;
|
||||
format = "setuptools";
|
||||
buildInputs = commonBuildInputs ++ [ ];
|
||||
propagatedBuildInputs = [ ];
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
homepage = "https://github.com/benjaminp/six";
|
||||
license = licenses.mit;
|
||||
description = "Python 2 and 3 compatibility utilities";
|
||||
};
|
||||
};
|
||||
|
||||
"urllib3" = python.mkDerivation {
|
||||
name = "urllib3-1.25.9";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/05/8c/40cd6949373e23081b3ea20d5594ae523e681b6f472e600fbc95ed046a36/urllib3-1.25.9.tar.gz";
|
||||
sha256 = "3018294ebefce6572a474f0604c2021e33b3fd8006ecd11d62107a5d2a963527";
|
||||
};
|
||||
doCheck = commonDoCheck;
|
||||
format = "setuptools";
|
||||
buildInputs = commonBuildInputs ++ [ ];
|
||||
propagatedBuildInputs = [ ];
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
homepage = "https://urllib3.readthedocs.io/";
|
||||
license = licenses.mit;
|
||||
description = "HTTP library with thread-safe connection pooling, file post, and more.";
|
||||
};
|
||||
};
|
||||
|
||||
"wheel" = python.mkDerivation {
|
||||
name = "wheel-0.34.2";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://files.pythonhosted.org/packages/75/28/521c6dc7fef23a68368efefdcd682f5b3d1d58c2b90b06dc1d0b805b51ae/wheel-0.34.2.tar.gz";
|
||||
sha256 = "8788e9155fe14f54164c1b9eb0a319d98ef02c160725587ad60f14ddc57b6f96";
|
||||
};
|
||||
doCheck = commonDoCheck;
|
||||
format = "setuptools";
|
||||
buildInputs = commonBuildInputs ++ [
|
||||
self."setuptools"
|
||||
];
|
||||
propagatedBuildInputs = [ ];
|
||||
meta = with pkgs.stdenv.lib; {
|
||||
homepage = "https://github.com/pypa/wheel";
|
||||
license = licenses.mit;
|
||||
description = "A built-package format for Python";
|
||||
};
|
||||
};
|
||||
};
|
||||
localOverridesFile = ./requirements_override.nix;
|
||||
localOverrides = import localOverridesFile { inherit pkgs python; };
|
||||
commonOverrides = [
|
||||
(let src = pkgs.fetchFromGitHub { owner = "nix-community"; repo = "pypi2nix-overrides"; rev = "100c15ec7dfe7d241402ecfb1e796328d0eaf1ec"; sha256 = "0akfkvdakcdxc1lrxznh1rz2811x4pafnsq3jnyr5pn3m30pc7db"; } ; in import "${src}/overrides.nix" { inherit pkgs python; })
|
||||
];
|
||||
paramOverrides = [
|
||||
(overrides { inherit pkgs python; })
|
||||
];
|
||||
allOverrides =
|
||||
(if (builtins.pathExists localOverridesFile)
|
||||
then [localOverrides] else [] ) ++ commonOverrides ++ paramOverrides;
|
||||
|
||||
in python.withPackages
|
||||
(fix' (pkgs.lib.fold
|
||||
extends
|
||||
generated
|
||||
allOverrides
|
||||
)
|
||||
)
|
15
externals/packages/borgmatic/requirements_frozen.txt
vendored
Normal file
15
externals/packages/borgmatic/requirements_frozen.txt
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
borgmatic==1.5.5
|
||||
certifi==2020.4.5.1
|
||||
chardet==3.0.4
|
||||
colorama==0.4.3
|
||||
docopt==0.6.2
|
||||
idna==2.9
|
||||
pykwalify==1.7.0
|
||||
python-dateutil==2.8.1
|
||||
PyYAML==5.3.1
|
||||
requests==2.23.0
|
||||
ruamel.yaml==0.16.10
|
||||
ruamel.yaml.clib==0.2.0
|
||||
setuptools-scm==4.1.2
|
||||
six==1.15.0
|
||||
urllib3==1.25.9
|
5
externals/packages/borgmatic/requirements_override.nix
vendored
Normal file
5
externals/packages/borgmatic/requirements_override.nix
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
{ pkgs, python }:
|
||||
|
||||
self: super: {
|
||||
|
||||
}
|
|
@ -98,6 +98,7 @@ in
|
|||
bat
|
||||
bind
|
||||
borgbackup
|
||||
(callPackage ./externals/packages/borgmatic/requirements.nix {}).packages.borgmatic
|
||||
file
|
||||
fzf
|
||||
git-lfs
|
||||
|
|
Loading…
Reference in a new issue