Merge staging-next into staging
This commit is contained in:
commit
1626c4772a
@ -125,7 +125,7 @@ fi
|
|||||||
|
|
||||||
# Resolve the flake.
|
# Resolve the flake.
|
||||||
if [[ -n $flake ]]; then
|
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
|
fi
|
||||||
|
|
||||||
if [[ ! -e $NIXOS_CONFIG && -z $system && -z $flake ]]; then
|
if [[ ! -e $NIXOS_CONFIG && -z $system && -z $flake ]]; then
|
||||||
|
@ -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" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
restartTriggers = [ config.environment.etc."exim.conf".source ];
|
restartTriggers = [ config.environment.etc."exim.conf".source ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "${cfg.package}/bin/exim -bdf -q30m";
|
ExecStart = "${cfg.package}/bin/exim -bdf -q${cfg.queueRunnerInterval}";
|
||||||
ExecReload = "${coreutils}/bin/kill -HUP $MAINPID";
|
ExecReload = "${coreutils}/bin/kill -HUP $MAINPID";
|
||||||
};
|
};
|
||||||
preStart = ''
|
preStart = ''
|
||||||
|
@ -126,19 +126,36 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.sa-update = {
|
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 = ''
|
script = ''
|
||||||
set +e
|
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
|
${pkgs.spamassassin}/bin/sa-update --verbose --gpghomedir=/var/lib/spamassassin/sa-update-keys/
|
||||||
|
rc=$?
|
||||||
v=$?
|
|
||||||
set -e
|
set -e
|
||||||
if [ $v -gt 1 ]; then
|
|
||||||
echo "sa-update execution error"
|
if [[ $rc -gt 1 ]]; then
|
||||||
exit $v
|
# sa-update failed.
|
||||||
|
exit $rc
|
||||||
fi
|
fi
|
||||||
if [ $v -eq 0 ]; then
|
|
||||||
systemctl reload spamd.service
|
if [[ $rc -eq 1 ]]; then
|
||||||
|
# No update was available, exit successfully.
|
||||||
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# An update was available and installed. Compile the rules.
|
||||||
|
${pkgs.spamassassin}/bin/sa-compile
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -153,32 +170,22 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.spamd = {
|
systemd.services.spamd = {
|
||||||
description = "Spam Assassin Server";
|
description = "SpamAssassin Server";
|
||||||
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
after = [ "network.target" ];
|
wants = [ "sa-update.service" ];
|
||||||
|
after = [
|
||||||
|
"network.target"
|
||||||
|
"sa-update.service"
|
||||||
|
];
|
||||||
|
|
||||||
serviceConfig = {
|
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";
|
User = "spamd";
|
||||||
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
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
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -236,9 +236,12 @@ def main() -> None:
|
|||||||
gens += get_generations(profile)
|
gens += get_generations(profile)
|
||||||
remove_old_entries(gens)
|
remove_old_entries(gens)
|
||||||
for gen in gens:
|
for gen in gens:
|
||||||
write_entry(*gen, machine_id)
|
try:
|
||||||
if os.readlink(system_dir(*gen)) == args.default_config:
|
write_entry(*gen, machine_id)
|
||||||
write_loader_conf(*gen)
|
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"
|
memtest_entry_file = "@efiSysMountPoint@/loader/entries/memtest86.conf"
|
||||||
if os.path.exists(memtest_entry_file):
|
if os.path.exists(memtest_entry_file):
|
||||||
|
@ -439,21 +439,16 @@ in
|
|||||||
default = false;
|
default = false;
|
||||||
description = ''
|
description = ''
|
||||||
Whether this NixOS machine is a lightweight container running
|
Whether this NixOS machine is a lightweight container running
|
||||||
in another NixOS system. If set to true, support for nested
|
in another NixOS system.
|
||||||
containers is disabled by default, but can be reenabled by
|
|
||||||
setting <option>boot.enableContainers</option> to true.
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.enableContainers = mkOption {
|
boot.enableContainers = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = !config.boot.isContainer;
|
default = true;
|
||||||
description = ''
|
description = ''
|
||||||
Whether to enable support for NixOS containers. Defaults to true
|
Whether to enable support for NixOS containers. Defaults to true
|
||||||
(at no cost if containers are not actually used), but only if the
|
(at no cost if containers are not actually used).
|
||||||
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).
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -76,6 +76,7 @@ in
|
|||||||
containers-ip = handleTest ./containers-ip.nix {};
|
containers-ip = handleTest ./containers-ip.nix {};
|
||||||
containers-macvlans = handleTest ./containers-macvlans.nix {};
|
containers-macvlans = handleTest ./containers-macvlans.nix {};
|
||||||
containers-names = handleTest ./containers-names.nix {};
|
containers-names = handleTest ./containers-names.nix {};
|
||||||
|
containers-nested = handleTest ./containers-nested.nix {};
|
||||||
containers-physical_interfaces = handleTest ./containers-physical_interfaces.nix {};
|
containers-physical_interfaces = handleTest ./containers-physical_interfaces.nix {};
|
||||||
containers-portforward = handleTest ./containers-portforward.nix {};
|
containers-portforward = handleTest ./containers-portforward.nix {};
|
||||||
containers-reloadable = handleTest ./containers-reloadable.nix {};
|
containers-reloadable = handleTest ./containers-reloadable.nix {};
|
||||||
|
30
nixos/tests/containers-nested.nix
Normal file
30
nixos/tests/containers-nested.nix
Normal 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"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
})
|
||||||
|
|
@ -1,7 +1,6 @@
|
|||||||
{ lib
|
{ lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, xz
|
, xz
|
||||||
, qt5
|
|
||||||
, wrapQtAppsHook
|
, wrapQtAppsHook
|
||||||
, miniupnpc_2
|
, miniupnpc_2
|
||||||
, swftools
|
, swftools
|
||||||
@ -10,14 +9,14 @@
|
|||||||
|
|
||||||
pythonPackages.buildPythonPackage rec {
|
pythonPackages.buildPythonPackage rec {
|
||||||
pname = "hydrus";
|
pname = "hydrus";
|
||||||
version = "434";
|
version = "436";
|
||||||
format = "other";
|
format = "other";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "hydrusnetwork";
|
owner = "hydrusnetwork";
|
||||||
repo = "hydrus";
|
repo = "hydrus";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-7Allc9zawja8DO2idv+MAYZ/cBRTCMd0mbgBLfEVii8=";
|
sha256 = "sha256-FXm8VUEY0OZ6/dc/qNwOXekhv5H2C9jjg/eNDoMvMn0==";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "kubeconform";
|
pname = "kubeconform";
|
||||||
version = "0.4.6";
|
version = "0.4.7";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "yannh";
|
owner = "yannh";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-lduHYYskEPUimEX54ymOyo5jY7GGBB42YTefDMNS4qo=";
|
sha256 = "sha256-ahVdKMx3u2KnJ30wi9rV8JCVg9wPmbgdrtG8IpWWlCs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = null;
|
vendorSha256 = null;
|
||||||
|
@ -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
|
, alex, array, base, bytestring, cond, containers, directory, extra
|
||||||
, filepath, haskeline, hpack, hspec, hspec-core, json, lib, mtl
|
, filepath, haskeline, hpack, hspec, hspec-core, json, lib, mtl
|
||||||
, parsec, process, regex-compat, text, time }:
|
, parsec, process, regex-compat, text, time }:
|
||||||
@ -18,11 +18,12 @@ let
|
|||||||
src = "${src}/kklib";
|
src = "${src}/kklib";
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
};
|
};
|
||||||
|
inherit (pkgsHostTarget.targetPackages.stdenv) cc;
|
||||||
runtimeDeps = [
|
runtimeDeps = [
|
||||||
buildPackages.stdenv.cc
|
cc
|
||||||
buildPackages.stdenv.cc.bintools.bintools
|
cc.bintools.bintools
|
||||||
gnumake
|
pkgsHostTarget.gnumake
|
||||||
cmake
|
pkgsHostTarget.cmake
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
@ -42,7 +43,7 @@ mkDerivation rec {
|
|||||||
cp -a contrib $out/share/koka/v${version}
|
cp -a contrib $out/share/koka/v${version}
|
||||||
cp -a kklib $out/share/koka/v${version}
|
cp -a kklib $out/share/koka/v${version}
|
||||||
wrapProgram "$out/bin/koka" \
|
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}"
|
--prefix PATH : "${lib.makeSearchPath "bin" runtimeDeps}"
|
||||||
'';
|
'';
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
@ -1,23 +1,29 @@
|
|||||||
{ lib, mkCoqDerivation, coq, version ? null }:
|
{ lib, mkCoqDerivation, coq, version ? null }:
|
||||||
|
|
||||||
with lib; mkCoqDerivation {
|
with lib; (mkCoqDerivation {
|
||||||
pname = "tlc";
|
pname = "tlc";
|
||||||
owner = "charguer";
|
owner = "charguer";
|
||||||
inherit version;
|
inherit version;
|
||||||
displayVersion = { tlc = false; };
|
displayVersion = { tlc = false; };
|
||||||
defaultVersion = with versions; switch coq.coq-version [
|
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.10" "8.12"; out = "20200328"; }
|
||||||
{ case = range "8.6" "8.12"; out = "20181116"; }
|
{ case = range "8.6" "8.12"; out = "20181116"; }
|
||||||
] null;
|
] null;
|
||||||
|
release."20210316".sha256 = "1hlavnx20lxpf2iydbbxqmim9p8wdwv4phzp9ypij93yivih0g4a";
|
||||||
release."20200328".sha256 = "16vzild9gni8zhgb3qhmka47f8zagdh03k6nssif7drpim8233lx";
|
release."20200328".sha256 = "16vzild9gni8zhgb3qhmka47f8zagdh03k6nssif7drpim8233lx";
|
||||||
release."20181116".sha256 = "032lrbkxqm9d3fhf6nv1kq2z0mqd3czv3ijlbsjwnfh12xck4vpl";
|
release."20181116".sha256 = "032lrbkxqm9d3fhf6nv1kq2z0mqd3czv3ijlbsjwnfh12xck4vpl";
|
||||||
|
|
||||||
installFlags = [ "CONTRIB=$(out)/lib/coq/${coq.coq-version}/user-contrib" ];
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "http://www.chargueraud.org/softs/tlc/";
|
homepage = "http://www.chargueraud.org/softs/tlc/";
|
||||||
description = "A non-constructive library for Coq";
|
description = "A non-constructive library for Coq";
|
||||||
license = licenses.free;
|
license = licenses.free;
|
||||||
maintainers = [ maintainers.vbgl ];
|
maintainers = [ maintainers.vbgl ];
|
||||||
};
|
};
|
||||||
}
|
}).overrideAttrs (x:
|
||||||
|
if versionAtLeast x.version "20210316"
|
||||||
|
then {}
|
||||||
|
else {
|
||||||
|
installFlags = [ "CONTRIB=$(out)/lib/coq/${coq.coq-version}/user-contrib" ];
|
||||||
|
}
|
||||||
|
)
|
||||||
|
@ -14,19 +14,19 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://apache/zookeeper/${zookeeper.pname}-${version}/apache-${zookeeper.pname}-${version}.tar.gz";
|
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";
|
sourceRoot = "apache-${zookeeper.pname}-${version}/zookeeper-client/zookeeper-client-c";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
|
pkg-config
|
||||||
jre
|
jre
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
openssl
|
openssl
|
||||||
pkg-config
|
|
||||||
zookeeper
|
zookeeper
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -18,15 +18,21 @@ buildPythonPackage rec {
|
|||||||
sha256 = "3a5bbd0652bf552748871eaa73a4a8dc2899786bc497a2aa1fcb4dcdb0debeee";
|
sha256 = "3a5bbd0652bf552748871eaa73a4a8dc2899786bc497a2aa1fcb4dcdb0debeee";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ pbr setuptools six ]
|
propagatedBuildInputs = [
|
||||||
++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
|
pbr
|
||||||
|
setuptools
|
||||||
|
six
|
||||||
|
] ++ lib.optionals (pythonOlder "3.8") [
|
||||||
|
importlib-metadata
|
||||||
|
];
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
pythonImportsCheck = [ "stevedore" ];
|
pythonImportsCheck = [ "stevedore" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Manage dynamic plugins for Python applications";
|
description = "Manage dynamic plugins for Python applications";
|
||||||
homepage = "https://pypi.python.org/pypi/stevedore";
|
homepage = "https://docs.openstack.org/stevedore/";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ fab ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -325,6 +325,10 @@ let
|
|||||||
addOpenGLRunpath "$lib"
|
addOpenGLRunpath "$lib"
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
requiredSystemFeatures = [
|
||||||
|
"big-parallel"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "esbuild";
|
pname = "esbuild";
|
||||||
version = "0.11.13";
|
version = "0.11.14";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "evanw";
|
owner = "evanw";
|
||||||
repo = "esbuild";
|
repo = "esbuild";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0v358n2vpa1l1a699zyq43yzb3lcxjp3k4acppx0ggva05qn9zd1";
|
sha256 = "0qxylzc7lzpsp5hm3dl5jvy9aca8azn8dmbjz9z5n5rkdmm8vd9p";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "1n5538yik72x94vzfq31qaqrkpxds5xys1wlibw2gn2am0z5c06q";
|
vendorSha256 = "1n5538yik72x94vzfq31qaqrkpxds5xys1wlibw2gn2am0z5c06q";
|
||||||
|
@ -1,39 +1,29 @@
|
|||||||
{ lib, stdenv, callPackage, fetchFromGitHub, leiningen, openjdk11
|
{ lib, stdenv, graalvm11-ce, babashka, fetchurl, fetchFromGitHub }:
|
||||||
, graalvm11-ce, babashka }:
|
|
||||||
|
|
||||||
let
|
stdenv.mkDerivation rec {
|
||||||
pname = "clojure-lsp";
|
pname = "clojure-lsp";
|
||||||
version = "2021.02.14-19.46.47";
|
version = "2021.04.13-12.47.33";
|
||||||
leiningen11 = leiningen.override ({ jdk = openjdk11; });
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-Zj7/8RcuxCy2xdd+5jeOb1GTsQsX0EVW32k32fA6uf4=";
|
sha256 = "1la0d28pvp1fqnxp3scb2vawcblilwyx42djxn379vag403p1i2d";
|
||||||
};
|
};
|
||||||
|
|
||||||
repository = callPackage ./repository.nix {
|
jar = fetchurl {
|
||||||
inherit src pname version;
|
url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/${version}/clojure-lsp.jar";
|
||||||
leiningen = leiningen11;
|
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;
|
GRAALVM_HOME = graalvm11-ce;
|
||||||
|
CLOJURE_LSP_JAR = jar;
|
||||||
|
|
||||||
buildInputs = [ graalvm11-ce leiningen11 repository ];
|
buildInputs = [ graalvm11-ce ];
|
||||||
|
|
||||||
buildPhase = with lib; ''
|
buildPhase = with lib; ''
|
||||||
runHook preBuild
|
runHook preBuild
|
||||||
|
|
||||||
export LEIN_HOME="$(mktemp -d)"
|
|
||||||
bash ./graalvm/native-unix-compile.sh
|
bash ./graalvm/native-unix-compile.sh
|
||||||
|
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
@ -51,14 +41,14 @@ in stdenv.mkDerivation rec {
|
|||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
runHook preCheck
|
runHook preCheck
|
||||||
|
|
||||||
${babashka}/bin/bb ./integration-test/run-all.clj ./clojure-lsp
|
${babashka}/bin/bb integration-test/run-all.clj ./clojure-lsp
|
||||||
|
|
||||||
runHook postCheck
|
runHook postCheck
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Language Server Protocol (LSP) for Clojure";
|
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;
|
license = licenses.mit;
|
||||||
maintainers = [ maintainers.ericdallo ];
|
maintainers = [ maintainers.ericdallo ];
|
||||||
platforms = graalvm11-ce.meta.platforms;
|
platforms = graalvm11-ce.meta.platforms;
|
||||||
|
@ -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=";
|
|
||||||
}
|
|
21
pkgs/development/tools/treefmt/default.nix
Normal file
21
pkgs/development/tools/treefmt/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
@ -51,15 +51,19 @@ in stdenv.mkDerivation rec {
|
|||||||
mkdir -p $out/share
|
mkdir -p $out/share
|
||||||
cp -r ./loader/firmware $out/share/firmware
|
cp -r ./loader/firmware $out/share/firmware
|
||||||
cp -r ${gimx-config}/Linux $out/share/config
|
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 \
|
makeWrapper $out/bin/gimx $out/bin/gimx-with-confs \
|
||||||
--set GIMXCONF $out/share/config
|
--set GIMXCONF $out/share/config
|
||||||
|
|
||||||
makeWrapper $out/bin/gimx $out/bin/gimx-test-ds4 \
|
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 "--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; {
|
meta = with lib; {
|
||||||
|
@ -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>
|
|
@ -1,13 +1,13 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, dovecot, libtool, xapian, icu64 }:
|
{ lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, dovecot, libtool, xapian, icu64 }:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "fts-xapian";
|
pname = "fts-xapian";
|
||||||
version = "1.4.7";
|
version = "1.4.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "grosjo";
|
owner = "grosjo";
|
||||||
repo = "fts-xapian";
|
repo = "fts-xapian";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "K2d1FFAilIggNuP0e698s+9bN08x2s/0Jryp7pmeixc=";
|
sha256 = "0p4ps9h24vr9bldrcf9cdx6l4rdz5i8zyc58qp10h7cc3jilwddy";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ dovecot xapian icu64 ];
|
buildInputs = [ dovecot xapian icu64 ];
|
||||||
@ -28,8 +28,9 @@ stdenv.mkDerivation rec {
|
|||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/grosjo/fts-xapian";
|
homepage = "https://github.com/grosjo/fts-xapian";
|
||||||
description = "Dovecot FTS plugin based on Xapian";
|
description = "Dovecot FTS plugin based on Xapian";
|
||||||
license = licenses.lgpl21;
|
changelog = "https://github.com/grosjo/fts-xapian/releases";
|
||||||
maintainers = with maintainers; [ julm ];
|
license = licenses.lgpl21Only;
|
||||||
|
maintainers = with maintainers; [ julm symphorien ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ lib, fetchurl, perlPackages, makeWrapper, gnupg }:
|
{ lib, fetchurl, perlPackages, makeWrapper, gnupg, re2c, gcc, gnumake }:
|
||||||
|
|
||||||
perlPackages.buildPerlPackage rec {
|
perlPackages.buildPerlPackage rec {
|
||||||
pname = "SpamAssassin";
|
pname = "SpamAssassin";
|
||||||
@ -29,7 +29,7 @@ perlPackages.buildPerlPackage rec {
|
|||||||
mv "rules/"* $out/share/spamassassin/
|
mv "rules/"* $out/share/spamassassin/
|
||||||
|
|
||||||
for n in "$out/bin/"*; do
|
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
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "influxdb";
|
pname = "influxdb";
|
||||||
version = "1.8.4";
|
version = "1.8.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "influxdata";
|
owner = "influxdata";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-cL+QaUGMElYd6P+xXkQgRnL8BKo2C95bhCwy59kRnwo=";
|
sha256 = "sha256-qKkCTsSUejqJhMzAgFJYMGalAUepUaP/caocRwnKflg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-v4CEkhQiETeU6i186XIE/8z4T71gdKL+6W7sQ7/2RuI=";
|
vendorSha256 = "sha256-t7uwrsrF4LYdRjOhwdsCouDJXvD9364Ma5gvKezvi5o=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{ lib, stdenv, fetchurl, jre, makeWrapper, bash, coreutils, runtimeShell }:
|
{ lib, stdenv, fetchurl, jre, makeWrapper, bash, coreutils }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "zookeeper";
|
pname = "zookeeper";
|
||||||
version = "3.6.2";
|
version = "3.6.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://apache/zookeeper/${pname}-${version}/apache-${pname}-${version}-bin.tar.gz";
|
url = "mirror://apache/zookeeper/${pname}-${version}/apache-${pname}-${version}-bin.tar.gz";
|
||||||
sha512 = "caff5111bb6876b7124760bc006e6fa2523efa54b99321a3c9cd8192ea0d5596abc7d70a054b1aac9b20a411407dae7611c7aba870c23bff28eb1643ba499199";
|
sha512 = "3f7b1b7d9cf5647d52ad0076c922e108fa956e986b5624667c493cf6d8ff09d3ca88f623c79a799fe49c72e868cb3c9d0f77cb69608de74a183b2cbad10bc827";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
|
|||||||
phases = ["unpackPhase" "installPhase"];
|
phases = ["unpackPhase" "installPhase"];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
cp -R conf docs lib $out
|
cp -R conf docs lib $out
|
||||||
# Without this, zkCli.sh tries creating a log file in the Nix store.
|
# Without this, zkCli.sh tries creating a log file in the Nix store.
|
||||||
@ -31,6 +32,7 @@ stdenv.mkDerivation rec {
|
|||||||
--prefix PATH : "${bash}/bin"
|
--prefix PATH : "${bash}/bin"
|
||||||
done
|
done
|
||||||
chmod -x $out/bin/zkEnv.sh
|
chmod -x $out/bin/zkEnv.sh
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
@ -1,20 +1,23 @@
|
|||||||
{ lib, stdenv, fetchurl, pkg-config, libexif, popt, libintl }:
|
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libexif, popt, libintl }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "exif-0.6.21";
|
pname = "exif";
|
||||||
|
version = "0.6.22";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchFromGitHub {
|
||||||
url = "mirror://sourceforge/libexif/${name}.tar.bz2";
|
owner = "libexif";
|
||||||
sha256 = "1zb9hwdl783d4vd2s2rw642hg8hd6n0mfp6lrbiqmp9jmhlq5rsr";
|
repo = pname;
|
||||||
|
rev = "${pname}-${builtins.replaceStrings ["."] ["_"] version}-release";
|
||||||
|
sha256 = "1xlb1gdwxm3rmw7vlrynhvjp9dkwmvw23mxisdbdmma7ah2nda3i";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||||
buildInputs = [ libexif popt libintl ];
|
buildInputs = [ libexif popt libintl ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://libexif.github.io";
|
homepage = "https://libexif.github.io";
|
||||||
description = "A utility to read and manipulate EXIF data in digital photographs";
|
description = "A utility to read and manipulate EXIF data in digital photographs";
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
license = licenses.lgpl21;
|
license = licenses.lgpl21Plus;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
22
pkgs/tools/system/gptman/default.nix
Normal file
22
pkgs/tools/system/gptman/default.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
@ -91,6 +91,5 @@ in stdenv.mkDerivation rec {
|
|||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
maintainers = with maintainers; [ raskin averelld ];
|
maintainers = with maintainers; [ raskin averelld ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
broken = stdenv.isDarwin;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -176,6 +176,7 @@ mapAliases ({
|
|||||||
dvb_apps = throw "dvb_apps has been removed."; # added 2020-11-03
|
dvb_apps = throw "dvb_apps has been removed."; # added 2020-11-03
|
||||||
dwarf_fortress = dwarf-fortress; # added 2016-01-23
|
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
|
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
|
elasticmq = throw "elasticmq has been removed in favour of elasticmq-server-bin"; # added 2021-01-17
|
||||||
emacsPackagesGen = emacsPackagesFor; # added 2018-08-18
|
emacsPackagesGen = emacsPackagesFor; # added 2018-08-18
|
||||||
emacsPackagesNgGen = emacsPackagesFor; # added 2018-08-18
|
emacsPackagesNgGen = emacsPackagesFor; # added 2018-08-18
|
||||||
|
@ -2374,8 +2374,6 @@ in
|
|||||||
enableSSH = true;
|
enableSSH = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
dylibbundler = callPackage ../tools/misc/dylibbundler { };
|
|
||||||
|
|
||||||
dynamic-colors = callPackage ../tools/misc/dynamic-colors { };
|
dynamic-colors = callPackage ../tools/misc/dynamic-colors { };
|
||||||
|
|
||||||
dyncall = callPackage ../development/libraries/dyncall { };
|
dyncall = callPackage ../development/libraries/dyncall { };
|
||||||
@ -5153,6 +5151,8 @@ in
|
|||||||
|
|
||||||
gpt2tc = callPackage ../tools/text/gpt2tc { };
|
gpt2tc = callPackage ../tools/text/gpt2tc { };
|
||||||
|
|
||||||
|
gptman = callPackage ../tools/system/gptman { };
|
||||||
|
|
||||||
ldmtool = callPackage ../tools/misc/ldmtool { };
|
ldmtool = callPackage ../tools/misc/ldmtool { };
|
||||||
|
|
||||||
gphotos-sync = callPackage ../tools/backup/gphotos-sync { };
|
gphotos-sync = callPackage ../tools/backup/gphotos-sync { };
|
||||||
@ -31139,6 +31139,8 @@ in
|
|||||||
|
|
||||||
fac-build = callPackage ../development/tools/build-managers/fac {};
|
fac-build = callPackage ../development/tools/build-managers/fac {};
|
||||||
|
|
||||||
|
treefmt = callPackage ../development/tools/treefmt { };
|
||||||
|
|
||||||
bottom = callPackage ../tools/system/bottom {};
|
bottom = callPackage ../tools/system/bottom {};
|
||||||
|
|
||||||
cagebreak = callPackage ../applications/window-managers/cagebreak/default.nix {
|
cagebreak = callPackage ../applications/window-managers/cagebreak/default.nix {
|
||||||
|
Loading…
Reference in New Issue
Block a user