Merge master into staging-next
This commit is contained in:
commit
ce285535ea
@ -868,6 +868,12 @@
|
|||||||
githubId = 706854;
|
githubId = 706854;
|
||||||
name = "Etienne Laurin";
|
name = "Etienne Laurin";
|
||||||
};
|
};
|
||||||
|
attila-lendvai = {
|
||||||
|
name = "Attila Lendvai";
|
||||||
|
email = "attila@lendvai.name";
|
||||||
|
github = "attila-lendvai";
|
||||||
|
githubId = 840345;
|
||||||
|
};
|
||||||
auntie = {
|
auntie = {
|
||||||
email = "auntieNeo@gmail.com";
|
email = "auntieNeo@gmail.com";
|
||||||
github = "auntieNeo";
|
github = "auntieNeo";
|
||||||
|
@ -609,6 +609,8 @@
|
|||||||
./services/networking/atftpd.nix
|
./services/networking/atftpd.nix
|
||||||
./services/networking/avahi-daemon.nix
|
./services/networking/avahi-daemon.nix
|
||||||
./services/networking/babeld.nix
|
./services/networking/babeld.nix
|
||||||
|
./services/networking/bee.nix
|
||||||
|
./services/networking/bee-clef.nix
|
||||||
./services/networking/biboumi.nix
|
./services/networking/biboumi.nix
|
||||||
./services/networking/bind.nix
|
./services/networking/bind.nix
|
||||||
./services/networking/bitcoind.nix
|
./services/networking/bitcoind.nix
|
||||||
|
@ -48,6 +48,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
user = mkOption {
|
user = mkOption {
|
||||||
|
type = types.str;
|
||||||
default = defaultUser;
|
default = defaultUser;
|
||||||
description = ''
|
description = ''
|
||||||
User to be used to perform backup.
|
User to be used to perform backup.
|
||||||
@ -56,12 +57,14 @@ in
|
|||||||
|
|
||||||
databases = mkOption {
|
databases = mkOption {
|
||||||
default = [];
|
default = [];
|
||||||
|
type = types.listOf types.str;
|
||||||
description = ''
|
description = ''
|
||||||
List of database names to dump.
|
List of database names to dump.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
location = mkOption {
|
location = mkOption {
|
||||||
|
type = types.path;
|
||||||
default = "/var/backup/mysql";
|
default = "/var/backup/mysql";
|
||||||
description = ''
|
description = ''
|
||||||
Location to put the gzipped MySQL database dumps.
|
Location to put the gzipped MySQL database dumps.
|
||||||
@ -70,6 +73,7 @@ in
|
|||||||
|
|
||||||
singleTransaction = mkOption {
|
singleTransaction = mkOption {
|
||||||
default = false;
|
default = false;
|
||||||
|
type = types.bool;
|
||||||
description = ''
|
description = ''
|
||||||
Whether to create database dump in a single transaction
|
Whether to create database dump in a single transaction
|
||||||
'';
|
'';
|
||||||
|
@ -48,6 +48,7 @@ in {
|
|||||||
|
|
||||||
startAt = mkOption {
|
startAt = mkOption {
|
||||||
default = "*-*-* 01:15:00";
|
default = "*-*-* 01:15:00";
|
||||||
|
type = types.str;
|
||||||
description = ''
|
description = ''
|
||||||
This option defines (see <literal>systemd.time</literal> for format) when the
|
This option defines (see <literal>systemd.time</literal> for format) when the
|
||||||
databases should be dumped.
|
databases should be dumped.
|
||||||
@ -70,6 +71,7 @@ in {
|
|||||||
|
|
||||||
databases = mkOption {
|
databases = mkOption {
|
||||||
default = [];
|
default = [];
|
||||||
|
type = types.listOf types.str;
|
||||||
description = ''
|
description = ''
|
||||||
List of database names to dump.
|
List of database names to dump.
|
||||||
'';
|
'';
|
||||||
@ -77,6 +79,7 @@ in {
|
|||||||
|
|
||||||
location = mkOption {
|
location = mkOption {
|
||||||
default = "/var/backup/postgresql";
|
default = "/var/backup/postgresql";
|
||||||
|
type = types.path;
|
||||||
description = ''
|
description = ''
|
||||||
Location to put the gzipped PostgreSQL database dumps.
|
Location to put the gzipped PostgreSQL database dumps.
|
||||||
'';
|
'';
|
||||||
|
107
nixos/modules/services/networking/bee-clef.nix
Normal file
107
nixos/modules/services/networking/bee-clef.nix
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
# NOTE for now nothing is installed into /etc/bee-clef/. the config files are used as read-only from the nix store.
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.services.bee-clef;
|
||||||
|
in {
|
||||||
|
meta = {
|
||||||
|
maintainers = with maintainers; [ attila-lendvai ];
|
||||||
|
};
|
||||||
|
|
||||||
|
### interface
|
||||||
|
|
||||||
|
options = {
|
||||||
|
services.bee-clef = {
|
||||||
|
enable = mkEnableOption "clef external signer instance for Ethereum Swarm Bee";
|
||||||
|
|
||||||
|
dataDir = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
default = "/var/lib/bee-clef";
|
||||||
|
description = ''
|
||||||
|
Data dir for bee-clef. Beware that some helper scripts may not work when changed!
|
||||||
|
The service itself should work fine, though.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
passwordFile = mkOption {
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
default = "/var/lib/bee-clef/password";
|
||||||
|
description = "Password file for bee-clef.";
|
||||||
|
};
|
||||||
|
|
||||||
|
user = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "bee-clef";
|
||||||
|
description = ''
|
||||||
|
User the bee-clef daemon should execute under.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
group = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "bee-clef";
|
||||||
|
description = ''
|
||||||
|
Group the bee-clef daemon should execute under.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
### implementation
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
# if we ever want to have rules.js under /etc/bee-clef/
|
||||||
|
# environment.etc."bee-clef/rules.js".source = ${pkgs.bee-clef}/rules.js
|
||||||
|
|
||||||
|
systemd.packages = [ pkgs.bee-clef ]; # include the upstream bee-clef.service file
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d '${cfg.dataDir}/' 0750 ${cfg.user} ${cfg.group}"
|
||||||
|
"d '${cfg.dataDir}/keystore' 0700 ${cfg.user} ${cfg.group}"
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.services.bee-clef = {
|
||||||
|
path = [
|
||||||
|
# these are needed for the ensure-clef-account script
|
||||||
|
pkgs.coreutils
|
||||||
|
pkgs.gnused
|
||||||
|
pkgs.gawk
|
||||||
|
];
|
||||||
|
|
||||||
|
wantedBy = [ "bee.service" "multi-user.target" ];
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
User = cfg.user;
|
||||||
|
Group = cfg.group;
|
||||||
|
ExecStartPre = ''${pkgs.bee-clef}/share/bee-clef/ensure-clef-account "${cfg.dataDir}" "${pkgs.bee-clef}/share/bee-clef/"'';
|
||||||
|
ExecStart = [
|
||||||
|
"" # this hides/overrides what's in the original entry
|
||||||
|
"${pkgs.bee-clef}/share/bee-clef/bee-clef-service start"
|
||||||
|
];
|
||||||
|
ExecStop = [
|
||||||
|
"" # this hides/overrides what's in the original entry
|
||||||
|
"${pkgs.bee-clef}/share/bee-clef/bee-clef-service stop"
|
||||||
|
];
|
||||||
|
Environment = [
|
||||||
|
"CONFIGDIR=${cfg.dataDir}"
|
||||||
|
"PASSWORD_FILE=${cfg.passwordFile}"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users = optionalAttrs (cfg.user == "bee-clef") {
|
||||||
|
bee-clef = {
|
||||||
|
group = cfg.group;
|
||||||
|
home = cfg.dataDir;
|
||||||
|
isSystemUser = true;
|
||||||
|
description = "Daemon user for the bee-clef service";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.groups = optionalAttrs (cfg.group == "bee-clef") {
|
||||||
|
bee-clef = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
149
nixos/modules/services/networking/bee.nix
Normal file
149
nixos/modules/services/networking/bee.nix
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
let
|
||||||
|
cfg = config.services.bee;
|
||||||
|
format = pkgs.formats.yaml {};
|
||||||
|
configFile = format.generate "bee.yaml" cfg.settings;
|
||||||
|
in {
|
||||||
|
meta = {
|
||||||
|
# doc = ./bee.xml;
|
||||||
|
maintainers = with maintainers; [ attila-lendvai ];
|
||||||
|
};
|
||||||
|
|
||||||
|
### interface
|
||||||
|
|
||||||
|
options = {
|
||||||
|
services.bee = {
|
||||||
|
enable = mkEnableOption "Ethereum Swarm Bee";
|
||||||
|
|
||||||
|
package = mkOption {
|
||||||
|
type = types.package;
|
||||||
|
default = pkgs.bee;
|
||||||
|
defaultText = "pkgs.bee";
|
||||||
|
example = "pkgs.bee-unstable";
|
||||||
|
description = "The package providing the bee binary for the service.";
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = mkOption {
|
||||||
|
type = format.type;
|
||||||
|
description = ''
|
||||||
|
Ethereum Swarm Bee configuration. Refer to
|
||||||
|
<link xlink:href="https://gateway.ethswarm.org/bzz/docs.swarm.eth/docs/installation/configuration/"/>
|
||||||
|
for details on supported values.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
daemonNiceLevel = mkOption {
|
||||||
|
type = types.int;
|
||||||
|
default = 0;
|
||||||
|
description = ''
|
||||||
|
Daemon process priority for bee.
|
||||||
|
0 is the default Unix process priority, 19 is the lowest.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
user = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "bee";
|
||||||
|
description = ''
|
||||||
|
User the bee binary should execute under.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
group = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "bee";
|
||||||
|
description = ''
|
||||||
|
Group the bee binary should execute under.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
### implementation
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
assertions = [
|
||||||
|
{ assertion = (hasAttr "password" cfg.settings) != true;
|
||||||
|
message = ''
|
||||||
|
`services.bee.settings.password` is insecure. Use `services.bee.settings.password-file` or `systemd.services.bee.serviceConfig.EnvironmentFile` instead.
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
{ assertion = (hasAttr "swap-endpoint" cfg.settings) || (cfg.settings.swap-enable or true == false);
|
||||||
|
message = ''
|
||||||
|
In a swap-enabled network a working Ethereum blockchain node is required. You must specify one using `services.bee.settings.swap-endpoint`, or disable `services.bee.settings.swap-enable` = false.
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
warnings = optional (! config.services.bee-clef.enable) "The bee service requires an external signer. Consider setting `config.services.bee-clef.enable` = true";
|
||||||
|
|
||||||
|
services.bee.settings = {
|
||||||
|
data-dir = lib.mkDefault "/var/lib/bee";
|
||||||
|
password-file = lib.mkDefault "/var/lib/bee/password";
|
||||||
|
clef-signer-enable = lib.mkDefault true;
|
||||||
|
clef-signer-endpoint = lib.mkDefault "/var/lib/bee-clef/clef.ipc";
|
||||||
|
swap-endpoint = lib.mkDefault "https://rpc.slock.it/goerli";
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.packages = [ cfg.package ]; # include the upstream bee.service file
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d '${cfg.settings.data-dir}' 0750 ${cfg.user} ${cfg.group}"
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.services.bee = {
|
||||||
|
requires = optional config.services.bee-clef.enable
|
||||||
|
"bee-clef.service";
|
||||||
|
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
Nice = cfg.daemonNiceLevel;
|
||||||
|
User = cfg.user;
|
||||||
|
Group = cfg.group;
|
||||||
|
ExecStart = [
|
||||||
|
"" # this hides/overrides what's in the original entry
|
||||||
|
"${cfg.package}/bin/bee --config=${configFile} start"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
preStart = with cfg.settings; ''
|
||||||
|
if ! test -f ${password-file}; then
|
||||||
|
< /dev/urandom tr -dc _A-Z-a-z-0-9 2> /dev/null | head -c32 > ${password-file}
|
||||||
|
chmod 0600 ${password-file}
|
||||||
|
echo "Initialized ${password-file} from /dev/urandom"
|
||||||
|
fi
|
||||||
|
if [ ! -f ${data-dir}/keys/libp2p.key ]; then
|
||||||
|
${cfg.package}/bin/bee init --config=${configFile} >/dev/null
|
||||||
|
echo "
|
||||||
|
Logs: journalctl -f -u bee.service
|
||||||
|
|
||||||
|
Bee has SWAP enabled by default and it needs ethereum endpoint to operate.
|
||||||
|
It is recommended to use external signer with bee.
|
||||||
|
Check documentation for more info:
|
||||||
|
- SWAP https://docs.ethswarm.org/docs/installation/manual#swap-bandwidth-incentives
|
||||||
|
- External signer https://docs.ethswarm.org/docs/installation/bee-clef
|
||||||
|
|
||||||
|
After you finish configuration run 'sudo bee-get-addr'."
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users = optionalAttrs (cfg.user == "bee") {
|
||||||
|
bee = {
|
||||||
|
group = cfg.group;
|
||||||
|
home = cfg.settings.data-dir;
|
||||||
|
isSystemUser = true;
|
||||||
|
description = "Daemon user for Ethereum Swarm Bee";
|
||||||
|
extraGroups = optional config.services.bee-clef.enable
|
||||||
|
config.services.bee-clef.group;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.groups = optionalAttrs (cfg.group == "bee") {
|
||||||
|
bee = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
pname = "plexamp";
|
pname = "plexamp";
|
||||||
version = "3.3.1";
|
version = "3.4.1";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage";
|
url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage";
|
||||||
name="${pname}-${version}.AppImage";
|
name="${pname}-${version}.AppImage";
|
||||||
sha256 = "6/asP8VR+rJ52lKKds46gSw1or9suUEmyR75pjdWHIQ=";
|
sha256 = "Vv+e1q5ThuXDPX8baSU+7/U63p6/dvh0ZvScO1Loj+U=";
|
||||||
};
|
};
|
||||||
|
|
||||||
appimageContents = appimageTools.extractType2 {
|
appimageContents = appimageTools.extractType2 {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env nix-shell
|
#!/usr/bin/env nix-shell
|
||||||
#!nix-shell -i bash -p curl gnugrep gnused gawk
|
#!nix-shell -i bash -p curl jq gnused
|
||||||
|
|
||||||
# Update script for the vscode versions and hashes.
|
# Update script for the vscode versions and hashes.
|
||||||
# Usually doesn't need to be called by hand,
|
# Usually doesn't need to be called by hand,
|
||||||
@ -16,8 +16,7 @@ fi
|
|||||||
|
|
||||||
# VSCode
|
# VSCode
|
||||||
|
|
||||||
VSCODE_VER=$(curl -s -L "https://code.visualstudio.com/Download" | grep "is now available" | awk -F'</span>' '{print $1}' | awk -F'>' '{print $NF}')
|
VSCODE_VER=$(curl --fail --silent https://api.github.com/repos/Microsoft/vscode/releases/latest | jq --raw-output .tag_name)
|
||||||
VSCODE_VER=$(curl -s -L "https://code.visualstudio.com/updates/v${VSCODE_VER/./_}" | grep "Downloads:" | awk -F'code.visualstudio.com/' '{print $2}' | awk -F'/' '{print $1}')
|
|
||||||
sed -i "s/version = \".*\"/version = \"${VSCODE_VER}\"/" "$ROOT/vscode.nix"
|
sed -i "s/version = \".*\"/version = \"${VSCODE_VER}\"/" "$ROOT/vscode.nix"
|
||||||
|
|
||||||
VSCODE_LINUX_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/linux-x64/stable"
|
VSCODE_LINUX_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/linux-x64/stable"
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
, lib
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, python3
|
, python3
|
||||||
|
, nix-update-script
|
||||||
# To include additional plugins, pass them here as an overlay.
|
# To include additional plugins, pass them here as an overlay.
|
||||||
, packageOverrides ? self: super: {}
|
, packageOverrides ? self: super: {}
|
||||||
}:
|
}:
|
||||||
@ -89,13 +90,13 @@ let
|
|||||||
self: super: {
|
self: super: {
|
||||||
octoprint = self.buildPythonPackage rec {
|
octoprint = self.buildPythonPackage rec {
|
||||||
pname = "OctoPrint";
|
pname = "OctoPrint";
|
||||||
version = "1.5.1";
|
version = "1.5.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "OctoPrint";
|
owner = "OctoPrint";
|
||||||
repo = "OctoPrint";
|
repo = "OctoPrint";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "04x58cjivslsrld341ip11c50d50p2q01090nsyji0j255v986j9";
|
sha256 = "sha256-ZL/P/YIHynPmP8ssZZUKZDJscBsSsCq3UtOHrTVLpec=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with super; [
|
propagatedBuildInputs = with super; [
|
||||||
@ -170,7 +171,10 @@ let
|
|||||||
"test_set_external_modification"
|
"test_set_external_modification"
|
||||||
];
|
];
|
||||||
|
|
||||||
passthru.python = self.python;
|
passthru = {
|
||||||
|
python = self.python;
|
||||||
|
updateScript = nix-update-script { attrPath = "octoprint"; };
|
||||||
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://octoprint.org/";
|
homepage = "https://octoprint.org/";
|
||||||
|
@ -0,0 +1,44 @@
|
|||||||
|
From 04933c578f51aa1f536991318dc5aede57f81c0d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Attila Lendvai <attila@lendvai.name>
|
||||||
|
Date: Sat, 30 Jan 2021 14:02:02 +0100
|
||||||
|
Subject: [PATCH 1/2] clef-service: accept default CONFIGDIR from the
|
||||||
|
environment
|
||||||
|
|
||||||
|
---
|
||||||
|
packaging/bee-clef-service | 15 ++++++++++-----
|
||||||
|
1 file changed, 10 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/packaging/bee-clef-service b/packaging/bee-clef-service
|
||||||
|
index 10bcd92..34c7edd 100755
|
||||||
|
--- a/packaging/bee-clef-service
|
||||||
|
+++ b/packaging/bee-clef-service
|
||||||
|
@@ -1,16 +1,21 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
start() {
|
||||||
|
- KEYSTORE=/var/lib/bee-clef/keystore
|
||||||
|
- CONFIGDIR=/var/lib/bee-clef
|
||||||
|
+ if [ -z "$CONFIGDIR" ]; then
|
||||||
|
+ CONFIGDIR=/var/lib/bee-clef
|
||||||
|
+ fi
|
||||||
|
+ if [ -z "$PASSWORD_FILE" ]; then
|
||||||
|
+ PASSWORD_FILE=${CONFIGDIR}/password
|
||||||
|
+ fi
|
||||||
|
+ KEYSTORE=${CONFIGDIR}/keystore
|
||||||
|
+ SECRET=$(cat ${PASSWORD_FILE})
|
||||||
|
CHAINID=5
|
||||||
|
- SECRET=$(cat /var/lib/bee-clef/password)
|
||||||
|
# clef with every start sets permissions back to 600
|
||||||
|
- (sleep 4; chmod 660 /var/lib/bee-clef/clef.ipc) &
|
||||||
|
+ (sleep 4; chmod 660 ${CONFIGDIR}/clef.ipc) &
|
||||||
|
( sleep 2; cat << EOF
|
||||||
|
{ "jsonrpc": "2.0", "id":1, "result": { "text":"$SECRET" } }
|
||||||
|
EOF
|
||||||
|
-) | clef --stdio-ui --keystore $KEYSTORE --configdir $CONFIGDIR --chainid $CHAINID --rules /etc/bee-clef/rules.js --nousb --4bytedb-custom /etc/bee-clef/4byte.json --pcscdpath "" --auditlog "" --loglevel 3 --ipcpath /var/lib/bee-clef
|
||||||
|
+) | clef --stdio-ui --keystore $KEYSTORE --configdir $CONFIGDIR --chainid $CHAINID --rules /etc/bee-clef/rules.js --nousb --4bytedb-custom /etc/bee-clef/4byte.json --pcscdpath "" --auditlog "" --loglevel 3 --ipcpath ${CONFIGDIR}
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
@ -0,0 +1,25 @@
|
|||||||
|
From 1a1ab986245e8b74648a1a0adb5d1c7019561d18 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Attila Lendvai <attila@lendvai.name>
|
||||||
|
Date: Sat, 30 Jan 2021 15:24:57 +0100
|
||||||
|
Subject: [PATCH 2/2] nix diff for substituteAll
|
||||||
|
|
||||||
|
---
|
||||||
|
packaging/bee-clef-service | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/packaging/bee-clef-service b/packaging/bee-clef-service
|
||||||
|
index 34c7edd..31e9d95 100755
|
||||||
|
--- a/packaging/bee-clef-service
|
||||||
|
+++ b/packaging/bee-clef-service
|
||||||
|
@@ -15,7 +15,7 @@ start() {
|
||||||
|
( sleep 2; cat << EOF
|
||||||
|
{ "jsonrpc": "2.0", "id":1, "result": { "text":"$SECRET" } }
|
||||||
|
EOF
|
||||||
|
-) | clef --stdio-ui --keystore $KEYSTORE --configdir $CONFIGDIR --chainid $CHAINID --rules /etc/bee-clef/rules.js --nousb --4bytedb-custom /etc/bee-clef/4byte.json --pcscdpath "" --auditlog "" --loglevel 3 --ipcpath ${CONFIGDIR}
|
||||||
|
+) | @clefBinary@ --stdio-ui --keystore $KEYSTORE --configdir $CONFIGDIR --chainid $CHAINID --rules @out@/share/bee-clef/rules.js --nousb --4bytedb-custom @out@/share/bee-clef/4byte.json --pcscdpath "" --auditlog "" --loglevel 3 --ipcpath ${CONFIGDIR}
|
||||||
|
}
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
57
pkgs/applications/networking/bee/bee-clef.nix
Normal file
57
pkgs/applications/networking/bee/bee-clef.nix
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
{ version ? "release", stdenv, lib, substituteAll, fetchFromGitHub, go-ethereum }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "bee-clef";
|
||||||
|
version = "0.4.7";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ethersphere";
|
||||||
|
repo = "bee-clef";
|
||||||
|
rev = "refs/tags/v${version}";
|
||||||
|
sha256 = "1sfwql0kvnir8b9ggpqcyc0ar995gxgfbhqb1xpfzp6wl0g3g4zz";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ go-ethereum ];
|
||||||
|
|
||||||
|
clefBinary = "${go-ethereum}/bin/clef";
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./0001-clef-service-accept-default-CONFIGDIR-from-the-envir.patch
|
||||||
|
./0002-nix-diff-for-substituteAll.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
dontBuild = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin/
|
||||||
|
mkdir -p $out/share/bee-clef/
|
||||||
|
mkdir -p $out/lib/systemd/system/
|
||||||
|
cp packaging/bee-clef.service $out/lib/systemd/system/
|
||||||
|
substituteAll packaging/bee-clef-service $out/share/bee-clef/bee-clef-service
|
||||||
|
substituteAll ${./ensure-clef-account} $out/share/bee-clef/ensure-clef-account
|
||||||
|
substituteAll packaging/bee-clef-keys $out/bin/bee-clef-keys
|
||||||
|
cp packaging/rules.js packaging/4byte.json $out/share/bee-clef/
|
||||||
|
chmod +x $out/bin/bee-clef-keys
|
||||||
|
chmod +x $out/share/bee-clef/bee-clef-service
|
||||||
|
chmod +x $out/share/bee-clef/ensure-clef-account
|
||||||
|
patchShebangs $out/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
# homepage = "https://gateway.ethswarm.org/bzz/docs.swarm.eth/docs/installation/bee-clef/";
|
||||||
|
homepage = "https://docs.ethswarm.org/docs/installation/bee-clef";
|
||||||
|
description = "External signer for Ethereum Swarm Bee";
|
||||||
|
longDescription = ''
|
||||||
|
clef is go-ethereum's external signer.
|
||||||
|
|
||||||
|
bee-clef is a package that starts up a vanilla clef instance as a systemd service,
|
||||||
|
but configured in such a way that is suitable for bee (relaxed security for
|
||||||
|
automated operation).
|
||||||
|
|
||||||
|
This package contains the files necessary to run the bee-clef service.
|
||||||
|
'';
|
||||||
|
license = with licenses; [ bsd3 ];
|
||||||
|
maintainers = with maintainers; [ attila-lendvai ];
|
||||||
|
platforms = go-ethereum.meta.platforms;
|
||||||
|
};
|
||||||
|
}
|
77
pkgs/applications/networking/bee/bee.nix
Normal file
77
pkgs/applications/networking/bee/bee.nix
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
{ version ? "release", stdenv, lib, fetchFromGitHub, buildGoModule, coreutils }:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
versionSpec = rec {
|
||||||
|
unstable = rec {
|
||||||
|
pname = "bee-unstable";
|
||||||
|
version = "2021-01-30";
|
||||||
|
rev = "824636a2c2629c329ab10275cef6a0b7395343ad";
|
||||||
|
goVersionString = "g" + builtins.substring 0 7 rev; # this seems to be some kind of standard of git describe...
|
||||||
|
sha256 = "0ly1yqjq29arbak8lchdradf39l5bmxpbfir6ljjc7nyqdxz0sxg";
|
||||||
|
vendorSha256 = "0w1db7xpissdpf8i5bb96z92zbasj5x9kk3kcisxn0dwla6n55n3";
|
||||||
|
};
|
||||||
|
release = rec {
|
||||||
|
pname = "bee";
|
||||||
|
version = "0.4.2";
|
||||||
|
rev = "refs/tags/v${version}";
|
||||||
|
sha256 = "1jg7aivsgdb9bm87dlmwpf1g6gla8j6v55xmzs8h5xmwqcybbmag";
|
||||||
|
vendorSha256 = "0w1db7xpissdpf8i5bb96z92zbasj5x9kk3kcisxn0dwla6n55n3";
|
||||||
|
};
|
||||||
|
"0.4.2" = release;
|
||||||
|
"0.4.1" = rec {
|
||||||
|
pname = "bee";
|
||||||
|
version = "0.4.1";
|
||||||
|
rev = "refs/tags/v${version}";
|
||||||
|
sha256 = "1bmgbav52pcb5p7cgq9756512fzfqhjybyr0dv538plkqx47mpv7";
|
||||||
|
vendorSha256 = "0j393va4jrg9q3wlc9mgkbpgnn2w2s3k2hcn8phzj8d5fl4n4v2h";
|
||||||
|
};
|
||||||
|
}.${version};
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
buildGoModule {
|
||||||
|
inherit (versionSpec) pname version vendorSha256;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ethersphere";
|
||||||
|
repo = "bee";
|
||||||
|
inherit (versionSpec) rev sha256;
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ coreutils ];
|
||||||
|
|
||||||
|
subPackages = [ "cmd/bee" ];
|
||||||
|
|
||||||
|
# no symbol table, no debug info, and pass the commit for the version string
|
||||||
|
buildFlags = lib.optionalString ( lib.hasAttr "goVersionString" versionSpec)
|
||||||
|
"-ldflags -s -ldflags -w -ldflags -X=github.com/ethersphere/bee.commit=${versionSpec.goVersionString}";
|
||||||
|
|
||||||
|
# Mimic the bee Makefile: without disabling CGO, two (transitive and
|
||||||
|
# unused) dependencies would fail to compile.
|
||||||
|
preBuild = ''
|
||||||
|
export CGO_ENABLED=0
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out/lib/systemd/system
|
||||||
|
cp packaging/bee.service $out/lib/systemd/system/
|
||||||
|
cp packaging/bee-get-addr $out/bin/
|
||||||
|
chmod +x $out/bin/bee-get-addr
|
||||||
|
patchShebangs $out/bin/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://swarm.ethereum.org/";
|
||||||
|
description = "Ethereum Swarm Bee";
|
||||||
|
longDescription = ''
|
||||||
|
A decentralised storage and communication system for a sovereign digital society.
|
||||||
|
|
||||||
|
Swarm is a system of peer-to-peer networked nodes that create a decentralised storage and communication service. The system is economically self-sustaining due to a built-in incentive system enforced through smart contracts on the Ethereum blockchain.
|
||||||
|
|
||||||
|
Bee is a Swarm node implementation, written in Go.
|
||||||
|
'';
|
||||||
|
license = with licenses; [ bsd3 ];
|
||||||
|
maintainers = with maintainers; [ attila-lendvai ];
|
||||||
|
};
|
||||||
|
}
|
47
pkgs/applications/networking/bee/ensure-clef-account
Normal file
47
pkgs/applications/networking/bee/ensure-clef-account
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# NOTE This file is called by the systemd service in its preStart
|
||||||
|
# hook, but it's not Nix specific in any way. Ideally, the same file
|
||||||
|
# should be called from the postinst scripts of the other packages,
|
||||||
|
# but... the world is not ideal.
|
||||||
|
|
||||||
|
# What follows was extracted from, and should be in sync with
|
||||||
|
# https://github.com/ethersphere/bee-clef/tree/master/packaging
|
||||||
|
|
||||||
|
DATA_DIR="$1"
|
||||||
|
CONFIG_DIR="$2"
|
||||||
|
PASSWORD_FILE=${DATA_DIR}/password
|
||||||
|
MASTERSEED=${DATA_DIR}/masterseed.json
|
||||||
|
KEYSTORE=${DATA_DIR}/keystore
|
||||||
|
|
||||||
|
echo "ensure-clef-account $DATA_DIR $CONFIG_DIR"
|
||||||
|
|
||||||
|
if ! test -f ${PASSWORD_FILE}; then
|
||||||
|
< /dev/urandom tr -dc _A-Z-a-z-0-9 2> /dev/null | head -c32 > ${PASSWORD_FILE}
|
||||||
|
chmod 0400 ${PASSWORD_FILE}
|
||||||
|
echo "Initialized ${PASSWORD_FILE} from /dev/urandom"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! test -f ${MASTERSEED}; then
|
||||||
|
parse_json() { echo $1|sed -e 's/[{}]/''/g'|sed -e 's/", "/'\",\"'/g'|sed -e 's/" ,"/'\",\"'/g'|sed -e 's/" , "/'\",\"'/g'|sed -e 's/","/'\"---SEPERATOR---\"'/g'|awk -F=':' -v RS='---SEPERATOR---' "\$1~/\"$2\"/ {print}"|sed -e "s/\"$2\"://"|tr -d "\n\t"|sed -e 's/\\"/"/g'|sed -e 's/\\\\/\\/g'|sed -e 's/^[ \t]*//g'|sed -e 's/^"//' -e 's/"$//' ; }
|
||||||
|
SECRET=$(cat ${PASSWORD_FILE})
|
||||||
|
CLEF="@clefBinary@ --configdir ${DATA_DIR} --keystore ${KEYSTORE} --stdio-ui"
|
||||||
|
$CLEF init >/dev/null << EOF
|
||||||
|
$SECRET
|
||||||
|
$SECRET
|
||||||
|
EOF
|
||||||
|
$CLEF newaccount >/dev/null << EOF
|
||||||
|
$SECRET
|
||||||
|
EOF
|
||||||
|
$CLEF setpw 0x$(parse_json $(cat ${KEYSTORE}/*) address) >/dev/null << EOF
|
||||||
|
$SECRET
|
||||||
|
$SECRET
|
||||||
|
$SECRET
|
||||||
|
EOF
|
||||||
|
$CLEF attest $(sha256sum ${CONFIG_DIR}/rules.js | cut -d' ' -f1 | tr -d '\n') >/dev/null << EOF
|
||||||
|
$SECRET
|
||||||
|
EOF
|
||||||
|
echo "Clef data dir initialized"
|
||||||
|
fi
|
@ -4,14 +4,14 @@ let
|
|||||||
mkRambox = opts: callPackage (import ./rambox.nix opts) { };
|
mkRambox = opts: callPackage (import ./rambox.nix opts) { };
|
||||||
in mkRambox rec {
|
in mkRambox rec {
|
||||||
pname = "rambox-pro";
|
pname = "rambox-pro";
|
||||||
version = "1.4.1";
|
version = "1.5.0";
|
||||||
|
|
||||||
desktopName = "Rambox Pro";
|
desktopName = "Rambox Pro";
|
||||||
|
|
||||||
src = {
|
src = {
|
||||||
x86_64-linux = fetchurl {
|
x86_64-linux = fetchurl {
|
||||||
url = "https://github.com/ramboxapp/download/releases/download/v${version}/RamboxPro-${version}-linux-x64.AppImage";
|
url = "https://github.com/ramboxapp/download/releases/download/v${version}/RamboxPro-${version}-linux-x64.AppImage";
|
||||||
sha256 = "18383v3g26hd1czvw06gmjn8bdw2w9c7zb04zkfl6szgakrv26x4";
|
sha256 = "1g7lrjm8yxklqpc2mp8gy0g61wfilr15dl80r3sh6pa5b4k5spir";
|
||||||
};
|
};
|
||||||
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
|
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
|
||||||
|
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, callPackage, wrapCCWith }:
|
{ lib, stdenv, fetchFromGitHub, callPackage, wrapCCWith }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "4.0.0";
|
version = "4.0.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "RadeonOpenCompute";
|
owner = "RadeonOpenCompute";
|
||||||
repo = "llvm-project";
|
repo = "llvm-project";
|
||||||
rev = "rocm-${version}";
|
rev = "rocm-${version}";
|
||||||
hash = "sha256-nIvqEk18NLtY8Hec2Iq6ufWMblzYJ8SOIXgqomtqa0s=";
|
hash = "sha256-5mQ8tN7A045JCF7tHKgAZAbyVmXOd6Wf0CVUiPA80YM=";
|
||||||
};
|
};
|
||||||
in rec {
|
in rec {
|
||||||
clang = wrapCCWith rec {
|
clang = wrapCCWith rec {
|
||||||
|
@ -21,13 +21,13 @@ let
|
|||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "amdvlk";
|
pname = "amdvlk";
|
||||||
version = "2020.Q4.6";
|
version = "2021.Q1.2";
|
||||||
|
|
||||||
src = fetchRepoProject {
|
src = fetchRepoProject {
|
||||||
name = "${pname}-src";
|
name = "${pname}-src";
|
||||||
manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
|
manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
|
||||||
rev = "refs/tags/v-${version}";
|
rev = "refs/tags/v-${version}";
|
||||||
sha256 = "wminJxfku8Myag+SI7iLSvS+VzHlUd4c86BbpF/cr1w=";
|
sha256 = "+oAetAHJ530e3IFPJDQiQn5vbUKeI1z0oF3Gy6mRVGM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
46
pkgs/development/python-modules/gradient-utils/default.nix
Normal file
46
pkgs/development/python-modules/gradient-utils/default.nix
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
{ buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, hyperopt
|
||||||
|
, lib
|
||||||
|
, mock
|
||||||
|
, numpy
|
||||||
|
, poetry
|
||||||
|
, prometheus_client
|
||||||
|
, pytestCheckHook
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "gradient-utils";
|
||||||
|
version = "0.3.2";
|
||||||
|
format = "pyproject";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Paperspace";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "083hnkv19mhvdc8nx28f1nph50c903gxh9g9q8531abv0w8m0744";
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace pyproject.toml \
|
||||||
|
--replace 'numpy = "1.18.5"' 'numpy = "^1.18.5"' \
|
||||||
|
--replace 'hyperopt = "0.1.2"' 'hyperopt = ">=0.1.2"'
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [ poetry ];
|
||||||
|
checkInputs = [ mock pytestCheckHook ];
|
||||||
|
propagatedBuildInputs = [ hyperopt prometheus_client numpy ];
|
||||||
|
|
||||||
|
preCheck = "export HOSTNAME=myhost-experimentId";
|
||||||
|
disabledTests = [
|
||||||
|
"test_add_metrics_pushes_metrics" # requires a working prometheus push gateway
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Gradient ML SDK";
|
||||||
|
homepage = "https://github.com/Paperspace/gradient-utils";
|
||||||
|
license = licenses.mit;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = with maintainers; [ freezeboy ];
|
||||||
|
};
|
||||||
|
}
|
40
pkgs/development/python-modules/gradient/default.nix
Normal file
40
pkgs/development/python-modules/gradient/default.nix
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{ lib, fetchPypi, buildPythonPackage
|
||||||
|
, attrs, boto3, requests, gradient_statsd, terminaltables
|
||||||
|
, click-completion , click-didyoumean, click-help-colors
|
||||||
|
, colorama, requests_toolbelt, gradient-utils, halo, progressbar2
|
||||||
|
, marshmallow, pyyaml, websocket_client
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "gradient";
|
||||||
|
version = "1.4.0";
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "15s21945hg342195ig7nchap5mdnsw931iis92pr7hy8ff0rks3n";
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace setup.py \
|
||||||
|
--replace 'attrs<=' 'attrs>=' \
|
||||||
|
--replace 'colorama==' 'colorama>=' \
|
||||||
|
--replace 'PyYAML==' 'PyYAML>=' \
|
||||||
|
--replace 'marshmallow<' 'marshmallow>='
|
||||||
|
'';
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ attrs boto3 requests gradient_statsd terminaltables
|
||||||
|
click-completion click-didyoumean click-help-colors requests_toolbelt
|
||||||
|
colorama gradient-utils halo marshmallow progressbar2 pyyaml websocket_client
|
||||||
|
];
|
||||||
|
|
||||||
|
# tries to use /homeless-shelter to mimic container usage, etc
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "The command line interface for Gradient";
|
||||||
|
homepage = "https://github.com/Paperspace/gradient-cli";
|
||||||
|
license = licenses.isc;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = with maintainers; [ thoughtpolice ];
|
||||||
|
};
|
||||||
|
}
|
@ -1,25 +0,0 @@
|
|||||||
{ lib, fetchPypi, buildPythonPackage
|
|
||||||
, hyperopt
|
|
||||||
}:
|
|
||||||
|
|
||||||
buildPythonPackage rec {
|
|
||||||
pname = "gradient_sdk";
|
|
||||||
version = "0.0.4";
|
|
||||||
|
|
||||||
src = fetchPypi {
|
|
||||||
inherit pname version;
|
|
||||||
sha256 = "Q9oeYjjgJf2lhxW1ypsweQAPpMglmW9PxgzMsgTqJkY=";
|
|
||||||
};
|
|
||||||
|
|
||||||
propagatedBuildInputs = [ hyperopt ];
|
|
||||||
|
|
||||||
pythonImportsCheck = [ "gradient_sdk" ];
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Gradient ML SDK";
|
|
||||||
homepage = "https://github.com/Paperspace/gradient-sdk";
|
|
||||||
license = licenses.mit;
|
|
||||||
platforms = platforms.unix;
|
|
||||||
maintainers = with maintainers; [ freezeboy ];
|
|
||||||
};
|
|
||||||
}
|
|
34
pkgs/development/python-modules/halo/default.nix
Normal file
34
pkgs/development/python-modules/halo/default.nix
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{ buildPythonPackage
|
||||||
|
, colorama
|
||||||
|
, fetchPypi
|
||||||
|
, isPy27
|
||||||
|
, lib
|
||||||
|
, log-symbols
|
||||||
|
, pytestCheckHook
|
||||||
|
, six
|
||||||
|
, spinners
|
||||||
|
, termcolor }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "halo";
|
||||||
|
version = "0.0.31";
|
||||||
|
disabled = isPy27;
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "1mn97h370ggbc9vi6x8r6akd5q8i512y6kid2nvm67g93r9a6rvv";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ colorama log-symbols termcolor six spinners ];
|
||||||
|
|
||||||
|
# Tests are not included in the PyPI distribution and the git repo does not have tagged releases
|
||||||
|
doCheck = false;
|
||||||
|
pythonImportsCheck = [ "halo" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Beautiful Spinners for Terminal, IPython and Jupyter.";
|
||||||
|
homepage = "https://github.com/manrajgrover/halo";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ urbas ];
|
||||||
|
};
|
||||||
|
}
|
30
pkgs/development/python-modules/log-symbols/default.nix
Normal file
30
pkgs/development/python-modules/log-symbols/default.nix
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{ buildPythonPackage
|
||||||
|
, colorama
|
||||||
|
, fetchPypi
|
||||||
|
, isPy27
|
||||||
|
, pytestCheckHook
|
||||||
|
, lib }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "log_symbols";
|
||||||
|
version = "0.0.14";
|
||||||
|
disabled = isPy27;
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "0mh5d0igw33libfmbsr1ri1p1y644p36nwaa2w6kzrd8w5pvq2yg";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ colorama ];
|
||||||
|
|
||||||
|
# Tests are not included in the PyPI distribution and the git repo does not have tagged releases
|
||||||
|
doCheck = false;
|
||||||
|
pythonImportsCheck = [ "log_symbols" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Colored Symbols for Various Log Levels.";
|
||||||
|
homepage = "https://github.com/manrajgrover/py-log-symbols";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ urbas ];
|
||||||
|
};
|
||||||
|
}
|
@ -1,31 +0,0 @@
|
|||||||
{ lib, fetchPypi, buildPythonPackage
|
|
||||||
, boto3, requests, gradient_statsd, terminaltables
|
|
||||||
, click-completion , click-didyoumean, click-help-colors
|
|
||||||
, colorama, requests_toolbelt, gradient_sdk, progressbar2
|
|
||||||
}:
|
|
||||||
|
|
||||||
buildPythonPackage rec {
|
|
||||||
pname = "paperspace";
|
|
||||||
version = "0.2.0";
|
|
||||||
|
|
||||||
src = fetchPypi {
|
|
||||||
inherit pname version;
|
|
||||||
sha256 = "7959305128fea6da8ca0cdc528783a89859dacb9b54bf8eb89fd04a518872191";
|
|
||||||
};
|
|
||||||
|
|
||||||
propagatedBuildInputs = [ boto3 requests gradient_statsd terminaltables
|
|
||||||
click-completion click-didyoumean click-help-colors requests_toolbelt
|
|
||||||
colorama gradient_sdk progressbar2
|
|
||||||
];
|
|
||||||
|
|
||||||
# tries to use /homeless-shelter to mimic container usage, etc
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Python API for Paperspace Cloud";
|
|
||||||
homepage = "https://paperspace.com";
|
|
||||||
license = licenses.isc;
|
|
||||||
platforms = platforms.unix;
|
|
||||||
maintainers = with maintainers; [ thoughtpolice ];
|
|
||||||
};
|
|
||||||
}
|
|
26
pkgs/development/python-modules/spinners/default.nix
Normal file
26
pkgs/development/python-modules/spinners/default.nix
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{ buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
, isPy27
|
||||||
|
, lib }:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "spinners";
|
||||||
|
version = "0.0.24";
|
||||||
|
disabled = isPy27;
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "0zz2z6dpdjdq5z8m8w8dfi8by0ih1zrdq0caxm1anwhxg2saxdhy";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Tests are not included in the PyPI distribution and the git repo does not have tagged releases
|
||||||
|
doCheck = false;
|
||||||
|
pythonImportsCheck = [ "spinners" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Spinners for the Terminal.";
|
||||||
|
homepage = "https://github.com/manrajgrover/py-spinners";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ urbas ];
|
||||||
|
};
|
||||||
|
}
|
@ -1,16 +1,18 @@
|
|||||||
{ lib, fetchFromGitHub, crystal_0_31, coreutils, shards, makeWrapper, which }:
|
{ lib, fetchFromGitHub, crystal_0_35, coreutils, makeWrapper }:
|
||||||
|
let
|
||||||
|
crystal = crystal_0_35;
|
||||||
|
|
||||||
let crystal = crystal_0_31;
|
in
|
||||||
|
crystal.buildCrystalPackage rec {
|
||||||
in crystal.buildCrystalPackage rec {
|
|
||||||
pname = "scry";
|
pname = "scry";
|
||||||
version = "0.8.1";
|
version = "unstable-2020-09-02"; # to make it work with crystal 0.35
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "crystal-lang-tools";
|
owner = "crystal-lang-tools";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
# rev = "v${version}";
|
||||||
sha256 = "0ii4k9l3dgm1c9lllc8ni9dar59lrxik0v9iz7gk3d6v62wwnq79";
|
rev = "580a1879810a9f5d63d8a0d90fbdaa99d86b58da";
|
||||||
|
sha256 = "sha256-WjpkkHfy38wDj/ejXyyMtd5rLfTRoj/7D+SAhRROnbU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# we are already testing for this, so we can ignore the failures
|
# we are already testing for this, so we can ignore the failures
|
||||||
@ -18,14 +20,12 @@ in crystal.buildCrystalPackage rec {
|
|||||||
rm spec/scry/executable_spec.cr
|
rm spec/scry/executable_spec.cr
|
||||||
'';
|
'';
|
||||||
|
|
||||||
format = "crystal";
|
format = "shards";
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
shardsFile = ./shards.nix;
|
shardsFile = ./shards.nix;
|
||||||
|
|
||||||
crystalBinaries.scry.src = "src/scry.cr";
|
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
wrapProgram $out/bin/scry \
|
wrapProgram $out/bin/scry \
|
||||||
--prefix PATH : ${lib.makeBinPath [ crystal coreutils ]}
|
--prefix PATH : ${lib.makeBinPath [ crystal coreutils ]}
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
diff --git a/src/scry/completion_provider.cr b/src/scry/completion_provider.cr
|
|
||||||
index 29e0d36..f67438c 100644
|
|
||||||
--- a/src/scry/completion_provider.cr
|
|
||||||
+++ b/src/scry/completion_provider.cr
|
|
||||||
@@ -1,4 +1,5 @@
|
|
||||||
require "./log"
|
|
||||||
+require "compiler/crystal/codegen/target"
|
|
||||||
require "compiler/crystal/crystal_path"
|
|
||||||
require "./completion/*"
|
|
||||||
|
|
||||||
diff --git a/src/scry/parse_analyzer.cr b/src/scry/parse_analyzer.cr
|
|
||||||
index d87eca4..bbe9ed5 100644
|
|
||||||
--- a/src/scry/parse_analyzer.cr
|
|
||||||
+++ b/src/scry/parse_analyzer.cr
|
|
||||||
@@ -1,4 +1,5 @@
|
|
||||||
require "compiler/crystal/syntax"
|
|
||||||
+require "compiler/crystal/codegen/target"
|
|
||||||
require "compiler/crystal/crystal_path"
|
|
||||||
require "./workspace"
|
|
||||||
require "./text_document"
|
|
72
pkgs/games/gimx/default.nix
Normal file
72
pkgs/games/gimx/default.nix
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
{ stdenv, lib, fetchFromGitHub, makeWrapper, curl, libusb1, xorg, libxml2
|
||||||
|
, ncurses5, bluez, libmhash, gimxAuth ? "" }:
|
||||||
|
|
||||||
|
let
|
||||||
|
gimx-config = fetchFromGitHub {
|
||||||
|
owner = "matlo";
|
||||||
|
repo = "GIMX-configurations";
|
||||||
|
rev = "f31bba7d3be57519540be290cd69ba6a8dc4e4d4";
|
||||||
|
sha256 = "0wpxx2qxyiiblz2qrl5swg00ls1aq7i5vzlk0qlnqdq8ss8jssax";
|
||||||
|
};
|
||||||
|
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
|
pname = "gimx";
|
||||||
|
version = "8.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "matlo";
|
||||||
|
repo = "GIMX";
|
||||||
|
rev = "v${version}";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
sha256 = "0265gg6q7ymg76fb4pjrfdwjd280b3zzry96qy92w0h411slph85";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
buildInputs = [
|
||||||
|
curl libusb1 bluez libxml2 ncurses5 libmhash
|
||||||
|
xorg.libX11 xorg.libXi xorg.libXext
|
||||||
|
];
|
||||||
|
|
||||||
|
patches = [ ./env.patch ];
|
||||||
|
prePatch = (if gimxAuth == "afterglow" then (import ./variant.nix).afterglow
|
||||||
|
else "");
|
||||||
|
|
||||||
|
makeFlags = "build-core";
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out
|
||||||
|
substituteInPlace ./core/Makefile --replace "chmod ug+s" "echo"
|
||||||
|
|
||||||
|
export DESTDIR="$out"
|
||||||
|
make install-shared install-core
|
||||||
|
mv $out/usr/lib $out/lib
|
||||||
|
mv $out/usr/bin $out/bin
|
||||||
|
rmdir $out/usr
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p $out/share
|
||||||
|
cp -r ./loader/firmware $out/share/firmware
|
||||||
|
cp -r ${gimx-config}/Linux $out/share/config
|
||||||
|
patch ${gimx-config}/Linux/Dualshock4.xml ${./ds4.patch} -o $out/share/DS4_noff.xml
|
||||||
|
|
||||||
|
makeWrapper $out/bin/gimx $out/bin/gimx-with-confs \
|
||||||
|
--set GIMXCONF $out/share
|
||||||
|
|
||||||
|
makeWrapper $out/bin/gimx $out/bin/gimx-test-ds4 \
|
||||||
|
--set GIMXCONF $out/share \
|
||||||
|
--add-flags "--nograb" --add-flags "--curses" \
|
||||||
|
--add-flags "-p /dev/ttyUSB0" --add-flags "-c DS4_noff.xml"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/matlo/GIMX";
|
||||||
|
description = "Game Input Multiplexer";
|
||||||
|
license = licenses.gpl3Only;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ bb2020 ];
|
||||||
|
};
|
||||||
|
}
|
16
pkgs/games/gimx/ds4.patch
Normal file
16
pkgs/games/gimx/ds4.patch
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
diff --git a/Linux/Dualshock4.xml b/Linux/Dualshock4.xml
|
||||||
|
index 5e53ed3..45ee5ed 100644
|
||||||
|
--- a/Linux/Dualshock4.xml
|
||||||
|
+++ b/Linux/Dualshock4.xml
|
||||||
|
@@ -94,6 +94,11 @@
|
||||||
|
</axis>
|
||||||
|
</axis_map>
|
||||||
|
<joystick_corrections_list/>
|
||||||
|
+ <force_feedback>
|
||||||
|
+ <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
|
||||||
|
+ <inversion enable="no"/>
|
||||||
|
+ <gain rumble="0" constant="0" spring="0" damper="0"/>
|
||||||
|
+ </force_feedback>
|
||||||
|
</configuration>
|
||||||
|
</controller>
|
||||||
|
</root>
|
30
pkgs/games/gimx/env.patch
Normal file
30
pkgs/games/gimx/env.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
--- a/core/config_reader.c
|
||||||
|
+++ b/core/config_reader.c
|
||||||
|
@@ -1353,8 +1353,10 @@ static int read_file(char* file_path)
|
||||||
|
int read_config_file(const char* file)
|
||||||
|
{
|
||||||
|
char file_path[PATH_MAX];
|
||||||
|
-
|
||||||
|
- snprintf(file_path, sizeof(file_path), "%s%s%s%s", gimx_params.homedir, GIMX_DIR, CONFIG_DIR, file);
|
||||||
|
+ char* e = getenv("GIMXCONF"); if (e) { snprintf(file_path, sizeof(file_path), "%s/%s", e, file); }
|
||||||
|
+ else {
|
||||||
|
+ snprintf(file_path, sizeof(file_path), "%s%s%s%s", gimx_params.homedir, GIMX_DIR, CONFIG_DIR, file);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if(read_file(file_path) == -1)
|
||||||
|
{
|
||||||
|
--- a/core/gimx.c
|
||||||
|
+++ b/core/gimx.c
|
||||||
|
@@ -190,8 +190,10 @@ void show_config()
|
||||||
|
}
|
||||||
|
|
||||||
|
char file_path[PATH_MAX];
|
||||||
|
-
|
||||||
|
- snprintf(file_path, sizeof(file_path), "%s%s%s%s", gimx_params.homedir, GIMX_DIR, CONFIG_DIR, gimx_params.config_file);
|
||||||
|
+ char* e = getenv("GIMXCONF"); if (e) { snprintf(file_path, sizeof(file_path), "%s/%s", e, gimx_params.config_file); }
|
||||||
|
+ else {
|
||||||
|
+ snprintf(file_path, sizeof(file_path), "%s%s%s%s", gimx_params.homedir, GIMX_DIR, CONFIG_DIR, gimx_params.config_file);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
FILE * fp = gfile_fopen(file_path, "r");
|
||||||
|
if (fp == NULL)
|
14
pkgs/games/gimx/variant.nix
Normal file
14
pkgs/games/gimx/variant.nix
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
afterglow = ''
|
||||||
|
substituteInPlace ./shared/gimxcontroller/include/x360.h \
|
||||||
|
--replace "0x045e" "0x0e6f" --replace "0x028e" "0x0213"
|
||||||
|
|
||||||
|
HEX="./loader/firmware/EMU360.hex"
|
||||||
|
sed -i '34s|1B2100|1B2110|' "$HEX"
|
||||||
|
sed -i '38s|092100|092110|' "$HEX"
|
||||||
|
sed -i '40s|5E048E021001|6F0E13020001|' "$HEX"
|
||||||
|
sed -i '34s|1C\r|0C\r|' "$HEX"
|
||||||
|
sed -i '38s|FE\r|EE\r|' "$HEX"
|
||||||
|
sed -i '40s|6D\r|DD\r|' "$HEX"
|
||||||
|
'';
|
||||||
|
}
|
@ -297,7 +297,10 @@ self: super: {
|
|||||||
});
|
});
|
||||||
|
|
||||||
sql-nvim = super.sql-nvim.overrideAttrs(old: {
|
sql-nvim = super.sql-nvim.overrideAttrs(old: {
|
||||||
buildInputs = [ sqlite ];
|
postPatch = ''
|
||||||
|
substituteInPlace lua/sql/defs.lua \
|
||||||
|
--replace "vim.g.sql_clib_path or" "vim.g.sql_clib_path or '${sqlite.out}/lib/libsqlite3.so' or"
|
||||||
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
sved = let
|
sved = let
|
||||||
@ -687,6 +690,10 @@ self: super: {
|
|||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
telescope-frecency-nvim = super.telescope-frecency-nvim.overrideAttrs(old: {
|
||||||
|
dependencies = [ self.sql-nvim ];
|
||||||
|
});
|
||||||
|
|
||||||
telescope-fzy-native-nvim = super.telescope-fzy-native-nvim.overrideAttrs (old: {
|
telescope-fzy-native-nvim = super.telescope-fzy-native-nvim.overrideAttrs (old: {
|
||||||
preFixup =
|
preFixup =
|
||||||
let
|
let
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lib, stdenv, fetchurl, openssl, pkg-config, libnl
|
{ lib, stdenv, fetchurl, fetchpatch, openssl, pkg-config, libnl
|
||||||
, dbus, readline ? null, pcsclite ? null
|
, dbus, readline ? null, pcsclite ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -19,6 +19,12 @@ stdenv.mkDerivation rec {
|
|||||||
url = "https://w1.fi/security/2019-7/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch";
|
url = "https://w1.fi/security/2019-7/0001-AP-Silently-ignore-management-frame-from-unexpected-.patch";
|
||||||
sha256 = "15xjyy7crb557wxpx898b5lnyblxghlij0xby5lmj9hpwwss34dz";
|
sha256 = "15xjyy7crb557wxpx898b5lnyblxghlij0xby5lmj9hpwwss34dz";
|
||||||
})
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
# Expose OWE key management capability over DBus, remove >= 2.10
|
||||||
|
name = "dbus-Export-OWE-capability-and-OWE-BSS-key_mgmt.patch";
|
||||||
|
url = "https://w1.fi/cgit/hostap/patch/?id=7800725afb27397f7d6033d4969e2aeb61af4737";
|
||||||
|
sha256 = "0c1la7inf4m5y9gzdjjdnhpkx32pm8vi6m5knih8p77q4mbrdgg8";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
# TODO: Patch epoll so that the dbus actually responds
|
# TODO: Patch epoll so that the dbus actually responds
|
||||||
@ -32,6 +38,7 @@ stdenv.mkDerivation rec {
|
|||||||
CONFIG_EAP_SAKE=y
|
CONFIG_EAP_SAKE=y
|
||||||
CONFIG_EAP_GPSK=y
|
CONFIG_EAP_GPSK=y
|
||||||
CONFIG_EAP_GPSK_SHA256=y
|
CONFIG_EAP_GPSK_SHA256=y
|
||||||
|
CONFIG_OWE=y
|
||||||
CONFIG_WPS=y
|
CONFIG_WPS=y
|
||||||
CONFIG_WPS_ER=y
|
CONFIG_WPS_ER=y
|
||||||
CONFIG_WPS_NFS=y
|
CONFIG_WPS_NFS=y
|
||||||
|
@ -21,6 +21,12 @@ let
|
|||||||
buildKernel = any (n: n == configFile) [ "kernel" "all" ];
|
buildKernel = any (n: n == configFile) [ "kernel" "all" ];
|
||||||
buildUser = any (n: n == configFile) [ "user" "all" ];
|
buildUser = any (n: n == configFile) [ "user" "all" ];
|
||||||
|
|
||||||
|
# remove this patch at the next ZFS release (> 2.0.1)
|
||||||
|
reapplyPathSanitizerPatch = fetchpatch {
|
||||||
|
url = "https://github.com/openzfs/zfs/commit/03f036cbccdd8699f5fe8540ef317595a35bceb8.patch";
|
||||||
|
sha256 = "c157bbb6551a4e720c3faba005e1b72e4692d304c6ff5e0e685691bd47197dca";
|
||||||
|
};
|
||||||
|
|
||||||
common = { version
|
common = { version
|
||||||
, sha256
|
, sha256
|
||||||
, extraPatches ? []
|
, extraPatches ? []
|
||||||
@ -190,7 +196,7 @@ in {
|
|||||||
|
|
||||||
sha256 = "0wmw823ildwm9rcfyk22pvzg100yhps3y9hfjlrpspfd1hhkbp0d";
|
sha256 = "0wmw823ildwm9rcfyk22pvzg100yhps3y9hfjlrpspfd1hhkbp0d";
|
||||||
|
|
||||||
extraPatches = [ ];
|
extraPatches = [ reapplyPathSanitizerPatch ];
|
||||||
};
|
};
|
||||||
|
|
||||||
zfsUnstable = common {
|
zfsUnstable = common {
|
||||||
@ -202,6 +208,6 @@ in {
|
|||||||
|
|
||||||
sha256 = "0wmw823ildwm9rcfyk22pvzg100yhps3y9hfjlrpspfd1hhkbp0d";
|
sha256 = "0wmw823ildwm9rcfyk22pvzg100yhps3y9hfjlrpspfd1hhkbp0d";
|
||||||
|
|
||||||
extraPatches = [ ];
|
extraPatches = [ reapplyPathSanitizerPatch ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,14 +2,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "jetty";
|
pname = "jetty";
|
||||||
version = "9.4.35.v20201120";
|
version = "9.4.36.v20210114";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/${version}/jetty-distribution-${version}.tar.gz";
|
url = "https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/${version}/jetty-distribution-${version}.tar.gz";
|
||||||
name = "jetty-distribution-${version}.tar.gz";
|
sha256 = "1bsqxzjcdgdg2qdgc64pvrimkn9j2di2s3prlgdpbwi566744q54";
|
||||||
sha256 = "1cpdrqz6wi7fd228lh4ijs82jq51qr5aym6vff464w3y2sd0jbav";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
phases = [ "unpackPhase" "installPhase" ];
|
dontBuild = true;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
|
@ -2,16 +2,17 @@
|
|||||||
, lib
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, python2
|
, python2
|
||||||
|
, unstableGitUpdater
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "klipper";
|
name = "klipper";
|
||||||
version = "0.9.1";
|
version = "unstable-2021-01-31";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "KevinOConnor";
|
owner = "KevinOConnor";
|
||||||
repo = "klipper";
|
repo = "klipper";
|
||||||
rev = "v${version}";
|
rev = "ef4d9c3abd30ae8a485020fd9ff2fb4529a143b3";
|
||||||
sha256 = "1wgklngsz6xxl25qxi9fkqhbyhwy61iyyk76ycq68b3miayrkgpj";
|
sha256 = "puAkSGL0DD0JUWejPdzr7zKIW2UP2soBBtgm2msUKzA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = "source/klippy";
|
sourceRoot = "source/klippy";
|
||||||
@ -39,6 +40,8 @@ stdenv.mkDerivation rec {
|
|||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.updateScript = unstableGitUpdater { url = meta.homepage; };
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "The Klipper 3D printer firmware";
|
description = "The Klipper 3D printer firmware";
|
||||||
homepage = "https://github.com/KevinOConnor/klipper";
|
homepage = "https://github.com/KevinOConnor/klipper";
|
||||||
|
@ -58,7 +58,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
nextcloud20 = generic {
|
nextcloud20 = generic {
|
||||||
version = "20.0.5";
|
version = "20.0.6";
|
||||||
sha256 = "5c70dd33024012a1651fd099133d052d129a4dadc6935f44bb9c3e2b360befe3";
|
sha256 = "859167170402b876b6ef1a37fa4aaa5617b6bf847bb5d50a94f636bae65a34b9";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
, pythonPackages, imagemagick, gobject-introspection, gst_all_1
|
, pythonPackages, imagemagick, gobject-introspection, gst_all_1
|
||||||
, runtimeShell
|
, runtimeShell
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
|
, unstableGitUpdater
|
||||||
|
|
||||||
# Attributes needed for tests of the external plugins
|
# Attributes needed for tests of the external plugins
|
||||||
, callPackage, beets
|
, callPackage, beets
|
||||||
@ -132,13 +133,13 @@ in pythonPackages.buildPythonApplication rec {
|
|||||||
# unstable does not require bs1770gain[2].
|
# unstable does not require bs1770gain[2].
|
||||||
# [1]: https://discourse.beets.io/t/forming-a-beets-core-team/639
|
# [1]: https://discourse.beets.io/t/forming-a-beets-core-team/639
|
||||||
# [2]: https://github.com/NixOS/nixpkgs/pull/90504
|
# [2]: https://github.com/NixOS/nixpkgs/pull/90504
|
||||||
version = "unstable-2020-12-22";
|
version = "unstable-2021-01-29";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "beetbox";
|
owner = "beetbox";
|
||||||
repo = "beets";
|
repo = "beets";
|
||||||
rev = "53dcb24d10788897f20c341774b474808ec2c0b6";
|
rev = "04ea754d00e2873ae9aa2d9e07c5cefd790eaee2";
|
||||||
sha256 = "sha256-P++NA13T2TRHW3Se10np8BSe/WRBYAKRte5xKoHKW50=";
|
sha256 = "sha256-BIa3hnOsBxThbA2WCE4q9eaFNtObr3erZBBqobVOSiQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
@ -290,6 +291,7 @@ in pythonPackages.buildPythonApplication rec {
|
|||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
externalPlugins = plugins;
|
externalPlugins = plugins;
|
||||||
|
updateScript = unstableGitUpdater { url = "https://github.com/beetbox/beets"; };
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
29
pkgs/tools/security/ssh-to-pgp/default.nix
Normal file
29
pkgs/tools/security/ssh-to-pgp/default.nix
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{ lib, fetchFromGitHub, buildGoModule, gnupg }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "ssh-to-pgp";
|
||||||
|
version = "1.0.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "Mic92";
|
||||||
|
repo = "ssh-to-pgp";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "sha256-TDrpnWAez8muysMdmKFBDZfK8CyhGn1VqHB8+zD6jSk=";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorSha256 = "sha256-ZF/WsmqmGHZIAGTPKJ70UhtmssNhiInEZfzrKxQLw9I=";
|
||||||
|
|
||||||
|
checkInputs = [ gnupg ];
|
||||||
|
checkPhase = ''
|
||||||
|
HOME=$TMPDIR go test .
|
||||||
|
'';
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Convert ssh private keys to PGP";
|
||||||
|
homepage = "https://github.com/Mic92/ssh-to-pgp";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ mic92 ];
|
||||||
|
};
|
||||||
|
}
|
@ -2908,6 +2908,16 @@ in
|
|||||||
|
|
||||||
beanstalkd = callPackage ../servers/beanstalkd { };
|
beanstalkd = callPackage ../servers/beanstalkd { };
|
||||||
|
|
||||||
|
bee = callPackage ../applications/networking/bee/bee.nix {
|
||||||
|
version = "release";
|
||||||
|
};
|
||||||
|
|
||||||
|
bee-unstable = bee.override {
|
||||||
|
version = "unstable";
|
||||||
|
};
|
||||||
|
|
||||||
|
bee-clef = callPackage ../applications/networking/bee/bee-clef.nix { };
|
||||||
|
|
||||||
beets = callPackage ../tools/audio/beets {
|
beets = callPackage ../tools/audio/beets {
|
||||||
pythonPackages = python3Packages;
|
pythonPackages = python3Packages;
|
||||||
};
|
};
|
||||||
@ -7900,6 +7910,8 @@ in
|
|||||||
|
|
||||||
ssh-chat = callPackage ../applications/networking/instant-messengers/ssh-chat { };
|
ssh-chat = callPackage ../applications/networking/instant-messengers/ssh-chat { };
|
||||||
|
|
||||||
|
ssh-to-pgp = callPackage ../tools/security/ssh-to-pgp { };
|
||||||
|
|
||||||
suricata = callPackage ../applications/networking/ids/suricata {
|
suricata = callPackage ../applications/networking/ids/suricata {
|
||||||
python = python3;
|
python = python3;
|
||||||
};
|
};
|
||||||
@ -9570,7 +9582,7 @@ in
|
|||||||
|
|
||||||
icr = callPackage ../development/tools/icr { };
|
icr = callPackage ../development/tools/icr { };
|
||||||
|
|
||||||
scry = callPackage ../development/tools/scry {};
|
scry = callPackage ../development/tools/scry { };
|
||||||
|
|
||||||
dasm = callPackage ../development/compilers/dasm/default.nix { };
|
dasm = callPackage ../development/compilers/dasm/default.nix { };
|
||||||
|
|
||||||
@ -26549,6 +26561,9 @@ in
|
|||||||
|
|
||||||
gemrb = callPackage ../games/gemrb { };
|
gemrb = callPackage ../games/gemrb { };
|
||||||
|
|
||||||
|
gimx = callPackage ../games/gimx {};
|
||||||
|
gimx-afterglow = lowPrio (gimx.override { gimxAuth = "afterglow"; });
|
||||||
|
|
||||||
gl117 = callPackage ../games/gl-117 {};
|
gl117 = callPackage ../games/gl-117 {};
|
||||||
|
|
||||||
globulation2 = callPackage ../games/globulation {
|
globulation2 = callPackage ../games/globulation {
|
||||||
|
@ -2755,7 +2755,9 @@ in {
|
|||||||
|
|
||||||
gpyopt = callPackage ../development/python-modules/gpyopt { };
|
gpyopt = callPackage ../development/python-modules/gpyopt { };
|
||||||
|
|
||||||
gradient_sdk = callPackage ../development/python-modules/gradient_sdk { };
|
gradient = callPackage ../development/python-modules/gradient { };
|
||||||
|
|
||||||
|
gradient-utils = callPackage ../development/python-modules/gradient-utils { };
|
||||||
|
|
||||||
gradient_statsd = callPackage ../development/python-modules/gradient_statsd { };
|
gradient_statsd = callPackage ../development/python-modules/gradient_statsd { };
|
||||||
|
|
||||||
@ -2879,6 +2881,8 @@ in {
|
|||||||
|
|
||||||
ha-ffmpeg = callPackage ../development/python-modules/ha-ffmpeg { };
|
ha-ffmpeg = callPackage ../development/python-modules/ha-ffmpeg { };
|
||||||
|
|
||||||
|
halo = callPackage ../development/python-modules/halo { };
|
||||||
|
|
||||||
handout = callPackage ../development/python-modules/handout { };
|
handout = callPackage ../development/python-modules/handout { };
|
||||||
|
|
||||||
HAP-python = callPackage ../development/python-modules/HAP-python { };
|
HAP-python = callPackage ../development/python-modules/HAP-python { };
|
||||||
@ -3782,6 +3786,8 @@ in {
|
|||||||
|
|
||||||
lockfile = callPackage ../development/python-modules/lockfile { };
|
lockfile = callPackage ../development/python-modules/lockfile { };
|
||||||
|
|
||||||
|
log-symbols = callPackage ../development/python-modules/log-symbols { };
|
||||||
|
|
||||||
Logbook = callPackage ../development/python-modules/Logbook { };
|
Logbook = callPackage ../development/python-modules/Logbook { };
|
||||||
|
|
||||||
logfury = callPackage ../development/python-modules/logfury { };
|
logfury = callPackage ../development/python-modules/logfury { };
|
||||||
@ -4648,8 +4654,6 @@ in {
|
|||||||
|
|
||||||
papermill = callPackage ../development/python-modules/papermill { };
|
papermill = callPackage ../development/python-modules/papermill { };
|
||||||
|
|
||||||
paperspace = callPackage ../development/python-modules/paperspace { };
|
|
||||||
|
|
||||||
openpaperwork-core = callPackage ../applications/office/paperwork/openpaperwork-core.nix { };
|
openpaperwork-core = callPackage ../applications/office/paperwork/openpaperwork-core.nix { };
|
||||||
openpaperwork-gtk = callPackage ../applications/office/paperwork/openpaperwork-gtk.nix { };
|
openpaperwork-gtk = callPackage ../applications/office/paperwork/openpaperwork-gtk.nix { };
|
||||||
paperwork-backend = callPackage ../applications/office/paperwork/paperwork-backend.nix { };
|
paperwork-backend = callPackage ../applications/office/paperwork/paperwork-backend.nix { };
|
||||||
@ -7300,6 +7304,8 @@ in {
|
|||||||
|
|
||||||
sphfile = callPackage ../development/python-modules/sphfile { };
|
sphfile = callPackage ../development/python-modules/sphfile { };
|
||||||
|
|
||||||
|
spinners = callPackage ../development/python-modules/spinners { };
|
||||||
|
|
||||||
sphinxcontrib-applehelp = callPackage ../development/python-modules/sphinxcontrib-applehelp { };
|
sphinxcontrib-applehelp = callPackage ../development/python-modules/sphinxcontrib-applehelp { };
|
||||||
|
|
||||||
sphinxcontrib-autoapi = callPackage ../development/python-modules/sphinxcontrib-autoapi { };
|
sphinxcontrib-autoapi = callPackage ../development/python-modules/sphinxcontrib-autoapi { };
|
||||||
|
Loading…
x
Reference in New Issue
Block a user