Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2021-04-25 13:54:29 +02:00
commit c648f7ee2a
29 changed files with 204 additions and 181 deletions

View File

@ -125,7 +125,7 @@ fi
# Resolve the flake.
if [[ -n $flake ]]; then
flake=$(nix "${flakeFlags[@]}" flake info --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url)
flake=$(nix "${flakeFlags[@]}" flake metadata --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url)
fi
if [[ ! -e $NIXOS_CONFIG && -z $system && -z $flake ]]; then

View File

@ -67,6 +67,13 @@ in
'';
};
queueRunnerInterval = mkOption {
type = types.str;
default = "5m";
description = ''
How often to spawn a new queue runner.
'';
};
};
};
@ -104,7 +111,7 @@ in
wantedBy = [ "multi-user.target" ];
restartTriggers = [ config.environment.etc."exim.conf".source ];
serviceConfig = {
ExecStart = "${cfg.package}/bin/exim -bdf -q30m";
ExecStart = "${cfg.package}/bin/exim -bdf -q${cfg.queueRunnerInterval}";
ExecReload = "${coreutils}/bin/kill -HUP $MAINPID";
};
preStart = ''

View File

@ -126,19 +126,36 @@ in
};
systemd.services.sa-update = {
# Needs to be able to contact the update server.
wants = [ "network-online.target" ];
after = [ "network-online.target" ];
serviceConfig = {
Type = "oneshot";
User = "spamd";
Group = "spamd";
StateDirectory = "spamassassin";
ExecStartPost = "+${pkgs.systemd}/bin/systemctl -q --no-block try-reload-or-restart spamd.service";
};
script = ''
set +e
${pkgs.su}/bin/su -s "${pkgs.bash}/bin/bash" -c "${pkgs.spamassassin}/bin/sa-update --gpghomedir=/var/lib/spamassassin/sa-update-keys/" spamd
v=$?
${pkgs.spamassassin}/bin/sa-update --verbose --gpghomedir=/var/lib/spamassassin/sa-update-keys/
rc=$?
set -e
if [ $v -gt 1 ]; then
echo "sa-update execution error"
exit $v
if [[ $rc -gt 1 ]]; then
# sa-update failed.
exit $rc
fi
if [ $v -eq 0 ]; then
systemctl reload spamd.service
if [[ $rc -eq 1 ]]; then
# No update was available, exit successfully.
exit 0
fi
# An update was available and installed. Compile the rules.
${pkgs.spamassassin}/bin/sa-compile
'';
};
@ -153,32 +170,22 @@ in
};
systemd.services.spamd = {
description = "Spam Assassin Server";
description = "SpamAssassin Server";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
wants = [ "sa-update.service" ];
after = [
"network.target"
"sa-update.service"
];
serviceConfig = {
ExecStart = "${pkgs.spamassassin}/bin/spamd ${optionalString cfg.debug "-D"} --username=spamd --groupname=spamd --virtual-config-dir=/var/lib/spamassassin/user-%u --allow-tell --pidfile=/run/spamd.pid";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
User = "spamd";
Group = "spamd";
ExecStart = "+${pkgs.spamassassin}/bin/spamd ${optionalString cfg.debug "-D"} --username=spamd --groupname=spamd --virtual-config-dir=%S/spamassassin/user-%u --allow-tell --pidfile=/run/spamd.pid";
ExecReload = "+${pkgs.coreutils}/bin/kill -HUP $MAINPID";
StateDirectory = "spamassassin";
};
# 0 and 1 no error, exitcode > 1 means error:
# https://spamassassin.apache.org/full/3.1.x/doc/sa-update.html#exit_codes
preStart = ''
echo "Recreating '/var/lib/spamasassin' with creating '3.004001' (or similar) and 'sa-update-keys'"
mkdir -p /var/lib/spamassassin
chown spamd:spamd /var/lib/spamassassin -R
set +e
${pkgs.su}/bin/su -s "${pkgs.bash}/bin/bash" -c "${pkgs.spamassassin}/bin/sa-update --gpghomedir=/var/lib/spamassassin/sa-update-keys/" spamd
v=$?
set -e
if [ $v -gt 1 ]; then
echo "sa-update execution error"
exit $v
fi
chown spamd:spamd /var/lib/spamassassin -R
'';
};
};
}

View File

@ -236,9 +236,12 @@ def main() -> None:
gens += get_generations(profile)
remove_old_entries(gens)
for gen in gens:
write_entry(*gen, machine_id)
if os.readlink(system_dir(*gen)) == args.default_config:
write_loader_conf(*gen)
try:
write_entry(*gen, machine_id)
if os.readlink(system_dir(*gen)) == args.default_config:
write_loader_conf(*gen)
except OSError as e:
print("ignoring profile '{}' in the list of boot entries because of the following error:\n{}".format(profile, e), file=sys.stderr)
memtest_entry_file = "@efiSysMountPoint@/loader/entries/memtest86.conf"
if os.path.exists(memtest_entry_file):

View File

@ -439,21 +439,16 @@ in
default = false;
description = ''
Whether this NixOS machine is a lightweight container running
in another NixOS system. If set to true, support for nested
containers is disabled by default, but can be reenabled by
setting <option>boot.enableContainers</option> to true.
in another NixOS system.
'';
};
boot.enableContainers = mkOption {
type = types.bool;
default = !config.boot.isContainer;
default = true;
description = ''
Whether to enable support for NixOS containers. Defaults to true
(at no cost if containers are not actually used), but only if the
system is not itself a lightweight container of a host.
To enable support for nested containers, this option has to be
explicitly set to true (in the outer container).
(at no cost if containers are not actually used).
'';
};

View File

@ -75,6 +75,7 @@ in
containers-ip = handleTest ./containers-ip.nix {};
containers-macvlans = handleTest ./containers-macvlans.nix {};
containers-names = handleTest ./containers-names.nix {};
containers-nested = handleTest ./containers-nested.nix {};
containers-physical_interfaces = handleTest ./containers-physical_interfaces.nix {};
containers-portforward = handleTest ./containers-portforward.nix {};
containers-reloadable = handleTest ./containers-reloadable.nix {};

View File

@ -0,0 +1,30 @@
# Test for NixOS' container nesting.
import ./make-test-python.nix ({ pkgs, ... }: {
name = "nested";
meta = with pkgs.lib.maintainers; { maintainers = [ sorki ]; };
machine = { lib, ... }:
let
makeNested = subConf: {
containers.nested = {
autoStart = true;
privateNetwork = true;
config = subConf;
};
};
in makeNested (makeNested { });
testScript = ''
machine.start()
machine.wait_for_unit("container@nested.service")
machine.succeed("systemd-run --pty --machine=nested -- machinectl list | grep nested")
print(
machine.succeed(
"systemd-run --pty --machine=nested -- systemd-run --pty --machine=nested -- systemctl status"
)
)
'';
})

View File

@ -1,7 +1,6 @@
{ lib
, fetchFromGitHub
, xz
, qt5
, wrapQtAppsHook
, miniupnpc_2
, swftools
@ -10,14 +9,14 @@
pythonPackages.buildPythonPackage rec {
pname = "hydrus";
version = "434";
version = "436";
format = "other";
src = fetchFromGitHub {
owner = "hydrusnetwork";
repo = "hydrus";
rev = "v${version}";
sha256 = "sha256-7Allc9zawja8DO2idv+MAYZ/cBRTCMd0mbgBLfEVii8=";
sha256 = "sha256-FXm8VUEY0OZ6/dc/qNwOXekhv5H2C9jjg/eNDoMvMn0==";
};
nativeBuildInputs = [

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kubeconform";
version = "0.4.6";
version = "0.4.7";
src = fetchFromGitHub {
owner = "yannh";
repo = pname;
rev = "v${version}";
sha256 = "sha256-lduHYYskEPUimEX54ymOyo5jY7GGBB42YTefDMNS4qo=";
sha256 = "sha256-ahVdKMx3u2KnJ30wi9rV8JCVg9wPmbgdrtG8IpWWlCs=";
};
vendorSha256 = null;

View File

@ -1,4 +1,4 @@
{ stdenv, buildPackages, cmake, gnumake, makeWrapper, mkDerivation, fetchFromGitHub
{ stdenv, pkgsHostTarget, cmake, makeWrapper, mkDerivation, fetchFromGitHub
, alex, array, base, bytestring, cond, containers, directory, extra
, filepath, haskeline, hpack, hspec, hspec-core, json, lib, mtl
, parsec, process, regex-compat, text, time }:
@ -18,11 +18,12 @@ let
src = "${src}/kklib";
nativeBuildInputs = [ cmake ];
};
inherit (pkgsHostTarget.targetPackages.stdenv) cc;
runtimeDeps = [
buildPackages.stdenv.cc
buildPackages.stdenv.cc.bintools.bintools
gnumake
cmake
cc
cc.bintools.bintools
pkgsHostTarget.gnumake
pkgsHostTarget.cmake
];
in
mkDerivation rec {
@ -42,7 +43,7 @@ mkDerivation rec {
cp -a contrib $out/share/koka/v${version}
cp -a kklib $out/share/koka/v${version}
wrapProgram "$out/bin/koka" \
--set CC "${lib.getBin buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc" \
--set CC "${lib.getBin cc}/bin/${cc.targetPrefix}cc" \
--prefix PATH : "${lib.makeSearchPath "bin" runtimeDeps}"
'';
doCheck = false;

View File

@ -1,23 +1,29 @@
{ lib, mkCoqDerivation, coq, version ? null }:
with lib; mkCoqDerivation {
with lib; (mkCoqDerivation {
pname = "tlc";
owner = "charguer";
inherit version;
displayVersion = { tlc = false; };
defaultVersion = with versions; switch coq.coq-version [
{ case = range "8.12" "8.13"; out = "20210316"; }
{ case = range "8.10" "8.12"; out = "20200328"; }
{ case = range "8.6" "8.12"; out = "20181116"; }
] null;
release."20210316".sha256 = "1hlavnx20lxpf2iydbbxqmim9p8wdwv4phzp9ypij93yivih0g4a";
release."20200328".sha256 = "16vzild9gni8zhgb3qhmka47f8zagdh03k6nssif7drpim8233lx";
release."20181116".sha256 = "032lrbkxqm9d3fhf6nv1kq2z0mqd3czv3ijlbsjwnfh12xck4vpl";
installFlags = [ "CONTRIB=$(out)/lib/coq/${coq.coq-version}/user-contrib" ];
meta = {
homepage = "http://www.chargueraud.org/softs/tlc/";
description = "A non-constructive library for Coq";
license = licenses.free;
maintainers = [ maintainers.vbgl ];
};
}
}).overrideAttrs (x:
if versionAtLeast x.version "20210316"
then {}
else {
installFlags = [ "CONTRIB=$(out)/lib/coq/${coq.coq-version}/user-contrib" ];
}
)

View File

@ -14,19 +14,19 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://apache/zookeeper/${zookeeper.pname}-${version}/apache-${zookeeper.pname}-${version}.tar.gz";
sha512 = "16994067d460a1b6af6a71f3458c64ee32629e876a1ff6646d57be62f1a5adab57462af84074ecaded4186dd3fde035ee24cd9d578b8e5044073eb05f4ab9c3e";
sha512 = "90643aa0ae1b9bf1f5e137dfbcee7e3c53db15e5038d7e406e4a1c345d6a0531bf7afa2b03f99d419ebd0fe892f127a7abfe582f786034ba823e53a0a9246bfb";
};
sourceRoot = "apache-${zookeeper.pname}-${version}/zookeeper-client/zookeeper-client-c";
nativeBuildInputs = [
autoreconfHook
pkg-config
jre
];
buildInputs = [
openssl
pkg-config
zookeeper
];

View File

@ -18,15 +18,21 @@ buildPythonPackage rec {
sha256 = "3a5bbd0652bf552748871eaa73a4a8dc2899786bc497a2aa1fcb4dcdb0debeee";
};
propagatedBuildInputs = [ pbr setuptools six ]
++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
propagatedBuildInputs = [
pbr
setuptools
six
] ++ lib.optionals (pythonOlder "3.8") [
importlib-metadata
];
doCheck = false;
pythonImportsCheck = [ "stevedore" ];
meta = with lib; {
description = "Manage dynamic plugins for Python applications";
homepage = "https://pypi.python.org/pypi/stevedore";
homepage = "https://docs.openstack.org/stevedore/";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
}

View File

@ -325,6 +325,10 @@ let
addOpenGLRunpath "$lib"
done
'';
requiredSystemFeatures = [
"big-parallel"
];
};
meta = with lib; {

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "esbuild";
version = "0.11.13";
version = "0.11.14";
src = fetchFromGitHub {
owner = "evanw";
repo = "esbuild";
rev = "v${version}";
sha256 = "0v358n2vpa1l1a699zyq43yzb3lcxjp3k4acppx0ggva05qn9zd1";
sha256 = "0qxylzc7lzpsp5hm3dl5jvy9aca8azn8dmbjz9z5n5rkdmm8vd9p";
};
vendorSha256 = "1n5538yik72x94vzfq31qaqrkpxds5xys1wlibw2gn2am0z5c06q";

View File

@ -1,39 +1,29 @@
{ lib, stdenv, callPackage, fetchFromGitHub, leiningen, openjdk11
, graalvm11-ce, babashka }:
{ lib, stdenv, graalvm11-ce, babashka, fetchurl, fetchFromGitHub }:
let
stdenv.mkDerivation rec {
pname = "clojure-lsp";
version = "2021.02.14-19.46.47";
leiningen11 = leiningen.override ({ jdk = openjdk11; });
version = "2021.04.13-12.47.33";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
sha256 = "sha256-Zj7/8RcuxCy2xdd+5jeOb1GTsQsX0EVW32k32fA6uf4=";
sha256 = "1la0d28pvp1fqnxp3scb2vawcblilwyx42djxn379vag403p1i2d";
};
repository = callPackage ./repository.nix {
inherit src pname version;
leiningen = leiningen11;
jar = fetchurl {
url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/${version}/clojure-lsp.jar";
sha256 = "059gz7y2rzwdxpyqy80w4lghzgxi5lb4rxmks1721yq6k7ljjyqy";
};
in stdenv.mkDerivation rec {
inherit src pname version;
postPatch = ''
# Hack to set maven cache in another directory since MAVEN_OPTS doesn't work
substituteInPlace project.clj \
--replace ":main" ":local-repo \"${repository}\" :main"
'';
GRAALVM_HOME = graalvm11-ce;
CLOJURE_LSP_JAR = jar;
buildInputs = [ graalvm11-ce leiningen11 repository ];
buildInputs = [ graalvm11-ce ];
buildPhase = with lib; ''
runHook preBuild
export LEIN_HOME="$(mktemp -d)"
bash ./graalvm/native-unix-compile.sh
runHook postBuild
@ -51,14 +41,14 @@ in stdenv.mkDerivation rec {
checkPhase = ''
runHook preCheck
${babashka}/bin/bb ./integration-test/run-all.clj ./clojure-lsp
${babashka}/bin/bb integration-test/run-all.clj ./clojure-lsp
runHook postCheck
'';
meta = with lib; {
description = "Language Server Protocol (LSP) for Clojure";
homepage = "https://github.com/snoe/clojure-lsp";
homepage = "https://github.com/clojure-lsp/clojure-lsp";
license = licenses.mit;
maintainers = [ maintainers.ericdallo ];
platforms = graalvm11-ce.meta.platforms;

View File

@ -1,40 +0,0 @@
{ lib, stdenv, src, pname, version, leiningen }:
stdenv.mkDerivation {
inherit src;
name = "${pname}-${version}-repository";
buildInputs = [ leiningen ];
postPatch = ''
# Hack to set maven cache in another directory since MAVEN_OPTS doesn't work
substituteInPlace project.clj \
--replace ":main" ":local-repo \"$out\" :main"
'';
buildPhase = ''
runHook preBuild
export LEIN_HOME="$(mktemp -d)"
lein with-profiles +native-image deps
runHook postBuild
'';
installPhase = ''
runHook preInstall
find $out -type f \
-name \*.lastUpdated -or \
-name resolver-status.properties -or \
-name _remote.repositories \
-delete
runHook postInstall
'';
dontFixup = true;
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "sha256-aWZPsJF32ENyYNZCHf5amxVF9pb+5M73JqG/OITZlak=";
}

View File

@ -0,0 +1,21 @@
{ lib, rustPlatform, fetchFromGitHub }:
rustPlatform.buildRustPackage rec {
pname = "treefmt";
version = "0.1.1";
src = fetchFromGitHub {
owner = "numtide";
repo = "treefmt";
rev = "v${version}";
sha256 = "0a4yikkqppawii1q0kzsxwfp1aid688wa0lixjwfsl279lr69css";
};
cargoSha256 = "08k60gd23yanfraxpbw9hi7jbqgsxz9mv1ci6q9piis5742zlj9s";
meta = {
description = "one CLI to format the code tree";
homepage = "https://github.com/numtide/treefmt";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ zimbatm ];
};
}

View File

@ -51,15 +51,19 @@ in stdenv.mkDerivation rec {
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 ${./noff.patch} -o $out/share/ds4.xml
makeWrapper $out/bin/gimx $out/bin/gimx-with-confs \
--set GIMXCONF $out/share/config
makeWrapper $out/bin/gimx $out/bin/gimx-test-ds4 \
--set GIMXCONF $out/share \
--set GIMXCONF $out/share/config \
--add-flags "--nograb" --add-flags "--curses" \
--add-flags "-p /dev/ttyUSB0" --add-flags "-c ds4.xml"
--add-flags "-p /dev/ttyUSB0" --add-flags "-c Dualshock4.xml"
makeWrapper $out/bin/gimx $out/bin/gimx-test-xone \
--set GIMXCONF $out/share/config \
--add-flags "--nograb" --add-flags "--curses" \
--add-flags "-p /dev/ttyUSB0" --add-flags "-c XOnePadUsb.xml"
'';
meta = with lib; {

View File

@ -1,16 +0,0 @@
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>

View File

@ -1,13 +1,13 @@
{ lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, dovecot, libtool, xapian, icu64 }:
stdenv.mkDerivation rec {
pname = "fts-xapian";
version = "1.4.7";
version = "1.4.9";
src = fetchFromGitHub {
owner = "grosjo";
repo = "fts-xapian";
rev = version;
sha256 = "K2d1FFAilIggNuP0e698s+9bN08x2s/0Jryp7pmeixc=";
sha256 = "0p4ps9h24vr9bldrcf9cdx6l4rdz5i8zyc58qp10h7cc3jilwddy";
};
buildInputs = [ dovecot xapian icu64 ];
@ -28,8 +28,9 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://github.com/grosjo/fts-xapian";
description = "Dovecot FTS plugin based on Xapian";
license = licenses.lgpl21;
maintainers = with maintainers; [ julm ];
changelog = "https://github.com/grosjo/fts-xapian/releases";
license = licenses.lgpl21Only;
maintainers = with maintainers; [ julm symphorien ];
platforms = platforms.unix;
};
}

View File

@ -1,4 +1,4 @@
{ lib, fetchurl, perlPackages, makeWrapper, gnupg }:
{ lib, fetchurl, perlPackages, makeWrapper, gnupg, re2c, gcc, gnumake }:
perlPackages.buildPerlPackage rec {
pname = "SpamAssassin";
@ -29,7 +29,7 @@ perlPackages.buildPerlPackage rec {
mv "rules/"* $out/share/spamassassin/
for n in "$out/bin/"*; do
wrapProgram "$n" --prefix PERL5LIB : "$PERL5LIB" --prefix PATH : "${gnupg}/bin"
wrapProgram "$n" --prefix PERL5LIB : "$PERL5LIB" --prefix PATH : ${lib.makeBinPath [ gnupg re2c gcc gnumake ]}
done
'';

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "influxdb";
version = "1.8.4";
version = "1.8.5";
src = fetchFromGitHub {
owner = "influxdata";
repo = pname;
rev = "v${version}";
sha256 = "sha256-cL+QaUGMElYd6P+xXkQgRnL8BKo2C95bhCwy59kRnwo=";
sha256 = "sha256-qKkCTsSUejqJhMzAgFJYMGalAUepUaP/caocRwnKflg=";
};
vendorSha256 = "sha256-v4CEkhQiETeU6i186XIE/8z4T71gdKL+6W7sQ7/2RuI=";
vendorSha256 = "sha256-t7uwrsrF4LYdRjOhwdsCouDJXvD9364Ma5gvKezvi5o=";
doCheck = false;

View File

@ -1,12 +1,12 @@
{ lib, stdenv, fetchurl, jre, makeWrapper, bash, coreutils, runtimeShell }:
{ lib, stdenv, fetchurl, jre, makeWrapper, bash, coreutils }:
stdenv.mkDerivation rec {
pname = "zookeeper";
version = "3.6.2";
version = "3.6.3";
src = fetchurl {
url = "mirror://apache/zookeeper/${pname}-${version}/apache-${pname}-${version}-bin.tar.gz";
sha512 = "caff5111bb6876b7124760bc006e6fa2523efa54b99321a3c9cd8192ea0d5596abc7d70a054b1aac9b20a411407dae7611c7aba870c23bff28eb1643ba499199";
sha512 = "3f7b1b7d9cf5647d52ad0076c922e108fa956e986b5624667c493cf6d8ff09d3ca88f623c79a799fe49c72e868cb3c9d0f77cb69608de74a183b2cbad10bc827";
};
nativeBuildInputs = [ makeWrapper ];
@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
phases = ["unpackPhase" "installPhase"];
installPhase = ''
runHook preInstall
mkdir -p $out
cp -R conf docs lib $out
# Without this, zkCli.sh tries creating a log file in the Nix store.
@ -31,6 +32,7 @@ stdenv.mkDerivation rec {
--prefix PATH : "${bash}/bin"
done
chmod -x $out/bin/zkEnv.sh
runHook postInstall
'';
meta = with lib; {

View File

@ -1,22 +0,0 @@
{ lib, stdenv, fetchFromGitHub }:
stdenv.mkDerivation {
name = "dylibbundler";
src = fetchFromGitHub {
owner = "auriamg";
repo = "/macdylibbundler";
rev = "27923fbf6d1bc4d18c18e118280c4fe51fc41a80";
sha256 = "1mpd43hvpfp7pskfrjnd6vcmfii9v3p97q0ws50krkdvshp0bv2h";
};
makeFlags = [ "PREFIX=$(out)" ];
meta = with lib; {
description = "Small command-line program that aims to make bundling .dylibs as easy as possible";
homepage = "https://github.com/auriamg/macdylibbundler";
license = licenses.mit;
maintainers = with maintainers; [ alexfmpe ];
platforms = with platforms; darwin ++ linux;
};
}

View File

@ -0,0 +1,22 @@
{ lib, fetchFromGitHub, rustPlatform }:
rustPlatform.buildRustPackage rec {
pname = "gptman";
version = "0.8.0";
src = fetchFromGitHub {
owner = "cecton";
repo = pname;
rev = "v${version}";
sha256 = "11zyjrw4f8gi5s4sd2kl3sdiz0avq7clr8zqnwl04y61b3fpg7y1";
};
cargoSha256 = "1cp8cyrd7ab8r2j28b69c2p3ysix5b9hpsqk07cmzgqwwml0qj12";
meta = with lib; {
description = "A CLI tool for Linux to copy a partition from one disk to another and more.";
homepage = "https://github.com/cecton/gptman";
license = with licenses; [ asl20 /* or */ mit ];
maintainers = with maintainers; [ akshgpt7 ];
};
}

View File

@ -91,6 +91,5 @@ in stdenv.mkDerivation rec {
license = licenses.gpl2Plus;
maintainers = with maintainers; [ raskin averelld ];
platforms = platforms.unix;
broken = stdenv.isDarwin;
};
}

View File

@ -176,6 +176,7 @@ mapAliases ({
dvb_apps = throw "dvb_apps has been removed."; # added 2020-11-03
dwarf_fortress = dwarf-fortress; # added 2016-01-23
dwm-git = throw "dwm-git has been removed from nixpkgs, as it had no updates for 2 years not serving it's purpose."; # added 2021-02-07
dylibbundler = macdylibbundler; # added 2021-04-24
elasticmq = throw "elasticmq has been removed in favour of elasticmq-server-bin"; # added 2021-01-17
emacsPackagesGen = emacsPackagesFor; # added 2018-08-18
emacsPackagesNgGen = emacsPackagesFor; # added 2018-08-18

View File

@ -2374,8 +2374,6 @@ in
enableSSH = true;
};
dylibbundler = callPackage ../tools/misc/dylibbundler { };
dynamic-colors = callPackage ../tools/misc/dynamic-colors { };
dyncall = callPackage ../development/libraries/dyncall { };
@ -5153,6 +5151,8 @@ in
gpt2tc = callPackage ../tools/text/gpt2tc { };
gptman = callPackage ../tools/system/gptman { };
ldmtool = callPackage ../tools/misc/ldmtool { };
gphotos-sync = callPackage ../tools/backup/gphotos-sync { };
@ -31143,6 +31143,8 @@ in
fac-build = callPackage ../development/tools/build-managers/fac {};
treefmt = callPackage ../development/tools/treefmt { };
bottom = callPackage ../tools/system/bottom {};
cagebreak = callPackage ../applications/window-managers/cagebreak/default.nix {