mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-20 04:31:52 +00:00
Merge master into staging-next
This commit is contained in:
commit
be2c4c1c59
|
@ -8,7 +8,7 @@ services.openssh.enable = true;
|
|||
|
||||
By default, root logins using a password are disallowed. They can be
|
||||
disabled entirely by setting
|
||||
[](#opt-services.openssh.permitRootLogin) to `"no"`.
|
||||
[](#opt-services.openssh.settings.PermitRootLogin) to `"no"`.
|
||||
|
||||
You can declaratively specify authorised RSA/DSA public keys for a user
|
||||
as follows:
|
||||
|
|
|
@ -9,7 +9,7 @@ services.openssh.enable = true;
|
|||
<para>
|
||||
By default, root logins using a password are disallowed. They can be
|
||||
disabled entirely by setting
|
||||
<xref linkend="opt-services.openssh.permitRootLogin" /> to
|
||||
<xref linkend="opt-services.openssh.settings.PermitRootLogin" /> to
|
||||
<literal>"no"</literal>.
|
||||
</para>
|
||||
<para>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
In addition to numerous new and upgraded packages, this release
|
||||
has the following highlights:
|
||||
</para>
|
||||
<itemizedlist spacing="compact">
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Cinnamon has been updated to 5.6, see
|
||||
|
@ -18,6 +18,14 @@
|
|||
pull request</link> for what is changed.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>nixos-rebuild</literal> now supports an extra
|
||||
<literal>--specialisation</literal> option that can be used to
|
||||
change specialisation for <literal>switch</literal> and
|
||||
<literal>test</literal> commands.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="sec-release-23.05-new-services">
|
||||
|
@ -99,6 +107,14 @@
|
|||
<link xlink:href="options.html#opt-services.ulogd.enable">services.ulogd</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://photoprism.app/">photoprism</link>,
|
||||
a AI-Powered Photos App for the Decentralized Web. Available
|
||||
as
|
||||
<link xlink:href="options.html#opt-services.photoprism.enable">services.photoprism</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="sec-release-23.05-incompatibilities">
|
||||
|
@ -324,6 +340,24 @@
|
|||
<link linkend="opt-services.usbmuxd.package">services.usbmuxd.package</link>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
A few openssh options have been moved from extraConfig to the
|
||||
new freeform option <literal>settings</literal> and renamed as
|
||||
follow:
|
||||
<literal>services.openssh.kbdInteractiveAuthentication</literal>
|
||||
to
|
||||
<literal>services.openssh.settings.KbdInteractiveAuthentication</literal>,
|
||||
<literal>services.openssh.passwordAuthentication</literal> to
|
||||
<literal>services.openssh.settings.PasswordAuthentication</literal>,
|
||||
<literal>services.openssh.useDns</literal> to
|
||||
<literal>services.openssh.settings.UseDns</literal>,
|
||||
<literal>services.openssh.permitRootLogin</literal> to
|
||||
<literal>services.openssh.settings.PermitRootLogin</literal>,
|
||||
<literal>services.openssh.logLevel</literal> to
|
||||
<literal>services.openssh.settings.LogLevel</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>services.mastodon</literal> gained a tootctl wrapped
|
||||
|
|
|
@ -113,6 +113,18 @@
|
|||
</group> <replaceable>name</replaceable>
|
||||
</arg>
|
||||
|
||||
<arg>
|
||||
<group choice='req'>
|
||||
<arg choice='plain'>
|
||||
<option>--specialisation</option>
|
||||
</arg>
|
||||
|
||||
<arg choice='plain'>
|
||||
<option>-c</option>
|
||||
</arg>
|
||||
</group> <replaceable>name</replaceable>
|
||||
</arg>
|
||||
|
||||
<sbr />
|
||||
|
||||
<arg>
|
||||
|
@ -204,6 +216,20 @@
|
|||
<command>nixos-rebuild switch</command> or <command>nixos-rebuild
|
||||
boot</command> remain available in the GRUB menu.
|
||||
</para>
|
||||
<para>
|
||||
Note that if you are using specializations, running just
|
||||
<command>nixos-rebuild switch</command> will switch you back to the
|
||||
unspecialized, base system - in that case, you might want to use this
|
||||
instead:
|
||||
<screen>
|
||||
<prompt>$ </prompt>nixos-rebuild switch --specialisation your-specialisation-name
|
||||
</screen>
|
||||
This command will build all specialisations and make them bootable just
|
||||
like regular <command>nixos-rebuild switch</command> does - the only
|
||||
thing different is that it will switch to given specialisation instead
|
||||
of the base system; it can be also used to switch from the base system
|
||||
into a specialised one, or to switch between specialisations.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
@ -233,6 +259,16 @@
|
|||
configuration resulting from the last call to <command>nixos-rebuild
|
||||
switch</command> or <command>nixos-rebuild boot</command>).
|
||||
</para>
|
||||
<para>
|
||||
Note that if you are using specialisations, running just
|
||||
<command>nixos-rebuild test</command> will activate the unspecialised,
|
||||
base system - in that case, you might want to use this instead:
|
||||
<screen>
|
||||
<prompt>$ </prompt>nixos-rebuild test --specialisation your-specialisation-name
|
||||
</screen>
|
||||
This command can be also used to switch from the base system into a
|
||||
specialised one, or to switch between specialisations.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
@ -499,6 +535,21 @@
|
|||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<option>--specialisation</option>
|
||||
</term>
|
||||
<term>
|
||||
<option>-c</option>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Activates given specialisation; when not specified, switching and testing
|
||||
will activate the base, unspecialised system.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>
|
||||
<option>--build-host</option>
|
||||
|
|
|
@ -10,6 +10,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- Cinnamon has been updated to 5.6, see [the pull request](https://github.com/NixOS/nixpkgs/pull/201328#issue-1449910204) for what is changed.
|
||||
|
||||
- `nixos-rebuild` now supports an extra `--specialisation` option that can be used to change specialisation for `switch` and `test` commands.
|
||||
|
||||
## New Services {#sec-release-23.05-new-services}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
@ -34,6 +36,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- [ulogd](https://www.netfilter.org/projects/ulogd/index.html), a userspace logging daemon for netfilter/iptables related logging. Available as [services.ulogd](options.html#opt-services.ulogd.enable).
|
||||
|
||||
- [photoprism](https://photoprism.app/), a AI-Powered Photos App for the Decentralized Web. Available as [services.photoprism](options.html#opt-services.photoprism.enable).
|
||||
|
||||
## Backward Incompatibilities {#sec-release-23.05-incompatibilities}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
@ -85,6 +89,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- The module `usbmuxd` now has the ability to change the package used by the daemon. In case you're experiencing issues with `usbmuxd` you can try an alternative program like `usbmuxd2`. Available as [services.usbmuxd.package](#opt-services.usbmuxd.package)
|
||||
|
||||
- A few openssh options have been moved from extraConfig to the new freeform option `settings` and renamed as follow: `services.openssh.kbdInteractiveAuthentication` to `services.openssh.settings.KbdInteractiveAuthentication`, `services.openssh.passwordAuthentication` to `services.openssh.settings.PasswordAuthentication`, `services.openssh.useDns` to `services.openssh.settings.UseDns`, `services.openssh.permitRootLogin` to `services.openssh.settings.PermitRootLogin`, `services.openssh.logLevel` to `services.openssh.settings.LogLevel`.
|
||||
|
||||
- `services.mastodon` gained a tootctl wrapped named `mastodon-tootctl` similar to `nextcloud-occ` which can be executed from any user and switches to the configured mastodon user with sudo and sources the environment variables.
|
||||
|
||||
- The `dnsmasq` service now takes configuration via the
|
||||
|
|
|
@ -52,7 +52,7 @@ let
|
|||
buildMenuAdditionalParamsGrub2 = additional:
|
||||
let
|
||||
finalCfg = {
|
||||
name = "NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel}";
|
||||
name = "${config.system.nixos.distroName} ${config.system.nixos.label}${config.isoImage.appendToMenuLabel}";
|
||||
params = "init=${config.system.build.toplevel}/init ${additional} ${toString config.boot.kernelParams}";
|
||||
image = "/boot/${config.system.boot.loader.kernelFile}";
|
||||
initrd = "/boot/initrd";
|
||||
|
@ -109,35 +109,35 @@ let
|
|||
DEFAULT boot
|
||||
|
||||
LABEL boot
|
||||
MENU LABEL NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel}
|
||||
MENU LABEL ${config.system.nixos.distroName} ${config.system.nixos.label}${config.isoImage.appendToMenuLabel}
|
||||
LINUX /boot/${config.system.boot.loader.kernelFile}
|
||||
APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams}
|
||||
INITRD /boot/${config.system.boot.loader.initrdFile}
|
||||
|
||||
# A variant to boot with 'nomodeset'
|
||||
LABEL boot-nomodeset
|
||||
MENU LABEL NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} (nomodeset)
|
||||
MENU LABEL ${config.system.nixos.distroName} ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} (nomodeset)
|
||||
LINUX /boot/${config.system.boot.loader.kernelFile}
|
||||
APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} nomodeset
|
||||
INITRD /boot/${config.system.boot.loader.initrdFile}
|
||||
|
||||
# A variant to boot with 'copytoram'
|
||||
LABEL boot-copytoram
|
||||
MENU LABEL NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} (copytoram)
|
||||
MENU LABEL ${config.system.nixos.distroName} ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} (copytoram)
|
||||
LINUX /boot/${config.system.boot.loader.kernelFile}
|
||||
APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} copytoram
|
||||
INITRD /boot/${config.system.boot.loader.initrdFile}
|
||||
|
||||
# A variant to boot with verbose logging to the console
|
||||
LABEL boot-debug
|
||||
MENU LABEL NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} (debug)
|
||||
MENU LABEL ${config.system.nixos.distroName} ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} (debug)
|
||||
LINUX /boot/${config.system.boot.loader.kernelFile}
|
||||
APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} loglevel=7
|
||||
INITRD /boot/${config.system.boot.loader.initrdFile}
|
||||
|
||||
# A variant to boot with a serial console enabled
|
||||
LABEL boot-serial
|
||||
MENU LABEL NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} (serial console=ttyS0,115200n8)
|
||||
MENU LABEL ${config.system.nixos.distroName} ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} (serial console=ttyS0,115200n8)
|
||||
LINUX /boot/${config.system.boot.loader.kernelFile}
|
||||
APPEND init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} console=ttyS0,115200n8
|
||||
INITRD /boot/${config.system.boot.loader.initrdFile}
|
||||
|
@ -458,7 +458,7 @@ in
|
|||
};
|
||||
|
||||
isoImage.isoBaseName = mkOption {
|
||||
default = "nixos";
|
||||
default = config.system.nixos.distroId;
|
||||
description = lib.mdDoc ''
|
||||
Prefix of the name of the generated ISO image file.
|
||||
'';
|
||||
|
@ -579,7 +579,7 @@ in
|
|||
|
||||
isoImage.syslinuxTheme = mkOption {
|
||||
default = ''
|
||||
MENU TITLE NixOS
|
||||
MENU TITLE ${config.system.nixos.distroName}
|
||||
MENU RESOLUTION 800 600
|
||||
MENU CLEAR
|
||||
MENU ROWS 6
|
||||
|
|
|
@ -16,18 +16,18 @@ let
|
|||
) + "\n";
|
||||
|
||||
osReleaseContents = {
|
||||
NAME = "NixOS";
|
||||
ID = "nixos";
|
||||
NAME = "${cfg.distroName}";
|
||||
ID = "${cfg.distroId}";
|
||||
VERSION = "${cfg.release} (${cfg.codeName})";
|
||||
VERSION_CODENAME = toLower cfg.codeName;
|
||||
VERSION_ID = cfg.release;
|
||||
BUILD_ID = cfg.version;
|
||||
PRETTY_NAME = "NixOS ${cfg.release} (${cfg.codeName})";
|
||||
PRETTY_NAME = "${cfg.distroName} ${cfg.release} (${cfg.codeName})";
|
||||
LOGO = "nix-snowflake";
|
||||
HOME_URL = "https://nixos.org/";
|
||||
DOCUMENTATION_URL = "https://nixos.org/learn.html";
|
||||
SUPPORT_URL = "https://nixos.org/community.html";
|
||||
BUG_REPORT_URL = "https://github.com/NixOS/nixpkgs/issues";
|
||||
HOME_URL = lib.optionalString (cfg.distroId == "nixos") "https://nixos.org/";
|
||||
DOCUMENTATION_URL = lib.optionalString (cfg.distroId == "nixos") "https://nixos.org/learn.html";
|
||||
SUPPORT_URL = lib.optionalString (cfg.distroId == "nixos") "https://nixos.org/community.html";
|
||||
BUG_REPORT_URL = lib.optionalString (cfg.distroId == "nixos") "https://github.com/NixOS/nixpkgs/issues";
|
||||
} // lib.optionalAttrs (cfg.variant_id != null) {
|
||||
VARIANT_ID = cfg.variant_id;
|
||||
};
|
||||
|
@ -89,6 +89,20 @@ in
|
|||
description = lib.mdDoc "The NixOS release code name (e.g. `Emu`).";
|
||||
};
|
||||
|
||||
nixos.distroId = mkOption {
|
||||
internal = true;
|
||||
type = types.str;
|
||||
default = "nixos";
|
||||
description = lib.mdDoc "The id of the operating system";
|
||||
};
|
||||
|
||||
nixos.distroName = mkOption {
|
||||
internal = true;
|
||||
type = types.str;
|
||||
default = "NixOS";
|
||||
description = lib.mdDoc "The name of the operating system";
|
||||
};
|
||||
|
||||
nixos.variant_id = mkOption {
|
||||
type = types.nullOr (types.strMatching "^[a-z0-9._-]+$");
|
||||
default = null;
|
||||
|
@ -155,10 +169,10 @@ in
|
|||
environment.etc = {
|
||||
"lsb-release".text = attrsToText {
|
||||
LSB_VERSION = "${cfg.release} (${cfg.codeName})";
|
||||
DISTRIB_ID = "nixos";
|
||||
DISTRIB_ID = "${cfg.distroId}";
|
||||
DISTRIB_RELEASE = cfg.release;
|
||||
DISTRIB_CODENAME = toLower cfg.codeName;
|
||||
DISTRIB_DESCRIPTION = "NixOS ${cfg.release} (${cfg.codeName})";
|
||||
DISTRIB_DESCRIPTION = "${cfg.distroName} ${cfg.release} (${cfg.codeName})";
|
||||
};
|
||||
|
||||
"os-release".text = attrsToText osReleaseContents;
|
||||
|
|
|
@ -1165,6 +1165,7 @@
|
|||
./services/web-apps/peertube.nix
|
||||
./services/web-apps/pgpkeyserver-lite.nix
|
||||
./services/web-apps/phylactery.nix
|
||||
./services/web-apps/photoprism.nix
|
||||
./services/web-apps/pict-rs.nix
|
||||
./services/web-apps/plantuml-server.nix
|
||||
./services/web-apps/plausible.nix
|
||||
|
|
|
@ -72,7 +72,7 @@ with lib;
|
|||
# mounting the storage in a different system.
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
permitRootLogin = "yes";
|
||||
settings.PermitRootLogin = "yes";
|
||||
};
|
||||
|
||||
# Enable wpa_supplicant, but don't start it by default.
|
||||
|
|
|
@ -59,6 +59,10 @@ in
|
|||
systemPackages = [ cfg.package ];
|
||||
};
|
||||
|
||||
services.ntfy-sh.settings = {
|
||||
auth-file = mkDefault "/var/lib/ntfy-sh/user.db";
|
||||
};
|
||||
|
||||
systemd.services.ntfy-sh = {
|
||||
description = "Push notifications server";
|
||||
|
||||
|
@ -68,6 +72,7 @@ in
|
|||
serviceConfig = {
|
||||
ExecStart = "${cfg.package}/bin/ntfy serve -c ${configuration}";
|
||||
User = cfg.user;
|
||||
StateDirectory = "ntfy-sh";
|
||||
|
||||
AmbientCapabilities = "CAP_NET_BIND_SERVICE";
|
||||
PrivateTmp = true;
|
||||
|
|
|
@ -18,9 +18,10 @@ in
|
|||
description = lib.mdDoc "Uptime Kuma package to use.";
|
||||
};
|
||||
|
||||
appriseSupport = mkEnableOption (mdDoc "apprise support for notifications.");
|
||||
|
||||
settings = lib.mkOption {
|
||||
type =
|
||||
lib.types.submodule { freeformType = with lib.types; attrsOf str; };
|
||||
type = lib.types.submodule { freeformType = with lib.types; attrsOf str; };
|
||||
default = { };
|
||||
example = {
|
||||
PORT = "4000";
|
||||
|
@ -47,6 +48,7 @@ in
|
|||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment = cfg.settings;
|
||||
path = lib.mkIf cfg.appriseSupport (with pkgs; [ apprise ]);
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
StateDirectory = "uptime-kuma";
|
||||
|
|
|
@ -94,7 +94,8 @@ in
|
|||
};
|
||||
|
||||
ssid = mkOption {
|
||||
default = "nixos";
|
||||
default = config.system.nixos.distroId;
|
||||
defaultText = literalExpression "config.system.nixos.distroId";
|
||||
example = "mySpecialSSID";
|
||||
type = types.str;
|
||||
description = lib.mdDoc "SSID to be used in IEEE 802.11 management frames.";
|
||||
|
|
|
@ -12,8 +12,23 @@ let
|
|||
then cfgc.package
|
||||
else pkgs.buildPackages.openssh;
|
||||
|
||||
# reports boolean as yes / no
|
||||
mkValueStringSshd = v:
|
||||
if isInt v then toString v
|
||||
else if isString v then v
|
||||
else if true == v then "yes"
|
||||
else if false == v then "no"
|
||||
else throw "unsupported type ${typeOf v}: ${(lib.generators.toPretty {}) v}";
|
||||
|
||||
# dont use the "=" operator
|
||||
settingsFormat = (pkgs.formats.keyValue {
|
||||
mkKeyValue = lib.generators.mkKeyValueDefault {
|
||||
mkValueString = mkValueStringSshd;
|
||||
} " ";});
|
||||
|
||||
configFile = settingsFormat.generate "config" cfg.settings;
|
||||
sshconf = pkgs.runCommand "sshd.conf-validated" { nativeBuildInputs = [ validationPackage ]; } ''
|
||||
cat >$out <<EOL
|
||||
cat ${configFile} - >$out <<EOL
|
||||
${cfg.extraConfig}
|
||||
EOL
|
||||
|
||||
|
@ -24,6 +39,7 @@ let
|
|||
cfg = config.services.openssh;
|
||||
cfgc = config.programs.ssh;
|
||||
|
||||
|
||||
nssModulesPath = config.system.nssModules.path;
|
||||
|
||||
userOptions = {
|
||||
|
@ -82,6 +98,12 @@ in
|
|||
(mkAliasOptionModuleMD [ "services" "sshd" "enable" ] [ "services" "openssh" "enable" ])
|
||||
(mkAliasOptionModuleMD [ "services" "openssh" "knownHosts" ] [ "programs" "ssh" "knownHosts" ])
|
||||
(mkRenamedOptionModule [ "services" "openssh" "challengeResponseAuthentication" ] [ "services" "openssh" "kbdInteractiveAuthentication" ])
|
||||
|
||||
(mkRenamedOptionModule [ "services" "openssh" "kbdInteractiveAuthentication" ] [ "services" "openssh" "settings" "KbdInteractiveAuthentication" ])
|
||||
(mkRenamedOptionModule [ "services" "openssh" "passwordAuthentication" ] [ "services" "openssh" "settings" "PasswordAuthentication" ])
|
||||
(mkRenamedOptionModule [ "services" "openssh" "useDns" ] [ "services" "openssh" "settings" "UseDns" ])
|
||||
(mkRenamedOptionModule [ "services" "openssh" "permitRootLogin" ] [ "services" "openssh" "settings" "PermitRootLogin" ])
|
||||
(mkRenamedOptionModule [ "services" "openssh" "logLevel" ] [ "services" "openssh" "settings" "LogLevel" ])
|
||||
];
|
||||
|
||||
###### interface
|
||||
|
@ -145,14 +167,6 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
permitRootLogin = mkOption {
|
||||
default = "prohibit-password";
|
||||
type = types.enum ["yes" "without-password" "prohibit-password" "forced-commands-only" "no"];
|
||||
description = lib.mdDoc ''
|
||||
Whether the root user can login using ssh.
|
||||
'';
|
||||
};
|
||||
|
||||
gatewayPorts = mkOption {
|
||||
type = types.str;
|
||||
default = "no";
|
||||
|
@ -210,22 +224,6 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
passwordAuthentication = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
Specifies whether password authentication is allowed.
|
||||
'';
|
||||
};
|
||||
|
||||
kbdInteractiveAuthentication = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
Specifies whether keyboard-interactive authentication is allowed.
|
||||
'';
|
||||
};
|
||||
|
||||
hostKeys = mkOption {
|
||||
type = types.listOf types.attrs;
|
||||
default =
|
||||
|
@ -346,26 +344,58 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
logLevel = mkOption {
|
||||
type = types.enum [ "QUIET" "FATAL" "ERROR" "INFO" "VERBOSE" "DEBUG" "DEBUG1" "DEBUG2" "DEBUG3" ];
|
||||
default = "INFO"; # upstream default
|
||||
description = lib.mdDoc ''
|
||||
Gives the verbosity level that is used when logging messages from sshd(8). The possible values are:
|
||||
QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3. The default is INFO. DEBUG and DEBUG1
|
||||
are equivalent. DEBUG2 and DEBUG3 each specify higher levels of debugging output. Logging with a DEBUG level
|
||||
violates the privacy of users and is not recommended.
|
||||
'';
|
||||
};
|
||||
|
||||
useDns = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Specifies whether sshd(8) should look up the remote host name, and to check that the resolved host name for
|
||||
the remote IP address maps back to the very same IP address.
|
||||
If this option is set to no (the default) then only addresses and not host names may be used in
|
||||
~/.ssh/authorized_keys from and sshd_config Match Host directives.
|
||||
'';
|
||||
settings = mkOption {
|
||||
description = lib.mdDoc "Verbatim contents of {file}`sshd_config`.";
|
||||
example = literalExpression ''{
|
||||
UseDns true;
|
||||
}'';
|
||||
type = types.submodule ({name, ...}: {
|
||||
freeformType = settingsFormat.type;
|
||||
options = {
|
||||
LogLevel = mkOption {
|
||||
type = types.enum [ "QUIET" "FATAL" "ERROR" "INFO" "VERBOSE" "DEBUG" "DEBUG1" "DEBUG2" "DEBUG3" ];
|
||||
default = "INFO"; # upstream default
|
||||
description = lib.mdDoc ''
|
||||
Gives the verbosity level that is used when logging messages from sshd(8). Logging with a DEBUG level
|
||||
violates the privacy of users and is not recommended.
|
||||
'';
|
||||
};
|
||||
UseDns = mkOption {
|
||||
type = types.bool;
|
||||
# apply if cfg.useDns then "yes" else "no"
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Specifies whether sshd(8) should look up the remote host name, and to check that the resolved host name for
|
||||
the remote IP address maps back to the very same IP address.
|
||||
If this option is set to no (the default) then only addresses and not host names may be used in
|
||||
~/.ssh/authorized_keys from and sshd_config Match Host directives.
|
||||
'';
|
||||
};
|
||||
|
||||
PasswordAuthentication = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
Specifies whether password authentication is allowed.
|
||||
'';
|
||||
};
|
||||
PermitRootLogin = mkOption {
|
||||
default = "prohibit-password";
|
||||
type = types.enum ["yes" "without-password" "prohibit-password" "forced-commands-only" "no"];
|
||||
description = lib.mdDoc ''
|
||||
Whether the root user can login using ssh.
|
||||
'';
|
||||
};
|
||||
KbdInteractiveAuthentication = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
Specifies whether keyboard-interactive authentication is allowed.
|
||||
'';
|
||||
};
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
|
@ -496,7 +526,7 @@ in
|
|||
security.pam.services.sshd =
|
||||
{ startSession = true;
|
||||
showMotd = true;
|
||||
unixAuth = cfg.passwordAuthentication;
|
||||
unixAuth = cfg.settings.PasswordAuthentication;
|
||||
};
|
||||
|
||||
# These values are merged with the ones defined externally, see:
|
||||
|
@ -530,10 +560,7 @@ in
|
|||
Subsystem sftp ${cfg.sftpServerExecutable} ${concatStringsSep " " cfg.sftpFlags}
|
||||
''}
|
||||
|
||||
PermitRootLogin ${cfg.permitRootLogin}
|
||||
GatewayPorts ${cfg.gatewayPorts}
|
||||
PasswordAuthentication ${if cfg.passwordAuthentication then "yes" else "no"}
|
||||
KbdInteractiveAuthentication ${if cfg.kbdInteractiveAuthentication then "yes" else "no"}
|
||||
|
||||
PrintMotd no # handled by pam_motd
|
||||
|
||||
|
@ -550,11 +577,6 @@ in
|
|||
KexAlgorithms ${concatStringsSep "," cfg.kexAlgorithms}
|
||||
Ciphers ${concatStringsSep "," cfg.ciphers}
|
||||
MACs ${concatStringsSep "," cfg.macs}
|
||||
|
||||
LogLevel ${cfg.logLevel}
|
||||
|
||||
UseDNS ${if cfg.useDns then "yes" else "no"}
|
||||
|
||||
'';
|
||||
|
||||
assertions = [{ assertion = if cfg.forwardX11 then cfgc.setXAuthLocation else true;
|
||||
|
|
|
@ -339,7 +339,7 @@ in
|
|||
# Block SSH if there are too many failing connection attempts.
|
||||
# Benefits from verbose sshd logging to observe failed login attempts,
|
||||
# so we set that here unless the user overrode it.
|
||||
services.openssh.logLevel = lib.mkDefault "VERBOSE";
|
||||
services.openssh.settings.LogLevel = lib.mkDefault "VERBOSE";
|
||||
services.fail2ban.jails.sshd = mkDefault ''
|
||||
enabled = true
|
||||
port = ${concatMapStringsSep "," (p: toString p) config.services.openssh.ports}
|
||||
|
|
155
nixos/modules/services/web-apps/photoprism.nix
Normal file
155
nixos/modules/services/web-apps/photoprism.nix
Normal file
|
@ -0,0 +1,155 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
cfg = config.services.photoprism;
|
||||
|
||||
env = {
|
||||
PHOTOPRISM_ORIGINALS_PATH = cfg.originalsPath;
|
||||
PHOTOPRISM_STORAGE_PATH = cfg.storagePath;
|
||||
PHOTOPRISM_IMPORT_PATH = cfg.importPath;
|
||||
PHOTOPRISM_HTTP_HOST = cfg.address;
|
||||
PHOTOPRISM_HTTP_PORT = toString cfg.port;
|
||||
} // (
|
||||
lib.mapAttrs (_: toString) cfg.settings
|
||||
);
|
||||
|
||||
manage =
|
||||
let
|
||||
setupEnv = lib.concatStringsSep "\n" (lib.mapAttrsToList (name: val: "export ${name}=${lib.escapeShellArg val}") env);
|
||||
in
|
||||
pkgs.writeShellScript "manage" ''
|
||||
${setupEnv}
|
||||
exec ${cfg.package}/bin/photoprism "$@"
|
||||
'';
|
||||
in
|
||||
{
|
||||
meta.maintainers = with lib.maintainers; [ stunkymonkey ];
|
||||
|
||||
options.services.photoprism = {
|
||||
|
||||
enable = lib.mkEnableOption (lib.mdDoc "Photoprism web server");
|
||||
|
||||
passwordFile = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
Admin password file.
|
||||
'';
|
||||
};
|
||||
|
||||
address = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "localhost";
|
||||
description = lib.mdDoc ''
|
||||
Web interface address.
|
||||
'';
|
||||
};
|
||||
|
||||
port = lib.mkOption {
|
||||
type = lib.types.port;
|
||||
default = 2342;
|
||||
description = lib.mdDoc ''
|
||||
Web interface port.
|
||||
'';
|
||||
};
|
||||
|
||||
originalsPath = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
default = null;
|
||||
example = "/data/photos";
|
||||
description = lib.mdDoc ''
|
||||
Storage path of your original media files (photos and videos).
|
||||
'';
|
||||
};
|
||||
|
||||
importPath = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "import";
|
||||
description = lib.mdDoc ''
|
||||
Relative or absolute to the `originalsPath` from where the files should be imported.
|
||||
'';
|
||||
};
|
||||
|
||||
storagePath = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
default = "/var/lib/photoprism";
|
||||
description = lib.mdDoc ''
|
||||
Location for sidecar, cache, and database files.
|
||||
'';
|
||||
};
|
||||
|
||||
package = lib.mkPackageOptionMD pkgs "photoprism" { };
|
||||
|
||||
settings = lib.mkOption {
|
||||
type = lib.types.attrsOf lib.types.str;
|
||||
default = { };
|
||||
description = lib.mdDoc ''
|
||||
See [the getting-started guide](https://docs.photoprism.app/getting-started/config-options/) for available options.
|
||||
'';
|
||||
example = {
|
||||
PHOTOPRISM_DEFAULT_LOCALE = "de";
|
||||
PHOTOPRISM_ADMIN_USER = "root";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
systemd.services.photoprism = {
|
||||
description = "Photoprism server";
|
||||
|
||||
serviceConfig = {
|
||||
Restart = "on-failure";
|
||||
User = "photoprism";
|
||||
Group = "photoprism";
|
||||
DynamicUser = true;
|
||||
StateDirectory = "photoprism";
|
||||
WorkingDirectory = "/var/lib/photoprism";
|
||||
RuntimeDirectory = "photoprism";
|
||||
|
||||
LoadCredential = lib.optionalString (cfg.passwordFile != null)
|
||||
"PHOTOPRISM_ADMIN_PASSWORD:${cfg.passwordFile}";
|
||||
|
||||
CapabilityBoundingSet = "";
|
||||
LockPersonality = true;
|
||||
PrivateDevices = true;
|
||||
PrivateUsers = true;
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHome = true;
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [ "@system-service" "~@privileged @setuid @keyring" ];
|
||||
UMask = "0066";
|
||||
} // lib.optionalAttrs (cfg.port < 1024) {
|
||||
AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
|
||||
CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
|
||||
};
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment = env;
|
||||
|
||||
# reminder: easier password configuration will come in https://github.com/photoprism/photoprism/pull/2302
|
||||
preStart = ''
|
||||
ln -sf ${manage} photoprism-manage
|
||||
|
||||
${lib.optionalString (cfg.passwordFile != null) ''
|
||||
export PHOTOPRISM_ADMIN_PASSWORD=$(cat "$CREDENTIALS_DIRECTORY/PHOTOPRISM_ADMIN_PASSWORD")
|
||||
''}
|
||||
exec ${cfg.package}/bin/photoprism migrations run -f
|
||||
'';
|
||||
|
||||
script = ''
|
||||
${lib.optionalString (cfg.passwordFile != null) ''
|
||||
export PHOTOPRISM_ADMIN_PASSWORD=$(cat "$CREDENTIALS_DIRECTORY/PHOTOPRISM_ADMIN_PASSWORD")
|
||||
''}
|
||||
exec ${cfg.package}/bin/photoprism start
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -22,7 +22,7 @@ let
|
|||
system = config.boot.kernelPackages.stdenv.hostPlatform.system;
|
||||
kernel = "${config.boot.kernelPackages.kernel}/${config.system.boot.loader.kernelFile}";
|
||||
kernelParams = config.boot.kernelParams;
|
||||
label = "NixOS ${config.system.nixos.codeName} ${config.system.nixos.label} (Linux ${config.boot.kernelPackages.kernel.modDirVersion})";
|
||||
label = "${config.system.nixos.distroName} ${config.system.nixos.codeName} ${config.system.nixos.label} (Linux ${config.boot.kernelPackages.kernel.modDirVersion})";
|
||||
|
||||
inherit (cfg) extensions;
|
||||
} // lib.optionalAttrs config.boot.initrd.enable {
|
||||
|
|
|
@ -84,7 +84,7 @@ EOF
|
|||
|
||||
# This is a NixOS installation if it has /etc/NIXOS or a proper
|
||||
# /etc/os-release.
|
||||
if (!-f "/etc/NIXOS" && (read_file("/etc/os-release", err_mode => "quiet") // "") !~ /^ID="?nixos"?/msx) {
|
||||
if (!-f "/etc/NIXOS" && (read_file("/etc/os-release", err_mode => "quiet") // "") !~ /^ID="?@distroId@"?/msx) {
|
||||
die("This is not a NixOS installation!\n");
|
||||
}
|
||||
|
||||
|
|
|
@ -65,6 +65,7 @@ let
|
|||
|
||||
mkdir $out/bin
|
||||
export localeArchive="${config.i18n.glibcLocales}/lib/locale/locale-archive"
|
||||
export distroId=${config.system.nixos.distroId};
|
||||
substituteAll ${./switch-to-configuration.pl} $out/bin/switch-to-configuration
|
||||
chmod +x $out/bin/switch-to-configuration
|
||||
${optionalString (pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform) ''
|
||||
|
|
|
@ -55,7 +55,7 @@ let
|
|||
grubTargetEfi = if cfg.efiSupport && (cfg.version == 2) then f (grubEfi.grubTarget or "") else "";
|
||||
bootPath = args.path;
|
||||
storePath = config.boot.loader.grub.storePath;
|
||||
bootloaderId = if args.efiBootloaderId == null then "NixOS${efiSysMountPoint'}" else args.efiBootloaderId;
|
||||
bootloaderId = if args.efiBootloaderId == null then "${config.system.nixos.distroName}${efiSysMountPoint'}" else args.efiBootloaderId;
|
||||
timeout = if config.boot.loader.timeout == null then -1 else config.boot.loader.timeout;
|
||||
users = if cfg.users == {} || cfg.version != 1 then cfg.users else throw "GRUB version 1 does not support user accounts.";
|
||||
theme = f cfg.theme;
|
||||
|
@ -759,6 +759,7 @@ in
|
|||
src = ./install-grub.pl;
|
||||
utillinux = pkgs.util-linux;
|
||||
btrfsprogs = pkgs.btrfs-progs;
|
||||
inherit (config.system.nixos) distroName;
|
||||
};
|
||||
perl = pkgs.perl.withPackages (p: with p; [
|
||||
FileSlurp FileCopyRecursive
|
||||
|
|
|
@ -511,7 +511,7 @@ sub addEntry {
|
|||
# Add default entries.
|
||||
$conf .= "$extraEntries\n" if $extraEntriesBeforeNixOS;
|
||||
|
||||
addEntry("NixOS - Default", $defaultConfig, $entryOptions);
|
||||
addEntry("@distroName@ - Default", $defaultConfig, $entryOptions);
|
||||
|
||||
$conf .= "$extraEntries\n" unless $extraEntriesBeforeNixOS;
|
||||
|
||||
|
@ -536,7 +536,7 @@ foreach my $link (@links) {
|
|||
my $linkname = basename($link);
|
||||
$entryName = "($linkname - $date - $version)";
|
||||
}
|
||||
addEntry("NixOS - $entryName", $link);
|
||||
addEntry("@distroName@ - $entryName", $link);
|
||||
}
|
||||
|
||||
my $grubBootPath = $grubBoot->path;
|
||||
|
@ -568,19 +568,19 @@ sub addProfile {
|
|||
-e "$link/nixos-version"
|
||||
? readFile("$link/nixos-version")
|
||||
: basename((glob(dirname(Cwd::abs_path("$link/kernel")) . "/lib/modules/*"))[0]);
|
||||
addEntry("NixOS - Configuration " . nrFromGen($link) . " ($date - $version)", $link, $subEntryOptions);
|
||||
addEntry("@distroName@ - Configuration " . nrFromGen($link) . " ($date - $version)", $link, $subEntryOptions);
|
||||
}
|
||||
|
||||
$conf .= "}\n" if $grubVersion == 2;
|
||||
}
|
||||
|
||||
addProfile "/nix/var/nix/profiles/system", "NixOS - All configurations";
|
||||
addProfile "/nix/var/nix/profiles/system", "@distroName@ - All configurations";
|
||||
|
||||
if ($grubVersion == 2) {
|
||||
for my $profile (glob "/nix/var/nix/profiles/system-profiles/*") {
|
||||
my $name = basename($profile);
|
||||
next unless $name =~ /^\w+$/;
|
||||
addProfile $profile, "NixOS - Profile '$name'";
|
||||
addProfile $profile, "@distroName@ - Profile '$name'";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -64,13 +64,13 @@ addEntry() {
|
|||
|
||||
mkdir -p /boot /sbin
|
||||
|
||||
addEntry "NixOS - Default" $defaultConfig ""
|
||||
addEntry "@distroName@ - Default" $defaultConfig ""
|
||||
|
||||
# Add all generations of the system profile to the menu, in reverse
|
||||
# (most recent to least recent) order.
|
||||
for link in $((ls -d $defaultConfig/specialisation/* ) | sort -n); do
|
||||
date=$(stat --printf="%y\n" $link | sed 's/\..*//')
|
||||
addEntry "NixOS - variation" $link ""
|
||||
addEntry "@distroName@ - variation" $link ""
|
||||
done
|
||||
|
||||
for generation in $(
|
||||
|
@ -85,7 +85,7 @@ for generation in $(
|
|||
else
|
||||
suffix="($date)"
|
||||
fi
|
||||
addEntry "NixOS - Configuration $generation $suffix" $link "$generation ($date)"
|
||||
addEntry "@distroName@ - Configuration $generation $suffix" $link "$generation ($date)"
|
||||
done
|
||||
|
||||
mv $tmpOther $targetOther
|
||||
|
|
|
@ -8,6 +8,7 @@ let
|
|||
src = ./init-script-builder.sh;
|
||||
isExecutable = true;
|
||||
inherit (pkgs) bash;
|
||||
inherit (config.nixos.system) distroName;
|
||||
path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
|
||||
};
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ def system_dir(profile: Optional[str], generation: int, specialisation: Optional
|
|||
else:
|
||||
return d
|
||||
|
||||
BOOT_ENTRY = """title NixOS{profile}{specialisation}
|
||||
BOOT_ENTRY = """title @distroName@{profile}{specialisation}
|
||||
version Generation {generation} {description}
|
||||
linux {kernel}
|
||||
initrd {initrd}
|
||||
|
@ -99,7 +99,7 @@ def describe_generation(generation_dir: str) -> str:
|
|||
build_time = int(os.path.getctime(generation_dir))
|
||||
build_date = datetime.datetime.fromtimestamp(build_time).strftime('%F')
|
||||
|
||||
description = "NixOS {}, Linux Kernel {}, Built on {}".format(
|
||||
description = "@distroName@ {}, Linux Kernel {}, Built on {}".format(
|
||||
nixos_version, kernel_version, build_date
|
||||
)
|
||||
|
||||
|
@ -206,8 +206,8 @@ def get_profiles() -> List[str]:
|
|||
return []
|
||||
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser(description='Update NixOS-related systemd-boot files')
|
||||
parser.add_argument('default_config', metavar='DEFAULT-CONFIG', help='The default NixOS config to boot')
|
||||
parser = argparse.ArgumentParser(description='Update @distroName@-related systemd-boot files')
|
||||
parser.add_argument('default_config', metavar='DEFAULT-CONFIG', help='The default @distroName@ config to boot')
|
||||
args = parser.parse_args()
|
||||
|
||||
try:
|
||||
|
|
|
@ -30,6 +30,8 @@ let
|
|||
|
||||
inherit (efi) efiSysMountPoint canTouchEfiVariables;
|
||||
|
||||
inherit (config.system.nixos) distroName;
|
||||
|
||||
memtest86 = if cfg.memtest86.enable then pkgs.memtest86-efi else "";
|
||||
|
||||
netbootxyz = if cfg.netbootxyz.enable then pkgs.netbootxyz-efi else "";
|
||||
|
|
|
@ -73,7 +73,7 @@ trap 'fail' 0
|
|||
|
||||
# Print a greeting.
|
||||
info
|
||||
info "[1;32m<<< NixOS Stage 1 >>>[0m"
|
||||
info "[1;32m<<< @distroName@ Stage 1 >>>[0m"
|
||||
info
|
||||
|
||||
# Make several required directories.
|
||||
|
@ -422,7 +422,7 @@ lustrateRoot () {
|
|||
local root="$1"
|
||||
|
||||
echo
|
||||
echo -e "\e[1;33m<<< NixOS is now lustrating the root filesystem (cruft goes to /old-root) >>>\e[0m"
|
||||
echo -e "\e[1;33m<<< @distroName@ is now lustrating the root filesystem (cruft goes to /old-root) >>>\e[0m"
|
||||
echo
|
||||
|
||||
mkdir -m 0755 -p "$root/old-root.tmp"
|
||||
|
|
|
@ -342,6 +342,8 @@ let
|
|||
|
||||
inherit (config.boot) resumeDevice;
|
||||
|
||||
inherit (config.system.nixos) distroName;
|
||||
|
||||
inherit (config.system.build) earlyMountScript;
|
||||
|
||||
inherit (config.boot.initrd) checkJournalingFS verbose
|
||||
|
|
|
@ -19,7 +19,7 @@ if [ "${IN_NIXOS_SYSTEMD_STAGE1:-}" != true ]; then
|
|||
|
||||
# Print a greeting.
|
||||
echo
|
||||
echo -e "\e[1;32m<<< NixOS Stage 2 >>>\e[0m"
|
||||
echo -e "\e[1;32m<<< @distroName@ Stage 2 >>>\e[0m"
|
||||
echo
|
||||
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ let
|
|||
shellDebug = "${pkgs.bashInteractive}/bin/bash";
|
||||
shell = "${pkgs.bash}/bin/bash";
|
||||
inherit (config.boot) readOnlyNixStore systemdExecutable extraSystemdUnitPaths;
|
||||
inherit (config.system.nixos) distroName;
|
||||
isExecutable = true;
|
||||
inherit useHostResolvConf;
|
||||
inherit (config.system.build) earlyMountScript;
|
||||
|
|
|
@ -434,7 +434,8 @@ in
|
|||
options = {
|
||||
|
||||
networking.hostName = mkOption {
|
||||
default = "nixos";
|
||||
default = config.system.nixos.distroId;
|
||||
defaultText = literalExpression "config.system.nixos.distroId";
|
||||
# Only allow hostnames without the domain name part (i.e. no FQDNs, see
|
||||
# e.g. "man 5 hostname") and require valid DNS labels (recommended
|
||||
# syntax). Note: We also allow underscores for compatibility/legacy
|
||||
|
|
|
@ -85,7 +85,7 @@ in
|
|||
# Allow root logins only using the SSH key that the user specified
|
||||
# at instance creation time.
|
||||
services.openssh.enable = true;
|
||||
services.openssh.permitRootLogin = "prohibit-password";
|
||||
services.openssh.settings.PermitRootLogin = "prohibit-password";
|
||||
|
||||
# Enable the serial console on ttyS0
|
||||
systemd.services."serial-getty@ttyS0".enable = true;
|
||||
|
|
|
@ -30,10 +30,8 @@ with lib;
|
|||
# Allow root logins only using the SSH key that the user specified
|
||||
# at instance creation time, ping client connections to avoid timeouts
|
||||
services.openssh.enable = true;
|
||||
services.openssh.permitRootLogin = "prohibit-password";
|
||||
services.openssh.extraConfig = ''
|
||||
ClientAliveInterval 180
|
||||
'';
|
||||
services.openssh.settings.PermitRootLogin = "prohibit-password";
|
||||
services.openssh.settings.ClientAliveInterval = 180;
|
||||
|
||||
# Force getting the hostname from Azure
|
||||
networking.hostName = mkDefault "";
|
||||
|
|
|
@ -103,7 +103,7 @@ in
|
|||
# Allow root logins only using the SSH key that the user specified
|
||||
# at instance creation time.
|
||||
services.openssh.enable = true;
|
||||
services.openssh.permitRootLogin = "prohibit-password";
|
||||
services.openssh.settings.PermitRootLogin = "prohibit-password";
|
||||
|
||||
# Force getting the hostname from Google Compute.
|
||||
networking.hostName = mkDefault "";
|
||||
|
|
|
@ -21,7 +21,7 @@ with lib;
|
|||
# Allow root logins
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
permitRootLogin = "prohibit-password";
|
||||
settings.PermitRootLogin = "prohibit-password";
|
||||
};
|
||||
|
||||
# Cloud-init configuration.
|
||||
|
|
|
@ -49,7 +49,7 @@ with lib;
|
|||
};
|
||||
services.openssh = {
|
||||
enable = mkDefault true;
|
||||
passwordAuthentication = mkDefault false;
|
||||
settings.PasswordAuthentication = mkDefault false;
|
||||
};
|
||||
services.do-agent.enable = mkDefault true;
|
||||
networking = {
|
||||
|
|
|
@ -29,8 +29,8 @@ with lib;
|
|||
# Allow root logins only using SSH keys
|
||||
# and disable password authentication in general
|
||||
services.openssh.enable = true;
|
||||
services.openssh.permitRootLogin = "prohibit-password";
|
||||
services.openssh.passwordAuthentication = mkDefault false;
|
||||
services.openssh.settings.PermitRootLogin = "prohibit-password";
|
||||
services.openssh.settings.PasswordAuthentication = mkDefault false;
|
||||
|
||||
# enable OS Login. This also requires setting enable-oslogin=TRUE metadata on
|
||||
# instance or project level
|
||||
|
|
|
@ -123,8 +123,8 @@ in
|
|||
architecture = builtins.elemAt (builtins.match "^([a-z0-9_]+).+" (toString pkgs.system)) 0;
|
||||
creation_date = 1;
|
||||
properties = {
|
||||
description = "NixOS ${config.system.nixos.codeName} ${config.system.nixos.label} ${pkgs.system}";
|
||||
os = "nixos";
|
||||
description = "${config.system.nixos.distroName} ${config.system.nixos.codeName} ${config.system.nixos.label} ${pkgs.system}";
|
||||
os = "${config.system.nixos.distroId}";
|
||||
release = "${config.system.nixos.codeName}";
|
||||
};
|
||||
templates = templates.properties;
|
||||
|
|
|
@ -59,8 +59,8 @@ in
|
|||
# Allow root logins
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
permitRootLogin = "prohibit-password";
|
||||
passwordAuthentication = mkDefault false;
|
||||
settings.PermitRootLogin = "prohibit-password";
|
||||
settings.PasswordAuthentication = mkDefault false;
|
||||
};
|
||||
|
||||
users.users.root.initialPassword = "foobar";
|
||||
|
|
|
@ -41,7 +41,7 @@ in {
|
|||
};
|
||||
vmName = mkOption {
|
||||
type = types.str;
|
||||
default = "NixOS ${config.system.nixos.label} (${pkgs.stdenv.hostPlatform.system})";
|
||||
default = "${config.system.nixos.distroName} ${config.system.nixos.label} (${pkgs.stdenv.hostPlatform.system})";
|
||||
description = lib.mdDoc ''
|
||||
The name of the VirtualBox appliance.
|
||||
'';
|
||||
|
|
|
@ -436,7 +436,6 @@ in {
|
|||
netdata = handleTest ./netdata.nix {};
|
||||
networking.networkd = handleTest ./networking.nix { networkd = true; };
|
||||
networking.scripted = handleTest ./networking.nix { networkd = false; };
|
||||
specialisation = handleTest ./specialisation.nix {};
|
||||
netbox = handleTest ./web-apps/netbox.nix {};
|
||||
# TODO: put in networking.nix after the test becomes more complete
|
||||
networkingProxy = handleTest ./networking-proxy.nix {};
|
||||
|
@ -464,6 +463,7 @@ in {
|
|||
nix-serve-ssh = handleTest ./nix-serve-ssh.nix {};
|
||||
nixops = handleTest ./nixops/default.nix {};
|
||||
nixos-generate-config = handleTest ./nixos-generate-config.nix {};
|
||||
nixos-rebuild-specialisations = handleTest ./nixos-rebuild-specialisations.nix {};
|
||||
nixpkgs = pkgs.callPackage ../modules/misc/nixpkgs/test.nix { inherit evalMinimalConfig; };
|
||||
node-red = handleTest ./node-red.nix {};
|
||||
nomad = handleTest ./nomad.nix {};
|
||||
|
@ -513,6 +513,7 @@ in {
|
|||
pgjwt = handleTest ./pgjwt.nix {};
|
||||
pgmanage = handleTest ./pgmanage.nix {};
|
||||
phosh = handleTest ./phosh.nix {};
|
||||
photoprism = handleTest ./photoprism.nix {};
|
||||
php = handleTest ./php {};
|
||||
php80 = handleTest ./php { php = pkgs.php80; };
|
||||
php81 = handleTest ./php { php = pkgs.php81; };
|
||||
|
|
|
@ -117,8 +117,10 @@ in {
|
|||
server = { ... }: {
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
passwordAuthentication = false;
|
||||
kbdInteractiveAuthentication = false;
|
||||
settings = {
|
||||
PasswordAuthentication = false;
|
||||
KbdInteractiveAuthentication = false;
|
||||
};
|
||||
};
|
||||
|
||||
services.borgbackup.repos.repo1 = {
|
||||
|
|
|
@ -52,8 +52,10 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
|||
environment.systemPackages = with pkgs; [ btrfs-progs ];
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
passwordAuthentication = false;
|
||||
kbdInteractiveAuthentication = false;
|
||||
settings = {
|
||||
KbdInteractiveAuthentication = false;
|
||||
PasswordAuthentication = false;
|
||||
};
|
||||
};
|
||||
services.btrbk = {
|
||||
extraPackages = [ pkgs.lz4 ];
|
||||
|
|
|
@ -17,8 +17,8 @@ in {
|
|||
};
|
||||
|
||||
services.openssh.enable = true;
|
||||
services.openssh.kbdInteractiveAuthentication = false;
|
||||
services.openssh.passwordAuthentication = false;
|
||||
services.openssh.settings.KbdInteractiveAuthentication = false;
|
||||
services.openssh.settings.PasswordAuthentication = false;
|
||||
|
||||
security.googleOsLogin.enable = true;
|
||||
|
||||
|
|
|
@ -21,6 +21,8 @@ let
|
|||
<nixpkgs/nixos/modules/testing/test-instrumentation.nix>
|
||||
];
|
||||
|
||||
documentation.enable = false;
|
||||
|
||||
# To ensure that we can rebuild the grub configuration on the nixos-rebuild
|
||||
system.extraDependencies = with pkgs; [ stdenvNoCC ];
|
||||
|
||||
|
|
131
nixos/tests/nixos-rebuild-specialisations.nix
Normal file
131
nixos/tests/nixos-rebuild-specialisations.nix
Normal file
|
@ -0,0 +1,131 @@
|
|||
import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
name = "nixos-rebuild-specialisations";
|
||||
|
||||
nodes = {
|
||||
machine = { lib, pkgs, ... }: {
|
||||
imports = [
|
||||
../modules/profiles/installation-device.nix
|
||||
../modules/profiles/base.nix
|
||||
];
|
||||
|
||||
nix.settings = {
|
||||
substituters = lib.mkForce [ ];
|
||||
hashed-mirrors = null;
|
||||
connect-timeout = 1;
|
||||
};
|
||||
|
||||
system.extraDependencies = with pkgs; [
|
||||
curl
|
||||
desktop-file-utils
|
||||
docbook5
|
||||
docbook_xsl_ns
|
||||
grub2
|
||||
kmod.dev
|
||||
libarchive
|
||||
libarchive.dev
|
||||
libxml2.bin
|
||||
libxslt.bin
|
||||
python3Minimal
|
||||
shared-mime-info
|
||||
stdenv
|
||||
sudo
|
||||
xorg.lndir
|
||||
];
|
||||
|
||||
virtualisation = {
|
||||
cores = 2;
|
||||
memorySize = 2048;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript =
|
||||
let
|
||||
configFile = pkgs.writeText "configuration.nix" ''
|
||||
{ lib, pkgs, ... }: {
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
<nixpkgs/nixos/modules/testing/test-instrumentation.nix>
|
||||
];
|
||||
|
||||
boot.loader.grub = {
|
||||
enable = true;
|
||||
device = "/dev/vda";
|
||||
forceInstall = true;
|
||||
};
|
||||
|
||||
documentation.enable = false;
|
||||
|
||||
environment.systemPackages = [
|
||||
(pkgs.writeShellScriptBin "parent" "")
|
||||
];
|
||||
|
||||
specialisation.foo = {
|
||||
inheritParentConfig = true;
|
||||
|
||||
configuration = { ... }: {
|
||||
environment.systemPackages = [
|
||||
(pkgs.writeShellScriptBin "foo" "")
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
specialisation.bar = {
|
||||
inheritParentConfig = true;
|
||||
|
||||
configuration = { ... }: {
|
||||
environment.systemPackages = [
|
||||
(pkgs.writeShellScriptBin "bar" "")
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
'';
|
||||
|
||||
in
|
||||
''
|
||||
machine.start()
|
||||
machine.succeed("udevadm settle")
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
|
||||
machine.succeed("nixos-generate-config")
|
||||
machine.copy_from_host(
|
||||
"${configFile}",
|
||||
"/etc/nixos/configuration.nix",
|
||||
)
|
||||
|
||||
with subtest("Switch to the base system"):
|
||||
machine.succeed("nixos-rebuild switch")
|
||||
machine.succeed("parent")
|
||||
machine.fail("foo")
|
||||
machine.fail("bar")
|
||||
|
||||
with subtest("Switch from base system into a specialization"):
|
||||
machine.succeed("nixos-rebuild switch --specialisation foo")
|
||||
machine.succeed("parent")
|
||||
machine.succeed("foo")
|
||||
machine.fail("bar")
|
||||
|
||||
with subtest("Switch from specialization into another specialization"):
|
||||
machine.succeed("nixos-rebuild switch -c bar")
|
||||
machine.succeed("parent")
|
||||
machine.fail("foo")
|
||||
machine.succeed("bar")
|
||||
|
||||
with subtest("Switch from specialization into the base system"):
|
||||
machine.succeed("nixos-rebuild switch")
|
||||
machine.succeed("parent")
|
||||
machine.fail("foo")
|
||||
machine.fail("bar")
|
||||
|
||||
with subtest("Switch into specialization using `nixos-rebuild test`"):
|
||||
machine.succeed("nixos-rebuild test --specialisation foo")
|
||||
machine.succeed("parent")
|
||||
machine.succeed("foo")
|
||||
machine.fail("bar")
|
||||
|
||||
with subtest("Make sure nonsense command combinations are forbidden"):
|
||||
machine.fail("nixos-rebuild boot --specialisation foo")
|
||||
machine.fail("nixos-rebuild boot -c foo")
|
||||
'';
|
||||
})
|
|
@ -12,6 +12,8 @@ import ./make-test-python.nix {
|
|||
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
|
||||
machine.wait_for_open_port(80)
|
||||
|
||||
machine.succeed(f"curl -d '{msg}' localhost:80/test")
|
||||
|
||||
notif = json.loads(machine.succeed("curl -s localhost:80/test/json?poll=1"))
|
||||
|
|
23
nixos/tests/photoprism.nix
Normal file
23
nixos/tests/photoprism.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
import ./make-test-python.nix ({ lib, pkgs, ... }: {
|
||||
name = "photoprism";
|
||||
meta.maintainers = with lib.maintainers; [ stunkymonkey ];
|
||||
|
||||
nodes.machine = { pkgs, ... }: {
|
||||
services.photoprism = {
|
||||
enable = true;
|
||||
port = 8080;
|
||||
originalsPath = "/media/photos/";
|
||||
passwordFile = pkgs.writeText "password" "secret";
|
||||
};
|
||||
environment.extraInit = ''
|
||||
mkdir -p /media/photos
|
||||
'';
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
machine.wait_for_open_port(8080)
|
||||
response = machine.succeed("curl -vvv -s -H 'Host: photoprism' http://127.0.0.1:8080/library/login")
|
||||
assert '<title>PhotoPrism</title>' in response, "Login page didn't load successfully"
|
||||
'';
|
||||
})
|
|
@ -18,8 +18,10 @@ let
|
|||
# passwordless ssh server
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
permitRootLogin = "yes";
|
||||
extraConfig = "PermitEmptyPasswords yes";
|
||||
settings = {
|
||||
PermitRootLogin = "yes";
|
||||
PermitEmptyPasswords = true;
|
||||
};
|
||||
};
|
||||
|
||||
users = {
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
import ./make-test-python.nix {
|
||||
name = "specialisation";
|
||||
nodes = {
|
||||
inheritconf = { pkgs, ... }: {
|
||||
environment.systemPackages = [ pkgs.cowsay ];
|
||||
specialisation.inheritconf.configuration = { pkgs, ... }: {
|
||||
environment.systemPackages = [ pkgs.hello ];
|
||||
};
|
||||
};
|
||||
noinheritconf = { pkgs, ... }: {
|
||||
environment.systemPackages = [ pkgs.cowsay ];
|
||||
specialisation.noinheritconf = {
|
||||
inheritParentConfig = false;
|
||||
configuration = { pkgs, ... }: {
|
||||
environment.systemPackages = [ pkgs.hello ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
testScript = ''
|
||||
inheritconf.wait_for_unit("default.target")
|
||||
inheritconf.succeed("cowsay hey")
|
||||
inheritconf.fail("hello")
|
||||
|
||||
with subtest("Nested clones do inherit from parent"):
|
||||
inheritconf.succeed(
|
||||
"/run/current-system/specialisation/inheritconf/bin/switch-to-configuration test"
|
||||
)
|
||||
inheritconf.succeed("cowsay hey")
|
||||
inheritconf.succeed("hello")
|
||||
|
||||
noinheritconf.wait_for_unit("default.target")
|
||||
noinheritconf.succeed("cowsay hey")
|
||||
noinheritconf.fail("hello")
|
||||
|
||||
with subtest("Nested children do not inherit from parent"):
|
||||
noinheritconf.succeed(
|
||||
"/run/current-system/specialisation/noinheritconf/bin/switch-to-configuration test"
|
||||
)
|
||||
noinheritconf.fail("cowsay hey")
|
||||
noinheritconf.succeed("hello")
|
||||
'';
|
||||
}
|
|
@ -26,7 +26,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
|||
# So that we can ssh into the VM, see e.g.
|
||||
# http://blog.patapon.info/nixos-local-vm/#accessing-the-vm-with-ssh
|
||||
services.openssh.enable = true;
|
||||
services.openssh.permitRootLogin = "yes";
|
||||
services.openssh.settings.PermitRootLogin = "yes";
|
||||
users.extraUsers.root.password = "";
|
||||
users.mutableUsers = false;
|
||||
};
|
||||
|
|
|
@ -5,16 +5,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "dasel";
|
||||
version = "2.0.2";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TomWright";
|
||||
repo = "dasel";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-VdOXmhfgDzMyspoCFQl64obpQph14XZxR0Nas+crelA=";
|
||||
sha256 = "sha256-7JGafJE9nwZ95bOWUyVw2uWA2LltE9HxolHGYU079to=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-GO5Vg8zsXfjMBzRDC1/s/SYpviKUf59JB14vauKVFcE=";
|
||||
vendorHash = "sha256-GO5Vg8zsXfjMBzRDC1/s/SYpviKUf59JB14vauKVFcE=";
|
||||
|
||||
ldflags = [
|
||||
"-s" "-w" "-X github.com/tomwright/dasel/internal.Version=${version}"
|
||||
|
|
|
@ -32,9 +32,9 @@
|
|||
}
|
||||
},
|
||||
"dev": {
|
||||
"version": "110.0.5481.24",
|
||||
"sha256": "1656qjbrrv276xxdlw0iv635sgm89r7nx32780zglm0lag3jx6ai",
|
||||
"sha256bin64": "0pzd441qghdhibcnh1f2fldsx5ddjjwfrjv1nwi15pf3cabymz5g",
|
||||
"version": "110.0.5481.30",
|
||||
"sha256": "03r2mpnrw9p188lajf69lpd94rcgj5a9hs2nlf01f0czl6nij0bx",
|
||||
"sha256bin64": "0wdvqq9h5vzmlwysnlw7wk4bzkmra7qp9k4p1c0phl05863ykasv",
|
||||
"deps": {
|
||||
"gn": {
|
||||
"version": "2022-12-12",
|
||||
|
|
|
@ -21,11 +21,11 @@ let
|
|||
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "vivaldi";
|
||||
version = "5.6.2867.36";
|
||||
version = "5.6.2867.58";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_amd64.deb";
|
||||
sha256 = "sha256-dTXppRn/bl+HYVzqyrKBXb2YAaw0lRJkwAeukalv3a4=d";
|
||||
sha256 = "sha256-eRHQaKztf66o9FoCNSRyXS5Ht6d51GTilNO5DxItUCw=";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ branch ? "stable", callPackage, fetchurl, lib, stdenv }:
|
||||
let
|
||||
versions = if stdenv.isLinux then {
|
||||
stable = "0.0.22";
|
||||
stable = "0.0.24";
|
||||
ptb = "0.0.38";
|
||||
canary = "0.0.145";
|
||||
} else {
|
||||
|
@ -14,7 +14,7 @@ let
|
|||
x86_64-linux = {
|
||||
stable = fetchurl {
|
||||
url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
|
||||
sha256 = "sha256-F1xzdx4Em6Ref7HTe9EH7whx49iFc0DFpaQKdFquq6c=";
|
||||
sha256 = "sha256-SG+34ft0mTqtg9rFiI60N6JIONyqF8c8SlnRcn5a4Xc=";
|
||||
};
|
||||
ptb = fetchurl {
|
||||
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
|
||||
|
|
|
@ -81,12 +81,12 @@ let
|
|||
in
|
||||
python.pkgs.pythonPackages.buildPythonApplication rec {
|
||||
pname = "paperless-ngx";
|
||||
version = "1.10.2";
|
||||
version = "1.11.3";
|
||||
|
||||
# Fetch the release tarball instead of a git ref because it contains the prebuilt frontend
|
||||
src = fetchurl {
|
||||
url = "https://github.com/paperless-ngx/paperless-ngx/releases/download/v${version}/${pname}-v${version}.tar.xz";
|
||||
hash = "sha256-uOrRHHNqIYsDbzKcA7EsYZjadpLyAB4Ks+PU+BNsTWE=";
|
||||
hash = "sha256-wGNkdczgV+UDd9ZO+BXMSWotpetE/+c/jJAAH+6SXps=";
|
||||
};
|
||||
|
||||
format = "other";
|
||||
|
@ -99,6 +99,7 @@ python.pkgs.pythonPackages.buildPythonApplication rec {
|
|||
attrs
|
||||
autobahn
|
||||
automat
|
||||
bleach
|
||||
blessed
|
||||
celery
|
||||
certifi
|
||||
|
@ -128,6 +129,7 @@ python.pkgs.pythonPackages.buildPythonApplication rec {
|
|||
httptools
|
||||
humanfriendly
|
||||
hyperlink
|
||||
imagehash
|
||||
idna
|
||||
imap-tools
|
||||
img2pdf
|
||||
|
@ -138,6 +140,7 @@ python.pkgs.pythonPackages.buildPythonApplication rec {
|
|||
langdetect
|
||||
lxml
|
||||
msgpack
|
||||
nltk
|
||||
numpy
|
||||
ocrmypdf
|
||||
pathvalidate
|
||||
|
|
|
@ -2,32 +2,37 @@
|
|||
, jre, binaryen
|
||||
, llvmPackages
|
||||
, symlinkJoin, makeWrapper, substituteAll
|
||||
, mkYarnModules
|
||||
, buildNpmPackage
|
||||
, emscripten
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "emscripten";
|
||||
version = "3.1.17";
|
||||
version = "3.1.24";
|
||||
|
||||
llvmEnv = symlinkJoin {
|
||||
name = "emscripten-llvm-${version}";
|
||||
paths = with llvmPackages; [ clang-unwrapped clang-unwrapped.lib lld llvm ];
|
||||
};
|
||||
|
||||
nodeModules = mkYarnModules {
|
||||
nodeModules = buildNpmPackage {
|
||||
name = "emscripten-node-modules-${version}";
|
||||
inherit pname version;
|
||||
# it is vitally important the the package.json has name and version fields
|
||||
packageJSON = ./package.json;
|
||||
yarnLock = ./yarn.lock;
|
||||
yarnNix = ./yarn.nix;
|
||||
inherit pname version src;
|
||||
|
||||
npmDepsHash = "sha256-ejuHR2BpAUStWjuvQuGE6ko4byF4GBl6FJBshxlknQk=";
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
# Copy node_modules directly.
|
||||
installPhase = ''
|
||||
cp -r node_modules $out/
|
||||
'';
|
||||
};
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "emscripten-core";
|
||||
repo = "emscripten";
|
||||
sha256 = "sha256-xOt9Znn5kCcieRHnXk794rMpgTzoR8pIKBXv/GeKcuw=";
|
||||
sha256 = "sha256-1jW6ThxK6dThOO90l4Mc5yehVF3tI4HWipBWZAOztrk=";
|
||||
rev = version;
|
||||
};
|
||||
|
||||
|
@ -54,7 +59,7 @@ stdenv.mkDerivation rec {
|
|||
sed -i "/^def check_sanity/a\\ return" tools/shared.py
|
||||
|
||||
# required for wasm2c
|
||||
ln -s ${nodeModules}/node_modules .
|
||||
ln -s ${nodeModules} node_modules
|
||||
|
||||
echo "EMSCRIPTEN_ROOT = '$out/share/emscripten'" > .emscripten
|
||||
echo "LLVM_ROOT = '${llvmEnv}/bin'" >> .emscripten
|
||||
|
@ -86,7 +91,7 @@ stdenv.mkDerivation rec {
|
|||
mkdir -p $out/bin
|
||||
for b in em++ em-config emar embuilder.py emcc emcmake emconfigure emmake emranlib emrun emscons emsize; do
|
||||
makeWrapper $appdir/$b $out/bin/$b \
|
||||
--set NODE_PATH ${nodeModules}/node_modules \
|
||||
--set NODE_PATH ${nodeModules} \
|
||||
--set EM_EXCLUSIVE_CACHE_ACCESS 1 \
|
||||
--set PYTHON ${python3}/bin/python
|
||||
done
|
||||
|
@ -109,9 +114,9 @@ stdenv.mkDerivation rec {
|
|||
popd
|
||||
|
||||
export PYTHON=${python3}/bin/python
|
||||
export NODE_PATH=${nodeModules}/node_modules
|
||||
export NODE_PATH=${nodeModules}
|
||||
pushd $appdir
|
||||
python tests/runner.py test_hello_world
|
||||
python test/runner.py test_hello_world
|
||||
popd
|
||||
|
||||
runHook postInstall
|
||||
|
@ -128,7 +133,7 @@ stdenv.mkDerivation rec {
|
|||
homepage = "https://github.com/emscripten-core/emscripten";
|
||||
description = "An LLVM-to-JavaScript Compiler";
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ qknight matthewbauer ];
|
||||
maintainers = with maintainers; [ qknight matthewbauer raitobezarius ];
|
||||
license = licenses.ncsa;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
{
|
||||
"name": "emscripten",
|
||||
"version": "3.1.17",
|
||||
"private": true,
|
||||
"devDependencies": {
|
||||
"es-check": "^6.2.1",
|
||||
"eslint": "^8.16.0",
|
||||
"eslint-config-google": "^0.14.0",
|
||||
"source-map": "0.7.3",
|
||||
"ws": "^8.6.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"acorn": "^8.7.1",
|
||||
"google-closure-compiler": "20220502.0.0",
|
||||
"html-minifier-terser": "6.1.0",
|
||||
"wasm2c": "1.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint ."
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1 +1 @@
|
|||
WGET_ARGS=( https://download.kde.org/stable/frameworks/5.101/ -A '*.tar.xz' )
|
||||
WGET_ARGS=( https://download.kde.org/stable/frameworks/5.102/ -A '*.tar.xz' )
|
||||
|
|
|
@ -4,667 +4,667 @@
|
|||
|
||||
{
|
||||
attica = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/attica-5.101.0.tar.xz";
|
||||
sha256 = "076s378mija4x8dxq7j40qfhgjzpz3xw373bpiy5ig41c1lf7jvz";
|
||||
name = "attica-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/attica-5.102.0.tar.xz";
|
||||
sha256 = "1xph3l4if2vv2gdv9wjk0ls38g77jdzg3j81fyng8pvxsl32z1yv";
|
||||
name = "attica-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
baloo = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/baloo-5.101.0.tar.xz";
|
||||
sha256 = "0g007apf53ql1my0nx25zlh8hg7mnzanhwppz7prmiynzk907b49";
|
||||
name = "baloo-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/baloo-5.102.0.tar.xz";
|
||||
sha256 = "0y6xc7dihzrcmpb75p8206832kz108l6irdzjv4m0pm0qdj3kb6x";
|
||||
name = "baloo-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
bluez-qt = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/bluez-qt-5.101.0.tar.xz";
|
||||
sha256 = "00z2b8spn1m4wqgqlsiy2b58cbj57afrnqb5y4z7az9nchy3mphm";
|
||||
name = "bluez-qt-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/bluez-qt-5.102.0.tar.xz";
|
||||
sha256 = "0023nhlsniqkkzqjif22fk1hrlzpmigdnc8v4v5z0qf488b0pyf3";
|
||||
name = "bluez-qt-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
breeze-icons = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/breeze-icons-5.101.0.tar.xz";
|
||||
sha256 = "1vqql123d9hdqrpa1f0mspbzpdk0wlgz4pdryc1d0q28l125jx7r";
|
||||
name = "breeze-icons-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/breeze-icons-5.102.0.tar.xz";
|
||||
sha256 = "1673fjh2q5388764rkkjs5v7jsswr71xdw582irwwz4zic5dkcrd";
|
||||
name = "breeze-icons-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
extra-cmake-modules = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/extra-cmake-modules-5.101.0.tar.xz";
|
||||
sha256 = "1wn8kfdxmi89fd67m79vszfvmp8sgv4sz13c18wpsn6v209mck4c";
|
||||
name = "extra-cmake-modules-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/extra-cmake-modules-5.102.0.tar.xz";
|
||||
sha256 = "16vz555f5dmj0prpdr9sbla44gkdmzrlb1k51qmfwip0m2sswngj";
|
||||
name = "extra-cmake-modules-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
frameworkintegration = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/frameworkintegration-5.101.0.tar.xz";
|
||||
sha256 = "0z5ldwzkpvdi3j18l826dm3mbjd3cmvjm8x3whwasydb81hvalkc";
|
||||
name = "frameworkintegration-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/frameworkintegration-5.102.0.tar.xz";
|
||||
sha256 = "00qr6n4h8fgm3vy64plj5762wyfanglh8r8qljvpk9jll74wm01d";
|
||||
name = "frameworkintegration-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kactivities = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kactivities-5.101.0.tar.xz";
|
||||
sha256 = "1b41yyjljl47qwkqa3v1vkiq485d2xs3489apgdygkmd6m5v027p";
|
||||
name = "kactivities-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kactivities-5.102.0.tar.xz";
|
||||
sha256 = "1kl1la4a4zagy7h1sf4l0wdwzg53v28z70sv73dwd6869dmmwygr";
|
||||
name = "kactivities-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kactivities-stats = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kactivities-stats-5.101.0.tar.xz";
|
||||
sha256 = "119h2zz3gbyypkxsq9pq1gy8av9a4nyqax85lflfh51il2cq1cbp";
|
||||
name = "kactivities-stats-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kactivities-stats-5.102.0.tar.xz";
|
||||
sha256 = "06v2qrd6g20028skh9dq2csw0nggf05qh8w8nz0zvx8q2q2fszhh";
|
||||
name = "kactivities-stats-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kapidox = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kapidox-5.101.0.tar.xz";
|
||||
sha256 = "1y6z4bzawas3x825ln9yg5ks3zy39ymc9q404jyvn91s92dd0s5l";
|
||||
name = "kapidox-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kapidox-5.102.0.tar.xz";
|
||||
sha256 = "0jalyq3nzms4j55kqxmqbjyvbrdw0k1142mjpds24xjb87wgj1rq";
|
||||
name = "kapidox-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
karchive = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/karchive-5.101.0.tar.xz";
|
||||
sha256 = "1c59rwp93c2dybx52k5ww4rqssrbsj9g7snbl14gx8y43g3bdg2q";
|
||||
name = "karchive-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/karchive-5.102.0.tar.xz";
|
||||
sha256 = "0jnqrxpyfqwamq8gim270y5zg6l7inlplc50xdvig5dr0f4d1v20";
|
||||
name = "karchive-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kauth = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kauth-5.101.0.tar.xz";
|
||||
sha256 = "153dfwkdwmdwh72r6b46nl13rg3lf7w8x5dapgcanrdjqgybkqyf";
|
||||
name = "kauth-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kauth-5.102.0.tar.xz";
|
||||
sha256 = "093c1rzgw3rh8ka1q5hdxnn56mxzrrn7v3r3yinr6cy0xif0c4ld";
|
||||
name = "kauth-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kbookmarks = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kbookmarks-5.101.0.tar.xz";
|
||||
sha256 = "0akh77rb1iqasbrzsy3509kic1k7c1046spxi6szfnlq6rx634ax";
|
||||
name = "kbookmarks-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kbookmarks-5.102.0.tar.xz";
|
||||
sha256 = "1jg99z75bdkckahzia17ilbcfvnnamqg9ra0gx2lk1hlhzffi7ls";
|
||||
name = "kbookmarks-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kcalendarcore = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kcalendarcore-5.101.0.tar.xz";
|
||||
sha256 = "170h3vqmjr9jl9vsfgh3y5lhqpyq5ap755wa8295s5fw4da8gjrs";
|
||||
name = "kcalendarcore-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kcalendarcore-5.102.0.tar.xz";
|
||||
sha256 = "0s2m1d15py39nqagh1abprq6r099mdcci8sm28hp2c2cjwsr7xbk";
|
||||
name = "kcalendarcore-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kcmutils = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kcmutils-5.101.0.tar.xz";
|
||||
sha256 = "0jy58fhxg2m4xh15dp84x6qava6gfhnbhkx19r6bsbkdc6jihkxb";
|
||||
name = "kcmutils-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kcmutils-5.102.0.tar.xz";
|
||||
sha256 = "1fiszfpay1cnyqhfyhl4mpw9j8jmknfisxgwqvd61qfa622ryhxj";
|
||||
name = "kcmutils-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kcodecs = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kcodecs-5.101.0.tar.xz";
|
||||
sha256 = "0fjj8rl0dhdg84gpvp7qfwmdyf047g9gg4v59magxyhw23r2ig4y";
|
||||
name = "kcodecs-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kcodecs-5.102.0.tar.xz";
|
||||
sha256 = "15k3rlbjb2dji8n7bxb4d8nc7cs7618fhv8x5k50x6kbx867rx88";
|
||||
name = "kcodecs-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kcompletion = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kcompletion-5.101.0.tar.xz";
|
||||
sha256 = "0c1zalk729b2pdmnc8b11068adjxh8mgszyn9s8rypr84fz6y3yq";
|
||||
name = "kcompletion-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kcompletion-5.102.0.tar.xz";
|
||||
sha256 = "1jgr8an283l9d1zhl3cqpp66d90bscfv186jan01r8wan69awy2v";
|
||||
name = "kcompletion-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kconfig = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kconfig-5.101.0.tar.xz";
|
||||
sha256 = "10skrdlg0qp8zdl9ldwgjp6gmdw0ghcd31gd9rgddrjnax47wx6a";
|
||||
name = "kconfig-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kconfig-5.102.0.tar.xz";
|
||||
sha256 = "0cxc2gfank22yzflxdjr766xn4lr2ij9b5v23g9y1mwfsc2ng3pn";
|
||||
name = "kconfig-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kconfigwidgets = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kconfigwidgets-5.101.0.tar.xz";
|
||||
sha256 = "1a3qhphi6hmzrdsalhkrax3g2sb63vr26fnvkxzkhf8spi4mlaq1";
|
||||
name = "kconfigwidgets-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kconfigwidgets-5.102.0.tar.xz";
|
||||
sha256 = "19vs2ydlw76v44xyzhfgl70dw0qan2g5z3dq0hzljf5pkc8mhr6p";
|
||||
name = "kconfigwidgets-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kcontacts = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kcontacts-5.101.0.tar.xz";
|
||||
sha256 = "1ynbf5q811mixg5rxrmn54ldgrwi4dv5mgdk1dljjg1wzhmrjk0x";
|
||||
name = "kcontacts-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kcontacts-5.102.0.tar.xz";
|
||||
sha256 = "04xi28mk5i0l1jgvw0dbapjnk2c6j1y1fxldhhapg722kiw9566y";
|
||||
name = "kcontacts-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kcoreaddons = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kcoreaddons-5.101.0.tar.xz";
|
||||
sha256 = "0ampf8cyy8r8pdm6xs872srak83k7i64nqdkpd9vvfvygz0lzdkp";
|
||||
name = "kcoreaddons-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kcoreaddons-5.102.0.tar.xz";
|
||||
sha256 = "0j09lb6lbyv5hvvw57i0s5pmd24cywzv9ncrd1chnbk0jcczkqw2";
|
||||
name = "kcoreaddons-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kcrash = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kcrash-5.101.0.tar.xz";
|
||||
sha256 = "0ylk1kdnhzh02990nnic1lbvby6kk4x9wvnfm20qd481vd8hklbd";
|
||||
name = "kcrash-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kcrash-5.102.0.tar.xz";
|
||||
sha256 = "1i6jm2jgvqrm95dqdml0w0z9jc9j9n7h48y8zck7s3vaww1v7a67";
|
||||
name = "kcrash-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kdav = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kdav-5.101.0.tar.xz";
|
||||
sha256 = "0gq105iw71yk2dggp7crhamiyrqwzgpdwbzdx8sbplhkm5lll21w";
|
||||
name = "kdav-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kdav-5.102.0.tar.xz";
|
||||
sha256 = "0prr27mv7mhcynvkp9kzk7a1xiawilvafvzv3a6xdkr5w91741bf";
|
||||
name = "kdav-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kdbusaddons = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kdbusaddons-5.101.0.tar.xz";
|
||||
sha256 = "0k0sng7dlafyyysf88bmb944i39rc5w9z1ksgdskzzir3chi4a8z";
|
||||
name = "kdbusaddons-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kdbusaddons-5.102.0.tar.xz";
|
||||
sha256 = "1lqskn739bix5fp1s40gb7fch66pa9bmlwxzfg9lyqa5xmpfxfzi";
|
||||
name = "kdbusaddons-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kdeclarative = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kdeclarative-5.101.0.tar.xz";
|
||||
sha256 = "0xp4mwad6b3rfyzjyq887jd70358lfd9m3njksbv6gf8z1d8y81a";
|
||||
name = "kdeclarative-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kdeclarative-5.102.0.tar.xz";
|
||||
sha256 = "0xvwr1mjviwixbs2i8yh3b37ds4jcgvfrv2z366dld40shs65m0a";
|
||||
name = "kdeclarative-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kded = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kded-5.101.0.tar.xz";
|
||||
sha256 = "1s9fpcmv90bpd15v4ci26976hp4kc3kd1dqasil3qpc1d0g87778";
|
||||
name = "kded-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kded-5.102.0.tar.xz";
|
||||
sha256 = "0fjnb9wgpir91jwvl9dbnbvcf3c94l63vjs6ylvcd2w8lxasyxb7";
|
||||
name = "kded-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kdelibs4support = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/portingAids/kdelibs4support-5.101.0.tar.xz";
|
||||
sha256 = "1ajaxr00k4c9nk7psw2s33h9p63vdwd606lxnpgr271lwmhjmckm";
|
||||
name = "kdelibs4support-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/portingAids/kdelibs4support-5.102.0.tar.xz";
|
||||
sha256 = "0s823mcwg7l72aq55q8vh48pyp3apk3hm87jh9lc1ijg9frgcgk4";
|
||||
name = "kdelibs4support-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kdesignerplugin = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/portingAids/kdesignerplugin-5.101.0.tar.xz";
|
||||
sha256 = "11nrpqd5116apd6gy2xbhgnmnv6jrkismf4jjckskizkdnjvarvs";
|
||||
name = "kdesignerplugin-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/portingAids/kdesignerplugin-5.102.0.tar.xz";
|
||||
sha256 = "1nn2f0jln4qni2gaq0anchrv42fcf83m22ag9r3c4sy7vxr8irbc";
|
||||
name = "kdesignerplugin-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kdesu = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kdesu-5.101.0.tar.xz";
|
||||
sha256 = "16g508642bx8wpj763sn5gph6h6xfcxmaqghb1lj2rvpgr5zzazi";
|
||||
name = "kdesu-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kdesu-5.102.0.tar.xz";
|
||||
sha256 = "0ps88rvvzagpw4qp4nj86wknyhm9mmdlkhs0i7cywf53pdr37afh";
|
||||
name = "kdesu-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kdewebkit = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/portingAids/kdewebkit-5.101.0.tar.xz";
|
||||
sha256 = "1z54xbj6g77k9d6c6r4gza5nw2p8ql716hy4g266783cpa9grkk5";
|
||||
name = "kdewebkit-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/portingAids/kdewebkit-5.102.0.tar.xz";
|
||||
sha256 = "137j897admfp5d8g1x1g5x9h4nmsp6padi17nx4y350kriyhxkkv";
|
||||
name = "kdewebkit-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kdnssd = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kdnssd-5.101.0.tar.xz";
|
||||
sha256 = "0jrzxp84h7i20bxj127m0vds2xjfcmb7c0rvgxrz3kc15ss9hmn6";
|
||||
name = "kdnssd-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kdnssd-5.102.0.tar.xz";
|
||||
sha256 = "10awmh1j05hlg957ih7a1shapl6fgp1ma5b7qvbsp4fi5nh2k985";
|
||||
name = "kdnssd-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kdoctools = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kdoctools-5.101.0.tar.xz";
|
||||
sha256 = "0izqbazcmqh6kwbd6c2fln8gz20kc03agb4fw45nx613s5nam031";
|
||||
name = "kdoctools-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kdoctools-5.102.0.tar.xz";
|
||||
sha256 = "11g671mlva00fk7yfym5a73sfjdy0zkhh3a7h4zv0s763nnmkg13";
|
||||
name = "kdoctools-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kemoticons = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kemoticons-5.101.0.tar.xz";
|
||||
sha256 = "0wkspxsp3mwp7as96cm9z5xzl30629prqdwal17d5y1zwn8xmbhw";
|
||||
name = "kemoticons-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kemoticons-5.102.0.tar.xz";
|
||||
sha256 = "0arligy3i9qcqx9kapv692nz8dl1kimfv03392z3w3qqdwlpc9v5";
|
||||
name = "kemoticons-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kfilemetadata = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kfilemetadata-5.101.0.tar.xz";
|
||||
sha256 = "12z8w9bsbngixs4a5hsbz8lg5ra1iqajvazhr3hq8hw1k2dyrn2k";
|
||||
name = "kfilemetadata-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kfilemetadata-5.102.0.tar.xz";
|
||||
sha256 = "0kv33rqp3wshhmv2pdayggxlxal6ihjam2als3d9a5hm1h5kz2fc";
|
||||
name = "kfilemetadata-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kglobalaccel = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kglobalaccel-5.101.0.tar.xz";
|
||||
sha256 = "0qk0gb2p668f2v10h9pdaf1klk1pl5rfbzd1klzyf5bbm0n240rj";
|
||||
name = "kglobalaccel-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kglobalaccel-5.102.0.tar.xz";
|
||||
sha256 = "1l2mk7192wdb1qv62fqk9w1w6zbsmfr822gr5azg6nnzv4gdvadm";
|
||||
name = "kglobalaccel-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kguiaddons = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kguiaddons-5.101.0.tar.xz";
|
||||
sha256 = "1dspqz3m6i5acpj7gnq97dl8gys343qiqn9sbvnv9drw7ccy954q";
|
||||
name = "kguiaddons-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kguiaddons-5.102.0.tar.xz";
|
||||
sha256 = "1awgfnxmvghh70ldnpb1759wmy1i6rwsp3nggdj2ncdbdbgj04sv";
|
||||
name = "kguiaddons-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kholidays = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kholidays-5.101.0.tar.xz";
|
||||
sha256 = "0wrl4qy08008mzn6dmvdi9jaj7zdiysws0h6d7j661ipaf02qwj4";
|
||||
name = "kholidays-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kholidays-5.102.0.tar.xz";
|
||||
sha256 = "01rznsqxg7crljzy0lcal6r03qvfg8qrh0zigh26073rdn56g5d1";
|
||||
name = "kholidays-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
khtml = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/portingAids/khtml-5.101.0.tar.xz";
|
||||
sha256 = "1xgwg8ml789pg1rgf9g3lr9xpfyh1wgiv57327kqxlpkrxxxl9l8";
|
||||
name = "khtml-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/portingAids/khtml-5.102.0.tar.xz";
|
||||
sha256 = "0az046m9n954cb70iqgx2isspbc0zb89fw97nhmw9szgfsliy8ab";
|
||||
name = "khtml-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
ki18n = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/ki18n-5.101.0.tar.xz";
|
||||
sha256 = "0rggkwi99mmm1f4013qc07v0iqijq2qyx20rag07dm3rjaz305dz";
|
||||
name = "ki18n-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/ki18n-5.102.0.tar.xz";
|
||||
sha256 = "0iwz3jwaqlbja338gkq7sz7f8sw2rp37grkqpvx62274qflq1qww";
|
||||
name = "ki18n-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kiconthemes = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kiconthemes-5.101.0.tar.xz";
|
||||
sha256 = "03ki3gl8fwvs6gmxlahpm4s9zc12ckv3yr9q9a7wz094759phmzq";
|
||||
name = "kiconthemes-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kiconthemes-5.102.0.tar.xz";
|
||||
sha256 = "1q1fij7vn5b34k99cz4x58b5b8a04vrlkdckc8bxbbccpvy5xkyh";
|
||||
name = "kiconthemes-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kidletime = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kidletime-5.101.0.tar.xz";
|
||||
sha256 = "10qjkwmqhxs1dzi5cm91j61i9m5prrwszg7i627v3sg0ck43vnnx";
|
||||
name = "kidletime-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kidletime-5.102.0.tar.xz";
|
||||
sha256 = "159grvvw7zdp2hkiq20iz9zy8ilq6mfr3dmyq51pfq9741nd88qf";
|
||||
name = "kidletime-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kimageformats = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kimageformats-5.101.0.tar.xz";
|
||||
sha256 = "0pv29i328g1x8ji36wzm6pkc0maqlh7wbv3dbq1pgygx85qv06df";
|
||||
name = "kimageformats-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kimageformats-5.102.0.tar.xz";
|
||||
sha256 = "1d29dnjca0fgwi5ri6x4gqgsp8h4x5yidf7ifnpf7qyhwm22r2x6";
|
||||
name = "kimageformats-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kinit = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kinit-5.101.0.tar.xz";
|
||||
sha256 = "1901fywkiiclyiwqi3pp9zwp188lllb77mms1zm51nw4ajldnhcf";
|
||||
name = "kinit-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kinit-5.102.0.tar.xz";
|
||||
sha256 = "03pzsnis8lpsglry5iwkwfvn6fnn82rdxn6pac1cs0jhxwhg9fdc";
|
||||
name = "kinit-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kio = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kio-5.101.0.tar.xz";
|
||||
sha256 = "0qycg75xmmzv363qxi9cpm42m6zlfa5caa47ll64hqmi2middr15";
|
||||
name = "kio-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kio-5.102.0.tar.xz";
|
||||
sha256 = "0sviiq3axsxlf2nvxm0ccazbp7fw4dvky3dd87p82rng3v01g53a";
|
||||
name = "kio-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kirigami2 = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kirigami2-5.101.0.tar.xz";
|
||||
sha256 = "1gcgaz0pspvdsxdhvl4sy3f95xgq51k8kd8c4x0k91pf52syw23n";
|
||||
name = "kirigami2-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kirigami2-5.102.0.tar.xz";
|
||||
sha256 = "1ckmk0p0x5ymma3q5nkja3h6qz439qdxq0vchljg5yazxpiki08p";
|
||||
name = "kirigami2-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kitemmodels = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kitemmodels-5.101.0.tar.xz";
|
||||
sha256 = "09plf2nc5frn5hq2r44fyqv5jg4ixg2y5bf5a3y5vj6hm1lf1bjs";
|
||||
name = "kitemmodels-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kitemmodels-5.102.0.tar.xz";
|
||||
sha256 = "19iqg7lbln0h1fkssa2jj58c9j04lvwwbbzrq11ds1wzjvw77xsj";
|
||||
name = "kitemmodels-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kitemviews = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kitemviews-5.101.0.tar.xz";
|
||||
sha256 = "1ccg87w0qw4j3wsdfpfip9axs5wvksbkvzzkrls19pidzzp5k8mc";
|
||||
name = "kitemviews-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kitemviews-5.102.0.tar.xz";
|
||||
sha256 = "1c31qm059y7j0hskrbhm57qh6g2mm04qfjqbhili9qflp03fl69y";
|
||||
name = "kitemviews-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kjobwidgets = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kjobwidgets-5.101.0.tar.xz";
|
||||
sha256 = "09lsrdcd4q79434q6i14h17p6wp6z5znbwgwl7g8ch5jpsw7bag1";
|
||||
name = "kjobwidgets-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kjobwidgets-5.102.0.tar.xz";
|
||||
sha256 = "1r6xfi4hwfj9hn1hmgniyx17z3b1himh0fmc6bd45b89jzdvmqcl";
|
||||
name = "kjobwidgets-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kjs = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/portingAids/kjs-5.101.0.tar.xz";
|
||||
sha256 = "02ywcqvbipb98m39z22frs70dmzvsyfdymbn78y4vc8zg6lz9zpf";
|
||||
name = "kjs-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/portingAids/kjs-5.102.0.tar.xz";
|
||||
sha256 = "14w523kv5jfp4hzfbkawsf5pljahihj8jxkyjk5r707nrbnqzd3w";
|
||||
name = "kjs-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kjsembed = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/portingAids/kjsembed-5.101.0.tar.xz";
|
||||
sha256 = "00cc61shhcsxswsv62grw29askz4bds2a5zmiinr930s3grs6805";
|
||||
name = "kjsembed-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/portingAids/kjsembed-5.102.0.tar.xz";
|
||||
sha256 = "179gr69n0v39lbxi95w1ckk20505h4zqhxsqmy6fjs9vxc3zja5s";
|
||||
name = "kjsembed-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kmediaplayer = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/portingAids/kmediaplayer-5.101.0.tar.xz";
|
||||
sha256 = "08s1l2jy28djfzwk1lapcmsv1hq2fdx0ys6yj0xskhz9vcah4kh8";
|
||||
name = "kmediaplayer-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/portingAids/kmediaplayer-5.102.0.tar.xz";
|
||||
sha256 = "0kmy4x9bi29nnd8sixrcdk4bhffh880a2p6pdcfz6sqp1i7n8v6s";
|
||||
name = "kmediaplayer-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
knewstuff = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/knewstuff-5.101.0.tar.xz";
|
||||
sha256 = "1xfgzz70kx9k90x0qxw6zhbgs405hfnmpcrzx4036vvnic5jn4g7";
|
||||
name = "knewstuff-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/knewstuff-5.102.0.tar.xz";
|
||||
sha256 = "127w4vfpinq7lm6ckszfisyw7mjzs9v6s2ga4xyd6y7lzyf33gz5";
|
||||
name = "knewstuff-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
knotifications = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/knotifications-5.101.0.tar.xz";
|
||||
sha256 = "06sxzyf475q55gyfzan967fzhkgp0j0y0dkpxi1vw8idi3d6kjiq";
|
||||
name = "knotifications-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/knotifications-5.102.0.tar.xz";
|
||||
sha256 = "1y5sjzx9nyamalwl08y5krxajj0rvhhqgfdyavwkqbr30jpnmklk";
|
||||
name = "knotifications-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
knotifyconfig = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/knotifyconfig-5.101.0.tar.xz";
|
||||
sha256 = "00gnhcjz8ghkp1wnw6whbgl1zkgn8ipiw631fiqv5fcaxva7l9aw";
|
||||
name = "knotifyconfig-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/knotifyconfig-5.102.0.tar.xz";
|
||||
sha256 = "05s8nzc7a01w3rxjb9jg7d98v4rd2dnncpmmv7ap209z10i09qh8";
|
||||
name = "knotifyconfig-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kpackage = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kpackage-5.101.0.tar.xz";
|
||||
sha256 = "078zvifcgxdcll5c0wb147fhzvlcd7dkx1plrv8dqicgxdm5xnvc";
|
||||
name = "kpackage-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kpackage-5.102.0.tar.xz";
|
||||
sha256 = "0mas3dq39lcij3nva0vmqrggm5b43grmmmszfjqd7hrmgpm93n43";
|
||||
name = "kpackage-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kparts = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kparts-5.101.0.tar.xz";
|
||||
sha256 = "15sn8cr4qfrrgjcmcj91xjxrqxql2h943wv9y9v669qkkkvkgbns";
|
||||
name = "kparts-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kparts-5.102.0.tar.xz";
|
||||
sha256 = "07vgc4fpwzkiylvlhniph7apggl563ma1hbnig9w1gkbwssyxjip";
|
||||
name = "kparts-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kpeople = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kpeople-5.101.0.tar.xz";
|
||||
sha256 = "0wjskhnfkpqbyaam6pqszczb4g7kww5czw332jqac87y21il73fa";
|
||||
name = "kpeople-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kpeople-5.102.0.tar.xz";
|
||||
sha256 = "1wi08waz3jv1bz6yf8hbnkyx3k80hdgnwvq0s3hsr3hsaal46dv2";
|
||||
name = "kpeople-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kplotting = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kplotting-5.101.0.tar.xz";
|
||||
sha256 = "062hq67sr482c18d0l4wz3as22kqnwd75cfd58p1dpxfa4glvl7i";
|
||||
name = "kplotting-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kplotting-5.102.0.tar.xz";
|
||||
sha256 = "1qq8m4wc9zz4s6l7myarryn2z7kj89rk51knjnq7kkibhbhwwsqy";
|
||||
name = "kplotting-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kpty = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kpty-5.101.0.tar.xz";
|
||||
sha256 = "0q68c1da5lfjjswypyjq02n9hjbcmv0jjg28803cbxgk1lp2zvaf";
|
||||
name = "kpty-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kpty-5.102.0.tar.xz";
|
||||
sha256 = "0f57fvljv7vmd89yyzbnj8lnafp495j3ial6dmh7wxfmbifw75gz";
|
||||
name = "kpty-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kquickcharts = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kquickcharts-5.101.0.tar.xz";
|
||||
sha256 = "0fnpzsa5da9ivf8k5il2dc9v9c9gjv90mpras2bx701322a6rcgx";
|
||||
name = "kquickcharts-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kquickcharts-5.102.0.tar.xz";
|
||||
sha256 = "0w4h3jz5ki38y54papms2j1z57b0vna7ac89diffbld04aigjr40";
|
||||
name = "kquickcharts-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kross = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/portingAids/kross-5.101.0.tar.xz";
|
||||
sha256 = "0ggcwzhpxg4ni1zfdw7r7zmdgbk45cydwfs16pqyl8038gdfgqny";
|
||||
name = "kross-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/portingAids/kross-5.102.0.tar.xz";
|
||||
sha256 = "0hdbz4ki5ccjpsi8m1x31v9k6c4kl63ak4pfnqllaxjlmpz6yyw3";
|
||||
name = "kross-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
krunner = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/krunner-5.101.0.tar.xz";
|
||||
sha256 = "19jzhq27hnk17a70gnacgnqxc5m98q7sq4advm976xrlh8bcqpyj";
|
||||
name = "krunner-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/krunner-5.102.0.tar.xz";
|
||||
sha256 = "0gvbmb8j7pqah1lvjcykr6i00q8zhybnc6b7x0ajndlqll72qzff";
|
||||
name = "krunner-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kservice = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kservice-5.101.0.tar.xz";
|
||||
sha256 = "1cn68y01vz2mkcqgsa17rg6pkcsadwn3nrgl348njqir4h08ffgw";
|
||||
name = "kservice-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kservice-5.102.0.tar.xz";
|
||||
sha256 = "1plsv4bbmq7xq3y1cnqzvm85wjxp4ivlwnd4snis55ch2qpqcqvh";
|
||||
name = "kservice-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
ktexteditor = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/ktexteditor-5.101.0.tar.xz";
|
||||
sha256 = "1i2xqn54j6944ccdpyb9gffgmjbwlbhqxmddsnqqwls1bw1x6z0h";
|
||||
name = "ktexteditor-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/ktexteditor-5.102.0.tar.xz";
|
||||
sha256 = "1kvki86rnkabrjbgkf7jbrj8lrn83nb4gw9j4h5jmyiam8ybkj2w";
|
||||
name = "ktexteditor-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
ktextwidgets = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/ktextwidgets-5.101.0.tar.xz";
|
||||
sha256 = "0g64776cxyfvyfqmcfs0sa233vyii1ihccg0w3z97m9apm21d1z9";
|
||||
name = "ktextwidgets-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/ktextwidgets-5.102.0.tar.xz";
|
||||
sha256 = "1cipla0shfqpkx2gvvsxncsx4h9bc4zf078p1r9kf3v57pfdr0jc";
|
||||
name = "ktextwidgets-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kunitconversion = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kunitconversion-5.101.0.tar.xz";
|
||||
sha256 = "0j4chsb3074nk3zz300r404mb2p4hnmwhlm88ixq9da9lm1c7ckv";
|
||||
name = "kunitconversion-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kunitconversion-5.102.0.tar.xz";
|
||||
sha256 = "11wdgzw5rsd0zbi24c6qvyavlx3hrnifq89ajyx1dpfsm1n21md3";
|
||||
name = "kunitconversion-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kwallet = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kwallet-5.101.0.tar.xz";
|
||||
sha256 = "0mslgayy7qkspkwj42s1x3c9x3zmp8n182vzijmkd0qb6px9f0fa";
|
||||
name = "kwallet-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kwallet-5.102.0.tar.xz";
|
||||
sha256 = "10q9ckqybxdk14y7gy0fzaharz62axd965g17b0x18z9ln0g04d3";
|
||||
name = "kwallet-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kwayland = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kwayland-5.101.0.tar.xz";
|
||||
sha256 = "0qzg5nsm8zhmzv4wssv91pahbn4c5vnq2a7hknzkalm1s9p8dh9r";
|
||||
name = "kwayland-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kwayland-5.102.0.tar.xz";
|
||||
sha256 = "1k5109pjl4fdsiqw4dzg8pl8nw4y59gbgf8cn6w2wp1b42kz89l6";
|
||||
name = "kwayland-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kwidgetsaddons = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kwidgetsaddons-5.101.0.tar.xz";
|
||||
sha256 = "08rq126lr6bfrq6k29nhpcpmigb5wnwp5w2bjvdjjhz90crkv4bq";
|
||||
name = "kwidgetsaddons-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kwidgetsaddons-5.102.0.tar.xz";
|
||||
sha256 = "1lnnn8y2d72qpiq76mr9vk4037a6g59x1cjyvrpxymb3k0i9gmji";
|
||||
name = "kwidgetsaddons-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kwindowsystem = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kwindowsystem-5.101.0.tar.xz";
|
||||
sha256 = "1f1f600n9dk9zxz77h81kr8q3sm8n59h9njp8lxfc2rj7rrrwszg";
|
||||
name = "kwindowsystem-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kwindowsystem-5.102.0.tar.xz";
|
||||
sha256 = "1qb8mb9mgqwdbrd2g4r7x7f2qfmdm54i77r2157n7by9j6j9n36r";
|
||||
name = "kwindowsystem-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kxmlgui = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/kxmlgui-5.101.0.tar.xz";
|
||||
sha256 = "0ylwzlf27qy8ihz6q21kfr5aflsaknwapysfgfbsagji26i5kmfm";
|
||||
name = "kxmlgui-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/kxmlgui-5.102.0.tar.xz";
|
||||
sha256 = "06hk6j8hsc05cy6d8i3a6xjxxzwrvshjb3ij6ji1yvcbmfs2rrrp";
|
||||
name = "kxmlgui-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
kxmlrpcclient = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/portingAids/kxmlrpcclient-5.101.0.tar.xz";
|
||||
sha256 = "12p8g6ac70h55nyvr4a0f54zll4v5hjb0ix838q61srq2ky4qhd2";
|
||||
name = "kxmlrpcclient-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/portingAids/kxmlrpcclient-5.102.0.tar.xz";
|
||||
sha256 = "06bjxi3k9q3n261rsc0qil5zzf4lxqfizd9b0jny8ygvvjs9han4";
|
||||
name = "kxmlrpcclient-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
modemmanager-qt = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/modemmanager-qt-5.101.0.tar.xz";
|
||||
sha256 = "01mhfz3f5s003gng86dxnp03r4jfqqp0hbj7qmrqf1vgxi6wx4y8";
|
||||
name = "modemmanager-qt-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/modemmanager-qt-5.102.0.tar.xz";
|
||||
sha256 = "195p7xmc8fzywna6j9ppaajqav27prjkl8slwggnsyjbh5bb3a76";
|
||||
name = "modemmanager-qt-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
networkmanager-qt = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/networkmanager-qt-5.101.0.tar.xz";
|
||||
sha256 = "0xpb49gqg0acc5447ygk70bz8g260l9qwyy1y4cdm6rra9ag9j8s";
|
||||
name = "networkmanager-qt-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/networkmanager-qt-5.102.0.tar.xz";
|
||||
sha256 = "12q7fkhpidyyxa4byb88vsrkahgr4l2x3s9zylknb60cy86qpp69";
|
||||
name = "networkmanager-qt-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
oxygen-icons5 = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/oxygen-icons5-5.101.0.tar.xz";
|
||||
sha256 = "0bs1h95c8c5ppk4ik3l2j5mbikmqqv2xrrvw9kpn7sgmxn69n6kl";
|
||||
name = "oxygen-icons5-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/oxygen-icons5-5.102.0.tar.xz";
|
||||
sha256 = "05mwijl3day3vm8gs085cg3g04xi1x8ypwd87nc80jw7pz1m7mf4";
|
||||
name = "oxygen-icons5-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
plasma-framework = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/plasma-framework-5.101.0.tar.xz";
|
||||
sha256 = "1ynpbra7wpbn0i1hqj9jwqm0z3r5cc83zlmgm9i2mw6mszgb9jba";
|
||||
name = "plasma-framework-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/plasma-framework-5.102.0.tar.xz";
|
||||
sha256 = "14al5i40bpjw73wk0by9ca88s26hbns7msa4kil6zinzh8pvbkfk";
|
||||
name = "plasma-framework-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
prison = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/prison-5.101.0.tar.xz";
|
||||
sha256 = "1xndnmlfir2kj28zb0dbl789vw0zlm9a5gz0fhp5c94gs62cykxm";
|
||||
name = "prison-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/prison-5.102.0.tar.xz";
|
||||
sha256 = "1iw14s4hf2ap8qfrj7kf5xicsz78b4lwydg58ymv6z70jcl329nn";
|
||||
name = "prison-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
purpose = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/purpose-5.101.0.tar.xz";
|
||||
sha256 = "05xiq805ppwsb3x16vslbcsm2bp3qn7390476p24lb4xz03sgbxk";
|
||||
name = "purpose-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/purpose-5.102.0.tar.xz";
|
||||
sha256 = "1a50nx7ldgx3gaqfh0k8lc6fx2ww7k07glg2qah5crwlwqxv70iw";
|
||||
name = "purpose-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
qqc2-desktop-style = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/qqc2-desktop-style-5.101.0.tar.xz";
|
||||
sha256 = "01nzkaxrhv1bzxckbn844kd2rszv5ly08nhlj5c0lac6gs5fp751";
|
||||
name = "qqc2-desktop-style-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/qqc2-desktop-style-5.102.0.tar.xz";
|
||||
sha256 = "1c6mgfq4lznm69a5z6cycc17hlp5j96635rasksxgsnib7mvzwfq";
|
||||
name = "qqc2-desktop-style-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
solid = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/solid-5.101.0.tar.xz";
|
||||
sha256 = "0yhs2jzhb366irm001kwxqxy6ifd2iqqlsdyz658a8g7bmfq4mvh";
|
||||
name = "solid-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/solid-5.102.0.tar.xz";
|
||||
sha256 = "0cmik9c9s3nhqd5imkj4m9510whsf55nmw85xjsrnlh0fk6d7qq6";
|
||||
name = "solid-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
sonnet = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/sonnet-5.101.0.tar.xz";
|
||||
sha256 = "1l4fg110vhk4hn876yhv8wy3x913z8vpbs22cyjdkvlw4y5if0vb";
|
||||
name = "sonnet-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/sonnet-5.102.0.tar.xz";
|
||||
sha256 = "04dci8l0v3v3s8fgn39sk67dbz44ah8qj5yvl5zn1xpwcfvj3ahf";
|
||||
name = "sonnet-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
syndication = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/syndication-5.101.0.tar.xz";
|
||||
sha256 = "1hg2hkfrp43s98sfk0d2cx6fp2vfs26c7mvs8qm9za0p7www61f0";
|
||||
name = "syndication-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/syndication-5.102.0.tar.xz";
|
||||
sha256 = "1w08fn43hr4mnff62kzay4rblxbg4p6fghcp5bnziaddl0jpr799";
|
||||
name = "syndication-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
syntax-highlighting = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/syntax-highlighting-5.101.0.tar.xz";
|
||||
sha256 = "0fqx3zfb0sz5jq2j0kr2wc3dp3cvd99g8rmzh5pmkkkr7wixpk9i";
|
||||
name = "syntax-highlighting-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/syntax-highlighting-5.102.0.tar.xz";
|
||||
sha256 = "03zjf58y9n6fq3zhybp86fqh65vxk2i4pqrrv4lwm6wz9pj289rg";
|
||||
name = "syntax-highlighting-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
threadweaver = {
|
||||
version = "5.101.0";
|
||||
version = "5.102.0";
|
||||
src = fetchurl {
|
||||
url = "${mirror}/stable/frameworks/5.101/threadweaver-5.101.0.tar.xz";
|
||||
sha256 = "1yzvcbzrgn97gy3ksyr42pp2r54vf1ddxmk7y9saj3sr532h7lag";
|
||||
name = "threadweaver-5.101.0.tar.xz";
|
||||
url = "${mirror}/stable/frameworks/5.102/threadweaver-5.102.0.tar.xz";
|
||||
sha256 = "1jxn1mf7xz3j9lz69kgcrqam87fxzyxp250vzl9hrs26jvw7lagr";
|
||||
name = "threadweaver-5.102.0.tar.xz";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
|
|||
# https://gitlab.freedesktop.org/glvnd/libglvnd#libglvnd:
|
||||
changelog = "https://gitlab.freedesktop.org/glvnd/libglvnd/-/tags/v${version}";
|
||||
license = with licenses; [ mit bsd1 bsd3 gpl3Only asl20 ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ primeos ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sqlitecpp";
|
||||
version = "3.2.0";
|
||||
version = "3.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SRombauts";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-Z1c2lQZ0UltcIf9dTnumZPhke4uEmsjg/Ygppvx3kxY=";
|
||||
sha256 = "sha256-uVvlW95UD1dhJfNuKgo7XvbdXrHl95OhaEpWfn0RH/E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, bokeh
|
||||
, emcee
|
||||
, matplotlib
|
||||
, netcdf4
|
||||
|
@ -19,6 +18,7 @@
|
|||
, xarray
|
||||
, xarray-einstats
|
||||
, zarr
|
||||
, ffmpeg
|
||||
, h5py
|
||||
, jaxlib
|
||||
, torchvision
|
||||
|
@ -56,9 +56,9 @@ buildPythonPackage rec {
|
|||
];
|
||||
|
||||
checkInputs = [
|
||||
bokeh
|
||||
cloudpickle
|
||||
emcee
|
||||
ffmpeg
|
||||
h5py
|
||||
jax
|
||||
jaxlib
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
, buildPythonPackage
|
||||
, chainer
|
||||
, fetchFromGitHub
|
||||
, hatchling
|
||||
, jupyter
|
||||
, keras
|
||||
#, mxnet
|
||||
|
@ -17,7 +18,7 @@
|
|||
buildPythonPackage rec {
|
||||
pname = "einops";
|
||||
version = "0.6.0";
|
||||
format = "setuptools";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
|
@ -28,6 +29,8 @@ buildPythonPackage rec {
|
|||
hash = "sha256-/bnp8IhDxp8EB/PoW5Dz+7rOru0/odOrts84aq4qyJw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ hatchling ];
|
||||
|
||||
checkInputs = [
|
||||
chainer
|
||||
jupyter
|
||||
|
|
39
pkgs/development/python-modules/imagehash/default.nix
Normal file
39
pkgs/development/python-modules/imagehash/default.nix
Normal file
|
@ -0,0 +1,39 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pytestCheckHook
|
||||
, numpy
|
||||
, six
|
||||
, scipy
|
||||
, pillow
|
||||
, pywavelets
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "imagehash";
|
||||
version = "4.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "JohannesBuchner";
|
||||
repo = "imagehash";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Tsq10TZqnzNTuO4goKjdylN4Eqy7DNbHLjr5n3+nidM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
numpy
|
||||
six
|
||||
scipy
|
||||
pillow
|
||||
pywavelets
|
||||
];
|
||||
|
||||
checkInputs = [ pytestCheckHook ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A Python Perceptual Image Hashing Module";
|
||||
homepage = "https://github.com/JohannesBuchner/imagehash";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ e1mo ];
|
||||
};
|
||||
}
|
|
@ -24,7 +24,7 @@ buildPythonPackage rec {
|
|||
|
||||
# Ninja is not detected by setuptools for some reason even though it's present:
|
||||
postPatch = ''
|
||||
substituteInPlace "setup.cfg" --replace "ninja" ""
|
||||
substituteInPlace "setup.cfg" --replace " ninja" ""
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
|
|
|
@ -11,9 +11,9 @@
|
|||
, nbconvert
|
||||
, nbformat
|
||||
, nest-asyncio
|
||||
, notebook
|
||||
, notebook-shim
|
||||
, prometheus-client
|
||||
, pytest-jupyter
|
||||
, pytest-tornasync
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
|
@ -47,7 +47,6 @@ buildPythonPackage rec {
|
|||
nbconvert
|
||||
nbformat
|
||||
nest-asyncio
|
||||
notebook
|
||||
notebook-shim
|
||||
prometheus-client
|
||||
pyzmq
|
||||
|
@ -58,6 +57,7 @@ buildPythonPackage rec {
|
|||
];
|
||||
|
||||
checkInputs = [
|
||||
pytest-jupyter
|
||||
pytest-tornasync
|
||||
pytestCheckHook
|
||||
];
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, hatchling
|
||||
, jupyter-server
|
||||
, pytestCheckHook
|
||||
, pytest-tornasync
|
||||
|
@ -9,6 +10,7 @@
|
|||
buildPythonPackage rec {
|
||||
pname = "notebook-shim";
|
||||
version = "0.2.2";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jupyter";
|
||||
|
@ -17,6 +19,7 @@ buildPythonPackage rec {
|
|||
sha256 = "sha256-/z4vXSBqeL2wSqJ0kFNgU0TSGUGByhxHNya8EO55+7s=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ hatchling ];
|
||||
propagatedBuildInputs = [ jupyter-server ];
|
||||
|
||||
preCheck = ''
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, buildPythonPackage
|
||||
, pythonOlder
|
||||
, fetchPypi
|
||||
, argon2-cffi
|
||||
, nose
|
||||
, nose_warnings_filters
|
||||
, glibcLocales
|
||||
, isPy3k
|
||||
, mock
|
||||
, jinja2
|
||||
, tornado
|
||||
|
@ -15,6 +13,7 @@
|
|||
, jupyter-core
|
||||
, jupyter-client
|
||||
, nbformat
|
||||
, nbclassic
|
||||
, nbconvert
|
||||
, ipykernel
|
||||
, terminado
|
||||
|
@ -28,7 +27,7 @@
|
|||
buildPythonPackage rec {
|
||||
pname = "notebook";
|
||||
version = "6.5.2";
|
||||
disabled = !isPy3k;
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
|
@ -37,20 +36,15 @@ buildPythonPackage rec {
|
|||
|
||||
LC_ALL = "en_US.utf8";
|
||||
|
||||
checkInputs = [ nose pytestCheckHook glibcLocales ]
|
||||
++ (if isPy3k then [ nose_warnings_filters ] else [ mock ]);
|
||||
checkInputs = [ pytestCheckHook glibcLocales ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
jinja2 tornado ipython_genutils traitlets jupyter-core send2trash
|
||||
jupyter-client nbformat nbconvert ipykernel terminado requests pexpect
|
||||
jupyter-client nbformat nbclassic
|
||||
nbconvert ipykernel terminado requests pexpect
|
||||
prometheus-client argon2-cffi
|
||||
];
|
||||
|
||||
# disable warning_filters
|
||||
preCheck = lib.optionalString (!isPy3k) ''
|
||||
echo "" > setup.cfg
|
||||
'';
|
||||
|
||||
postPatch = ''
|
||||
# Remove selenium tests
|
||||
rm -rf notebook/tests/selenium
|
||||
|
|
69
pkgs/development/python-modules/nptyping/default.nix
Normal file
69
pkgs/development/python-modules/nptyping/default.nix
Normal file
|
@ -0,0 +1,69 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pythonOlder
|
||||
, pytestCheckHook
|
||||
, beartype
|
||||
, invoke
|
||||
, mypy
|
||||
, numpy
|
||||
, pandas
|
||||
, feedparser
|
||||
, typeguard
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "nptyping";
|
||||
version = "2.4.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ramonhagenaars";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-jV2MVMP/tlYN3djoViemGaJyzREoOJJamwG97WFhIvc=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
numpy
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
beartype
|
||||
feedparser
|
||||
invoke
|
||||
mypy
|
||||
pandas
|
||||
pytestCheckHook
|
||||
typeguard
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# tries to download data
|
||||
"test_pandas_stubs_fork_is_synchronized"
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
# missing pyright import:
|
||||
"tests/test_pyright.py"
|
||||
# can't find mypy stubs for pandas:
|
||||
"tests/test_mypy.py"
|
||||
"tests/pandas_/test_mypy_dataframe.py"
|
||||
# tries to build wheel of package, broken/unnecessary under Nix:
|
||||
"tests/test_wheel.py"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"nptyping"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Type hints for numpy";
|
||||
homepage = "https://github.com/ramonhagenaars/nptyping";
|
||||
changelog = "https://github.com/ramonhagenaars/nptyping/blob/v${version}/HISTORY.md";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ bcdarwin ];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
{ buildPythonPackage
|
||||
, fetchPypi
|
||||
, lib
|
||||
, unittestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "opencensus-context";
|
||||
version = "0.1.3";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-oDEIw8ENjIC7Xd9cih8DMWH6YZcqmRf5ubOhhRfwCIw=";
|
||||
};
|
||||
|
||||
pythonNamespaces = [
|
||||
"opencensus.common"
|
||||
];
|
||||
|
||||
doCheck = false; # No tests in archive
|
||||
|
||||
meta = with lib; {
|
||||
description = "OpenCensus Runtime Context";
|
||||
homepage = "https://github.com/census-instrumentation/opencensus-python/tree/master/context/opencensus-context";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ billhuang ];
|
||||
};
|
||||
}
|
|
@ -1,24 +1,11 @@
|
|||
{ buildPythonPackage
|
||||
, fetchPypi
|
||||
, lib
|
||||
, python
|
||||
, unittestCheckHook
|
||||
, google-api-core
|
||||
, opencensus-context
|
||||
}:
|
||||
|
||||
let
|
||||
opencensus-context = buildPythonPackage rec {
|
||||
pname = "opencensus-context";
|
||||
version = "0.1.3";
|
||||
|
||||
checkInputs = [ unittestCheckHook ];
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-oDEIw8ENjIC7Xd9cih8DMWH6YZcqmRf5ubOhhRfwCIw=";
|
||||
};
|
||||
};
|
||||
in
|
||||
buildPythonPackage rec {
|
||||
pname = "opencensus";
|
||||
version = "0.11.0";
|
||||
|
@ -28,23 +15,20 @@ buildPythonPackage rec {
|
|||
sha256 = "sha256-AmIWq6uJ2U2FBJLz3GWVAFXsT4QRX6bHvq/7pEo0bkI=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
# opencensus-context is embedded in opencensus
|
||||
propagatedBuildInputs = [
|
||||
google-api-core
|
||||
opencensus-context
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
google-api-core
|
||||
pythonNamespaces = [
|
||||
"opencensus.common"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
ln -sf ${opencensus-context}/${python.sitePackages}/opencensus/common/runtime_context \
|
||||
$out/${python.sitePackages}/opencensus/common/
|
||||
'';
|
||||
doCheck = false; # No tests in sdist
|
||||
|
||||
checkInputs = [ unittestCheckHook ];
|
||||
|
||||
pythonImportsCheck = [ "opencensus" ];
|
||||
pythonImportsCheck = [
|
||||
"opencensus.common"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A stats collection and distributed tracing framework";
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
, fftw, fftwFloat, fftwLongDouble, numpy, scipy, cython, dask }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
version = "0.13.0";
|
||||
version = "0.13.1";
|
||||
pname = "pyFFTW";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "da85102405c0bd95d57eb19e99b01a0729d8406cb204c3900894b873784253da";
|
||||
sha256 = "sha256-CRVekKDG0MHy0fNmgYCn3pX7n4P+9RN6ES+wWXjocyA=";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, numpy
|
||||
, pythonOlder
|
||||
, numpy
|
||||
, nptyping
|
||||
, typing-extensions
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
|
@ -21,6 +23,8 @@ buildPythonPackage rec {
|
|||
|
||||
propagatedBuildInputs = [
|
||||
numpy
|
||||
nptyping
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
|
|
|
@ -22,7 +22,7 @@ let
|
|||
if stdenv.isDarwin then [ mesa_drivers.dev ] else [ ocl-icd ];
|
||||
in buildPythonPackage rec {
|
||||
pname = "pyopencl";
|
||||
version = "2022.3";
|
||||
version = "2022.3.1";
|
||||
|
||||
checkInputs = [ pytest ];
|
||||
buildInputs = [ opencl-headers pybind11 ] ++ os-specific-buildInputs;
|
||||
|
@ -40,7 +40,7 @@ in buildPythonPackage rec {
|
|||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-I21tqnSc7dunBpw9Q622tlHkDC1INSdb/uaDGc0DgI0=";
|
||||
sha256 = "sha256-Sj2w/mG1zclSZ1Jt7r1xp+HXlWlNSw/idh8GMLzKNiE=";
|
||||
};
|
||||
|
||||
# py.test is not needed during runtime, so remove it from `install_requires`
|
||||
|
|
|
@ -46,10 +46,6 @@ buildPythonPackage rec {
|
|||
"xarray_einstats"
|
||||
];
|
||||
|
||||
pytestFlagsArray = [
|
||||
"src/xarray_einstats/tests/"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Stats, linear algebra and einops for xarray";
|
||||
homepage = "https://github.com/arviz-devs/xarray-einstats";
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
buildGraalvmNativeImage rec {
|
||||
pname = "clj-kondo";
|
||||
version = "2022.12.10";
|
||||
version = "2023.01.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/clj-kondo/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
|
||||
sha256 = "sha256-7o2VFPNhV+GLcUJCJWcHwcp1mCa1q9KG98nUP4/6MeU=";
|
||||
sha256 = "sha256-ANxM87lCrUbsc6OYCoyZCPAoQ08z7Vwduloi0PSfZbo=";
|
||||
};
|
||||
|
||||
extraNativeImageBuildArgs = [
|
||||
|
|
|
@ -7,16 +7,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ruff";
|
||||
version = "0.0.220";
|
||||
version = "0.0.221";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "charliermarsh";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-yOErc17Mm4eDrJkT7U+6CTGI67xM2u8XA+MwbxO9AUg=";
|
||||
sha256 = "sha256-46pIudC1jUIOgqJ/5+Xcn01y4Qq1VBKyW36Dyzrz7uA=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-3Ez7X6XmobFO4WslE0lhCcT/Qu4FCaMcDPvoADNlfjM=";
|
||||
cargoSha256 = "sha256-OxzOZyzAXuK08BAzRIepPc7sllZtlynWvHjvJAHWG5Q=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk.frameworks.CoreServices
|
||||
|
|
|
@ -23,7 +23,8 @@ substituteAll {
|
|||
|
||||
# run some a simple installer tests to make sure nixos-rebuild still works for them
|
||||
passthru.tests = {
|
||||
simple-installer-test = nixosTests.installer.simple;
|
||||
simple-installer = nixosTests.installer.simple;
|
||||
specialisations = nixosTests.nixos-rebuild-specialisations;
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
|
|
@ -28,6 +28,7 @@ rollback=
|
|||
upgrade=
|
||||
upgrade_all=
|
||||
profile=/nix/var/nix/profiles/system
|
||||
specialisation=
|
||||
buildHost=
|
||||
targetHost=
|
||||
remoteSudo=
|
||||
|
@ -107,6 +108,14 @@ while [ "$#" -gt 0 ]; do
|
|||
fi
|
||||
shift 1
|
||||
;;
|
||||
--specialisation|-c)
|
||||
if [ -z "$1" ]; then
|
||||
log "$0: ‘--specialisation’ requires an argument"
|
||||
exit 1
|
||||
fi
|
||||
specialisation="$1"
|
||||
shift 1
|
||||
;;
|
||||
--build-host|h)
|
||||
buildHost="$1"
|
||||
shift 1
|
||||
|
@ -365,6 +374,10 @@ if [[ -n $flake ]]; then
|
|||
fi
|
||||
fi
|
||||
|
||||
if [[ ! -z "$specialisation" && ! "$action" = switch && ! "$action" = test ]]; then
|
||||
log "error: ‘--specialisation’ can only be used with ‘switch’ and ‘test’"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
tmpDir=$(mktemp -t -d nixos-rebuild.XXXXXX)
|
||||
|
||||
|
@ -559,7 +572,18 @@ fi
|
|||
# If we're not just building, then make the new configuration the boot
|
||||
# default and/or activate it now.
|
||||
if [[ "$action" = switch || "$action" = boot || "$action" = test || "$action" = dry-activate ]]; then
|
||||
if ! targetHostCmd "$pathToConfig/bin/switch-to-configuration" "$action"; then
|
||||
if [[ -z "$specialisation" ]]; then
|
||||
cmd="$pathToConfig/bin/switch-to-configuration"
|
||||
else
|
||||
cmd="$pathToConfig/specialisation/$specialisation/bin/switch-to-configuration"
|
||||
|
||||
if [[ ! -f "$cmd" ]]; then
|
||||
log "error: specialisation not found: $specialisation"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! targetHostCmd "$cmd" "$action"; then
|
||||
log "warning: error(s) occurred while switching to the new configuration"
|
||||
exit 1
|
||||
fi
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
roundcubePlugin rec {
|
||||
pname = "carddav";
|
||||
version = "4.4.4";
|
||||
version = "4.4.6";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/mstilkerich/rcmcarddav/releases/download/v${version}/carddav-v${version}.tar.gz";
|
||||
sha256 = "1l35z2k43q8cflhzmk43kifrskhcvygrsvbbzs2s8hhjhsz2b3aq";
|
||||
sha256 = "10s4idf5kmkap47fn3i4jkr3mbipibdjcqds8p6p906nr45ngs57";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -10,8 +10,12 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/wordpress
|
||||
cp -r . $out/share/wordpress
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xlogo";
|
||||
version = "1.0.5";
|
||||
version = "1.0.6";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
|||
owner = "app";
|
||||
repo = "xlogo";
|
||||
rev = "refs/tags/xlogo-${version}";
|
||||
hash = "sha256-AyNFzRZtbCKkGacBCaGZZkLRTAGq5TrA2OXGqwoKq24=";
|
||||
hash = "sha256-S7Z2nGQt07YBHlbA1u/+rvDwtzT381e90jieoiun+E8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ xorg-autoconf autoreconfHook pkg-config ];
|
||||
|
|
46
pkgs/tools/misc/shim/default.nix
Normal file
46
pkgs/tools/misc/shim/default.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{ stdenv, fetchFromGitHub, lib, elfutils, vendorCertFile ? null
|
||||
, defaultLoader ? null }:
|
||||
|
||||
let
|
||||
|
||||
inherit (stdenv.targetPlatform) system;
|
||||
throwSystem = throw "Unsupported system: ${system}";
|
||||
|
||||
target = {
|
||||
x86_64-linux = "shimx64.efi";
|
||||
aarch64-linux = "shimaa64.efi";
|
||||
}.${system} or throwSystem;
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "shim";
|
||||
version = "15.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rhboot";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-CfUuq0anbXlCVo9r9NIb76oJzDqaPMIhL9cmXK1iqXo=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
buildInputs = [ elfutils ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [ "-I${toString elfutils.dev}/include" ];
|
||||
|
||||
makeFlags =
|
||||
lib.optional (vendorCertFile != null) "VENDOR_CERT_FILE=${vendorCertFile}"
|
||||
++ lib.optional (defaultLoader != null) "DEFAULT_LOADER=${defaultLoader}"
|
||||
++ [ target ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/shim
|
||||
install -m 644 ${target} $out/share/shim/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "UEFI shim loader";
|
||||
homepage = "https://github.com/rhboot/shim";
|
||||
license = licenses.bsd1;
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
||||
maintainers = with maintainers; [ baloo raitobezarius ];
|
||||
};
|
||||
}
|
|
@ -2,19 +2,19 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "xcp";
|
||||
version = "0.9.1";
|
||||
version = "0.9.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tarka";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-fzwlDYjNCWAnMrRSGvR+OwL+TEs4eRsjqF7uPjui3T0=";
|
||||
sha256 = "sha256-Gn6qTfQjHuQUcfaZN48qCI7u8E7PtJAZlyrPqyjop5U=";
|
||||
};
|
||||
|
||||
# no such file or directory errors
|
||||
doCheck = false;
|
||||
|
||||
cargoSha256 = "sha256-c3jUG/ysTzV/67HmGgFSM0KWKlQKo6iqOCQT4E9QA9k=";
|
||||
cargoHash = "sha256-3vz92fHjLUMWVBpq71hxqqU0WiHdLbOst9vr8zbo6/U=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "An extended cp(1)";
|
||||
|
|
46
pkgs/tools/security/arubaotp-seed-extractor/default.nix
Normal file
46
pkgs/tools/security/arubaotp-seed-extractor/default.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{ lib
|
||||
, python3Packages
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication {
|
||||
pname = "arubaotp-seed-extractor";
|
||||
version = "unstable-22-12-2022";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "andry08";
|
||||
repo = "ArubaOTP-seed-extractor";
|
||||
rev = "534f78bb71594d5806fd2d7a8eade109b0e1d402";
|
||||
hash = "sha256-1pv88OClskQOPtJaP7g0duXMe/X3M6Tk+ituZ9UxoIE=";
|
||||
};
|
||||
|
||||
format = "other";
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3Packages.wrapPython
|
||||
];
|
||||
|
||||
pythonPath = with python3Packages; [
|
||||
pycryptodome
|
||||
pyotp
|
||||
qrcode
|
||||
requests
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
libdir="$out/lib/${python3Packages.python.libPrefix}/site-packages/arubaotp-seed-extractor"
|
||||
mkdir -p "$libdir"
|
||||
cp scripts/* "$libdir"
|
||||
chmod +x "$libdir/main.py"
|
||||
wrapPythonProgramsIn "$libdir" "$pythonPath"
|
||||
mkdir -p $out/bin
|
||||
ln -s "$libdir/main.py" $out/bin/arubaotp-seed-extractor
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/andry08/ArubaOTP-seed-extractor";
|
||||
description = "Extract TOTP seed instead of using ArubaOTP app";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fgaz ];
|
||||
};
|
||||
}
|
|
@ -1321,6 +1321,8 @@ with pkgs;
|
|||
|
||||
arch-install-scripts = callPackage ../tools/misc/arch-install-scripts {};
|
||||
|
||||
arubaotp-seed-extractor = callPackage ../tools/security/arubaotp-seed-extractor { };
|
||||
|
||||
audible-cli = callPackage ../tools/misc/audible-cli { };
|
||||
|
||||
auditwheel = callPackage ../tools/package-management/auditwheel { };
|
||||
|
@ -11661,6 +11663,8 @@ with pkgs;
|
|||
|
||||
shiv = with python3Packages; toPythonApplication shiv;
|
||||
|
||||
shim-unsigned = callPackage ../tools/misc/shim { };
|
||||
|
||||
shocco = callPackage ../tools/text/shocco { };
|
||||
|
||||
shopify-cli = callPackage ../development/web/shopify-cli { };
|
||||
|
|
|
@ -4525,6 +4525,8 @@ self: super: with self; {
|
|||
|
||||
imagecorruptions = callPackage ../development/python-modules/imagecorruptions { };
|
||||
|
||||
imagehash = callPackage ../development/python-modules/imagehash { };
|
||||
|
||||
imageio = callPackage ../development/python-modules/imageio { };
|
||||
|
||||
imageio-ffmpeg = callPackage ../development/python-modules/imageio-ffmpeg { };
|
||||
|
@ -6415,6 +6417,8 @@ self: super: with self; {
|
|||
|
||||
nplusone = callPackage ../development/python-modules/nplusone { };
|
||||
|
||||
nptyping = callPackage ../development/python-modules/nptyping { };
|
||||
|
||||
npyscreen = callPackage ../development/python-modules/npyscreen { };
|
||||
|
||||
nsapi = callPackage ../development/python-modules/nsapi { };
|
||||
|
@ -6585,6 +6589,8 @@ self: super: with self; {
|
|||
|
||||
opencensus = callPackage ../development/python-modules/opencensus { };
|
||||
|
||||
opencensus-context = callPackage ../development/python-modules/opencensus-context { };
|
||||
|
||||
opencv3 = toPythonModule (pkgs.opencv3.override {
|
||||
enablePython = true;
|
||||
pythonPackages = self;
|
||||
|
|
Loading…
Reference in a new issue