Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-08-03 00:20:39 +00:00
committed by GitHub
96 changed files with 2599 additions and 2665 deletions
@@ -126,8 +126,8 @@
- The Postfix module has been updated and likely requires configuration changes:
- The `services.postfix.sslCert` and `sslKey` options were removed and you now need to configure
- [services.postfix.config.smtpd_tls_chain_files](#opt-services.postfix.config.smtpd_tls_chain_files) for server certificates,
- [services.postfix.config.smtp_tls_chain_files](#opt-services.postfix.config) for client certificates.
- [services.postfix.settings.main.smtpd_tls_chain_files](#opt-services.postfix.settings.main.smtpd_tls_chain_files) for server certificates,
- [services.postfix.settings.main.smtp_tls_chain_files](#opt-services.postfix.settings.main) for client certificates.
- `vmalert` now supports multiple instances with the option `services.vmalert.instances."".enable`
+6 -4
View File
@@ -14,12 +14,14 @@ For a basic configuration with Postfix as the MTA, the following settings are su
{
services.postfix = {
enable = true;
relayDomains = [ "hash:/var/lib/mailman/data/postfix_domains" ];
sslCert = config.security.acme.certs."lists.example.org".directory + "/full.pem";
sslKey = config.security.acme.certs."lists.example.org".directory + "/key.pem";
config = {
settings.main = {
transport_maps = [ "hash:/var/lib/mailman/data/postfix_lmtp" ];
local_recipient_maps = [ "hash:/var/lib/mailman/data/postfix_lmtp" ];
relay_domains = [ "hash:/var/lib/mailman/data/postfix_domains" ];
smtpd_tls_chain_files = [
config.security.acme.certs."lists.example.org".directory + "/full.pem"
config.security.acme.certs."lists.example.org".directory + "/key.pem"
];
};
};
services.mailman = {
+2 -2
View File
@@ -554,9 +554,9 @@ in
];
services.postfix = lib.mkIf cfg.enablePostfix {
recipientDelimiter = "+"; # bake recipient addresses in mail envelopes via VERP
config = {
settings.main = {
owner_request_special = "no"; # Mailman handles -owner addresses on its own
recipient_delimiter = "+"; # bake recipient addresses in mail envelopes via VERP
};
};
+5 -4
View File
@@ -120,8 +120,11 @@ in
services.postfix = {
enable = true;
recipientDelimiter = "+";
masterConfig.mlmmj = {
settings.main = {
recipient_delimiter = "+";
propagate_unmatched_extensions = "virtual";
};
settings.master.mlmmj = {
type = "unix";
private = true;
privileged = true;
@@ -140,8 +143,6 @@ in
extraAliases = concatMapLines (alias cfg.listDomain) cfg.mailLists;
extraConfig = "propagate_unmatched_extensions = virtual";
virtual = concatMapLines (virtual cfg.listDomain) cfg.mailLists;
transport = concatMapLines (transport cfg.listDomain) cfg.mailLists;
};
+1 -1
View File
@@ -51,7 +51,7 @@ in
config = lib.mkMerge [
(lib.mkIf (cfg.enable && cfg.configurePostfix && config.services.postfix.enable) {
services.postfix.config = {
services.postfix.settings.main = {
sender_canonical_maps = [ "tcp:127.0.0.1:10001" ];
sender_canonical_classes = [ "envelope_sender" ];
recipient_canonical_maps = [ "tcp:127.0.0.1:10002" ];
@@ -135,7 +135,7 @@ in
config = mkMerge [
(mkIf (cfg.enable && config.services.postfix.enable && cfg.configurePostfix) {
# https://github.com/Zuplu/postfix-tlspol#postfix-configuration
services.postfix.config = {
services.postfix.settings.main = {
smtp_dns_support_level = "dnssec";
smtp_tls_security_level = "dane";
smtp_tls_policy_maps =
+338 -222
View File
@@ -6,6 +6,7 @@
}:
let
inherit (lib)
literalExpression
mkOption
types
;
@@ -52,10 +53,8 @@ let
mkEntry = name: value: "${escape name} =${mkVal value}";
in
lib.concatStringsSep "\n" (
lib.mapAttrsToList mkEntry (lib.filterAttrsRecursive (_: value: value != null) cfg.config)
)
+ "\n"
+ cfg.extraConfig;
lib.mapAttrsToList mkEntry (lib.filterAttrsRecursive (_: value: value != null) cfg.settings.main)
);
masterCfOptions =
{
@@ -236,7 +235,7 @@ let
""
];
masterCf = lib.mapAttrsToList (lib.const (lib.getAttr "rawEntry")) cfg.masterConfig;
masterCf = lib.mapAttrsToList (lib.const (lib.getAttr "rawEntry")) cfg.settings.master;
# A list of the maximum width of the columns across all lines and labels
maxWidths =
@@ -341,6 +340,11 @@ in
{
meta.maintainers = with lib.maintainers; [
dotlambda
hexa
];
###### interface
options = {
@@ -356,23 +360,47 @@ in
enableSmtp = lib.mkOption {
type = lib.types.bool;
default = true;
description = "Whether to enable smtp in master.cf.";
description = ''
Whether to enable the `smtp` service configured in the master.cf.
This service listens for plain text SMTP connections on port 25
and supports explicit TLS via StartTLS.
It is the primary port used by SMTP servers to exchange mail.
'';
};
enableSubmission = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Whether to enable smtp submission.";
description = "
Whether to enable the `submission` service configured in master.cf.
This service listens for plain text SMTP connections on port 587
and supports explicit TLS via StartTLS.
It is a way for clients to login and submit mails after an inband
connection upgrade using StartTLS.
::: {.warning}
[RFC 8314](https://www.rfc-editor.org/rfc/rfc8314) discourages the use
of explicit TLS for mail submissionn.
:::
";
};
enableSubmissions = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether to enable smtp submission via smtps.
Whether to enable the `submissions` service configured in master.cf.
According to RFC 8314 this should be preferred
over STARTTLS for submission of messages by end user clients.
This service listen for implicit TLS connections on port 465.
::: {.info}
Per [RFC 8314](https://www.rfc-editor.org/rfc/rfc8314) implicit TLS
is recommended for mail submission.
:::
'';
};
@@ -444,95 +472,6 @@ in
'';
};
networks = lib.mkOption {
type = lib.types.nullOr (lib.types.listOf lib.types.str);
default = null;
example = [ "192.168.0.1/24" ];
description = ''
Net masks for trusted - allowed to relay mail to third parties -
hosts. Leave empty to use mynetworks_style configuration or use
default (localhost-only).
'';
};
networksStyle = lib.mkOption {
type = lib.types.str;
default = "";
description = ''
Name of standard way of trusted network specification to use,
leave blank if you specify it explicitly or if you want to use
default (localhost-only).
'';
};
hostname = lib.mkOption {
type = lib.types.str;
default = "";
description = ''
Hostname to use. Leave blank to use just the hostname of machine.
It should be FQDN.
'';
};
domain = lib.mkOption {
type = lib.types.str;
default = "";
description = ''
Domain to use. Leave blank to use hostname minus first component.
'';
};
origin = lib.mkOption {
type = lib.types.str;
default = "";
description = ''
Origin to use in outgoing e-mail. Leave blank to use hostname.
'';
};
destination = lib.mkOption {
type = lib.types.nullOr (lib.types.listOf lib.types.str);
default = null;
example = [ "localhost" ];
description = ''
Full (!) list of domains we deliver locally. Leave blank for
acceptable Postfix default.
'';
};
relayDomains = lib.mkOption {
type = lib.types.nullOr (lib.types.listOf lib.types.str);
default = null;
example = [ "localdomain" ];
description = ''
List of domains we agree to relay to. Default is empty.
'';
};
relayHost = lib.mkOption {
type = lib.types.str;
default = "";
description = ''
Mail relay for outbound mail.
'';
};
relayPort = lib.mkOption {
type = lib.types.int;
default = 25;
description = ''
SMTP port for relay mail relay.
'';
};
lookupMX = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether relay specified is just domain whose MX must be used.
'';
};
postmasterAlias = lib.mkOption {
type = lib.types.str;
default = "root";
@@ -572,93 +511,255 @@ in
description = "The format the alias map should have. Use regexp if you want to use regular expressions.";
};
config = lib.mkOption {
type = lib.types.submodule {
freeformType =
with types;
attrsOf (
nullOr (oneOf [
bool
int
str
(listOf str)
])
);
options = {
smtpd_tls_chain_files = mkOption {
type = with types; listOf path;
default = [ ];
example = [
"/var/lib/acme/mail.example.com/privkey.pem"
"/var/lib/acme/mail.example.com/fullchain.pem"
];
description = ''
List of paths to the server private keys and certificates.
settings = {
main = lib.mkOption {
type = lib.types.submodule {
freeformType =
with types;
attrsOf (
nullOr (oneOf [
bool
int
str
(listOf str)
])
);
options = {
message_size_limit = mkOption {
type = with types; nullOr int;
default = 10240000; # 10 MiB
example = 52428800; # 50 MiB
description = ''
Maximum size of an email message in bytes.
::: {.caution}
The order of items matters and a private key must always be followed by the corresponding certificate.
:::
<https://www.postfix.org/postconf.5.html#message_size_limit>
'';
};
<https://www.postfix.org/postconf.5.html#smtpd_tls_chain_files>
'';
mydestination = mkOption {
type =
with types;
nullOr (oneOf [
str
(listOf str)
]);
default = [
"$myhostname"
"localhost.$mydomain"
"localhost"
];
description = ''
List of domain names intended for local delivery using /etc/passwd and /etc/aliases.
::: {.warning}
Do not include [virtual](https://www.postfix.org/VIRTUAL_README.html) domains in this list.
:::
<https://www.postfix.org/postconf.5.html#mydestination>
'';
};
myhostname = mkOption {
type = with types; nullOr types.str;
default = null;
example = "mail.example.com";
description = ''
The internet hostname of this mail system.
Leave unset to default to the system hostname with the {option}`mydomain` suffix.
<https://www.postfix.org/postconf.5.html#myhostname>
'';
};
mynetworks = mkOption {
type = with types; nullOr (listOf str);
default = null;
example = [
"127.0.0.0/8"
"::1"
];
description = ''
List of trusted remote SMTP clients, that are allowed to relay mail.
Leave unset to let Postfix populate this list based on the {option}`mynetworks_style` setting.
<https://www.postfix.org/postconf.5.html#mynetworks>
'';
};
mynetworks_style = mkOption {
type =
with types;
nullOr (enum [
"host"
"subnet"
"class"
]);
default = "host";
description = ''
The method used for generating the default value for {option}`mynetworks`, if that option is unset.
<https://www.postfix.org/postconf.5.html#mynetworks_style>
'';
};
recipient_delimiter = lib.mkOption {
type = with types; nullOr str;
default = "";
example = "+";
description = ''
Set of characters used as the delimiters for address extensions.
This allows creating different forwarding rules per extension.
<https://www.postfix.org/postconf.5.html#recipient_delimiter>
'';
};
relayhost = mkOption {
type = with types; nullOr (listOf str);
default = [ ];
example = [ "[relay.example.com]:587" ];
description = ''
List of hosts to use for relaying outbound mail.
::: {.note}
Putting the hostname in angled brackets, e.g. `[relay.example.com]`, turns off MX and SRV lookups for the hostname.
:::
<https://www.postfix.org/postconf.5.html#relayhost>
'';
};
relay_domains = mkOption {
type = with types; nullOr (listOf str);
default = [ ];
example = [ "lists.example.com" ];
description = ''
List of domains delivered via the relay transport.
<https://www.postfix.org/postconf.5.html#relay_domains>
'';
};
smtp_tls_CAfile = mkOption {
type = types.path;
default = config.security.pki.caBundle;
defaultText = literalExpression ''
config.security.pki.caBundle
'';
example = literalExpression ''
''${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt
'';
description = ''
File containing CA certificates of root CAs trusted to sign either remote SMTP server certificates or intermediate CA certificates.
Defaults to the system CA bundle that is managed through the `security.pki` options.
<https://www.postfix.org/postconf.5.html#smtp_tls_CAfile>
'';
};
smtp_tls_security_level = mkOption {
type = types.enum [
"none"
"may"
"encrypt"
"dane"
"dane-only"
"fingerprint"
"verify"
"secure"
];
default = "may";
description = ''
The client TLS security level.
::: {.tip}
Use `dane` with a local DNSSEC validating DNS resolver enabled.
:::
<https://www.postfix.org/postconf.5.html#smtp_tls_security_level>
'';
};
smtpd_tls_chain_files = mkOption {
type = with types; listOf path;
default = [ ];
example = [
"/var/lib/acme/mail.example.com/privkey.pem"
"/var/lib/acme/mail.example.com/fullchain.pem"
];
description = ''
List of paths to the server private keys and certificates.
::: {.caution}
The order of items matters and a private key must always be followed by the corresponding certificate.
:::
<https://www.postfix.org/postconf.5.html#smtpd_tls_chain_files>
'';
};
smtpd_tls_security_level = mkOption {
type = types.enum [
"none"
"may"
"encrypt"
];
default =
if config.services.postfix.settings.main.smtpd_tls_chain_files != [ ] then "may" else "none";
defaultText = lib.literalExpression ''
if config.services.postfix.settings.main.smtpd_tls_chain_files != [ ] then "may" else "none"
'';
example = "may";
description = ''
The server TLS security level. Enable TLS by configuring at least `may`.
<https://www.postfix.org/postconf.5.html#smtpd_tls_security_level>
'';
};
};
};
smtpd_tls_security_level = mkOption {
type = types.enum [
"none"
"may"
"encrypt"
];
default = if config.services.postfix.config.smtpd_tls_chain_files != [ ] then "may" else "none";
defaultText = lib.literalExpression ''
if config.services.postfix.config.smtpd_tls_chain_files != [ ] then "may" else "none"
'';
example = "may";
description = ''
The server TLS security level. Enable TLS by configuring at least `may`.
description = ''
The main.cf configuration file as key value set.
<https://www.postfix.org/postconf.5.html#smtpd_tls_security_level>
'';
};
Null values will not be rendered.
::: {.tip}
Check `postconf -d` for the default values of all settings.
:::
'';
example = {
mail_owner = "postfix";
smtp_tls_security_level = "may";
};
};
description = ''
The main.cf configuration file as key value set.
master = lib.mkOption {
type = lib.types.attrsOf (lib.types.submodule masterCfOptions);
default = { };
example = {
submission = {
type = "inet";
args = [
"-o"
"smtpd_tls_security_level=encrypt"
];
};
};
description = ''
The {file}`master.cf` configuration file as an attribute set of service
defitions
Null values will not be rendered.
'';
example = {
mail_owner = "postfix";
smtp_tls_security_level = "may";
::: {.tip}
Check <https://www.postfix.org/master.5.html> for possible settings.
:::
'';
};
};
extraConfig = lib.mkOption {
type = lib.types.lines;
default = "";
description = ''
Extra lines to be added verbatim to the main.cf configuration file.
'';
};
tlsTrustedAuthorities = lib.mkOption {
type = lib.types.str;
default = config.security.pki.caBundle;
defaultText = lib.literalExpression "config.security.pki.caBundle";
example = lib.literalExpression ''"''${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"'';
description = ''
File containing trusted certification authorities (CA) to verify certificates of mailservers contacted for mail delivery. This sets [smtp_tls_CAfile](https://www.postfix.org/postconf.5.html#smtp_tls_CAfile). Defaults to system trusted certificates (see `security.pki.*` options).
'';
};
recipientDelimiter = lib.mkOption {
type = lib.types.str;
default = "";
example = "+";
description = ''
Delimiter for address extension: so mail to user+test can be handled by ~user/.forward+test
'';
};
canonical = lib.mkOption {
@@ -722,25 +823,6 @@ in
description = "contents of check_client_access for overriding dnsBlacklists";
};
masterConfig = lib.mkOption {
type = lib.types.attrsOf (lib.types.submodule masterCfOptions);
default = { };
example = {
submission = {
type = "inet";
args = [
"-o"
"smtpd_tls_security_level=encrypt"
];
};
};
description = ''
An attribute set of service options, which correspond to the service
definitions usually done within the Postfix
{file}`master.cf` file.
'';
};
extraMasterConf = lib.mkOption {
type = lib.types.lines;
default = "";
@@ -941,7 +1023,7 @@ in
};
};
services.postfix.config =
services.postfix.settings.main =
(lib.mapAttrs (_: v: lib.mkDefault v) {
compatibility_level = pkgs.postfix.version;
mail_owner = cfg.user;
@@ -966,24 +1048,6 @@ in
mail_spool_directory = "/var/spool/mail/";
setgid_group = cfg.setgidGroup;
})
// lib.optionalAttrs (cfg.relayHost != "") {
relayhost =
if cfg.lookupMX then
"${cfg.relayHost}:${toString cfg.relayPort}"
else
"[${cfg.relayHost}]:${toString cfg.relayPort}";
}
// lib.optionalAttrs (!config.networking.enableIPv6) { inet_protocols = lib.mkDefault "ipv4"; }
// lib.optionalAttrs (cfg.networks != null) { mynetworks = cfg.networks; }
// lib.optionalAttrs (cfg.networksStyle != "") { mynetworks_style = cfg.networksStyle; }
// lib.optionalAttrs (cfg.hostname != "") { myhostname = cfg.hostname; }
// lib.optionalAttrs (cfg.domain != "") { mydomain = cfg.domain; }
// lib.optionalAttrs (cfg.origin != "") { myorigin = cfg.origin; }
// lib.optionalAttrs (cfg.destination != null) { mydestination = cfg.destination; }
// lib.optionalAttrs (cfg.relayDomains != null) { relay_domains = cfg.relayDomains; }
// lib.optionalAttrs (cfg.recipientDelimiter != "") {
recipient_delimiter = cfg.recipientDelimiter;
}
// lib.optionalAttrs haveAliases { alias_maps = [ "${cfg.aliasMapType}:/etc/postfix/aliases" ]; }
// lib.optionalAttrs haveTransport { transport_maps = [ "hash:/etc/postfix/transport" ]; }
// lib.optionalAttrs haveVirtual {
@@ -998,13 +1062,9 @@ in
// lib.optionalAttrs (cfg.dnsBlacklists != [ ]) { smtpd_client_restrictions = clientRestrictions; }
// lib.optionalAttrs cfg.enableHeaderChecks {
header_checks = [ "regexp:/etc/postfix/header_checks" ];
}
// lib.optionalAttrs (cfg.tlsTrustedAuthorities != "") {
smtp_tls_CAfile = cfg.tlsTrustedAuthorities;
smtp_tls_security_level = lib.mkDefault "may";
};
services.postfix.masterConfig = {
services.postfix.settings.master = {
pickup = {
private = false;
wakeup = 60;
@@ -1163,18 +1223,74 @@ in
imports = [
(lib.mkRemovedOptionModule [ "services" "postfix" "sslCACert" ]
"services.postfix.sslCACert was replaced by services.postfix.tlsTrustedAuthorities. In case you intend that your server should validate requested client certificates use services.postfix.extraConfig."
"services.postfix.sslCACert was replaced by services.postfix.tlsTrustedAuthorities. In case you intend that your server should validate requested client certificates use services.postfix.settings.main.smtp_tls_CAfile."
)
(lib.mkRemovedOptionModule [ "services" "postfix" "sslCert" ]
"services.postfix.sslCert was removed. Use services.postfix.config.smtpd_tls_chain_files for the server certificate, or services.postfix.config.smtp_tls_chain_files for the client certificate."
"services.postfix.sslCert was removed. Use services.postfix.settings.main.smtpd_tls_chain_files for the server certificate, or services.postfix.settings.main.smtp_tls_chain_files for the client certificate."
)
(lib.mkRemovedOptionModule [ "services" "postfix" "sslKey" ]
"services.postfix.sslKey was removed. Use services.postfix.config.smtpd_tls_chain_files for server private key, or services.postfix.config.smtp_tls_chain_files for the client private key."
"services.postfix.sslKey was removed. Use services.postfix.settings.main.smtpd_tls_chain_files for server private key, or services.postfix.settings.main.smtp_tls_chain_files for the client private key."
)
(lib.mkRemovedOptionModule [ "services" "postfix" "lookupMX" ]
"services.postfix.lookupMX was removed. Use services.postfix.settings.main.relayhost and put the hostname in angled brackets, if you need to turn off MX and SRV lookups."
)
(lib.mkRemovedOptionModule [ "services" "postfix" "relayHost" ]
"services.postfix.relayHost was removed in favor of services.postfix.settings.main.relayhost, which now takes a list of host/port."
)
(lib.mkRemovedOptionModule [ "services" "postfix" "relayPort" ]
"services.postfix.relayHost was removed in favor of services.postfix.settings.main.relayhost, which now takes a list of host/port."
)
(lib.mkRemovedOptionModule [ "services" "postfix" "extraConfig" ]
"services.postfix.extraConfig was replaced by the structured freeform service.postfix.settings.main option."
)
(lib.mkRenamedOptionModule
[ "services" "postfix" "networks" ]
[ "services" "postfix" "settings" "main" "mynetworks" ]
)
(lib.mkRenamedOptionModule
[ "services" "postfix" "networkStyle" ]
[ "services" "postfix" "settings" "main" "mynetworks_style" ]
)
(lib.mkRenamedOptionModule
[ "services" "postfix" "hostname" ]
[ "services" "postfix" "settings" "main" "myhostname" ]
)
(lib.mkRenamedOptionModule
[ "services" "postfix" "domain" ]
[ "services" "postfix" "settings" "main" "mydomain" ]
)
(lib.mkRenamedOptionModule
[ "services" "postfix" "origin" ]
[ "services" "postfix" "settings" "main" "myorigin" ]
)
(lib.mkRenamedOptionModule
[ "services" "postfix" "destination" ]
[ "services" "postfix" "settings" "main" "mydestination" ]
)
(lib.mkRenamedOptionModule
[ "services" "postfix" "relayDomains" ]
[ "services" "postfix" "settings" "main" "relay_domains" ]
)
(lib.mkRenamedOptionModule
[ "services" "postfix" "recipientDelimiter" ]
[ "services" "postfix" "settings" "main" "recipient_delimiter" ]
)
(lib.mkRenamedOptionModule
[ "services" "postfix" "tlsTrustedAuthoriies" ]
[ "services" "postfix" "settings" "main" "smtp_tls_CAfile" ]
)
(lib.mkRenamedOptionModule
[ "services" "postfix" "config" ]
[ "services" "postfix" "settings" "main" ]
)
(lib.mkRenamedOptionModule
[ "services" "postfix" "masterConfig" ]
[ "services" "postfix" "settings" "master" ]
)
(lib.mkChangedOptionModule
[ "services" "postfix" "useDane" ]
[ "services" "postfix" "config" "smtp_tls_security_level" ]
[ "services" "postfix" "settings" "main" "smtp_tls_security_level" ]
(config: lib.mkIf config.services.postfix.useDane "dane")
)
(lib.mkRenamedOptionModule [ "services" "postfix" "useSrs" ] [ "services" "pfix-srsd" "enable" ])
+1 -1
View File
@@ -235,7 +235,7 @@ in
config = lib.mkMerge [
(lib.mkIf (cfg.enable && cfg.configurePostfix && config.services.postfix.enable) {
services.postfix.config = {
services.postfix.settings.main = {
# https://github.com/roehling/postsrsd#configuration
sender_canonical_maps = "socketmap:${cfg.settings.socketmap}:forward";
sender_canonical_classes = "envelope_sender";
+2 -2
View File
@@ -426,7 +426,7 @@ in
};
services.postfix = mkIf (cfg.postfix.enable && cfg.mda.enable) {
# Not sure limiting to 1 is necessary, but better safe than sorry.
config.public-inbox_destination_recipient_limit = "1";
settings.main.public-inbox_destination_recipient_limit = "1";
# Register the addresses as existing
virtual = concatStringsSep "\n" (
@@ -443,7 +443,7 @@ in
);
# The public-inbox transport
masterConfig.public-inbox = {
settings.master.public-inbox = {
type = "unix";
privileged = true; # Required for user=
command = "pipe";
+1 -1
View File
@@ -451,7 +451,7 @@ in
'';
};
};
services.postfix.config = mkIf cfg.postfix.enable cfg.postfix.config;
services.postfix.settings.main = mkIf cfg.postfix.enable cfg.postfix.config;
systemd.services.postfix = mkIf cfg.postfix.enable {
serviceConfig.SupplementaryGroups = [ postfixCfg.group ];
+1 -3
View File
@@ -115,9 +115,7 @@ in
flags=DRhu user=schleuder argv=/${pkgs.schleuder}/bin/schleuder work ''${recipient}
'';
transport = lib.mkIf (cfg.lists != [ ]) (postfixMap (lib.genAttrs cfg.lists (_: "schleuder:")));
extraConfig = ''
schleuder_destination_recipient_limit = 1
'';
settings.main.schleuder_destination_recipient_limit = 1;
# review: does this make sense?
localRecipients = lib.mkIf (cfg.lists != [ ]) cfg.lists;
};
+38 -36
View File
@@ -585,44 +585,46 @@ in
services.postfix = lib.mkIf (cfg.mta.type == "postfix") {
enable = true;
recipientDelimiter = "+";
config = {
virtual_alias_maps = [ "hash:${dataDir}/virtual.sympa" ];
virtual_mailbox_maps = [
"hash:${dataDir}/transport.sympa"
"hash:${dataDir}/sympa_transport"
"hash:${dataDir}/virtual.sympa"
];
virtual_mailbox_domains = [ "hash:${dataDir}/transport.sympa" ];
transport_maps = [
"hash:${dataDir}/transport.sympa"
"hash:${dataDir}/sympa_transport"
];
};
masterConfig = {
"sympa" = {
type = "unix";
privileged = true;
chroot = false;
command = "pipe";
args = [
"flags=hqRu"
"user=${user}"
"argv=${pkg}/libexec/queue"
"\${nexthop}"
settings = {
main = {
recipient_delimiter = "+";
virtual_alias_maps = [ "hash:${dataDir}/virtual.sympa" ];
virtual_mailbox_maps = [
"hash:${dataDir}/transport.sympa"
"hash:${dataDir}/sympa_transport"
"hash:${dataDir}/virtual.sympa"
];
virtual_mailbox_domains = [ "hash:${dataDir}/transport.sympa" ];
transport_maps = [
"hash:${dataDir}/transport.sympa"
"hash:${dataDir}/sympa_transport"
];
};
"sympabounce" = {
type = "unix";
privileged = true;
chroot = false;
command = "pipe";
args = [
"flags=hqRu"
"user=${user}"
"argv=${pkg}/libexec/bouncequeue"
"\${nexthop}"
];
master = {
"sympa" = {
type = "unix";
privileged = true;
chroot = false;
command = "pipe";
args = [
"flags=hqRu"
"user=${user}"
"argv=${pkg}/libexec/queue"
"\${nexthop}"
];
};
"sympabounce" = {
type = "unix";
privileged = true;
chroot = false;
command = "pipe";
args = [
"flags=hqRu"
"user=${user}"
"argv=${pkg}/libexec/bouncequeue"
"\${nexthop}"
];
};
};
};
};
+1 -1
View File
@@ -128,6 +128,6 @@ in
-o smtpd_authorized_xforward_hosts=127.0.0.0/8,[::1]/128
'';
services.postfix.extraConfig = "content_filter = zeyple";
services.postfix.settings.main.content_filter = "zeyple";
};
}
@@ -427,9 +427,9 @@ in
services.postfix = lib.mkIf cfg.provision.localMail.enable {
enable = true;
origin = cfg.provision.localMail.hostname;
config = {
settings.main = {
myhostname = cfg.provision.localMail.hostname;
myorigin = cfg.provision.localMail.hostname;
mydestination = cfg.provision.localMail.hostname;
};
};
+10 -6
View File
@@ -1076,24 +1076,28 @@ in
services.postfix = lib.mkIf cfg.mail.incoming.enable {
enable = true;
sslCert = lib.optionalString (cfg.sslCertificate != null) cfg.sslCertificate;
sslKey = lib.optionalString (cfg.sslCertificateKey != null) cfg.sslCertificateKey;
origin = cfg.hostname;
relayDomains = [ cfg.hostname ];
config = {
settings.main = {
smtpd_recipient_restrictions = "check_policy_service unix:private/discourse-policy";
append_dot_mydomain = lib.mkDefault false;
compatibility_level = "2";
smtputf8_enable = false;
smtpd_banner = lib.mkDefault "ESMTP server";
smtpd_tls_chain_files =
lib.optionals (cfg.sslCertificate != null && cfg.sslCertificateKey != null)
[
cfg.sslCertificateKey
cfg.sslCertificate
];
myhostname = lib.mkDefault cfg.hostname;
mydestination = lib.mkDefault "localhost";
myorigin = cfg.hostname;
relay_domains = [ cfg.hostname ];
};
transport = ''
${cfg.hostname} discourse-mail-receiver:
'';
masterConfig = {
settings.master = {
"discourse-mail-receiver" = {
type = "unix";
privileged = true;
+1 -1
View File
@@ -1100,7 +1100,7 @@ in
services.postfix = lib.mkIf (cfg.smtp.createLocally && cfg.smtp.host == "127.0.0.1") {
enable = true;
hostname = lib.mkDefault "${cfg.localDomain}";
settings.main.myhostname = lib.mkDefault "${cfg.localDomain}";
};
services.redis.servers.mastodon = lib.mkIf redisActuallyCreateLocally (
+1 -1
View File
@@ -959,7 +959,7 @@ in
services.postfix = lib.mkIf cfg.smtp.createLocally {
enable = true;
hostname = lib.mkDefault "${cfg.localDomain}";
settings.main.myhostname = lib.mkDefault "${cfg.localDomain}";
};
users.users = lib.mkMerge [
+8 -5
View File
@@ -27,11 +27,14 @@ in
enable = true;
enableSubmission = true;
enableSubmissions = true;
tlsTrustedAuthorities = "${certs.ca.cert}";
config.smtpd_tls_chain_files = [
"${certs.${domain}.key}"
"${certs.${domain}.cert}"
];
settings.main = {
smtp_tls_CAfile = "${certs.ca.cert}";
smtpd_tls_chain_files = [
"${certs.${domain}.key}"
"${certs.${domain}.cert}"
];
};
};
services.dovecot2 = {
enable = true;
+5 -5
View File
@@ -107,13 +107,13 @@ in
services.postfix = {
enable = true;
origin = clientDomain;
relayDomains = [ clientDomain ];
config = {
settings.main = {
compatibility_level = "2";
smtpd_banner = "ESMTP server";
mydestination = [ clientDomain ];
myhostname = clientDomain;
mydestination = clientDomain;
origin = clientDomain;
relay_domains = [ clientDomain ];
smtpd_banner = "ESMTP server";
};
};
+12 -10
View File
@@ -13,16 +13,18 @@
services.mailman.webHosts = [ "example.com" ];
services.postfix.enable = true;
services.postfix.destination = [
"example.com"
"example.net"
];
services.postfix.relayDomains = [ "hash:/var/lib/mailman/data/postfix_domains" ];
services.postfix.config.local_recipient_maps = [
"hash:/var/lib/mailman/data/postfix_lmtp"
"proxy:unix:passwd.byname"
];
services.postfix.config.transport_maps = [ "hash:/var/lib/mailman/data/postfix_lmtp" ];
services.postfix.settings.main = {
mydestination = [
"example.com"
"example.net"
];
relay_domains = [ "hash:/var/lib/mailman/data/postfix_domains" ];
local_recipient_maps = [
"hash:/var/lib/mailman/data/postfix_lmtp"
"proxy:unix:passwd.byname"
];
transport_maps = [ "hash:/var/lib/mailman/data/postfix_lmtp" ];
};
users.users.user = {
isNormalUser = true;
+4 -5
View File
@@ -182,16 +182,15 @@ in
services.postfix = {
enable = true;
hostname = "${mailerDomain}";
# open relay for subnet
networksStyle = "subnet";
enableSubmission = true;
tlsTrustedAuthorities = "${mailerCerts.ca.cert}";
# blackhole transport
transport = "example.com discard:silently";
config = {
settings.main = {
myhostname = "${mailerDomain}";
# open relay for subnet
mynetworks_style = "subnet";
debug_peer_level = "10";
smtpd_relay_restrictions = [
"permit_mynetworks"
+1 -1
View File
@@ -184,7 +184,7 @@ in
services.postfix = {
enable = true;
origin = mailDomain;
config = {
settings.main = {
myhostname = mailDomain;
mydestination = mailDomain;
};
+7 -5
View File
@@ -13,11 +13,13 @@ import ./make-test-python.nix {
enable = true;
enableSubmission = true;
enableSubmissions = true;
tlsTrustedAuthorities = "${certs.ca.cert}";
config.smtpd_tls_chain_files = [
certs.${domain}.key
certs.${domain}.cert
];
settings.main = {
smtp_tls_CAfile = "${certs.ca.cert}";
smtpd_tls_chain_files = [
certs.${domain}.key
certs.${domain}.cert
];
};
submissionsOptions = {
smtpd_sasl_auth_enable = "yes";
smtpd_client_restrictions = "permit";
+1 -1
View File
@@ -166,7 +166,7 @@ in
setSendmail = true;
#sslCert = "${tls-cert}/cert.pem";
#sslKey = "${tls-cert}/key.pem";
recipientDelimiter = "+";
settings.main.recipient_delimiter = "+";
};
environment.systemPackages = [
+1 -1
View File
@@ -293,7 +293,7 @@ in
};
services.postfix = {
enable = true;
destination = [ "example.com" ];
settings.main.mydestination = [ "example.com" ];
};
services.rspamd = {
enable = true;
+9 -7
View File
@@ -11,13 +11,15 @@ in
services.postfix = {
enable = true;
enableSubmission = true;
tlsTrustedAuthorities = "${certs.ca.cert}";
config.smtpd_tls_chain_files = [
"${certs.${domain}.key}"
"${certs.${domain}.cert}"
];
inherit domain;
destination = [ domain ];
settings.main = {
mydomain = domain;
destination = domain;
smtp_tls_CAfile = "${certs.ca.cert}";
smtpd_tls_chain_files = [
"${certs.${domain}.key}"
"${certs.${domain}.cert}"
];
};
localRecipients = [
"root"
"alice"
@@ -42,6 +42,7 @@ stdenvNoCC.mkDerivation {
cp -Tr *.app "$APP_DIR"
mkdir -p "$out/bin"
cat << EOF > "$out/bin/${loname}"
#!${stdenvNoCC.shell}
open -na '$APP_DIR' --args "\$@"
EOF
chmod +x "$out/bin/${loname}"
@@ -11,10 +11,10 @@
"clion": {
"update-channel": "CLion RELEASE",
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.tar.gz",
"version": "2025.1.2",
"sha256": "3bdd0cd731bcdcd15de7ebee3ec36a13b82b72f68a77f6e6e780e36d88acd51e",
"url": "https://download.jetbrains.com/cpp/CLion-2025.1.2.tar.gz",
"build_number": "251.26094.123"
"version": "2025.1.4",
"sha256": "8d90be9d11c0f47b380f4a9f705058215817edf043bdcea2223d788d25193f78",
"url": "https://download.jetbrains.com/cpp/CLion-2025.1.4.tar.gz",
"build_number": "251.27812.15"
},
"datagrip": {
"update-channel": "DataGrip RELEASE",
@@ -27,10 +27,10 @@
"dataspell": {
"update-channel": "DataSpell RELEASE",
"url-template": "https://download.jetbrains.com/python/dataspell-{version}.tar.gz",
"version": "2025.1.1",
"sha256": "e0711b629ad45d6d051fd9796bf81689d46212fdd8f21306128a8522097ca3e9",
"url": "https://download.jetbrains.com/python/dataspell-2025.1.1.tar.gz",
"build_number": "251.25410.158"
"version": "2025.1.2.1",
"sha256": "1759516154a989ad1bcbc0e0cc29eb7b50c5c96b910c1a8926ae87ea5aa07ea6",
"url": "https://download.jetbrains.com/python/dataspell-2025.1.2.1.tar.gz",
"build_number": "251.26927.91"
},
"gateway": {
"update-channel": "Gateway RELEASE",
@@ -43,26 +43,26 @@
"goland": {
"update-channel": "GoLand RELEASE",
"url-template": "https://download.jetbrains.com/go/goland-{version}.tar.gz",
"version": "2025.1.2",
"sha256": "18d4465e8c50911d8f4ecd7ba75ee1aa14cf3d05eb4df39790729cf67bf2a638",
"url": "https://download.jetbrains.com/go/goland-2025.1.2.tar.gz",
"build_number": "251.26094.127"
"version": "2025.1.4",
"sha256": "42efe9cc97248403e868180339f403ab390e9a335a658bd7aa905b64c03c7a31",
"url": "https://download.jetbrains.com/go/goland-2025.1.4.tar.gz",
"build_number": "251.27812.54"
},
"idea-community": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.tar.gz",
"version": "2025.1.2",
"sha256": "70dc870bd31fda67de30d3a132cfed543d5e67c15c7db52f6f4c4691a044930a",
"url": "https://download.jetbrains.com/idea/ideaIC-2025.1.2.tar.gz",
"build_number": "251.26094.121"
"version": "2025.1.4.1",
"sha256": "34e0d7d20b6ff303cfbb97c75147b11a437221b96783687d9909adf1d56817ff",
"url": "https://download.jetbrains.com/idea/ideaIC-2025.1.4.1.tar.gz",
"build_number": "251.27812.49"
},
"idea-ultimate": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.tar.gz",
"version": "2025.1.2",
"sha256": "1e675bda1314ae914b64b31a22309ba2eba6f35e6659e53d4b291e73c2fb856b",
"url": "https://download.jetbrains.com/idea/ideaIU-2025.1.2.tar.gz",
"build_number": "251.26094.121"
"version": "2025.1.4.1",
"sha256": "d1335bcdcac3746a10d6b3346f06ab6d34c9ad14c4af759322d9a93f7b428894",
"url": "https://download.jetbrains.com/idea/ideaIU-2025.1.4.1.tar.gz",
"build_number": "251.27812.49"
},
"mps": {
"update-channel": "MPS RELEASE",
@@ -75,59 +75,59 @@
"phpstorm": {
"update-channel": "PhpStorm RELEASE",
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.tar.gz",
"version": "2025.1.2",
"sha256": "229f3afde8e3466e1d262de915420f66a5fc97858788cc08f7d0f0b826c2a77b",
"url": "https://download.jetbrains.com/webide/PhpStorm-2025.1.2.tar.gz",
"build_number": "251.26094.133",
"version": "2025.1.4.1",
"sha256": "92cd8d570d0307188190761c7cd0d0f77351ff119735073c2a101e4a364292b4",
"url": "https://download.jetbrains.com/webide/PhpStorm-2025.1.4.1.tar.gz",
"build_number": "251.27812.52",
"version-major-minor": "2022.3"
},
"pycharm-community": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.tar.gz",
"version": "2025.1.2",
"sha256": "193fbbb638235c4c671bb6c6b432f43a2d46f7f7ebd6b5f2cc8a1db7db93c5d6",
"url": "https://download.jetbrains.com/python/pycharm-community-2025.1.2.tar.gz",
"build_number": "251.26094.141"
"version": "2025.1.3.1",
"sha256": "17899a66ee4261fdb1308ee44d455675aff1e387b24165d11afdea3a88ecb244",
"url": "https://download.jetbrains.com/python/pycharm-community-2025.1.3.1.tar.gz",
"build_number": "251.26927.90"
},
"pycharm-professional": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.tar.gz",
"version": "2025.1.2",
"sha256": "4a407779c5df9728e29698eeabdb4533911e755ead224d0c1deff959876c3108",
"url": "https://download.jetbrains.com/python/pycharm-professional-2025.1.2.tar.gz",
"build_number": "251.26094.141"
"version": "2025.1.3.1",
"sha256": "c8f5b42843ef21673dd94f0d565cda2d09dae595736e39cf510de9a0a8a07239",
"url": "https://download.jetbrains.com/python/pycharm-professional-2025.1.3.1.tar.gz",
"build_number": "251.26927.90"
},
"rider": {
"update-channel": "Rider RELEASE",
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.tar.gz",
"version": "2025.1.2",
"sha256": "cdf8a824c7daa3247b09d76a29acb31cfa623b90643d3d2a814982cb0a32879d",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2025.1.2.tar.gz",
"build_number": "251.25410.119"
"version": "2025.1.4",
"sha256": "88dc7c4b6581aab5f6a2713061ea10e7ad0f0735e92258f4a3aaba59964440ee",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2025.1.4.tar.gz",
"build_number": "251.26927.67"
},
"ruby-mine": {
"update-channel": "RubyMine RELEASE",
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.tar.gz",
"version": "2025.1.2",
"sha256": "2d4127e0284a262acb015c9d4247b654592e045b61664043a4de56029b45174f",
"url": "https://download.jetbrains.com/ruby/RubyMine-2025.1.2.tar.gz",
"build_number": "251.26094.122"
"version": "2025.1.4.1",
"sha256": "c89dcc2a6e50b3bb9e588a5109a7f1de80c2fd09576199904b386547e585d0e4",
"url": "https://download.jetbrains.com/ruby/RubyMine-2025.1.4.1.tar.gz",
"build_number": "251.27812.51"
},
"rust-rover": {
"update-channel": "RustRover RELEASE",
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.tar.gz",
"version": "2025.1.3",
"sha256": "b3c4999f1d7ef7deffa56bfe75f011a012842bec5c199b0090d2ac45af78ea5e",
"url": "https://download.jetbrains.com/rustrover/RustRover-2025.1.3.tar.gz",
"build_number": "251.25410.170"
"version": "2025.1.5",
"sha256": "54eda433719c132c48e733b659b29113d362fea3b9c7dd4109497ed31da7c6f6",
"url": "https://download.jetbrains.com/rustrover/RustRover-2025.1.5.tar.gz",
"build_number": "251.26927.79"
},
"webstorm": {
"update-channel": "WebStorm RELEASE",
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.tar.gz",
"version": "2025.1.2",
"sha256": "055510371e3c6a8d9fbfcd352645d847d2c092309c4746222babe4af240c2eac",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2025.1.2.tar.gz",
"build_number": "251.26094.131"
"version": "2025.1.4.1",
"sha256": "f10bfc1028350a73928b49dc51db336e9c77c680b9844d29c305218e7d5db192",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2025.1.4.1.tar.gz",
"build_number": "251.27812.50"
},
"writerside": {
"update-channel": "Writerside EAP",
@@ -150,10 +150,10 @@
"clion": {
"update-channel": "CLion RELEASE",
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.tar.gz",
"version": "2025.1.2",
"sha256": "911568cef55f23b134a4c316b5436214c2b51638c14a3b243785e19e354c2d4c",
"url": "https://download.jetbrains.com/cpp/CLion-2025.1.2-aarch64.tar.gz",
"build_number": "251.26094.123"
"version": "2025.1.4",
"sha256": "0864c25fe8bb442b3891e51382de177ff5543bf075bbd1c12767984695f2dcaa",
"url": "https://download.jetbrains.com/cpp/CLion-2025.1.4-aarch64.tar.gz",
"build_number": "251.27812.15"
},
"datagrip": {
"update-channel": "DataGrip RELEASE",
@@ -166,10 +166,10 @@
"dataspell": {
"update-channel": "DataSpell RELEASE",
"url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.tar.gz",
"version": "2025.1.1",
"sha256": "4f7f05141bee346dd29ed48dafcea24197494aa8bbc02409df9089da1c8e0be8",
"url": "https://download.jetbrains.com/python/dataspell-2025.1.1-aarch64.tar.gz",
"build_number": "251.25410.158"
"version": "2025.1.2.1",
"sha256": "a982a7e8d5b1c293b68983be792a60a885567e9af825e0fce4b2a4b6ac30c9ae",
"url": "https://download.jetbrains.com/python/dataspell-2025.1.2.1-aarch64.tar.gz",
"build_number": "251.26927.91"
},
"gateway": {
"update-channel": "Gateway RELEASE",
@@ -182,26 +182,26 @@
"goland": {
"update-channel": "GoLand RELEASE",
"url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.tar.gz",
"version": "2025.1.2",
"sha256": "71f8c4addac839823b9875e6f01f8ab98d7cf77ab9acf03c09e057cc5d030757",
"url": "https://download.jetbrains.com/go/goland-2025.1.2-aarch64.tar.gz",
"build_number": "251.26094.127"
"version": "2025.1.4",
"sha256": "4c24dddd6babfc36d70b0287bf32857d2c01c61d3ef1d2579a29f741c71fdad0",
"url": "https://download.jetbrains.com/go/goland-2025.1.4-aarch64.tar.gz",
"build_number": "251.27812.54"
},
"idea-community": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.tar.gz",
"version": "2025.1.2",
"sha256": "d98c8d7bdc3e274d278b81ba2b6c1baa38f67be9407b4bfd3bad3413c6f128f1",
"url": "https://download.jetbrains.com/idea/ideaIC-2025.1.2-aarch64.tar.gz",
"build_number": "251.26094.121"
"version": "2025.1.4.1",
"sha256": "e47ce26c036a7aabd4467c561bf0c9d85997f82f65b810bac314ef704a59ebac",
"url": "https://download.jetbrains.com/idea/ideaIC-2025.1.4.1-aarch64.tar.gz",
"build_number": "251.27812.49"
},
"idea-ultimate": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.tar.gz",
"version": "2025.1.2",
"sha256": "0f982a4f4424bde5a33206c20df053a7afe174fe9d590943665504814a273c9d",
"url": "https://download.jetbrains.com/idea/ideaIU-2025.1.2-aarch64.tar.gz",
"build_number": "251.26094.121"
"version": "2025.1.4.1",
"sha256": "5c0ba5189e4dcf114fb1b03e176780613422a71226412ea78204d1ae46bc2f52",
"url": "https://download.jetbrains.com/idea/ideaIU-2025.1.4.1-aarch64.tar.gz",
"build_number": "251.27812.49"
},
"mps": {
"update-channel": "MPS RELEASE",
@@ -214,59 +214,59 @@
"phpstorm": {
"update-channel": "PhpStorm RELEASE",
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.tar.gz",
"version": "2025.1.2",
"sha256": "2c3b703fc1d97e87fa02664bd1165ecf8439898b0a4561f522edd0252606ab5a",
"url": "https://download.jetbrains.com/webide/PhpStorm-2025.1.2-aarch64.tar.gz",
"build_number": "251.26094.133",
"version": "2025.1.4.1",
"sha256": "3e06d34ec4a49faa88492e1d6fda8fc53c8e2d01839e553024b6b4e38e2ab9cf",
"url": "https://download.jetbrains.com/webide/PhpStorm-2025.1.4.1-aarch64.tar.gz",
"build_number": "251.27812.52",
"version-major-minor": "2022.3"
},
"pycharm-community": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.tar.gz",
"version": "2025.1.2",
"sha256": "10e7426804d649d3c5bdbfc365cf85fe73dd7e74e67fd1e4c82645e8532d17e7",
"url": "https://download.jetbrains.com/python/pycharm-community-2025.1.2-aarch64.tar.gz",
"build_number": "251.26094.141"
"version": "2025.1.3.1",
"sha256": "3a648570ed0627333e7e2ef4ad0514d4b97faa4c8ed9d551ddd51c6d2b9d4482",
"url": "https://download.jetbrains.com/python/pycharm-community-2025.1.3.1-aarch64.tar.gz",
"build_number": "251.26927.90"
},
"pycharm-professional": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.tar.gz",
"version": "2025.1.2",
"sha256": "831f5563a354e617158cd88c2a63c0bda80b21c3a64fc98a3b6dc7ae22151805",
"url": "https://download.jetbrains.com/python/pycharm-professional-2025.1.2-aarch64.tar.gz",
"build_number": "251.26094.141"
"version": "2025.1.3.1",
"sha256": "00aeea43e6a056244d278502b538babd6444c9db0e93c9a7336d20a09129ed3f",
"url": "https://download.jetbrains.com/python/pycharm-professional-2025.1.3.1-aarch64.tar.gz",
"build_number": "251.26927.90"
},
"rider": {
"update-channel": "Rider RELEASE",
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.tar.gz",
"version": "2025.1.2",
"sha256": "c1ad139252fd3158aa86e9ac4532db5d9dd653807fc9f1dc4458170f3f1c3de6",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2025.1.2-aarch64.tar.gz",
"build_number": "251.25410.119"
"version": "2025.1.4",
"sha256": "42b89bf470e74807f72bab76c4a2a5e651c69d469b8d8c9b28e8763e7bc2e461",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2025.1.4-aarch64.tar.gz",
"build_number": "251.26927.67"
},
"ruby-mine": {
"update-channel": "RubyMine RELEASE",
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.tar.gz",
"version": "2025.1.2",
"sha256": "13ed96cc82771ec49ce8e9f72179ac12829f4bc2ffae6a9ab553708aec47d4a9",
"url": "https://download.jetbrains.com/ruby/RubyMine-2025.1.2-aarch64.tar.gz",
"build_number": "251.26094.122"
"version": "2025.1.4.1",
"sha256": "8a52fb75a9ec3a02b1351a531fcf029b97b48e7d86035fb4f0dac59e719ac6a5",
"url": "https://download.jetbrains.com/ruby/RubyMine-2025.1.4.1-aarch64.tar.gz",
"build_number": "251.27812.51"
},
"rust-rover": {
"update-channel": "RustRover RELEASE",
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.tar.gz",
"version": "2025.1.3",
"sha256": "4fcd2d8560dd7fe60c3262474dd1fcea1d54b476869a62ede0de86b8d115fce9",
"url": "https://download.jetbrains.com/rustrover/RustRover-2025.1.3-aarch64.tar.gz",
"build_number": "251.25410.170"
"version": "2025.1.5",
"sha256": "9c53be6d814983852e39081db69a0ec337fd7dad77f4278fbbfd246d43f7d3e4",
"url": "https://download.jetbrains.com/rustrover/RustRover-2025.1.5-aarch64.tar.gz",
"build_number": "251.26927.79"
},
"webstorm": {
"update-channel": "WebStorm RELEASE",
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.tar.gz",
"version": "2025.1.2",
"sha256": "c182bcd17ff4d0188c0e024952677dd21415456a421c5c1aaa356870f2efa009",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2025.1.2-aarch64.tar.gz",
"build_number": "251.26094.131"
"version": "2025.1.4.1",
"sha256": "198a70343a39ebfd07cff55f60fa8bf68ea8486d74a279a32c22fa52caedcf7a",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2025.1.4.1-aarch64.tar.gz",
"build_number": "251.27812.50"
},
"writerside": {
"update-channel": "Writerside EAP",
@@ -289,10 +289,10 @@
"clion": {
"update-channel": "CLion RELEASE",
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.dmg",
"version": "2025.1.2",
"sha256": "f7dde8532ba52d4cfaab37828ba52fa2e159d82baf1fa555c1a0e65bb1186a86",
"url": "https://download.jetbrains.com/cpp/CLion-2025.1.2.dmg",
"build_number": "251.26094.123"
"version": "2025.1.4",
"sha256": "73076ec3803acaf61feb0181d60a0a4a13ff33b09997995f4a57b9dc37a175ac",
"url": "https://download.jetbrains.com/cpp/CLion-2025.1.4.dmg",
"build_number": "251.27812.15"
},
"datagrip": {
"update-channel": "DataGrip RELEASE",
@@ -305,10 +305,10 @@
"dataspell": {
"update-channel": "DataSpell RELEASE",
"url-template": "https://download.jetbrains.com/python/dataspell-{version}.dmg",
"version": "2025.1.1",
"sha256": "a0b3bd8513f98e448a90132dfb61b221cab22938d8a3992627f9cb141cf71926",
"url": "https://download.jetbrains.com/python/dataspell-2025.1.1.dmg",
"build_number": "251.25410.158"
"version": "2025.1.2.1",
"sha256": "21915425a004b9148ab5fb634ab919d328a692847f3229bcd060fc46c2b91e76",
"url": "https://download.jetbrains.com/python/dataspell-2025.1.2.1.dmg",
"build_number": "251.26927.91"
},
"gateway": {
"update-channel": "Gateway RELEASE",
@@ -321,26 +321,26 @@
"goland": {
"update-channel": "GoLand RELEASE",
"url-template": "https://download.jetbrains.com/go/goland-{version}.dmg",
"version": "2025.1.2",
"sha256": "6d3c732fb3aadc7dad9bb6dafd294be04c82a4dd994223e4982b77213bf9a4b6",
"url": "https://download.jetbrains.com/go/goland-2025.1.2.dmg",
"build_number": "251.26094.127"
"version": "2025.1.4",
"sha256": "4b9ec3bf0cf040dd076b028f68f91815664cfdd11f51c68c54a60cbf1df3af25",
"url": "https://download.jetbrains.com/go/goland-2025.1.4.dmg",
"build_number": "251.27812.54"
},
"idea-community": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.dmg",
"version": "2025.1.2",
"sha256": "c64c7ff7fe2e73d7552f1727d912bb5f901d040c7269b4292f94190475580c2b",
"url": "https://download.jetbrains.com/idea/ideaIC-2025.1.2.dmg",
"build_number": "251.26094.121"
"version": "2025.1.4.1",
"sha256": "c4adb3c4cac8ff7ae1f86898c73f4946410af849df056e6dc05e8e9fc2943c49",
"url": "https://download.jetbrains.com/idea/ideaIC-2025.1.4.1.dmg",
"build_number": "251.27812.49"
},
"idea-ultimate": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.dmg",
"version": "2025.1.2",
"sha256": "bacfa3bcf48d57d8e8ca8d352895025ffc42ce395b9b0074b3b566dc217324c9",
"url": "https://download.jetbrains.com/idea/ideaIU-2025.1.2.dmg",
"build_number": "251.26094.121"
"version": "2025.1.4.1",
"sha256": "d3ee0f157d3a342efe067d7dd782b0c6ca6ca4bd3c253f93e47a7c713c8de94f",
"url": "https://download.jetbrains.com/idea/ideaIU-2025.1.4.1.dmg",
"build_number": "251.27812.49"
},
"mps": {
"update-channel": "MPS RELEASE",
@@ -353,59 +353,59 @@
"phpstorm": {
"update-channel": "PhpStorm RELEASE",
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.dmg",
"version": "2025.1.2",
"sha256": "18b63995efa4e5ef555f08089c998694b4e3fcda84013155e970524f92c1b90e",
"url": "https://download.jetbrains.com/webide/PhpStorm-2025.1.2.dmg",
"build_number": "251.26094.133",
"version": "2025.1.4.1",
"sha256": "ce91ad25859ce7081c2181468aa57fef76e4f394049cb90da5ab69f34d9d9209",
"url": "https://download.jetbrains.com/webide/PhpStorm-2025.1.4.1.dmg",
"build_number": "251.27812.52",
"version-major-minor": "2022.3"
},
"pycharm-community": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.dmg",
"version": "2025.1.2",
"sha256": "38283e62677079d7d830217087c563ac6daf5e71422c03e56082bde9572e3908",
"url": "https://download.jetbrains.com/python/pycharm-community-2025.1.2.dmg",
"build_number": "251.26094.141"
"version": "2025.1.3.1",
"sha256": "cfef4f5a640ed3f3edf61d8b4b4d0f6cc1d0696b2764da32e1d8b507260dcbad",
"url": "https://download.jetbrains.com/python/pycharm-community-2025.1.3.1.dmg",
"build_number": "251.26927.90"
},
"pycharm-professional": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.dmg",
"version": "2025.1.2",
"sha256": "41c6187f4f044522d02749f979cef8f127337b2945772070a0ba44c53a6ebf0c",
"url": "https://download.jetbrains.com/python/pycharm-professional-2025.1.2.dmg",
"build_number": "251.26094.141"
"version": "2025.1.3.1",
"sha256": "c90758075f01428a69c18f9962762d069a9a982d2f483c3834d7f2a2cee11117",
"url": "https://download.jetbrains.com/python/pycharm-professional-2025.1.3.1.dmg",
"build_number": "251.26927.90"
},
"rider": {
"update-channel": "Rider RELEASE",
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.dmg",
"version": "2025.1.2",
"sha256": "23f3479d1cff5ee1726726bea866ff755b08930e9da43b7ad250e6cb620c1dcf",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2025.1.2.dmg",
"build_number": "251.25410.119"
"version": "2025.1.4",
"sha256": "e0eb853c15bcf4eab5f06a009090fa83697cc513fbd0d68d6639d88ecd850630",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2025.1.4.dmg",
"build_number": "251.26927.67"
},
"ruby-mine": {
"update-channel": "RubyMine RELEASE",
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.dmg",
"version": "2025.1.2",
"sha256": "059d3d4c089b9277089bd7d64b8f6eedcf039fe791cddc694af434a1c5ad88c8",
"url": "https://download.jetbrains.com/ruby/RubyMine-2025.1.2.dmg",
"build_number": "251.26094.122"
"version": "2025.1.4.1",
"sha256": "80ac67a3f982b66abdae447f361c974dd2b3b086ca52ba62dc538df7002df60a",
"url": "https://download.jetbrains.com/ruby/RubyMine-2025.1.4.1.dmg",
"build_number": "251.27812.51"
},
"rust-rover": {
"update-channel": "RustRover RELEASE",
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.dmg",
"version": "2025.1.3",
"sha256": "2ed48a8d1f0afb13a5a2d59a1f478128bff406028f82290db1f9b2847a1e6ade",
"url": "https://download.jetbrains.com/rustrover/RustRover-2025.1.3.dmg",
"build_number": "251.25410.170"
"version": "2025.1.5",
"sha256": "320183fdab31207bf56396e97ba4c15549feec71885f5f390a70a1c1cd81ecc7",
"url": "https://download.jetbrains.com/rustrover/RustRover-2025.1.5.dmg",
"build_number": "251.26927.79"
},
"webstorm": {
"update-channel": "WebStorm RELEASE",
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.dmg",
"version": "2025.1.2",
"sha256": "c33853a8d8a2dd47ce3a795202e2d802a9f1888b2c998c91cdfc9bc66f9bb19a",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2025.1.2.dmg",
"build_number": "251.26094.131"
"version": "2025.1.4.1",
"sha256": "d77d8a8547cd0ca8a97dc8e4164f169e470d26bfe51274d0a4456ed4d856d226",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2025.1.4.1.dmg",
"build_number": "251.27812.50"
},
"writerside": {
"update-channel": "Writerside EAP",
@@ -428,10 +428,10 @@
"clion": {
"update-channel": "CLion RELEASE",
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.dmg",
"version": "2025.1.2",
"sha256": "9a47d3d86f2465f4b741408ad3a792d63a4dff486a05103825e479dae4d63932",
"url": "https://download.jetbrains.com/cpp/CLion-2025.1.2-aarch64.dmg",
"build_number": "251.26094.123"
"version": "2025.1.4",
"sha256": "85e0f764787a3d910d92f3f61ea4b6b3ff46712c674154adbccafc45640e1ff2",
"url": "https://download.jetbrains.com/cpp/CLion-2025.1.4-aarch64.dmg",
"build_number": "251.27812.15"
},
"datagrip": {
"update-channel": "DataGrip RELEASE",
@@ -444,10 +444,10 @@
"dataspell": {
"update-channel": "DataSpell RELEASE",
"url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.dmg",
"version": "2025.1.1",
"sha256": "65bbf4da47e5ceecfab5e19f80bec7ddd5f66bfcdc8dc75691cad98958e72af1",
"url": "https://download.jetbrains.com/python/dataspell-2025.1.1-aarch64.dmg",
"build_number": "251.25410.158"
"version": "2025.1.2.1",
"sha256": "97588c238523b2c492a322a0751173f908f31eb27e0d38f81dd51f670690a9a5",
"url": "https://download.jetbrains.com/python/dataspell-2025.1.2.1-aarch64.dmg",
"build_number": "251.26927.91"
},
"gateway": {
"update-channel": "Gateway RELEASE",
@@ -460,26 +460,26 @@
"goland": {
"update-channel": "GoLand RELEASE",
"url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.dmg",
"version": "2025.1.2",
"sha256": "a30940d1b2659487ababc3a9ad8e4770236e90ad6c732cb1fd0c24690829a0ce",
"url": "https://download.jetbrains.com/go/goland-2025.1.2-aarch64.dmg",
"build_number": "251.26094.127"
"version": "2025.1.4",
"sha256": "3a49552e2c3a0a08b1758f9ab7ad2b119ca3fd1b5067b2432ac438537f53d5c8",
"url": "https://download.jetbrains.com/go/goland-2025.1.4-aarch64.dmg",
"build_number": "251.27812.54"
},
"idea-community": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.dmg",
"version": "2025.1.2",
"sha256": "61a64b8abf0b350cb14f963975fc87ec574bc4b50ae7944980c43c816ffad5a8",
"url": "https://download.jetbrains.com/idea/ideaIC-2025.1.2-aarch64.dmg",
"build_number": "251.26094.121"
"version": "2025.1.4.1",
"sha256": "656f9fb857afbfc56494b005fad390f1c4cb69deb911cc0ffcf5bb94c52e2f94",
"url": "https://download.jetbrains.com/idea/ideaIC-2025.1.4.1-aarch64.dmg",
"build_number": "251.27812.49"
},
"idea-ultimate": {
"update-channel": "IntelliJ IDEA RELEASE",
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.dmg",
"version": "2025.1.2",
"sha256": "1c1afc32c8edcf1d2057a505f7f0b0dd1f1a20a6859172c1dd6a91a311a3167b",
"url": "https://download.jetbrains.com/idea/ideaIU-2025.1.2-aarch64.dmg",
"build_number": "251.26094.121"
"version": "2025.1.4.1",
"sha256": "dd36c36e7ef1bd14db16bfd9feb85ae37a7eb8bd11e532689567de168adc61dd",
"url": "https://download.jetbrains.com/idea/ideaIU-2025.1.4.1-aarch64.dmg",
"build_number": "251.27812.49"
},
"mps": {
"update-channel": "MPS RELEASE",
@@ -492,59 +492,59 @@
"phpstorm": {
"update-channel": "PhpStorm RELEASE",
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.dmg",
"version": "2025.1.2",
"sha256": "0437ba56e1b12b1781ba132d10f9f66c6375cb0609b4755982c7edd1778a3a3b",
"url": "https://download.jetbrains.com/webide/PhpStorm-2025.1.2-aarch64.dmg",
"build_number": "251.26094.133",
"version": "2025.1.4.1",
"sha256": "69dbad250e42863c3b3bf724734d4428ff148c73cab39f8faf946ae44f9437a3",
"url": "https://download.jetbrains.com/webide/PhpStorm-2025.1.4.1-aarch64.dmg",
"build_number": "251.27812.52",
"version-major-minor": "2022.3"
},
"pycharm-community": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.dmg",
"version": "2025.1.2",
"sha256": "cdcdea2e167c3621f5b5ea8e0150c62d24495192edd2282616676d3f53b06063",
"url": "https://download.jetbrains.com/python/pycharm-community-2025.1.2-aarch64.dmg",
"build_number": "251.26094.141"
"version": "2025.1.3.1",
"sha256": "177359e1861e691eef0c64bec343212453d3e2cd72eeb1ccee05477dcb74aadb",
"url": "https://download.jetbrains.com/python/pycharm-community-2025.1.3.1-aarch64.dmg",
"build_number": "251.26927.90"
},
"pycharm-professional": {
"update-channel": "PyCharm RELEASE",
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.dmg",
"version": "2025.1.2",
"sha256": "89a463c896e4e7f6cf6a624b78305d881756b2a350780bfcecd15d6cb766e54b",
"url": "https://download.jetbrains.com/python/pycharm-professional-2025.1.2-aarch64.dmg",
"build_number": "251.26094.141"
"version": "2025.1.3.1",
"sha256": "850b9336d1d41600a0a9e53924c98abf30a138c9d6085b9a5a16b6c47727906a",
"url": "https://download.jetbrains.com/python/pycharm-professional-2025.1.3.1-aarch64.dmg",
"build_number": "251.26927.90"
},
"rider": {
"update-channel": "Rider RELEASE",
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.dmg",
"version": "2025.1.2",
"sha256": "ab6645bba503f0a9d67b2838d1dd88a81ad81dd34e6015ccaea30400c35659e4",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2025.1.2-aarch64.dmg",
"build_number": "251.25410.119"
"version": "2025.1.4",
"sha256": "b42644a5fcf1c107d8582eb0f74a8a54e03fb88f029b5d5eb53902721c305ec0",
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2025.1.4-aarch64.dmg",
"build_number": "251.26927.67"
},
"ruby-mine": {
"update-channel": "RubyMine RELEASE",
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.dmg",
"version": "2025.1.2",
"sha256": "1da265fa947d5d1cf3075495414b9e65ec519a5bd9bee5ca2fa7df67bafdc352",
"url": "https://download.jetbrains.com/ruby/RubyMine-2025.1.2-aarch64.dmg",
"build_number": "251.26094.122"
"version": "2025.1.4.1",
"sha256": "859f72e3acab761bc5ddd2c8cb9d16d8497494dbd41873dd883981fa9a24bdcd",
"url": "https://download.jetbrains.com/ruby/RubyMine-2025.1.4.1-aarch64.dmg",
"build_number": "251.27812.51"
},
"rust-rover": {
"update-channel": "RustRover RELEASE",
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.dmg",
"version": "2025.1.3",
"sha256": "552145a2d550cfcb2dc59530605dbe4af179102a99dab4b69acb80d9504d0ef3",
"url": "https://download.jetbrains.com/rustrover/RustRover-2025.1.3-aarch64.dmg",
"build_number": "251.25410.170"
"version": "2025.1.5",
"sha256": "9386f41063a209d4634098bc14e8e63d3cf030b3f8b83524b61d99bf992905d1",
"url": "https://download.jetbrains.com/rustrover/RustRover-2025.1.5-aarch64.dmg",
"build_number": "251.26927.79"
},
"webstorm": {
"update-channel": "WebStorm RELEASE",
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.dmg",
"version": "2025.1.2",
"sha256": "298d53fcd1a979e6910f97d9a29ac9bc0ed12386838a93a6d279bb415cf4708f",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2025.1.2-aarch64.dmg",
"build_number": "251.26094.131"
"version": "2025.1.4.1",
"sha256": "6840c346c133f3d1ed0eb41ba2f0195b32a70eb69884c66af408c51ebdb6825a",
"url": "https://download.jetbrains.com/webstorm/WebStorm-2025.1.4.1-aarch64.dmg",
"build_number": "251.27812.50"
},
"writerside": {
"update-channel": "Writerside EAP",
+45 -83
View File
@@ -83,15 +83,22 @@ let
mkJetBrainsProductCore {
inherit
pname
extraLdPath
jdk
extraBuildInputs
;
extraBuildInputs =
extraBuildInputs
++ [ stdenv.cc.cc ]
++ lib.optionals stdenv.hostPlatform.isLinux [
fontconfig
libGL
libX11
];
extraWrapperArgs =
extraWrapperArgs
++ lib.optionals (stdenv.hostPlatform.isLinux && forceWayland) [
''--add-flags "\''${WAYLAND_DISPLAY:+-Dawt.toolkit.name=WLToolkit}"''
];
extraLdPath = extraLdPath ++ lib.optionals (stdenv.hostPlatform.isLinux) [ libGL ];
src =
if fromSource then
communitySources."${pname}"
@@ -160,6 +167,18 @@ let
}
);
patchSharedLibs = lib.optionalString stdenv.hostPlatform.isLinux ''
ls -d \
$out/*/bin/*/linux/*/lib/liblldb.so \
$out/*/bin/*/linux/*/lib/python3.8/lib-dynload/* \
$out/*/plugins/*/bin/*/linux/*/lib/liblldb.so \
$out/*/plugins/*/bin/*/linux/*/lib/python3.8/lib-dynload/* |
xargs patchelf \
--replace-needed libssl.so.10 libssl.so \
--replace-needed libcrypto.so.10 libcrypto.so \
--replace-needed libcrypt.so.1 libcrypt.so \
${lib.optionalString stdenv.hostPlatform.isAarch "--replace-needed libxml2.so.2 libxml2.so"}
'';
in
rec {
# Sorted alphabetically
@@ -167,7 +186,6 @@ rec {
aqua = mkJetBrainsProduct {
pname = "aqua";
extraBuildInputs = [
stdenv.cc.cc
lldb
];
};
@@ -176,16 +194,14 @@ rec {
(mkJetBrainsProduct {
pname = "clion";
extraBuildInputs =
lib.optionals (stdenv.hostPlatform.isLinux) [
fontconfig
lib.optionals stdenv.hostPlatform.isLinux [
python3
stdenv.cc.cc
openssl
libxcrypt-legacy
lttng-ust_2_12
musl
]
++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch) [
expat
libxml2
xz
@@ -194,40 +210,21 @@ rec {
(attrs: {
postInstall =
(attrs.postInstall or "")
+ lib.optionalString (stdenv.hostPlatform.isLinux) ''
(
cd $out/clion
for dir in plugins/clion-radler/DotFiles/linux-*; do
rm -rf $dir/dotnet
ln -s ${dotnet-sdk}/share/dotnet $dir/dotnet
done
)
+ lib.optionalString stdenv.hostPlatform.isLinux ''
for dir in $out/clion/plugins/clion-radler/DotFiles/linux-*; do
rm -rf $dir/dotnet
ln -s ${dotnet-sdk}/share/dotnet $dir/dotnet
done
'';
postFixup =
(attrs.postFixup or "")
+ lib.optionalString (stdenv.hostPlatform.isLinux) ''
(
cd $out/clion
# I think the included gdb has a couple of patches, so we patch it instead of replacing
ls -d $PWD/bin/gdb/linux/*/lib/python3.8/lib-dynload/* |
xargs patchelf \
--replace-needed libssl.so.10 libssl.so \
--replace-needed libcrypto.so.10 libcrypto.so
ls -d $PWD/bin/lldb/linux/*/lib/python3.8/lib-dynload/* |
xargs patchelf \
--replace-needed libssl.so.10 libssl.so \
--replace-needed libcrypto.so.10 libcrypto.so
)
'';
postFixup = ''
${attrs.postFixup or ""}
${patchSharedLibs}
'';
});
datagrip = mkJetBrainsProduct {
pname = "datagrip";
extraBuildInputs = [ stdenv.cc.cc ];
};
dataspell =
@@ -242,7 +239,6 @@ rec {
extraBuildInputs = [
libgcc
libr
stdenv.cc.cc
];
};
@@ -260,7 +256,6 @@ rec {
];
extraBuildInputs = [
libgcc
stdenv.cc.cc
];
}).overrideAttrs
(attrs: {
@@ -275,12 +270,10 @@ rec {
idea-community-bin = buildIdea {
pname = "idea-community";
extraBuildInputs = [ stdenv.cc.cc ];
};
idea-community-src = buildIdea {
pname = "idea-community";
extraBuildInputs = [ stdenv.cc.cc ];
fromSource = true;
};
@@ -293,7 +286,6 @@ rec {
idea-ultimate = buildIdea {
pname = "idea-ultimate";
extraBuildInputs = [
stdenv.cc.cc
lldb
musl
];
@@ -304,7 +296,6 @@ rec {
phpstorm = mkJetBrainsProduct {
pname = "phpstorm";
extraBuildInputs = [
stdenv.cc.cc
musl
];
};
@@ -328,14 +319,12 @@ rec {
(mkJetBrainsProduct {
pname = "rider";
extraBuildInputs = [
fontconfig
stdenv.cc.cc
openssl
libxcrypt
lttng-ust_2_12
musl
]
++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch) [
expat
libxml2
xz
@@ -350,28 +339,19 @@ rec {
(attrs: {
postInstall =
(attrs.postInstall or "")
+ lib.optionalString (stdenv.hostPlatform.isLinux) ''
(
cd $out/rider
+ lib.optionalString stdenv.hostPlatform.isLinux ''
${patchSharedLibs}
ls -d $PWD/plugins/cidr-debugger-plugin/bin/lldb/linux/*/lib/python3.8/lib-dynload/* |
xargs patchelf \
--replace-needed libssl.so.10 libssl.so \
--replace-needed libcrypto.so.10 libcrypto.so \
--replace-needed libcrypt.so.1 libcrypt.so
for dir in lib/ReSharperHost/linux-*; do
rm -rf $dir/dotnet
ln -s ${dotnet-sdk}/share/dotnet $dir/dotnet
done
)
for dir in $out/rider/lib/ReSharperHost/linux-*; do
rm -rf $dir/dotnet
ln -s ${dotnet-sdk}/share/dotnet $dir/dotnet
done
'';
});
ruby-mine = mkJetBrainsProduct {
pname = "ruby-mine";
extraBuildInputs = [
stdenv.cc.cc
musl
];
};
@@ -380,44 +360,27 @@ rec {
(mkJetBrainsProduct {
pname = "rust-rover";
extraBuildInputs =
lib.optionals (stdenv.hostPlatform.isLinux) [
lib.optionals stdenv.hostPlatform.isLinux [
python3
openssl
libxcrypt-legacy
fontconfig
xorg.libX11
]
++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch) [
expat
libxml2
xz
];
}).overrideAttrs
(attrs: {
postFixup =
(attrs.postFixup or "")
+ lib.optionalString (stdenv.hostPlatform.isLinux) ''
(
cd $out/rust-rover
# Copied over from clion (gdb seems to have a couple of patches)
ls -d $PWD/bin/gdb/linux/*/lib/python3.8/lib-dynload/* |
xargs patchelf \
--replace-needed libssl.so.10 libssl.so \
--replace-needed libcrypto.so.10 libcrypto.so
ls -d $PWD/bin/lldb/linux/*/lib/python3.8/lib-dynload/* |
xargs patchelf \
--replace-needed libssl.so.10 libssl.so \
--replace-needed libcrypto.so.10 libcrypto.so
)
'';
postFixup = ''
${attrs.postFixup or ""}
${patchSharedLibs}
'';
});
webstorm = mkJetBrainsProduct {
pname = "webstorm";
extraBuildInputs = [
stdenv.cc.cc
musl
];
};
@@ -425,7 +388,6 @@ rec {
writerside = mkJetBrainsProduct {
pname = "writerside";
extraBuildInputs = [
stdenv.cc.cc
musl
];
};
File diff suppressed because it is too large Load Diff
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "ndonfris";
name = "fish-lsp";
version = "0.1.10";
hash = "sha256-aMuvBc2QVlRXpoBvWQaxC5SdwWzsauvVk1zMbK1p6oQ=";
version = "0.1.11";
hash = "sha256-I3ikOGK++GL51BGZBPWAIGvWBOAw5himdQvANlPog0s=";
};
meta = {
+14 -5
View File
@@ -18,14 +18,21 @@ makeOverridable (
{
owner,
repo,
rev,
name ? repoRevToNameMaybe repo rev "sourcehut",
rev ? null,
tag ? null,
name ? repoRevToNameMaybe repo (lib.revOrTag rev tag) "sourcehut",
domain ? "sr.ht",
vc ? "git",
fetchSubmodules ? false,
... # For hash agility
}@args:
assert (
lib.assertMsg (lib.xor (tag == null) (
rev == null
)) "fetchFromSourcehut requires one of either `rev` or `tag` to be provided (not both)."
);
assert (
assertOneOf "vc" vc [
"hg"
@@ -35,6 +42,7 @@ makeOverridable (
let
urlFor = resource: "https://${resource}.${domain}/${owner}/${repo}";
rev' = if tag != null then tag else rev;
baseUrl = urlFor vc;
baseArgs = {
inherit name;
@@ -43,13 +51,14 @@ makeOverridable (
"owner"
"repo"
"rev"
"tag"
"domain"
"vc"
"name"
"fetchSubmodules"
];
vcArgs = baseArgs // {
inherit rev;
rev = rev';
url = baseUrl;
};
fetcher = if fetchSubmodules then vc else "zip";
@@ -69,7 +78,7 @@ makeOverridable (
zip = {
fetch = fetchzip;
arguments = baseArgs // {
url = "${baseUrl}/archive/${rev}.tar.gz";
url = "${baseUrl}/archive/${rev'}.tar.gz";
postFetch = optionalString (vc == "hg") ''
rm -f "$out/.hg_archival.txt"
''; # impure file; see #12002
@@ -82,7 +91,7 @@ makeOverridable (
in
cases.${fetcher}.fetch cases.${fetcher}.arguments
// {
inherit rev;
rev = rev';
meta.homepage = "${baseUrl}";
}
)
@@ -0,0 +1,22 @@
diff --git a/cc2538_bsl/cc2538_bsl.py b/cc2538_bsl/cc2538_bsl.py
index b62ea64..f38d872 100755
--- a/cc2538_bsl/cc2538_bsl.py
+++ b/cc2538_bsl/cc2538_bsl.py
@@ -1050,16 +1050,7 @@ def parse_page_address_range(device, pg_range):
def version():
- # Get the version using "git describe".
- try:
- p = Popen(['git', 'describe', '--tags', '--match', '[0-9]*'],
- stdout=PIPE, stderr=PIPE)
- p.stderr.close()
- line = p.stdout.readlines()[0]
- return line.decode('utf-8').strip()
- except:
- # We're not in a git repo, or git failed, use fixed version string.
- return __version__
+ return __version__
def cli_setup():
+40 -16
View File
@@ -4,45 +4,69 @@
python3Packages,
}:
python3Packages.buildPythonApplication rec {
pname = "cc2538-bsl";
version = "2.1-unstable-2025-01-14";
pyproject = true;
let
pypkgs = python3Packages;
version = "2.1-unstable-2025-03-28";
src = fetchFromGitHub {
owner = "JelmerT";
repo = "cc2538-bsl";
rev = "bb6471103c2bddd319e5fda46fe4e872ce1de407";
hash = "sha256-iVdwwZozoFsHpLMiZq3i9wldfusAsCCZy6isKfvGqKo=";
rev = "250e8616e6cb00f1b23cb251154de984ce506f7b";
hash = "sha256-SNWHCSbaeO4s4W29Jly9bAEhFjfej9J9qn+mxxpoe30=";
};
env.SETUPTOOLS_SCM_PRETEND_VERSION = "0.1.dev0+g${lib.substring 0 7 src.rev}";
version' = "${lib.versions.majorMinor version}.dev0+g${lib.substring 0 7 src.rev}";
build-system = with python3Packages; [
in
pypkgs.buildPythonApplication rec {
pname = "cc2538-bsl";
inherit version src;
pyproject = true;
# if you happen to run cc2538-bsl from a git repository of any kind, you will get the
# version of *that* rather than the application itself because it will run 'git describe'
patches = [ ./do_not_run_git.patch ];
postPatch = ''
substituteInPlace cc2538_bsl/cc2538_bsl.py \
--replace-fail '__version__ = "2.1"' '__version__ = "${version'}"'
'';
env.SETUPTOOLS_SCM_PRETEND_VERSION = version';
build-system = with pypkgs; [
setuptools-scm
];
dependencies = with python3Packages; [
dependencies = with pypkgs; [
intelhex
pyserial
python-magic
];
nativeCheckInputs = with python3Packages; [
nativeCheckInputs = with pypkgs; [
pytestCheckHook
scripttest
];
postInstall = ''
# Remove .py from binary
mv $out/bin/cc2538-bsl.py $out/bin/cc2538-bsl
# we need to patch these tests to make them work inside our sandbox, so just disable them for
# now as we run this in `postInstallCheck`
disabledTests = [
"test_help_output"
"test_version"
];
# this is just to ensure that `meta.mainProgram` exists and is executable since we disable `test_help_output`
postInstallCheck = ''
$out/bin/${meta.mainProgram} --help
'';
meta = with lib; {
meta = {
homepage = "https://github.com/JelmerT/cc2538-bsl";
description = "Flash TI SimpleLink chips (CC2538, CC13xx, CC26xx) over serial";
license = licenses.bsd3;
maintainers = with maintainers; [ lorenz ];
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ lorenz ];
mainProgram = "cc2538-bsl";
};
}
+2 -2
View File
@@ -25,14 +25,14 @@ with py.pkgs;
python3.pkgs.buildPythonApplication rec {
pname = "checkov";
version = "3.2.452";
version = "3.2.457";
pyproject = true;
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = "checkov";
tag = version;
hash = "sha256-pTSI0aqxcCP0pBraBw3p20hpt9jSpAWkatLPCrc4u90=";
hash = "sha256-OxnnIu5+5V3c2gMtgHeUm1LRVMoR8X5MI4cnzgqwUnI=";
};
pythonRelaxDeps = [
@@ -2,25 +2,22 @@
lib,
stdenv,
fetchFromGitHub,
libsForQt5,
pkg-config,
qtbase,
qttools,
wrapQtAppsHook,
syntax-highlighting,
cmake,
ninja,
python3,
runtimeShell,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "cpeditor";
version = "7.0.1";
src = fetchFromGitHub {
owner = "cpeditor";
repo = "cpeditor";
rev = version;
tag = finalAttrs.version;
hash = "sha256-t7nn3sO45dOQq5OMWhaseO9XHicQ/1fjukXal5yPMgY";
fetchSubmodules = true;
};
@@ -29,13 +26,13 @@ stdenv.mkDerivation rec {
cmake
ninja
pkg-config
wrapQtAppsHook
libsForQt5.wrapQtAppsHook
python3
];
buildInputs = [
qtbase
qttools
syntax-highlighting
libsForQt5.qtbase
libsForQt5.qttools
libsForQt5.syntax-highlighting
];
postPatch = ''
@@ -43,12 +40,12 @@ stdenv.mkDerivation rec {
substituteInPlace dist/linux/cpeditor.desktop --replace-fail 'Exec=/usr/bin/cpeditor' "Exec=cpeditor"
'';
meta = with lib; {
meta = {
description = "IDE specially designed for competitive programming";
homepage = "https://cpeditor.org";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ rewine ];
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.rewine ];
mainProgram = "cpeditor";
};
}
})
@@ -30,14 +30,14 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "debian-devscripts";
version = "2.25.16";
version = "2.25.17";
src = fetchFromGitLab {
domain = "salsa.debian.org";
owner = "debian";
repo = "devscripts";
tag = "v${finalAttrs.version}";
hash = "sha256-cbaG7yNZt+205fa6HGEjLOjLsW3HloLQHvcGGjmnXDM=";
hash = "sha256-l5FVMg5PEpook9eKdaAnOUlFg7SAas3QC4xF1Spvyf0=";
};
patches = [
+2
View File
@@ -304,6 +304,8 @@ python.pkgs.buildPythonApplication rec {
"tests/comparators/test_uimage.py"
"tests/comparators/test_device.py"
"tests/comparators/test_macho.py"
# OSError: AF_UNIX path too long
"tests/comparators/test_sockets.py"
];
passthru = {
+226 -447
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -7,13 +7,13 @@
}:
buildNpmPackage rec {
pname = "eslint";
version = "9.31.0";
version = "9.32.0";
src = fetchFromGitHub {
owner = "eslint";
repo = "eslint";
tag = "v${version}";
hash = "sha256-kVYLQ1GXs7ytv3HEyEToiAktzHpbbPCaNA30pwC02FI=";
hash = "sha256-ORqkolpd5B2mZ5lpePHU3RCpUHnl2p9ugMe2+A8sauA=";
};
# NOTE: Generating lock-file
@@ -25,7 +25,7 @@ buildNpmPackage rec {
cp ${./package-lock.json} package-lock.json
'';
npmDepsHash = "sha256-4CXfMQJCLxOAo/ZoAFs+nwFv2cRN1dPYIHqIGs6dybo=";
npmDepsHash = "sha256-9IWGjPwvZFPlbClQ5XRx0clN0HD6eyggX+v5mtU0exQ=";
npmInstallFlags = [ "--omit=dev" ];
dontNpmBuild = true;
@@ -3,8 +3,8 @@
stdenv,
fetchurl,
ant,
jdk,
jre,
jdk8,
jre8,
makeWrapper,
stripJavaArchivesHook,
}:
@@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
ant
jdk
jdk8
makeWrapper
stripJavaArchivesHook
];
@@ -58,7 +58,7 @@ stdenv.mkDerivation (finalAttrs: {
postFixup = ''
makeWrapper $out/share/freemind/freemind.sh $out/bin/freemind \
--set JAVA_HOME ${jre}
--set JAVA_HOME ${jre8}
'';
meta = {
+3 -3
View File
@@ -7,18 +7,18 @@
rustPlatform.buildRustPackage rec {
pname = "harper";
version = "0.53.0";
version = "0.54.0";
src = fetchFromGitHub {
owner = "Automattic";
repo = "harper";
rev = "v${version}";
hash = "sha256-huAwuUiSaKaw0689AmYq0/usEq2p+cX73Oy5O0CaCVM=";
hash = "sha256-pWxn7bQF28oAchOYNGM0vKRvrjF4uh1VTUqvQPowjpE=";
};
buildAndTestSubdir = "harper-ls";
cargoHash = "sha256-4ppwbOv+8a4d9v6zbIFkhNWp1s3yMTfX1oNCYAccB3w=";
cargoHash = "sha256-etNmmPStjrsl4iS6kJxyzopiTqSCwX6K4dzT3EVxScE=";
passthru.updateScript = nix-update-script { };
+2 -2
View File
@@ -7,13 +7,13 @@
buildNpmPackage (finalAttrs: {
pname = "hypercore";
version = "11.11.0";
version = "11.11.2";
src = fetchFromGitHub {
owner = "holepunchto";
repo = "hypercore";
tag = "v${finalAttrs.version}";
hash = "sha256-fv/m/AicHW3cdatpsSAvv+PBo+2J1mE8pK+IWysY7D0=";
hash = "sha256-vDI1j5seR6OBp64wq9oy4eVrtlJF7OCiQb+2EEdOGXw=";
};
npmDepsHash = "sha256-ZJxVmQWKgHyKkuYfGIlANXFcROjI7fibg6mxIhDZowM=";
@@ -3,7 +3,7 @@
stdenv,
fetchFromGitHub,
ant,
jdk,
jdk8,
makeWrapper,
stripJavaArchivesHook,
}:
@@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
ant
jdk
jdk8
makeWrapper
stripJavaArchivesHook
];
@@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
install -Dm644 dist/jdepend-*.jar -t $out/share/jdepend
makeWrapper ${jdk.jre}/bin/java $out/bin/jdepend \
makeWrapper ${jdk8.jre}/bin/java $out/bin/jdepend \
--add-flags "-classpath $out/share/jdepend/jdepend-*.jar"
for type in "swingui" "textui" "xmlui"; do
+2 -2
View File
@@ -8,13 +8,13 @@
}:
buildGoModule rec {
pname = "lazygit";
version = "0.53.0";
version = "0.54.0";
src = fetchFromGitHub {
owner = "jesseduffield";
repo = "lazygit";
tag = "v${version}";
hash = "sha256-u9ccwRdRQEVNC1/nFRSKJ9RCWJI1mM9Ak3bDVMIWD6E=";
hash = "sha256-MOkqNbvrhbjcdNTNujy2gDsaLbl1eWeRWPx0KavHhas=";
};
vendorHash = null;
+4 -4
View File
@@ -31,14 +31,14 @@
rclone,
}:
rustPlatform.buildRustPackage rec {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ludusavi";
version = "0.29.1";
src = fetchFromGitHub {
owner = "mtkennerly";
repo = "ludusavi";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-IApPudo8oD6YkYJkGpowqpaqrsl2/Q2VFyYfYQI3mN0=";
};
@@ -120,7 +120,7 @@ rustPlatform.buildRustPackage rec {
meta = {
description = "Backup tool for PC game saves";
homepage = "https://github.com/mtkennerly/ludusavi";
changelog = "https://github.com/mtkennerly/ludusavi/blob/v${version}/CHANGELOG.md";
changelog = "https://github.com/mtkennerly/ludusavi/blob/v${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
pasqui23
@@ -128,4 +128,4 @@ rustPlatform.buildRustPackage rec {
];
mainProgram = "ludusavi";
};
}
})
+28
View File
@@ -0,0 +1,28 @@
From 5cda42b687a2271f5be52466c39d18e974beaa30 Mon Sep 17 00:00:00 2001
From: Tomodachi94 <tomodachi94@protonmail.com>
Date: Sun, 20 Apr 2025 02:22:16 +0000
Subject: [PATCH] gradle(installDist): explicitly depend on
installerGuiStartScripts
This allows us to use Gradle 8.
Closes #1112
---
applicationLogic.gradle | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/applicationLogic.gradle b/applicationLogic.gradle
index 0d4a4c7dc..a4f6a571c 100644
--- a/applicationLogic.gradle
+++ b/applicationLogic.gradle
@@ -129,6 +129,10 @@ def testStartScriptsTask = tasks.register('testStartScripts') {
}
}
+tasks.named('installDist') {
+ dependsOn tasks.named('installerGuiStartScripts')
+}
+
tasks.named('check') {
dependsOn testStartScriptsTask
}
+11 -5
View File
@@ -2,9 +2,8 @@
lib,
stdenvNoCC,
fetchFromGitHub,
# Gradle 8 complains about implicit task dependencies when using `installDist`.
# See https://github.com/marytts/marytts/issues/1112
gradle_7,
# "Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0."
gradle_8,
makeWrapper,
jdk,
nixosTests,
@@ -20,12 +19,19 @@ stdenvNoCC.mkDerivation (finalAttrs: {
hash = "sha256-jGpsD6IwJ67nDLnulBn8DycXCyowssSnDCkQXBIfOH8=";
};
patches = [
# Gradle 8 complains about implicit task dependencies when using `installDist`,
# so let's patch it.
# See https://github.com/marytts/marytts/issues/1112
./gradle-8.patch
];
nativeBuildInputs = [
gradle_7
gradle_8
makeWrapper
];
mitmCache = gradle_7.fetchDeps {
mitmCache = gradle_8.fetchDeps {
inherit (finalAttrs) pname;
data = ./deps.json;
};
@@ -1,14 +1,9 @@
{
lib,
buildPythonApplication,
python3Packages,
fetchFromGitHub,
hatchling,
hatch-requirements-txt,
hatch-vcs,
pyserial,
importlib-metadata,
}:
buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
pname = "mpremote";
version = "1.25.0";
@@ -21,24 +16,24 @@ buildPythonApplication rec {
sourceRoot = "${src.name}/tools/mpremote";
format = "pyproject";
nativeBuildInputs = [
nativeBuildInputs = with python3Packages; [
hatchling
hatch-requirements-txt
hatch-vcs
];
propagatedBuildInputs = [
dependencies = with python3Packages; [
pyserial
importlib-metadata
];
pythonImportsCheck = [ "mpremote" ];
meta = with lib; {
meta = {
description = "Integrated set of utilities to remotely interact with and automate a MicroPython device over a serial connection";
homepage = "https://github.com/micropython/micropython/blob/master/tools/mpremote/README.md";
platforms = platforms.unix;
license = licenses.mit;
maintainers = with maintainers; [ _999eagle ];
platforms = lib.platforms.unix;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ _999eagle ];
mainProgram = "mpremote";
};
}
+1 -1
View File
@@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
name = "muon-src";
owner = "~lattis";
repo = "muon";
rev = finalAttrs.version;
tag = finalAttrs.version;
hash = "sha256-xTdyqK8t741raMhjjJBMbWnAorLMMdZ02TeMXK7O+Yw=";
};
@@ -0,0 +1,42 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
fetchurl,
nix-update-script,
versionCheckHook,
}:
buildNpmPackage (finalAttrs: {
pname = "node-core-utils";
version = "5.14.1";
src = fetchFromGitHub {
owner = "nodejs";
repo = "node-core-utils";
tag = "v${finalAttrs.version}";
hash = "sha256-F+WMwyMw4cgGevcgi7vUkboXjZmBpPKsTUDvM6NHr0o=";
};
npmDepsHash = "sha256-fMWb17t+ARJYsA7DgEBDY3vfbLrrCQiECRy947I90uI=";
dontNpmBuild = true;
dontNpmPrune = true;
npmInstallFlags = [ "--omit=dev" ];
nativeInstallCheckInputs = [
versionCheckHook
];
doInstallCheck = true;
versionCheckProgram = "${placeholder "out"}/bin/git-node";
passthru.updateScript = nix-update-script { };
meta = {
changelog = "https://github.com/${finalAttrs.src.owner}/${finalAttrs.src.repo}/blob/${finalAttrs.src.tag}/CHANGELOG.md";
description = "CLI tools for Node.js Core collaborators";
homepage = "https://github.com/nodejs/node-core-utils";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ aduh95 ];
};
})
@@ -7,13 +7,13 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "plasmusic-toolbar";
version = "3.0.0";
version = "3.2.0";
src = fetchFromGitHub {
owner = "ccatterina";
repo = "plasmusic-toolbar";
tag = "v${finalAttrs.version}";
hash = "sha256-n8b+XtPaZ7A4qiiSzbVdcSTHJFJ74Xml59pZDmPvAyc=";
hash = "sha256-Epix3gqQGc8MXMcoQ1YxrEXafuPZUOTKdute5eoJ2nI=";
};
installPhase = ''
@@ -4,7 +4,7 @@
fetchurl,
unzip,
makeWrapper,
openjdk,
jdk8,
}:
stdenv.mkDerivation rec {
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
install -Dm644 lib/*.jar -t $out/lib/pmd
wrapProgram $out/libexec/pmd \
--prefix PATH : ${openjdk.jre}/bin \
--prefix PATH : ${jdk8.jre}/bin \
--set LIB_DIR $out/lib/pmd
for app in pmd cpd cpdgui designer bgastviewer designerold ast-dump; do
+1 -1
View File
@@ -5,6 +5,6 @@ set -eu -o pipefail
# Expect the text in format of '<a href="official/postfix-3.7.4.tar.gz">Source code</a> |'
# Stable release goes first.
new_version="$(curl -s http://cdn.postfix.johnriley.me/mirrors/postfix-release/index.html |
new_version="$(curl -s https://postfix-mirror.horus-it.com/postfix-release/index.html |
pcregrep -o1 '"official/postfix-([0-9.]+)[.]tar[.]gz">' | head -n1)"
update-source-version postfix "$new_version"
@@ -7,11 +7,11 @@
let
pname = "simplex-chat-desktop";
version = "6.4.0";
version = "6.4.2";
src = fetchurl {
url = "https://github.com/simplex-chat/simplex-chat/releases/download/v${version}/simplex-desktop-x86_64.AppImage";
hash = "sha256-DxOq0pimXxvXDi65Hryp7Fv++M6a+V1qYyDSSEgttQs=";
hash = "sha256-g3WsqLEOBcmeUEqNtC0ixJwDbGTvfSUi80pKPvAu6tM=";
};
appimageContents = appimageTools.extract {
@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "tailwindcss-language-server";
version = "0.14.25";
version = "0.14.26";
src = fetchFromGitHub {
owner = "tailwindlabs";
repo = "tailwindcss-intellisense";
tag = "v${finalAttrs.version}";
hash = "sha256-uY5hOMuDfLpPFkVoZyISexb/RVtaOK/UpN1WRQ0uDQY=";
hash = "sha256-XXRWxN+1fOuVULh+ZE+XRRBaoRzhCpw7n8SkBIorG9A=";
};
pnpmDeps = pnpm_9.fetchDeps {
+2 -2
View File
@@ -1,6 +1,6 @@
{
# allow overriding electron
electron,
electron_36,
webcord,
replaceVars,
lib,
@@ -8,7 +8,7 @@
}:
# nixpkgs-update: no auto update
(webcord.override { inherit electron; }).overrideAttrs (old: {
(webcord.override { inherit electron_36; }).overrideAttrs (old: {
pname = "webcord-vencord";
patches = (old.patches or [ ]) ++ [
+2 -2
View File
@@ -5,7 +5,7 @@
copyDesktopItems,
python3,
xdg-utils,
electron,
electron_36,
makeDesktopItem,
}:
@@ -55,7 +55,7 @@ buildNpmPackage rec {
install -Dm644 sources/assets/icons/app.png $out/share/icons/hicolor/256x256/apps/webcord.png
# Add xdg-utils to path via suffix, per PR #181171
makeWrapper '${lib.getExe electron}' $out/bin/webcord \
makeWrapper '${lib.getExe electron_36}' $out/bin/webcord \
--suffix PATH : "${binPath}" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
--add-flags $out/lib/node_modules/webcord/
@@ -1,36 +1,35 @@
{
lib,
stdenv,
mkDerivation,
fetchzip,
autoPatchelfHook,
libusb1,
libX11,
libXtst,
qtbase,
qt5,
libglvnd,
}:
mkDerivation rec {
stdenv.mkDerivation rec {
pname = "xp-pen-g430-driver";
version = "1.2.13.1";
src =
fetchzip {
url = "https://download01.xp-pen.com/file/2020/04/Linux_Pentablet_V${version}.tar.gz(20200428).zip";
sha256 = "1r423hcpi26v82pzl59br1zw5vablikclqsy6mcqi0v5p84hfrdd";
}
+ /Linux_Pentablet_V1.2.13.1.tar.gz;
src = fetchzip {
url = "https://archive.org/download/linux-pentablet-v-1.2.13.1.tar.gz-20200428/Linux_Pentablet_V1.2.13.1.tar.gz%2820200428%29.zip/Linux_Pentablet_V1.2.13.1.tar.gz";
name = "xp-pen-g430-driver-${version}.tar.gz";
hash = "sha256-Wavf4EAzR/NX3GOfdAEdFX08gkD03FVvAkIl37Zmipc=";
};
nativeBuildInputs = [
autoPatchelfHook
qt5.wrapQtAppsHook
];
buildInputs = [
libusb1
libX11
libXtst
qtbase
qt5.qtbase
libglvnd
(lib.getLib stdenv.cc.cc)
];
@@ -41,12 +40,12 @@ mkDerivation rec {
cp config.xml $out/bin/config.xml
'';
meta = with lib; {
meta = {
homepage = "https://www.xp-pen.com/download-46.html";
description = "Driver for XP-PEN Pentablet drawing tablets";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
license = lib.licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = [ ];
maintainers = with lib.maintainers; [ ];
};
}
+3 -3
View File
@@ -99,7 +99,7 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "zed-editor";
version = "0.197.3";
version = "0.197.5";
outputs = [
"out"
@@ -112,7 +112,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "zed-industries";
repo = "zed";
tag = "v${finalAttrs.version}";
hash = "sha256-Z5t/mm6iFzAihkZSTLNzc06RAhO+xS9BoyPTpRT5ZHk=";
hash = "sha256-IbyM7iM9ErzVSb07NgTpgRI2VH1y+DJeKKiFYLyOqpk=";
};
patches = [
@@ -138,7 +138,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
--replace-fail "inner.redirect(policy)" "inner.redirect_policy(policy)"
'';
cargoHash = "sha256-f6v6BqTlo5/riyrsSn8eyY1QDwgoYxF29hLsp/Nn1YU=";
cargoHash = "sha256-ECtVsZiOEYsax8Zp4EFqbtCo/w6FfjJCnPWJ7YnmQ0U=";
nativeBuildInputs = [
cmake
+3 -3
View File
@@ -7,15 +7,15 @@
buildNpmPackage rec {
pname = "zwave-js-ui";
version = "10.10.0";
version = "11.0.1";
src = fetchFromGitHub {
owner = "zwave-js";
repo = "zwave-js-ui";
tag = "v${version}";
hash = "sha256-75B/3hBD2FfLRcbBbj+uB43dd7Wiaipy8prBEcwSB6Y=";
hash = "sha256-8ZN8ixfVZ1eO4kITA7GzdAUbwUylphs71GYu8Yb0yPg=";
};
npmDepsHash = "sha256-8WEUicgztCi6eK7vri3cOKjDgMx2DIcJTIGp0WTNiDc=";
npmDepsHash = "sha256-eOKF2sLkRaTPJdi3lXe8hclWOVV+XKz0EKktEEBffVo=";
passthru.tests.zwave-js-ui = nixosTests.zwave-js-ui;
@@ -359,7 +359,7 @@
buildPythonPackage rec {
pname = "boto3-stubs";
version = "1.39.14";
version = "1.40.0";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -367,7 +367,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "boto3_stubs";
inherit version;
hash = "sha256-NNiQIr4JdELwK9Tpof51gDy2taP2tHY7tqXr191tfck=";
hash = "sha256-rMdc3VGb1sBtx5xT/GvU/+L3L34uN0rpysEGsfi6XuE=";
};
build-system = [ setuptools ];
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "griffe";
version = "1.7.3";
version = "1.8.0";
pyproject = true;
src = fetchFromGitHub {
owner = "mkdocstrings";
repo = "griffe";
tag = version;
hash = "sha256-H5bkS8NK96M2W+kH1KijmzVL5Y04KY9xc5Vw5l1lfws=";
hash = "sha256-p+igAui0LNMj8tMBmw59K8mNdixqfxU8P9lHDZkoFaY=";
};
build-system = [ pdm-backend ];
File diff suppressed because it is too large Load Diff
@@ -21,14 +21,14 @@
buildPythonPackage rec {
pname = "qtile-extras";
version = "0.32.0";
version = "0.33.0";
pyproject = true;
src = fetchFromGitHub {
owner = "elParaguayo";
repo = "qtile-extras";
tag = "v${version}";
hash = "sha256-NMbgSStXJV8fVtula1cyIwFlD8WrO8kBnOphDxbig04=";
hash = "sha256-3aN2MrD1U5iBneVbYtNeWpK+JAQunGpemDpJnDuQdVI=";
};
build-system = [ setuptools-scm ];
@@ -35,14 +35,14 @@
buildPythonPackage rec {
pname = "qtile";
version = "0.32.0";
version = "0.33.0";
pyproject = true;
src = fetchFromGitHub {
owner = "qtile";
repo = "qtile";
tag = "v${version}";
hash = "sha256-UF4gRmcevtH9WNA7g/pwcciJcDariXcMNpqya68mQ38=";
hash = "sha256-npteZR48xN3G5gDsHt8c67zzc8Tom1YxnxbnDuKZHVg=";
};
patches = [
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "tencentcloud-sdk-python";
version = "3.0.1435";
version = "3.0.1436";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "TencentCloud";
repo = "tencentcloud-sdk-python";
tag = version;
hash = "sha256-0kyOd9jY0K12r2SYTwq5xVq58i3R33CCIP7smAkmwV4=";
hash = "sha256-CyZ3y6NhKwVAPVg1vTzRlV4kgBoOACsxWeWVUV4je3s=";
};
build-system = [ setuptools ];
+7 -5
View File
@@ -275,11 +275,13 @@ in
wrapProgram $target/scripts/open.sh \
--prefix PATH : ${
with pkgs;
lib.makeBinPath [
fzf
xclip
wl-clipboard
]
lib.makeBinPath (
[ fzf ]
++ lib.optionals stdenv.hostPlatform.isLinux [
xclip
wl-clipboard
]
)
}
'';
meta = {
-1
View File
@@ -1910,7 +1910,6 @@ mapAliases {
steam = lib.warnOnInstantiate "`steamPackages.steam` has been moved to top level as `steam-unwrapped`" steam-unwrapped;
steam-fhsenv = lib.warnOnInstantiate "`steamPackages.steam-fhsenv` has been moved to top level as `steam`" steam;
steam-fhsenv-small = lib.warnOnInstantiate "`steamPackages.steam-fhsenv-small` has been moved to top level as `steam`; there is no longer a -small variant" steam;
steam-fhsenv-without-steam = lib.warnOnInstantiate "`steamPackages.steam-fhsenv-without-steam` has been moved to top level as `steam-fhsenv-without-steam`" steam-fhsenv-without-steam;
steam-runtime = throw "`steamPackages.steam-runtime` has been removed, as it's no longer supported or necessary";
steam-runtime-wrapped = throw "`steamPackages.steam-runtime-wrapped` has been removed, as it's no longer supported or necessary";
steamcmd = lib.warnOnInstantiate "`steamPackages.steamcmd` has been moved to top level as `steamcmd`" steamcmd;
+1 -48
View File
@@ -1108,8 +1108,6 @@ with pkgs;
mkosi-full = mkosi.override { withQemu = true; };
mpremote = python3Packages.callPackage ../tools/misc/mpremote { };
mpy-utils = python3Packages.callPackage ../tools/misc/mpy-utils { };
networkd-notify = python3Packages.callPackage ../tools/networking/networkd-notify {
@@ -2271,8 +2269,6 @@ with pkgs;
lexicon = with python3Packages; toPythonApplication dns-lexicon;
lief = callPackage ../development/libraries/lief { };
# Less secure variant of lowdown for use inside Nix builds.
lowdown-unsandboxed = lowdown.override {
enableDarwinSandbox = false;
@@ -2426,8 +2422,6 @@ with pkgs;
util-linux = util-linuxMinimal;
};
sqlint = callPackage ../development/tools/sqlint { };
apc-temp-fetch = with python3.pkgs; callPackage ../tools/networking/apc-temp-fetch { };
asciidoc = callPackage ../tools/typesetting/asciidoc {
@@ -3366,8 +3360,6 @@ with pkgs;
usePulseaudio = true;
};
jazzy = callPackage ../development/tools/jazzy { };
jc = with python3Packages; toPythonApplication jc;
jello = with python3Packages; toPythonApplication jello;
@@ -4355,8 +4347,6 @@ with pkgs;
stm32loader = with python3Packages; toPythonApplication stm32loader;
solanum = callPackage ../servers/irc/solanum { };
solc-select = with python3Packages; toPythonApplication solc-select;
splot = haskell.lib.compose.justStaticExecutables haskellPackages.splot;
@@ -4408,8 +4398,6 @@ with pkgs;
systemdgenie = libsForQt5.callPackage ../applications/system/systemdgenie { };
t = callPackage ../tools/misc/t { };
tartube = callPackage ../applications/video/tartube { };
tartube-yt-dlp = callPackage ../applications/video/tartube {
@@ -7226,14 +7214,6 @@ with pkgs;
gdbgui = python3Packages.callPackage ../development/tools/misc/gdbgui { };
pmd = callPackage ../development/tools/analysis/pmd {
openjdk = openjdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
};
jdepend = callPackage ../development/tools/analysis/jdepend {
jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
};
flex_2_5_35 = callPackage ../development/tools/parsing/flex/2.5.35.nix { };
flex = callPackage ../development/tools/parsing/flex { };
@@ -7684,9 +7664,7 @@ with pkgs;
appstream = callPackage ../development/libraries/appstream { };
apr = callPackage ../development/libraries/apr {
autoreconfHook = buildPackages.autoreconfHook269;
};
apr = callPackage ../development/libraries/apr { };
argparse-manpage = with python3Packages; toPythonApplication argparse-manpage;
@@ -10662,8 +10640,6 @@ with pkgs;
elixir = elixir_1_17.override { inherit erlang; };
};
rake = callPackage ../development/tools/build-managers/rake { };
rethinkdb = callPackage ../servers/nosql/rethinkdb {
stdenv = clangStdenv;
libtool = cctools;
@@ -10715,8 +10691,6 @@ with pkgs;
# see also openssl, which has/had this same trick
};
sickgear = callPackage ../servers/sickbeard/sickgear.nix { };
spacecookie = haskell.lib.compose.justStaticExecutables haskellPackages.spacecookie;
inherit (callPackages ../servers/http/tomcat { })
@@ -10727,8 +10701,6 @@ with pkgs;
tomcat = tomcat11;
torque = callPackage ../servers/computing/torque { };
virtualenv = with python3Packages; toPythonApplication virtualenv;
virtualenv-clone = with python3Packages; toPythonApplication virtualenv-clone;
@@ -11579,8 +11551,6 @@ with pkgs;
protobuf = protobuf_21; # https://github.com/blueprint-freespeech/ricochet-refresh/issues/178
};
roapi-http = callPackage ../servers/roapi/http.nix { };
shaderc = callPackage ../development/compilers/shaderc {
inherit (darwin) autoSignDarwinBinariesHook;
};
@@ -11859,8 +11829,6 @@ with pkgs;
copyq = qt6Packages.callPackage ../applications/misc/copyq { };
cpeditor = libsForQt5.callPackage ../applications/editors/cpeditor { };
csound = callPackage ../applications/audio/csound { };
csound-qt = libsForQt5.callPackage ../applications/audio/csound/csound-qt { };
@@ -12280,11 +12248,6 @@ with pkgs;
};
};
freemind = callPackage ../applications/misc/freemind {
jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
};
inherit
({
freeoffice = callPackage ../applications/office/softmaker/freeoffice.nix { };
@@ -14129,10 +14092,6 @@ with pkgs;
webcamoid = qt6Packages.callPackage ../applications/video/webcamoid { };
webcord = callPackage ../by-name/we/webcord/package.nix { electron = electron_36; };
webcord-vencord = callPackage ../by-name/we/webcord-vencord/package.nix { electron = electron_36; };
webmacs = libsForQt5.callPackage ../applications/networking/browsers/webmacs {
stdenv = if stdenv.cc.isClang then gccStdenv else stdenv;
};
@@ -15418,8 +15377,6 @@ with pkgs;
stdenv = gccStdenv;
};
cvc5 = callPackage ../applications/science/logic/cvc5 { };
ekrhyper = callPackage ../applications/science/logic/ekrhyper {
ocaml = ocaml-ng.ocamlPackages_4_14_unsafe_string.ocaml;
};
@@ -16007,8 +15964,6 @@ with pkgs;
nix-linter = haskell.lib.compose.justStaticExecutables (haskellPackages.nix-linter);
nix-pin = callPackage ../tools/package-management/nix-pin { };
nix-prefetch-github = with python3Packages; toPythonApplication nix-prefetch-github;
inherit (callPackages ../tools/package-management/nix-prefetch-scripts { })
@@ -16414,8 +16369,6 @@ with pkgs;
xp-pen-deco-01-v2-driver = libsForQt5.xp-pen-deco-01-v2-driver;
xp-pen-g430-driver = libsForQt5.xp-pen-g430-driver;
newlib = callPackage ../development/misc/newlib {
stdenv = stdenvNoLibc;
};
-2
View File
@@ -321,8 +321,6 @@ makeScopeWithSplicing' {
xp-pen-deco-01-v2-driver = callPackage ../os-specific/linux/xp-pen-drivers/deco-01-v2 { };
xp-pen-g430-driver = callPackage ../os-specific/linux/xp-pen-drivers/g430 { };
xwaylandvideobridge = callPackage ../tools/wayland/xwaylandvideobridge { };
}
))