Merge staging-next into staging

main
github-actions[bot] 2 years ago committed by GitHub
commit 00e5877c2f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 15
      nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
  2. 7
      nixos/doc/manual/release-notes/rl-2205.section.md
  3. 12
      nixos/modules/installer/tools/nixos-generate-config.pl
  4. 15
      nixos/modules/services/games/factorio.nix
  5. 7
      nixos/modules/services/networking/tailscale.nix
  6. 1
      nixos/modules/system/boot/networkd.nix
  7. 42
      nixos/modules/tasks/network-interfaces-systemd.nix
  8. 5
      nixos/modules/tasks/network-interfaces.nix
  9. 11
      nixos/modules/virtualisation/proxmox-lxc.nix
  10. 20
      nixos/tests/networking.nix
  11. 41
      pkgs/applications/editors/vis/default.nix
  12. 5
      pkgs/applications/misc/charm/default.nix
  13. 14
      pkgs/applications/networking/browsers/chromium/upstream-info.json
  14. 4
      pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
  15. 9
      pkgs/applications/networking/nextcloud-client/default.nix
  16. 51
      pkgs/applications/networking/protonvpn-cli/2.nix
  17. 44
      pkgs/applications/networking/protonvpn-cli/default.nix
  18. 4
      pkgs/applications/version-management/git-and-tools/git-machete/default.nix
  19. 27
      pkgs/data/fonts/khmeros/default.nix
  20. 23
      pkgs/data/fonts/lklug-sinhala/default.nix
  21. 27
      pkgs/data/fonts/nanum/default.nix
  22. 27
      pkgs/data/fonts/sil-padauk/default.nix
  23. 27
      pkgs/data/fonts/takao/default.nix
  24. 22
      pkgs/data/fonts/tibetan-machine/default.nix
  25. 6
      pkgs/development/compilers/open-watcom/v2.nix
  26. 4
      pkgs/development/libraries/aws-c-auth/default.nix
  27. 4
      pkgs/development/libraries/aws-c-cal/default.nix
  28. 4
      pkgs/development/libraries/aws-c-common/default.nix
  29. 4
      pkgs/development/libraries/aws-c-http/default.nix
  30. 4
      pkgs/development/libraries/aws-c-io/default.nix
  31. 6
      pkgs/development/libraries/aws-c-s3/default.nix
  32. 14
      pkgs/development/libraries/aws-crt-cpp/default.nix
  33. 11
      pkgs/development/libraries/libdeltachat/default.nix
  34. 2
      pkgs/development/libraries/libuv/default.nix
  35. 6
      pkgs/development/libraries/pe-parse/default.nix
  36. 4
      pkgs/development/libraries/s2n-tls/default.nix
  37. 19
      pkgs/development/libraries/uthenticode/default.nix
  38. 4
      pkgs/development/python-modules/defcon/default.nix
  39. 4
      pkgs/development/python-modules/proglog/default.nix
  40. 22
      pkgs/development/python-modules/protonvpn-nm-lib/0001-Patching-GIRepository.patch
  41. 16
      pkgs/development/python-modules/protonvpn-nm-lib/default.nix
  42. 6
      pkgs/development/tools/taplo-cli/default.nix
  43. 25
      pkgs/tools/text/cidrgrep/default.nix
  44. 17
      pkgs/top-level/all-packages.nix

@ -2471,6 +2471,21 @@
hosts. hosts.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The option
<link xlink:href="options.html#opt-networking.useDHCP">networking.useDHCP</link>
isn’t deprecated anymore. When using
<link xlink:href="options.html#opt-networking.useNetworkd"><literal>systemd-networkd</literal></link>,
a generic <literal>.network</literal>-unit is added which
enables DHCP for each interface matching
<literal>en*</literal>, <literal>eth*</literal> or
<literal>wl*</literal> with priority 99 (which means that it
doesn’t have any effect if such an interface is matched by a
<literal>.network-</literal>unit with a lower priority). In
case of scripted networking, no behavior was changed.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
</section> </section>

@ -877,4 +877,11 @@ In addition to numerous new and upgraded packages, this release has the followin
`true` starting with NixOS 22.11. Enable it explicitly if you need to control `true` starting with NixOS 22.11. Enable it explicitly if you need to control
Snapserver remotely or connect streamig clients from other hosts. Snapserver remotely or connect streamig clients from other hosts.
- The option [networking.useDHCP](options.html#opt-networking.useDHCP) isn't deprecated anymore.
When using [`systemd-networkd`](options.html#opt-networking.useNetworkd), a generic
`.network`-unit is added which enables DHCP for each interface matching `en*`, `eth*`
or `wl*` with priority 99 (which means that it doesn't have any effect if such an interface is matched
by a `.network-`unit with a lower priority). In case of scripted networking, no behavior
was changed.
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. --> <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->

@ -581,17 +581,19 @@ ${\join "", (map { " $_\n" } (uniq @attrs))}}
EOF EOF
sub generateNetworkingDhcpConfig { sub generateNetworkingDhcpConfig {
# FIXME disable networking.useDHCP by default when switching to networkd.
my $config = <<EOF; my $config = <<EOF;
# The global useDHCP flag is deprecated, therefore explicitly set to false here. # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# Per-interface useDHCP will be mandatory in the future, so this generated config # (the default) this is the recommended approach. When using systemd-networkd it's
# replicates the default behaviour. # still possible to use this option, but it's recommended to use it in conjunction
networking.useDHCP = lib.mkDefault false; # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
EOF EOF
foreach my $path (glob "/sys/class/net/*") { foreach my $path (glob "/sys/class/net/*") {
my $dev = basename($path); my $dev = basename($path);
if ($dev ne "lo") { if ($dev ne "lo") {
$config .= " networking.interfaces.$dev.useDHCP = lib.mkDefault true;\n"; $config .= " # networking.interfaces.$dev.useDHCP = lib.mkDefault true;\n";
} }
} }

@ -87,6 +87,18 @@ in
a new map with default settings will be generated before starting the service. a new map with default settings will be generated before starting the service.
''; '';
}; };
loadLatestSave = mkOption {
type = types.bool;
default = false;
description = ''
Load the latest savegame on startup. This overrides saveName, in that the latest
save will always be used even if a saved game of the given name exists. It still
controls the 'canonical' name of the savegame.
Set this to true to have the server automatically reload a recent autosave after
a crash or desync.
'';
};
# TODO Add more individual settings as nixos-options? # TODO Add more individual settings as nixos-options?
# TODO XXX The server tries to copy a newly created config file over the old one # TODO XXX The server tries to copy a newly created config file over the old one
# on shutdown, but fails, because it's in the nix store. When is this needed? # on shutdown, but fails, because it's in the nix store. When is this needed?
@ -250,8 +262,9 @@ in
"--config=${cfg.configFile}" "--config=${cfg.configFile}"
"--port=${toString cfg.port}" "--port=${toString cfg.port}"
"--bind=${cfg.bind}" "--bind=${cfg.bind}"
"--start-server=${mkSavePath cfg.saveName}" (optionalString (!cfg.loadLatestSave) "--start-server=${mkSavePath cfg.saveName}")
"--server-settings=${serverSettingsFile}" "--server-settings=${serverSettingsFile}"
(optionalString cfg.loadLatestSave "--start-server-load-latest")
(optionalString (cfg.mods != []) "--mod-directory=${modDir}") (optionalString (cfg.mods != []) "--mod-directory=${modDir}")
(optionalString (cfg.admins != []) "--server-adminlist=${serverAdminsFile}") (optionalString (cfg.admins != []) "--server-adminlist=${serverAdminsFile}")
]; ];

@ -2,7 +2,11 @@
with lib; with lib;
let cfg = config.services.tailscale; let
cfg = config.services.tailscale;
firewallOn = config.networking.firewall.enable;
rpfMode = config.networking.firewall.checkReversePath;
rpfIsStrict = rpfMode == true || rpfMode == "strict";
in { in {
meta.maintainers = with maintainers; [ danderson mbaillie twitchyliquid64 ]; meta.maintainers = with maintainers; [ danderson mbaillie twitchyliquid64 ];
@ -36,6 +40,7 @@ in {
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
warnings = optional (firewallOn && rpfIsStrict) "Strict reverse path filtering breaks Tailscale exit node use and some subnet routing setups. Consider setting `networking.firewall.checkReversePath` = 'loose'";
environment.systemPackages = [ cfg.package ]; # for the CLI environment.systemPackages = [ cfg.package ]; # for the CLI
systemd.packages = [ cfg.package ]; systemd.packages = [ cfg.package ];
systemd.services.tailscaled = { systemd.services.tailscaled = {

@ -779,6 +779,7 @@ let
"RouteDenyList" "RouteDenyList"
"RouteAllowList" "RouteAllowList"
"DHCPv6Client" "DHCPv6Client"
"RouteMetric"
]) ])
(assertValueOneOf "UseDNS" boolValues) (assertValueOneOf "UseDNS" boolValues)
(assertValueOneOf "UseDomains" (boolValues ++ ["route"])) (assertValueOneOf "UseDomains" (boolValues ++ ["route"]))

@ -43,12 +43,6 @@ in
} { } {
assertion = cfg.defaultGateway6 == null || cfg.defaultGateway6.interface == null; assertion = cfg.defaultGateway6 == null || cfg.defaultGateway6.interface == null;
message = "networking.defaultGateway6.interface is not supported by networkd."; message = "networking.defaultGateway6.interface is not supported by networkd.";
} {
assertion = cfg.useDHCP == false;
message = ''
networking.useDHCP is not supported by networkd.
Please use per interface configuration and set the global option to false.
'';
} ] ++ flip mapAttrsToList cfg.bridges (n: { rstp, ... }: { } ] ++ flip mapAttrsToList cfg.bridges (n: { rstp, ... }: {
assertion = !rstp; assertion = !rstp;
message = "networking.bridges.${n}.rstp is not supported by networkd."; message = "networking.bridges.${n}.rstp is not supported by networkd.";
@ -80,6 +74,42 @@ in
in mkMerge [ { in mkMerge [ {
enable = true; enable = true;
} }
(mkIf cfg.useDHCP {
networks."99-ethernet-default-dhcp" = lib.mkIf cfg.useDHCP {
# We want to match physical ethernet interfaces as commonly
# found on laptops, desktops and servers, to provide an
# "out-of-the-box" setup that works for common cases. This
# heuristic isn't perfect (it could match interfaces with
# custom names that _happen_ to start with en or eth), but
# should be good enough to make the common case easy and can
# be overridden on a case-by-case basis using
# higher-priority networks or by disabling useDHCP.
# Type=ether matches veth interfaces as well, and this is
# more likely to result in interfaces being configured to
# use DHCP when they shouldn't.
# We set RequiredForOnline to false, because it's fairly
# common for such devices to have multiple interfaces and
# only one of them to be connected (e.g. a laptop with
# ethernet and WiFi interfaces). Maybe one day networkd will
# support "any"-style RequiredForOnline...
matchConfig.Name = ["en*" "eth*"];
DHCP = "yes";
linkConfig.RequiredForOnline = lib.mkDefault false;
};
networks."99-wireless-client-dhcp" = lib.mkIf cfg.useDHCP {
# Like above, but this is much more likely to be correct.
matchConfig.WLANInterfaceType = "station";
DHCP = "yes";
linkConfig.RequiredForOnline = lib.mkDefault false;
# We also set the route metric to one more than the default
# of 1024, so that Ethernet is preferred if both are
# available.
dhcpV4Config.RouteMetric = 1025;
ipv6AcceptRAConfig.RouteMetric = 1025;
};
})
(mkMerge (forEach interfaces (i: { (mkMerge (forEach interfaces (i: {
netdevs = mkIf i.virtual ({ netdevs = mkIf i.virtual ({
"40-${i.name}" = { "40-${i.name}" = {

@ -1254,11 +1254,6 @@ in
Whether to use DHCP to obtain an IP address and other Whether to use DHCP to obtain an IP address and other
configuration for all network interfaces that are not manually configuration for all network interfaces that are not manually
configured. configured.
Using this option is highly discouraged and also incompatible with
<option>networking.useNetworkd</option>. Please use
<option>networking.interfaces.&lt;name&gt;.useDHCP</option> instead
and set this to false.
''; '';
}; };

@ -20,6 +20,15 @@ with lib;
configuration from proxmox. configuration from proxmox.
''; '';
}; };
manageHostName = mkOption {
type = types.bool;
default = false;
description = ''
Whether to manage hostname through nix options
When false, the hostname is picked up from /etc/hostname
populated by proxmox.
'';
};
}; };
config = config =
@ -50,6 +59,8 @@ with lib;
useDHCP = false; useDHCP = false;
useHostResolvConf = false; useHostResolvConf = false;
useNetworkd = true; useNetworkd = true;
# pick up hostname from /etc/hostname generated by proxmox
hostName = mkIf (!cfg.manageHostName) (mkForce "");
}; };
services.openssh = { services.openssh = {

@ -139,6 +139,26 @@ let
client.wait_until_succeeds("ping -c 1 192.168.3.1") client.wait_until_succeeds("ping -c 1 192.168.3.1")
''; '';
}; };
dhcpDefault = {
name = "useDHCP-by-default";
nodes.router = router;
nodes.client = { lib, ... }: {
# Disable test driver default config
networking.interfaces = lib.mkForce {};
networking.useNetworkd = networkd;
virtualisation.vlans = [ 1 ];
};
testScript = ''
start_all()
client.wait_for_unit("multi-user.target")
client.wait_until_succeeds("ip addr show dev eth1 | grep '192.168.1'")
client.shell_interact()
client.succeed("ping -c 1 192.168.1.1")
router.succeed("ping -c 1 192.168.1.1")
router.succeed("ping -c 1 192.168.1.2")
client.succeed("ping -c 1 192.168.1.2")
'';
};
dhcpSimple = { dhcpSimple = {
name = "SimpleDHCP"; name = "SimpleDHCP";
nodes.router = router; nodes.router = router;

@ -1,6 +1,7 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, makeWrapper, makeDesktopItem { lib, stdenv, fetchFromGitHub, pkg-config, makeWrapper
, ncurses, libtermkey, lua , copyDesktopItems, makeDesktopItem
, acl ? null, libselinux ? null , ncurses, libtermkey, lua, tre
, acl, libselinux
}: }:
let let
@ -17,12 +18,13 @@ stdenv.mkDerivation rec {
owner = "martanne"; owner = "martanne";
}; };
nativeBuildInputs = [ pkg-config makeWrapper ]; nativeBuildInputs = [ pkg-config makeWrapper copyDesktopItems ];
buildInputs = [ buildInputs = [
ncurses ncurses
libtermkey libtermkey
luaEnv luaEnv
tre
] ++ lib.optionals stdenv.isLinux [ ] ++ lib.optionals stdenv.isLinux [
acl acl
libselinux libselinux
@ -33,28 +35,27 @@ stdenv.mkDerivation rec {
''; '';
postInstall = '' postInstall = ''
mkdir -p "$out/share/applications"
cp $desktopItem/share/applications/* $out/share/applications
echo wrapping $out/bin/vis with runtime environment
wrapProgram $out/bin/vis \ wrapProgram $out/bin/vis \
--prefix LUA_CPATH ';' "${luaEnv}/lib/lua/${lua.luaversion}/?.so" \ --prefix LUA_CPATH ';' "${luaEnv}/lib/lua/${lua.luaversion}/?.so" \
--prefix LUA_PATH ';' "${luaEnv}/share/lua/${lua.luaversion}/?.lua" \ --prefix LUA_PATH ';' "${luaEnv}/share/lua/${lua.luaversion}/?.lua" \
--prefix VIS_PATH : "\$HOME/.config:$out/share/vis" --prefix VIS_PATH : "\$HOME/.config:$out/share/vis"
''; '';
desktopItem = makeDesktopItem { desktopItems = [
name = "vis"; (makeDesktopItem {
exec = "vis %U"; name = "vis";
type = "Application"; exec = "vis %U";
icon = "accessories-text-editor"; type = "Application";
comment = meta.description; icon = "accessories-text-editor";
desktopName = "vis"; comment = meta.description;
genericName = "Text editor"; desktopName = "vis";
categories = [ "Application" "Development" "IDE" ]; genericName = "Text editor";
mimeTypes = [ "text/plain" "application/octet-stream" ]; categories = [ "Application" "Development" "IDE" ];
startupNotify = false; mimeTypes = [ "text/plain" "application/octet-stream" ];
terminal = true; startupNotify = false;
}; terminal = true;
})
];
meta = with lib; { meta = with lib; {
description = "A vim like editor"; description = "A vim like editor";

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "charm"; pname = "charm";
version = "0.12.0"; version = "0.12.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "charmbracelet"; owner = "charmbracelet";
repo = "charm"; repo = "charm";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-XXKzK5MXJsB3LE7iE5BqnLm0hPs7WbyHR0x9aTldrj4="; sha256 = "sha256-vNy2ai1s7TKCymYznvT0Wo6lg9qEyDzz8l3SYzScz8g=";
}; };
vendorSha256 = "sha256-6PGdM7aa1BGNZc3M35PJpmrlPUqkykxfTELdgeKcJD4="; vendorSha256 = "sha256-6PGdM7aa1BGNZc3M35PJpmrlPUqkykxfTELdgeKcJD4=";
@ -18,6 +18,7 @@ buildGoModule rec {
meta = with lib; { meta = with lib; {
description = "Manage your charm account on the CLI"; description = "Manage your charm account on the CLI";
homepage = "https://github.com/charmbracelet/charm"; homepage = "https://github.com/charmbracelet/charm";
changelog = "https://github.com/charmbracelet/charm/releases/tag/v${version}";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ penguwin ]; maintainers = with maintainers; [ penguwin ];
}; };

@ -1,8 +1,8 @@
{ {
"stable": { "stable": {
"version": "101.0.4951.41", "version": "101.0.4951.54",
"sha256": "0dzsbr309n70jg7fpq2qfnrgcm4553akvdmnzhss1fc85s467609", "sha256": "1d808a7mvg0nd0mm20c1ny5kdvb2xvrs8vz4nnk456ix8pywcv62",
"sha256bin64": "12nzzsp4040mwc7jah5w0p58ckv8s16wv6ylf6vlmfby06a4xlkq", "sha256bin64": "1m6s6xf2wvz535w6jskk3pnibvsjpzmbxvd9rlxmqr08y219gp5y",
"deps": { "deps": {
"gn": { "gn": {
"version": "2022-03-14", "version": "2022-03-14",
@ -12,10 +12,10 @@
} }
}, },
"chromedriver": { "chromedriver": {
"version": "101.0.4951.15", "version": "101.0.4951.41",
"sha256_linux": "1i8ay83gh1q6nd0v14qv7gjar9h4fccb50a8b6fg671pg0l6vn24", "sha256_linux": "0zsh6cm7h1m0k5mx1cd29knxjxaadjjcbp7m5fr2mx9c21a1nlcr",
"sha256_darwin": "0ldxy1dxb99xps0h1d1264njc55q4bd000bdnaaks9kyx2djn54b", "sha256_darwin": "09py50436y81lw2vk44256dmzsg8dqj14fd0g0gs1cc3ps6q4awl",
"sha256_darwin_aarch64": "14awsldpqz2y187jwbcli8v7f1r6gsybk8yx8jqg26y8iyg3lrx9" "sha256_darwin_aarch64": "0krjijd0zgwg8d44miz43xrjdlvfiymbrrz5r1hzpx64555ch12y"
} }
}, },
"beta": { "beta": {

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "signalbackup-tools"; pname = "signalbackup-tools";
version = "20220425"; version = "20220430";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bepaald"; owner = "bepaald";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-FWW4rVaoShT55ZWN/siFHoTTNcarnfTa2h/J2GWxLW8="; sha256 = "sha256-clG0B7PgtlpsSnZgglkv7y7SOtMTBvwJMnvMrcTWXdI=";
}; };
# Remove when Apple SDK is >= 10.13 # Remove when Apple SDK is >= 10.13

@ -6,6 +6,7 @@
, inotify-tools , inotify-tools
, installShellFiles , installShellFiles
, libcloudproviders , libcloudproviders
, librsvg
, libsecret , libsecret
, openssl , openssl
, pcre , pcre
@ -20,7 +21,6 @@
, plasma5Packages , plasma5Packages
, sphinx , sphinx
, sqlite , sqlite
, inkscape
, xdg-utils , xdg-utils
}: }:
@ -50,18 +50,15 @@ mkDerivation rec {
done done
''; '';
# required to not include inkscape in the wrapper
strictDeps = true;
nativeBuildInputs = [ nativeBuildInputs = [
pkg-config pkg-config
cmake cmake
inkscape extra-cmake-modules
librsvg
sphinx sphinx
]; ];
buildInputs = [ buildInputs = [
extra-cmake-modules
inotify-tools inotify-tools
libcloudproviders libcloudproviders
libsecret libsecret

@ -0,0 +1,51 @@
{ lib
, buildPythonApplication
, fetchFromGitHub
, pythonOlder
, requests
, docopt
, pythondialog
, jinja2
, distro
, dialog
, iptables
, openvpn }:
buildPythonApplication rec {
pname = "protonvpn-cli_2";
version = "2.2.11";
format = "setuptools";
disabled = pythonOlder "3.5";
src = fetchFromGitHub {
owner = "Rafficer";
repo = "linux-cli-community";
# There is a tag and branch with the same name
rev = "refs/tags/v${version}";
sha256 = "sha256-CWQpisJPBXbf+d5tCGuxfSQQZBeF36WFF4b6OSUn3GY=";
};
propagatedBuildInputs = [
requests
docopt
pythondialog
jinja2
distro
dialog
openvpn
iptables
];
# No tests
doCheck = false;
meta = with lib; {
description = "Linux command-line client for ProtonVPN using Openvpn";
homepage = "https://github.com/Rafficer/linux-cli-community";
maintainers = with maintainers; [ jtcoolen jefflabonte shamilton ];
license = licenses.gpl3Plus;
platforms = platforms.linux;
mainProgram = "protonvpn";
};
}

@ -1,37 +1,41 @@
{ lib, fetchFromGitHub, python3Packages, openvpn, dialog, iptables }: { lib
, buildPythonApplication
, pythonOlder
, fetchFromGitHub
, protonvpn-nm-lib
, pythondialog
, dialog
}:
python3Packages.buildPythonApplication rec { buildPythonApplication rec {
pname = "protonvpn-linux-cli"; pname = "protonvpn-cli";
version = "2.2.6"; version = "3.11.1";
format = "setuptools";
disabled = pythonOlder "3.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "protonvpn"; owner = "protonvpn";
repo = "linux-cli"; repo = "linux-cli";
rev = "v${version}"; rev = version;
sha256 = "0y7v9ikrmy5dbjlpbpacp08gy838i8z54m8m4ps7ldk1j6kyia3n"; sha256 = "sha256-u+POtUz7NoGS23aOmvDCZPUp2HW1xXGtfbZR88cWCBc=";
}; };
propagatedBuildInputs = (with python3Packages; [ propagatedBuildInputs = [
requests protonvpn-nm-lib
docopt pythondialog
setuptools dialog
jinja2 ];
pythondialog
]) ++ [
dialog
openvpn
iptables
];
# No tests # Project has a dummy test
doCheck = false; doCheck = false;
meta = with lib; { meta = with lib; {
description = "Linux command-line client for ProtonVPN"; description = "Linux command-line client for ProtonVPN";
homepage = "https://github.com/protonvpn/linux-cli"; homepage = "https://github.com/protonvpn/linux-cli";
maintainers = with maintainers; [ jtcoolen jefflabonte shamilton ]; maintainers = with maintainers; [ wolfangaukang ];
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
platforms = platforms.linux; platforms = platforms.linux;
mainProgram = "protonvpn"; mainProgram = "protonvpn-cli";
}; };
} }

@ -1,5 +1,7 @@
{ lib { lib
, buildPythonApplication , buildPythonApplication
, pytest-mock
, pytestCheckHook
, fetchFromGitHub , fetchFromGitHub
, installShellFiles , installShellFiles
, git , git
@ -21,7 +23,7 @@ buildPythonApplication rec {
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];
checkInputs = [ git ]; checkInputs = [ git pytest-mock pytestCheckHook ];
postInstall = '' postInstall = ''
installShellCompletion --bash --name git-machete completion/git-machete.completion.bash installShellCompletion --bash --name git-machete completion/git-machete.completion.bash

@ -0,0 +1,27 @@
{ fetchzip, lib }:
let
version = "5.0";
in
fetchzip {
name = "khmeros-${version}";
url = "mirror://debian/pool/main/f/fonts-khmeros/fonts-khmeros_${version}.orig.tar.xz";
sha256 = "sha256-pS+7RQbGwlBxdCfSVxHmARCAkZrZttwYNlV/CrxqI+w=";
postFetch = ''
unpackDir="$TMPDIR/unpack"
mkdir "$unpackDir"
cd "$unpackDir"
tar xf "$downloadedFile" --strip-components=1
mkdir -p $out/share/fonts
cp *.ttf $out/share/fonts
'';
meta = with lib; {
description = "KhmerOS Unicode fonts for the Khmer language";
homepage = "http://www.khmeros.info/";
license = licenses.gpl2Plus;
maintainers = with lib.maintainers; [ serge ];
platforms = platforms.all;
};
}

@ -0,0 +1,23 @@
{ fetchzip, lib }:
let
version = "0.6";
in
fetchzip {
name = "lklug-sinhala-${version}";
url = "mirror://debian/pool/main/f/fonts-lklug-sinhala/fonts-lklug-sinhala_${version}.orig.tar.xz";
sha256 = "sha256-Fy+QnAajA4yLf/I1vOQll5pRd0ZLfLe8UXq4XMC9qNc=";
postFetch = ''
mkdir -p $out/share/fonts
tar xf $downloadedFile --strip-components=1 -C $out/share/fonts fonts-lklug-sinhala-${version}/lklug.ttf
'';
meta = with lib; {
description = "Unicode Sinhala font by Lanka Linux User Group";
homepage = "http://www.lug.lk/fonts/lklug";
license = licenses.gpl2Plus;
maintainers = with lib.maintainers; [ serge ];
platforms = platforms.all;
};
}

@ -0,0 +1,27 @@
{ fetchzip, lib }:
let
version = "20170925";
in
fetchzip {
name = "nanum-${version}";
url = "mirror://ubuntu/pool/universe/f/fonts-nanum/fonts-nanum_${version}.orig.tar.xz";
sha256 = "sha256-lSTeQEuMmlQxiQqrx9tNScifE8nMOUDJF3lCfoAFIJk=";
postFetch = ''
unpackDir="$TMPDIR/unpack"
mkdir "$unpackDir"
cd "$unpackDir"
tar xf "$downloadedFile" --strip-components=1
mkdir -p $out/share/fonts
cp *.ttf $out/share/fonts
'';
meta = with lib; {
description = "Nanum Korean font set";
homepage = "https://hangeul.naver.com/font";
license = licenses.ofl;
maintainers = with lib.maintainers; [ serge ];
platforms = platforms.all;
};
}

@ -0,0 +1,27 @@
{ fetchzip, lib }:
let
version = "3.003";
in
fetchzip {
name = "sil-padauk-${version}";
url = "mirror://debian/pool/main/f/fonts-sil-padauk/fonts-sil-padauk_${version}.orig.tar.xz";
sha256 = "sha256-oK+EufbvsqXunTgcWj+DiNdfpRl+VPO60Wc9KYjZv5A=";
postFetch = ''
unpackDir="$TMPDIR/unpack"
mkdir "$unpackDir"
cd "$unpackDir"
tar xf "$downloadedFile" --strip-components=1
mkdir -p $out/share/fonts
cp *.ttf $out/share/fonts
'';
meta = with lib; {
description = "Burmese Unicode 6 TrueType font";
homepage = "https://software.sil.org/padauk";
license = licenses.ofl;
maintainers = with lib.maintainers; [ serge ];
platforms = platforms.all;
};
}

@ -0,0 +1,27 @@
{ fetchzip, lib }:
let
version = "00303.01";
in
fetchzip {
name = "takao-${version}";
url = "mirror://ubuntu/pool/universe/f/fonts-takao/fonts-takao_${version}.orig.tar.gz";
sha256 = "sha256-TlPq3iIv8vHlxYu5dkX/Lf6ediYKQaQ5uMbFvypQM/w=";
postFetch = ''
unpackDir="$TMPDIR/unpack"
mkdir "$unpackDir"
cd "$unpackDir"
tar xf "$downloadedFile" --strip-components=1
mkdir -p $out/share/fonts
cp *.ttf $out/share/fonts
'';
meta = with lib; {
description = "Japanese TrueType Gothic, P Gothic, Mincho, P Mincho fonts";
homepage = "https://launchpad.net/takao-fonts";
license = licenses.ipa;
maintainers = with lib.maintainers; [ serge ];
platforms = platforms.all;
};
}

@ -0,0 +1,22 @@
{ fetchzip, lib }:
let
version = "1.901b";
in
fetchzip {
name = "tibetan-machine-${version}";
url = "mirror://debian/pool/main/f/fonts-tibetan-machine/fonts-tibetan-machine_${version}.orig.tar.bz2";
sha256 = "sha256-A+RgpFLsP4iTzl0PMRHaNzWGbDR5Qa38lRegNJ96ULo=";
postFetch = ''
mkdir -p $out/share/fonts
tar xf $downloadedFile --strip-components=1 -C $out/share/fonts ttf-tmuni-${version}/TibMachUni-${version}.ttf
'';
meta = with lib; {
description = "Tibetan Machine - an OpenType Tibetan, Dzongkha and Ladakhi font";
license = licenses.gpl2Plus;
maintainers = with lib.maintainers; [ serge ];
platforms = platforms.all;
};
}

@ -12,14 +12,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "open-watcom-v2"; pname = "open-watcom-v2";
version = "unstable-2022-05-03"; version = "unstable-2022-05-04";
name = "${pname}-unwrapped-${version}"; name = "${pname}-unwrapped-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "open-watcom"; owner = "open-watcom";
repo = "open-watcom-v2"; repo = "open-watcom-v2";
rev = "a927247a40e69261e7d8891b6f002c91450e01f2"; rev = "01662ab4eb50c0757969fa53bd4270dbbba45dc5";
sha256 = "/CuPNCEoSjxwYL07b07XqnaAeFZGS8NjXBuj+gFCsOA="; sha256 = "Nl5mcPDCr08XkVMWqkbbgTP/YjpfwMOo2GVu43FQQ3Y=";
}; };
postPatch = '' postPatch = ''

@ -12,13 +12,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "aws-c-auth"; pname = "aws-c-auth";
version = "0.6.11"; version = "0.6.13";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "awslabs"; owner = "awslabs";
repo = "aws-c-auth"; repo = "aws-c-auth";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-3pFOnXDvB4CUUG992i5ErKMe3lAiyYoMTSvm6eKyLjs="; sha256 = "sha256-f1STZdxj8cdK60dCgl2Xfsqaa/x3Z1xEjH3p4GUwGUg=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "aws-c-cal"; pname = "aws-c-cal";
version = "0.5.14"; version = "0.5.17";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "awslabs"; owner = "awslabs";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-+hWiDlL0GVVmMajoC+hfyvT4rm16RoAWhUr04B8JZts="; sha256 = "sha256-peaoTv2TLqtHScfnCPMNbE6fhUTKfRe1ZzuBsr/rpz0=";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

@ -7,13 +7,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "aws-c-common"; pname = "aws-c-common";
version = "0.6.19"; version = "0.7.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "awslabs"; owner = "awslabs";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-oB5kAzIRyr8kfl4sILuIw343ghDZDXSEH97qkUeTqXI="; sha256 = "sha256-DKorZUVUDEP4IRPchzaW35fPLmYoJRcfLMdPHrBrol8=";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

@ -10,13 +10,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "aws-c-http"; pname = "aws-c-http";
version = "0.6.10"; version = "0.6.15";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "awslabs"; owner = "awslabs";
repo = "aws-c-http"; repo = "aws-c-http";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-R+teEKSQjSFYt3+XXvooAy4GJwN4yzEhJtiuknBZIgU="; sha256 = "sha256-WIKWF8G+fdX9MD6vQctM+5pDnR0/0TenabWE4PRteq8=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "aws-c-io"; pname = "aws-c-io";
version = "0.10.19"; version = "0.11.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "awslabs"; owner = "awslabs";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-dPstIWB+wuMJi+EfecPKw0WD1c3IvHS+L1XU72xrAoc="; sha256 = "sha256-LIrAA3+Yd0lhCMQ9R4HT/ZFKm3y9iSm3h5vcn0ghiPA=";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

@ -6,19 +6,20 @@
, aws-c-compression , aws-c-compression
, aws-c-http , aws-c-http
, aws-c-io , aws-c-io
, aws-checksums
, cmake , cmake
, s2n-tls , s2n-tls
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "aws-c-s3"; pname = "aws-c-s3";
version = "0.1.33"; version = "0.1.39";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "awslabs"; owner = "awslabs";
repo = "aws-c-s3"; repo = "aws-c-s3";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-lP5Luh/jFmlbb11rE5qYev+DMXjyMNwni0LcNvQGY4o="; sha256 = "sha256-UbYh3awI7Y3mJnVQrltU+rZ1TI1TDaMF5TOcvxbzNa8=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -32,6 +33,7 @@ stdenv.mkDerivation rec {
aws-c-compression aws-c-compression
aws-c-http aws-c-http
aws-c-io aws-c-io
aws-checksums
s2n-tls s2n-tls
]; ];

@ -1,5 +1,6 @@
{ lib, stdenv { lib, stdenv
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, aws-c-auth , aws-c-auth
, aws-c-cal , aws-c-cal
, aws-c-common , aws-c-common
@ -16,7 +17,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "aws-crt-cpp"; pname = "aws-crt-cpp";
version = "0.17.16"; version = "0.17.28";
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@ -24,13 +25,22 @@ stdenv.mkDerivation rec {
owner = "awslabs"; owner = "awslabs";
repo = "aws-crt-cpp"; repo = "aws-crt-cpp";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-RNcx/Enm1bd/NZOcNosNnYsT9Ot7AMQU7wsg+moT16c="; sha256 = "sha256-4/BgwX8Pa5D2lEn0Dh3JlUiYUtA9u0rWpBixqmv1X/A=";
}; };
patches = [ patches = [
# Correct include path for split outputs. # Correct include path for split outputs.
# https://github.com/awslabs/aws-crt-cpp/pull/325 # https://github.com/awslabs/aws-crt-cpp/pull/325
./0001-build-Make-includedir-properly-overrideable.patch ./0001-build-Make-includedir-properly-overrideable.patch
# Fix build with new input stream api
# https://github.com/awslabs/aws-crt-cpp/pull/341
# Remove with next release
(fetchpatch {
url = "https://github.com/awslabs/aws-crt-cpp/commit/8adb8490fd4f1d1fe65aad01b0a7dda0e52ac596.patch";
excludes = [ "crt/*" ];
sha256 = "190v8rlj6z0qllih6w3kqmdvqjifj66hc4bchsgr3gpfv18vpzid";
})
]; ];
postPatch = '' postPatch = ''

@ -5,6 +5,7 @@
, openssl , openssl
, perl , perl
, pkg-config , pkg-config
, python3
, rustPlatform , rustPlatform
, sqlcipher , sqlcipher
, sqlite , sqlite
@ -16,13 +17,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libdeltachat"; pname = "libdeltachat";
version = "1.79.0"; version = "1.80.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "deltachat"; owner = "deltachat";
repo = "deltachat-core-rust"; repo = "deltachat-core-rust";
rev = version; rev = version;
hash = "sha256-jwAPbTwMSWDucAvip5KcA7fb4LCWo70SiIspacijMvQ="; hash = "sha256-4b2tf7QmLQ5ltnkxUGCwA1TZSQRoyKaRGcxBxbSKDaE=";
}; };
patches = [ patches = [
@ -32,7 +33,7 @@ stdenv.mkDerivation rec {
cargoDeps = rustPlatform.fetchCargoTarball { cargoDeps = rustPlatform.fetchCargoTarball {
inherit src; inherit src;
name = "${pname}-${version}"; name = "${pname}-${version}";
hash = "sha256-Fn4M4CQV7VTE7SubvOszhpGBbmDyqemyUeZ0qDmcGUU="; hash = "sha256-t1/xztmiuJMqNkIe7cBzO7MaZQb6GtnIX5wxEpC+IFo=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -60,6 +61,10 @@ stdenv.mkDerivation rec {
cargoCheckHook cargoCheckHook
]; ];
passthru.tests = {
python = python3.pkgs.deltachat;
};
meta = with lib; { meta = with lib; {
description = "Delta Chat Rust Core library"; description = "Delta Chat Rust Core library";
homepage = "https://github.com/deltachat/deltachat-core-rust/"; homepage = "https://github.com/deltachat/deltachat-core-rust/";

@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
homepage = "https://libuv.org/"; homepage = "https://libuv.org/";
changelog = "https://github.com/libuv/libuv/blob/v${version}/ChangeLog"; changelog = "https://github.com/libuv/libuv/blob/v${version}/ChangeLog";
maintainers = with maintainers; [ cstrahan ]; maintainers = with maintainers; [ cstrahan ];
platforms = with platforms; linux ++ darwin; platforms = platforms.all;
license = with licenses; [ mit isc bsd2 bsd3 cc-by-40 ]; license = with licenses; [ mit isc bsd2 bsd3 cc-by-40 ];
}; };

@ -2,20 +2,20 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pe-parse"; pname = "pe-parse";
version = "1.2.0"; version = "2.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "trailofbits"; owner = "trailofbits";
repo = "pe-parse"; repo = "pe-parse";
rev = "v${version}"; rev = "v${version}";
sha256 = "1jvfjaiwddczjlx4xdhpbgwvvpycab7ix35lwp3wfy44hs6qpjqv"; hash = "sha256-HwWlMRhpB/sa/JRyAZF7LZzkXCCyuxB+gtDAfHt7e6k=";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
doInstallCheck = true; doInstallCheck = true;
installCheckPhase = '' installCheckPhase = ''
$out/bin/dump-pe ../test/assets/example.exe $out/bin/dump-pe ../tests/assets/example.exe
''; '';
meta = with lib; { meta = with lib; {

@ -6,13 +6,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "s2n-tls"; pname = "s2n-tls";
version = "1.3.6"; version = "1.3.12";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "aws"; owner = "aws";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-i1RbyHw+Fr1QABra6fskRpIbYxEfhOVToeesyax4NtU="; sha256 = "1n1bak4s67cfizh8j5wpf05kfdcjvwqaca4rq9qys25z52bbpn9f";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

@ -1,28 +1,21 @@
{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, gtest, openssl, pe-parse }: { stdenv, lib, fetchFromGitHub, cmake, gtest, openssl, pe-parse }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "uthenticode"; pname = "uthenticode";
version = "1.0.4"; version = "1.0.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "trailofbits"; owner = "trailofbits";
repo = "uthenticode"; repo = "uthenticode";
rev = "v${version}"; rev = "v${version}";
sha256 = "16j91cki63zk4d7wzwvq8al98l8hmvcdil3vfp44ink4q4bfswkx"; hash = "sha256-H4fAHZM+vYaUkXZE4f7r2bxw9dno7O+lYrqQ9/6YPWA=";
}; };
patches = [ cmakeFlags = [ "-DBUILD_TESTS=1" "-DUSE_EXTERNAL_GTEST=1" ];
# adds USE_SYSTEM_GTEST cmake flag, the patch won't be necessary in next versions
(fetchpatch {
url = "https://github.com/trailofbits/uthenticode/commit/7a4c5499c8e5ea7bfae1c620e1f96c112866b1dd.patch";
sha256 = "17637j5zwp71jmi803mv1z04arld3k3kmrm8nvrkpg08q5kizh28";
})
];
cmakeFlags = [ "-DBUILD_TESTS=1" "-DUSE_SYSTEM_GTEST=1" ];
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = [ pe-parse openssl gtest ]; checkInputs = [ gtest ];
buildInputs = [ pe-parse openssl ];
doCheck = true; doCheck = true;
checkPhase = "test/uthenticode_test"; checkPhase = "test/uthenticode_test";

@ -5,13 +5,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "defcon"; pname = "defcon";
version = "0.10.0"; version = "0.10.1";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "a009862a0bc3f41f2b1a1b1f80d6aeedb3a17ed77d598da09f5a1bd93e970b3c"; sha256 = "sha256-+nlk9xG3mOCS4xHzp54J/V+he7HNMg1aMgFeTFTrMHA=";
extension = "zip"; extension = "zip";
}; };

@ -2,11 +2,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "proglog"; pname = "proglog";
version = "0.1.9"; version = "0.1.10";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "13diln950wk6nnn4rpmzx37rvrnpa7f803gwygiwbq1q46zwri6q"; sha256 = "sha256-ZYwoycguTK6y8l9Ij/+c6s4i+NabFdDByG1kJ15N2rQ=";
}; };
propagatedBuildInputs = [ tqdm ]; propagatedBuildInputs = [ tqdm ];

@ -0,0 +1,22 @@
From 2867f022aad754fe54d95222b3ae52f6e7f14c2f Mon Sep 17 00:00:00 2001
From: "P. R. d. O" <d.ol.rod@tutanota.com>
Date: Wed, 27 Apr 2022 21:49:12 -0600
Subject: [PATCH] Patching GIRepository
---
protonvpn_nm_lib/__init__.py | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/protonvpn_nm_lib/__init__.py b/protonvpn_nm_lib/__init__.py
index e69de29..00b95f4 100644
--- a/protonvpn_nm_lib/__init__.py
+++ b/protonvpn_nm_lib/__init__.py
@@ -0,0 +1,5 @@
+import gi
+gi.require_version('GIRepository', '2.0')
+from gi.repository import GIRepository
+repo = GIRepository.Repository.get_default()
+repo.prepend_search_path('@networkmanager_path@')
--
2.35.1

@ -2,6 +2,7 @@
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, pythonOlder , pythonOlder
, substituteAll
, distro , distro
, jinja2 , jinja2
, keyring , keyring
@ -9,18 +10,19 @@
, pygobject3 , pygobject3
, pyxdg , pyxdg
, systemd , systemd
, networkmanager
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "protonvpn-nm-lib"; pname = "protonvpn-nm-lib";
version = "3.8.0"; version = "3.9.0";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ProtonVPN"; owner = "ProtonVPN";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-fAaP9c66LcbZgezadGPUt400YRnrnFoBvpzlc1zxuc4="; sha256 = "sha256-yV3xeIyPc2DJj5DOa5PA1MHt00bjJ/Y9zZK77s/XRAA=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -33,7 +35,15 @@ buildPythonPackage rec {
systemd systemd
]; ];
# Project has a dummy test. patches = [
(substituteAll {
src = ./0001-Patching-GIRepository.patch;
networkmanager_path = "${networkmanager}/lib/girepository-1.0";
})
];
# Checks cannot be run in the sandbox
# "Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory"
doCheck = false; doCheck = false;
pythonImportsCheck = [ "protonvpn_nm_lib" ]; pythonImportsCheck = [ "protonvpn_nm_lib" ];

@ -2,14 +2,14 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "taplo-cli"; pname = "taplo-cli";
version = "0.5.0"; version = "0.6.1";
src = fetchCrate { src = fetchCrate {
inherit pname version; inherit pname version;
sha256 = "sha256-+0smR1FDeJMSa/LaRM2M53updt5p8717DEaFItNXCdM="; sha256 = "sha256-0U7qoRnId3gKTQYPwbvrt/vzGfiSX6kcGwgRNc1uZ/I=";
}; };
cargoSha256 = "sha256-d7mysGYR72shXwvmDXr0oftSa+RtRoSbP++HBR40Mus="; cargoSha256 = "sha256-FIcq8wwJrZRxATDr+jo4KOX4l6auriNg+rSpMNsG+Tk=";
nativeBuildInputs = lib.optional stdenv.isLinux pkg-config; nativeBuildInputs = lib.optional stdenv.isLinux pkg-config;

@ -0,0 +1,25 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule {
pname = "cidrgrep";
version = "unstable-2020-11-17";
src = fetchFromGitHub {
owner = "tomdoherty";
repo = "cidrgrep";
rev = "8ad5af533e8dc33ea18ff19b7c6a41550748fe0e";
sha256 = "sha256:0jvwm9jq5jd270b6l9nkvc5pr3rgf158sw83lrprmwmz7r4mr786";
};
vendorSha256 = "sha256:0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
postInstall = ''
mv $out/bin/cmd $out/bin/cidrgrep
'';
meta = {
description = "Like grep but for IPv4 CIDRs";
maintainers = with lib.maintainers; [ das_j ];
license = lib.licenses.mit;
};
}

@ -1117,6 +1117,8 @@ with pkgs;
bikeshed = python3Packages.callPackage ../applications/misc/bikeshed { }; bikeshed = python3Packages.callPackage ../applications/misc/bikeshed { };
cidrgrep = callPackage ../tools/text/cidrgrep { };
cope = callPackage ../tools/misc/cope { }; cope = callPackage ../tools/misc/cope { };
ejson2env = callPackage ../tools/admin/ejson2env { }; ejson2env = callPackage ../tools/admin/ejson2env { };
@ -24392,6 +24394,8 @@ with pkgs;
kde-rounded-corners = libsForQt5.callPackage ../data/themes/kwin-decorations/kde-rounded-corners { }; kde-rounded-corners = libsForQt5.callPackage ../data/themes/kwin-decorations/kde-rounded-corners { };
khmeros = callPackage ../data/fonts/khmeros {};
kochi-substitute = callPackage ../data/fonts/kochi-substitute {}; kochi-substitute = callPackage ../data/fonts/kochi-substitute {};
kochi-substitute-naga10 = callPackage ../data/fonts/kochi-substitute-naga10 {}; kochi-substitute-naga10 = callPackage ../data/fonts/kochi-substitute-naga10 {};
@ -24458,6 +24462,8 @@ with pkgs;
linux-manual = callPackage ../data/documentation/linux-manual { }; linux-manual = callPackage ../data/documentation/linux-manual { };
lklug-sinhala = callPackage ../data/fonts/lklug-sinhala {};
lmmath = callPackage ../data/fonts/lmmath {}; lmmath = callPackage ../data/fonts/lmmath {};
lmodern = callPackage ../data/fonts/lmodern { }; lmodern = callPackage ../data/fonts/lmodern { };
@ -24564,6 +24570,8 @@ with pkgs;
nafees = callPackage ../data/fonts/nafees { }; nafees = callPackage ../data/fonts/nafees { };
nanum = callPackage ../data/fonts/nanum { };
nanum-gothic-coding = callPackage ../data/fonts/nanum-gothic-coding { }; nanum-gothic-coding = callPackage ../data/fonts/nanum-gothic-coding { };
national-park-typeface = callPackage ../data/fonts/national-park { }; national-park-typeface = callPackage ../data/fonts/national-park { };
@ -24761,6 +24769,8 @@ with pkgs;
sierra-gtk-theme = callPackage ../data/themes/sierra { }; sierra-gtk-theme = callPackage ../data/themes/sierra { };
sil-padauk = callPackage ../data/fonts/sil-padauk { };
snap7 = callPackage ../development/libraries/snap7 {}; snap7 = callPackage ../development/libraries/snap7 {};
snowblind = callPackage ../data/themes/snowblind { }; snowblind = callPackage ../data/themes/snowblind { };
@ -24860,6 +24870,8 @@ with pkgs;
inherit (callPackages ../data/fonts/tai-languages { }) tai-ahom; inherit (callPackages ../data/fonts/tai-languages { }) tai-ahom;
takao = callPackage ../data/fonts/takao { };
taskspooler = callPackage ../tools/system/taskspooler { }; taskspooler = callPackage ../tools/system/taskspooler { };
tamsyn = callPackage ../data/fonts/tamsyn { inherit (buildPackages.xorg) mkfontscale; }; tamsyn = callPackage ../data/fonts/tamsyn { inherit (buildPackages.xorg) mkfontscale; };
@ -24903,6 +24915,8 @@ with pkgs;
theme-vertex = callPackage ../data/themes/vertex { }; theme-vertex = callPackage ../data/themes/vertex { };
tibetan-machine = callPackage ../data/fonts/tibetan-machine { };
times-newer-roman = callPackage ../data/fonts/times-newer-roman { }; times-newer-roman = callPackage ../data/fonts/times-newer-roman { };
tipa = callPackage ../data/fonts/tipa { }; tipa = callPackage ../data/fonts/tipa { };
@ -29039,7 +29053,8 @@ with pkgs;
protonmail-bridge = callPackage ../applications/networking/protonmail-bridge { }; protonmail-bridge = callPackage ../applications/networking/protonmail-bridge { };
protonvpn-cli = callPackage ../applications/networking/protonvpn-cli { }; protonvpn-cli = python3Packages.callPackage ../applications/networking/protonvpn-cli { };
protonvpn-cli_2 = python3Packages.callPackage ../applications/networking/protonvpn-cli/2.nix { };
protonvpn-gui = python3Packages.callPackage ../applications/networking/protonvpn-gui { }; protonvpn-gui = python3Packages.callPackage ../applications/networking/protonvpn-gui { };

Loading…
Cancel
Save