Merge 54b5c7b431 into haskell-updates
This commit is contained in:
@@ -65,7 +65,7 @@ It also understands the following special attributes:
|
||||
- `vocabRoot` is the vocabulary root to install the vocabulary under.
|
||||
Defaults to `extra`.
|
||||
Unless you know what you are doing, do not change it.
|
||||
Other readily understood vocabulary roots are `core` and `base`, which allow you to modify the default Factor runtime environment with an external package.
|
||||
Other readily understood vocabulary roots are `core` and `basis`, which allow you to modify the default Factor runtime environment with an external package.
|
||||
- `extraLibs`, `extraVocabs`, `extraPaths` have the same meaning as for [applications](#ssec-factor-applications).
|
||||
They have no immediate effect and are just passed through.
|
||||
When building factor-lang packages and Factor applications that use this respective vocabulary, these variables are evaluated and their paths added to the runtime environment.
|
||||
|
||||
@@ -39,6 +39,10 @@
|
||||
|
||||
- The `archipelago-minecraft` package was removed, as upstream no longer provides support for the Minecraft APWorld.
|
||||
|
||||
- `navidrome` 0.58.0 introduces [multi-library support](https://www.navidrome.org/docs/usage/multi-library/)
|
||||
and backwards incompatible database migrations. Ensure backups are valid and run a Full Scan after
|
||||
starting the new version.
|
||||
|
||||
- `tooling-language-server` has been renamed to `deputy` (both the package and binary), following the rename of the upstream project.
|
||||
|
||||
- `webfontkitgenerator` has been renamed to `webfont-bundler`, following the rename of the upstream project.
|
||||
|
||||
+1
-1
@@ -409,7 +409,7 @@ in
|
||||
*/
|
||||
oldestSupportedRelease =
|
||||
# Update on master only. Do not backport.
|
||||
2411;
|
||||
2505;
|
||||
|
||||
/**
|
||||
Whether a feature is supported in all supported releases (at the time of
|
||||
|
||||
@@ -21728,6 +21728,12 @@
|
||||
githubId = 521306;
|
||||
name = "Rob Glossop";
|
||||
};
|
||||
robinheghan = {
|
||||
email = "git@heghan.org";
|
||||
github = "robinheghan";
|
||||
githubId = 854889;
|
||||
name = "Robin Heggelund Hansen";
|
||||
};
|
||||
robinkrahl = {
|
||||
email = "nix@ireas.org";
|
||||
github = "robinkrahl";
|
||||
|
||||
@@ -101,6 +101,8 @@
|
||||
|
||||
- The Pocket ID module ([`services.pocket-id`][#opt-services.pocket-id.enable]) and package (`pocket-id`) has been updated to 1.0.0. Some environment variables have been changed or removed, see the [migration guide](https://pocket-id.org/docs/setup/migrate-to-v1/).
|
||||
|
||||
- The `zigbee2mqtt` package was updated to version 2.x, which contains breaking changes. See the [discussion](https://github.com/Koenkk/zigbee2mqtt/discussions/24198) for further information.
|
||||
|
||||
- []{#sec-release-25.11-incompatibilities-sourcehut-removed} The `services.sourcehut` module and corresponding `sourcehut` packages were removed due to being broken and unmaintained.
|
||||
|
||||
- The `dovecot` systemd service was renamed from `dovecot2` to `dovecot`. The former is now just an alias. Update any overrides on the systemd unit to the new name.
|
||||
@@ -124,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`
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
# system layout on a fresh machine, before it has been formatted.
|
||||
swapDevices = lib.mkImageMediaOverride [ ];
|
||||
fileSystems = lib.mkImageMediaOverride config.lib.isoFileSystems;
|
||||
boot.initrd.luks.devices = lib.mkImageMediaOverride { };
|
||||
|
||||
boot.postBootCommands = ''
|
||||
for o in $(</proc/cmdline); do
|
||||
|
||||
@@ -866,7 +866,7 @@ in
|
||||
|
||||
# Don't build the GRUB menu builder script, since we don't need it
|
||||
# here and it causes a cyclic dependency.
|
||||
boot.loader.grub.enable = false;
|
||||
boot.loader.grub.enable = lib.mkImageMediaOverride false;
|
||||
|
||||
environment.systemPackages = [
|
||||
grubPkgs.grub2
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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 =
|
||||
|
||||
@@ -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" ])
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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}"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 (
|
||||
|
||||
@@ -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 [
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
@@ -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;
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -270,7 +270,7 @@ in
|
||||
"scp ${sshOpts} /etc/nebula/${name}.pub root@192.168.1.1:/root/${name}.pub",
|
||||
)
|
||||
lighthouse.succeed(
|
||||
'nebula-cert sign -ca-crt /etc/nebula/ca.crt -ca-key /etc/nebula/ca.key -name "${name}" -groups "${name}" -ip "${ip}" -in-pub /root/${name}.pub -out-crt /root/${name}.crt'
|
||||
'nebula-cert sign -duration $((365*24*60))m -ca-crt /etc/nebula/ca.crt -ca-key /etc/nebula/ca.key -name "${name}" -groups "${name}" -ip "${ip}" -in-pub /root/${name}.pub -out-crt /root/${name}.crt'
|
||||
)
|
||||
${name}.succeed(
|
||||
"scp ${sshOpts} root@192.168.1.1:/root/${name}.crt /etc/nebula/${name}.crt",
|
||||
@@ -307,8 +307,8 @@ in
|
||||
${setUpPrivateKey "lighthouse"}
|
||||
lighthouse.succeed(
|
||||
"mkdir -p /etc/nebula",
|
||||
'nebula-cert ca -name "Smoke Test" -out-crt /etc/nebula/ca.crt -out-key /etc/nebula/ca.key',
|
||||
'nebula-cert sign -ca-crt /etc/nebula/ca.crt -ca-key /etc/nebula/ca.key -name "lighthouse" -groups "lighthouse" -ip "10.0.100.1/24" -out-crt /etc/nebula/lighthouse.crt -out-key /etc/nebula/lighthouse.key',
|
||||
'nebula-cert ca -duration $((10*365*24*60))m -name "Smoke Test" -out-crt /etc/nebula/ca.crt -out-key /etc/nebula/ca.key',
|
||||
'nebula-cert sign -duration $((365*24*60))m -ca-crt /etc/nebula/ca.crt -ca-key /etc/nebula/ca.key -name "lighthouse" -groups "lighthouse" -ip "10.0.100.1/24" -out-crt /etc/nebula/lighthouse.crt -out-key /etc/nebula/lighthouse.key',
|
||||
'chown -R nebula-smoke:nebula-smoke /etc/nebula'
|
||||
)
|
||||
|
||||
|
||||
@@ -184,7 +184,7 @@ in
|
||||
services.postfix = {
|
||||
enable = true;
|
||||
origin = mailDomain;
|
||||
config = {
|
||||
settings.main = {
|
||||
myhostname = mailDomain;
|
||||
mydestination = mailDomain;
|
||||
};
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -166,7 +166,7 @@ in
|
||||
setSendmail = true;
|
||||
#sslCert = "${tls-cert}/cert.pem";
|
||||
#sslKey = "${tls-cert}/key.pem";
|
||||
recipientDelimiter = "+";
|
||||
settings.main.recipient_delimiter = "+";
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
|
||||
@@ -293,7 +293,7 @@ in
|
||||
};
|
||||
services.postfix = {
|
||||
enable = true;
|
||||
destination = [ "example.com" ];
|
||||
settings.main.mydestination = [ "example.com" ];
|
||||
};
|
||||
services.rspamd = {
|
||||
enable = true;
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "qtgreet";
|
||||
version = "2.0.3.95";
|
||||
version = "2.0.4";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "marcusbritanicus";
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
@@ -1242,8 +1242,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "dart-code";
|
||||
publisher = "dart-code";
|
||||
version = "3.114.2";
|
||||
hash = "sha256-J/CrFUCgaGzZAeyS09Gz0m1nffNgfqCuRI6UoqdlmjM=";
|
||||
version = "3.116.0";
|
||||
hash = "sha256-YhcQXncHzpNS7CupRQMPjFLb5ZKwXmCxR3UfHlhlgYE=";
|
||||
};
|
||||
|
||||
meta.license = lib.licenses.mit;
|
||||
@@ -1253,8 +1253,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "flutter";
|
||||
publisher = "dart-code";
|
||||
version = "3.114.0";
|
||||
hash = "sha256-xKvLpcAu3LDmXLImYcbtk3EqglVS0CHF3MzO21M8SpY=";
|
||||
version = "3.116.0";
|
||||
hash = "sha256-5T/C9o6fRLnWM7MF8ATYJMEdJgLA4ZdA4Lgjtjxh2ZE=";
|
||||
};
|
||||
|
||||
meta.license = lib.licenses.mit;
|
||||
@@ -3650,6 +3650,8 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
ndonfris.fish-lsp = callPackage ./ndonfris.fish-lsp { };
|
||||
|
||||
nefrob.vscode-just-syntax = buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "vscode-just-syntax";
|
||||
@@ -3856,8 +3858,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "prisma";
|
||||
publisher = "Prisma";
|
||||
version = "6.12.0";
|
||||
hash = "sha256-X2Z+a270exSSVnfUkiGBO6C/Y4ndbzwQstJoUN/pa7c=";
|
||||
version = "6.13.0";
|
||||
hash = "sha256-qx+2lKRx/4fS2xz9lBIQsTD5tcjTzow7WmYsHYyrfOw=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/Prisma.prisma/changelog";
|
||||
@@ -4159,8 +4161,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "sas-lsp";
|
||||
publisher = "SAS";
|
||||
version = "1.15.0";
|
||||
hash = "sha256-BprmYUQhjXoqk21NxsmlrU8XiFuyWZa//JyIUoEa1Tc=";
|
||||
version = "1.16.0";
|
||||
hash = "sha256-+nB+J5exzxso6LM41HDH6SEjAUtDPZXhdZLdydYvFBk=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/SAS.sas-lsp/changelog";
|
||||
@@ -4188,8 +4190,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "metals";
|
||||
publisher = "scalameta";
|
||||
version = "1.52.0";
|
||||
hash = "sha256-oF/NNP8PfzwQRYxV1rNgcWX6hlZasxppxa0AphQDSVg=";
|
||||
version = "1.53.0";
|
||||
hash = "sha256-5/YnHyhC83pDEaEN4H/QHIjw/oiAGPWZphzAzhMBPkk=";
|
||||
};
|
||||
meta = {
|
||||
license = lib.licenses.asl20;
|
||||
|
||||
@@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "vscode-pylance";
|
||||
publisher = "MS-python";
|
||||
version = "2025.6.2";
|
||||
hash = "sha256-XHy5k/1X+TH7iQDJBSk1xSofkizd3XQttoiaPG1DNZw=";
|
||||
version = "2025.7.1";
|
||||
hash = "sha256-0lPbu5amiqk/O0XIFxJpTBKQEbU8mamnjBGsaalTyh8=";
|
||||
};
|
||||
|
||||
buildInputs = [ pyright ];
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
lib,
|
||||
vscode-utils,
|
||||
}:
|
||||
|
||||
vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
publisher = "ndonfris";
|
||||
name = "fish-lsp";
|
||||
version = "0.1.11";
|
||||
hash = "sha256-I3ikOGK++GL51BGZBPWAIGvWBOAw5himdQvANlPog0s=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "LSP implementation for the fish shell language";
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=ndonfris.fish-lsp";
|
||||
homepage = "https://github.com/ndonfris/fish-lsp";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ tuynia ];
|
||||
};
|
||||
}
|
||||
@@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
publisher = "RooVeterinaryInc";
|
||||
name = "roo-cline";
|
||||
version = "3.23.16";
|
||||
hash = "sha256-dFYdxnS9s6BxXzvhDqNHTXq29EA7DpvGX7Xe2p77+Vw=";
|
||||
version = "3.25.4";
|
||||
hash = "sha256-uyI/VdBpkCxzlm1Ei2v/UjsenhyanDuVXLXk3Pkiw1s=";
|
||||
};
|
||||
|
||||
passthru.updateScript = vscode-extension-update-script { };
|
||||
|
||||
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "claude-dev";
|
||||
publisher = "saoudrizwan";
|
||||
version = "3.20.1";
|
||||
hash = "sha256-2IX6EdzNpJapgVSwQ9hyby7CdURI5uaQJpGh4pcEuaQ=";
|
||||
version = "3.20.5";
|
||||
hash = "sha256-sxByZXSNuxVrW4WWKvNCmR2SZ6tR5CDxGXdLyHoegwc=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -43,20 +43,27 @@ let
|
||||
armv7l-linux = "sha256-VSsn4d9ztFgGXVZeCeTSHDD5n3aTBbHF/xx2JvTGOeQ=";
|
||||
}
|
||||
.${system} or throwSystem;
|
||||
in
|
||||
callPackage ./generic.nix rec {
|
||||
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.102.3";
|
||||
pname = "vscode" + lib.optionalString isInsiders "-insiders";
|
||||
|
||||
# This is used for VS Code - Remote SSH test
|
||||
rev = "488a1f239235055e34e673291fb8d8c810886f81";
|
||||
in
|
||||
callPackage ./generic.nix {
|
||||
pname = "vscode" + lib.optionalString isInsiders "-insiders";
|
||||
|
||||
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
||||
longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
|
||||
shortName = "Code" + lib.optionalString isInsiders " - Insiders";
|
||||
inherit commandLineArgs useVSCodeRipgrep sourceExecutableName;
|
||||
inherit
|
||||
version
|
||||
rev
|
||||
commandLineArgs
|
||||
useVSCodeRipgrep
|
||||
sourceExecutableName
|
||||
;
|
||||
|
||||
src = fetchurl {
|
||||
name = "VSCode_${version}_${plat}.${archive_fmt}";
|
||||
@@ -92,17 +99,13 @@ callPackage ./generic.nix rec {
|
||||
hasVsceSign = true;
|
||||
|
||||
meta = {
|
||||
description = ''
|
||||
Open source source code editor developed by Microsoft for Windows,
|
||||
Linux and macOS
|
||||
'';
|
||||
description = "Code editor developed by Microsoft";
|
||||
mainProgram = "code";
|
||||
longDescription = ''
|
||||
Open source source code editor developed by Microsoft for Windows,
|
||||
Linux and macOS. It includes support for debugging, embedded Git
|
||||
control, syntax highlighting, intelligent code completion, snippets,
|
||||
and code refactoring. It is also customizable, so users can change the
|
||||
editor's theme, keyboard shortcuts, and preferences
|
||||
Code editor developed by Microsoft. It includes support for debugging,
|
||||
embedded Git control, syntax highlighting, intelligent code completion,
|
||||
snippets, and code refactoring. It is also customizable, so users can
|
||||
change the editor's theme, keyboard shortcuts, and preferences
|
||||
'';
|
||||
homepage = "https://code.visualstudio.com/";
|
||||
downloadPage = "https://code.visualstudio.com/Updates";
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pineapple-pictures";
|
||||
version = "1.1.0";
|
||||
version = "1.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BLumia";
|
||||
repo = "pineapple-pictures";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-jdybJx/70m9c4/HC1Iz2xm3sf51Fl0jA0lhLvo+KwWw=";
|
||||
hash = "sha256-bJOBqxJ5pl1O0QEFQtkPn55y4g5I7Zwb3S0PTJ1SoFk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -9,16 +9,16 @@ let
|
||||
versions =
|
||||
if stdenv.hostPlatform.isLinux then
|
||||
{
|
||||
stable = "0.0.102";
|
||||
ptb = "0.0.152";
|
||||
canary = "0.0.723";
|
||||
stable = "0.0.103";
|
||||
ptb = "0.0.154";
|
||||
canary = "0.0.730";
|
||||
development = "0.0.84";
|
||||
}
|
||||
else
|
||||
{
|
||||
stable = "0.0.354";
|
||||
ptb = "0.0.182";
|
||||
canary = "0.0.829";
|
||||
stable = "0.0.355";
|
||||
ptb = "0.0.184";
|
||||
canary = "0.0.836";
|
||||
development = "0.0.97";
|
||||
};
|
||||
version = versions.${branch};
|
||||
@@ -26,15 +26,15 @@ let
|
||||
x86_64-linux = {
|
||||
stable = fetchurl {
|
||||
url = "https://stable.dl2.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
|
||||
hash = "sha256-xnl67Ty9uuAjOV5eWnR7xG+PR5J4M7nYc1hjRBjbaOI=";
|
||||
hash = "sha256-WNLyBBQFqAEiPpv1JpoFrgKgCH3PBOTxFWxdHcqNAl8=";
|
||||
};
|
||||
ptb = fetchurl {
|
||||
url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
|
||||
hash = "sha256-GbLEAu6gchwkkupU6k6i7bpdMVnCqB74HDYxyTt3J/w=";
|
||||
hash = "sha256-ZAjewH/lOby3O7dQXy4igKd0DiZuwuhBitSlbr3hyjs=";
|
||||
};
|
||||
canary = fetchurl {
|
||||
url = "https://canary.dl2.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
|
||||
hash = "sha256-k1ClTRaYsb5rPV8AFtVg3iEZ44z5gmcBnOJgsQq9O1Y=";
|
||||
hash = "sha256-lDmhJhhI9oD89fIGctcalO0pf2SjikRdsIWVIpkfGpk=";
|
||||
};
|
||||
development = fetchurl {
|
||||
url = "https://development.dl2.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
|
||||
@@ -44,15 +44,15 @@ let
|
||||
x86_64-darwin = {
|
||||
stable = fetchurl {
|
||||
url = "https://stable.dl2.discordapp.net/apps/osx/${version}/Discord.dmg";
|
||||
hash = "sha256-JucQ4EPWSMKAKvZhovij8YGWLhZ3IhnXoskce3RG0Do=";
|
||||
hash = "sha256-RV/qyguxpdgL0T6AJHvP40LzFxSLI57bCGEpgZxLZmI=";
|
||||
};
|
||||
ptb = fetchurl {
|
||||
url = "https://ptb.dl2.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
|
||||
hash = "sha256-yL3NSjY3W1w1gfw7w7zdCgVcov18PtrT8RmcwgQLA6U=";
|
||||
hash = "sha256-BWsnv22blA+1oAWGbYxXgwo0i9LvaAAqjUuwSRlfkTw=";
|
||||
};
|
||||
canary = fetchurl {
|
||||
url = "https://canary.dl2.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
|
||||
hash = "sha256-pa7nJMJU6jPNcusIJ93aAH8AFQl93z1FX/sv6+M4WME=";
|
||||
hash = "sha256-XVznNMnhEgX2YXUj0+5cQNxB2RR2ybUS3UcHqlSiHOk=";
|
||||
};
|
||||
development = fetchurl {
|
||||
url = "https://development.dl2.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
|
||||
|
||||
@@ -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}";
|
||||
}
|
||||
)
|
||||
|
||||
@@ -1,120 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
python3,
|
||||
fetchFromGitHub,
|
||||
fetchPypi,
|
||||
curl,
|
||||
wget,
|
||||
git,
|
||||
ripgrep,
|
||||
single-file-cli,
|
||||
postlight-parser,
|
||||
readability-extractor,
|
||||
chromium,
|
||||
}:
|
||||
|
||||
let
|
||||
python = python3.override {
|
||||
self = python;
|
||||
packageOverrides = self: super: {
|
||||
django = super.django_3.overridePythonAttrs (old: rec {
|
||||
version = "3.1.14";
|
||||
src = old.src.override {
|
||||
inherit version;
|
||||
hash = "sha256-cqSloTaiFMOc8BbM3Wtp4qoIx0ecZtk/OpteS7nYo0c=";
|
||||
};
|
||||
meta = old.meta // {
|
||||
knownVulnerabilities = [
|
||||
"CVE-2021-45115"
|
||||
"CVE-2021-45116"
|
||||
"CVE-2021-45452"
|
||||
"CVE-2022-23833"
|
||||
"CVE-2022-22818"
|
||||
"CVE-2022-28347"
|
||||
"CVE-2022-28346"
|
||||
];
|
||||
};
|
||||
dependencies =
|
||||
(old.dependencies or [ ])
|
||||
++ (lib.optionals (python.pythonAtLeast "3.12") [ python.pkgs.distutils ]);
|
||||
});
|
||||
django-extensions = super.django-extensions.overridePythonAttrs (old: rec {
|
||||
version = "3.1.5";
|
||||
src = fetchFromGitHub {
|
||||
inherit version;
|
||||
owner = "django-extensions";
|
||||
repo = "django-extensions";
|
||||
rev = "e43f383dae3a35237e42f6acfe1207a8e7e7bdf5";
|
||||
hash = "sha256-NAMa78KhAuoJfp0Cb0Codz84sRfRQ1JhSLNYRI4GBPM=";
|
||||
};
|
||||
patches = [ ];
|
||||
postPatch = null;
|
||||
|
||||
# possibly a real issue, but that version is not supported anymore
|
||||
doCheck = false;
|
||||
});
|
||||
};
|
||||
};
|
||||
in
|
||||
|
||||
python.pkgs.buildPythonApplication rec {
|
||||
pname = "archivebox";
|
||||
version = "0.7.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-hdBUEX2tOWN2b11w6aG3x7MP7KQTj4Rwc2w8XvABGf4=";
|
||||
};
|
||||
|
||||
build-system = with python.pkgs; [
|
||||
pdm-backend
|
||||
];
|
||||
|
||||
dependencies = with python.pkgs; [
|
||||
croniter
|
||||
dateparser
|
||||
django
|
||||
django-extensions
|
||||
ipython
|
||||
mypy-extensions
|
||||
python-crontab
|
||||
requests
|
||||
w3lib
|
||||
yt-dlp
|
||||
];
|
||||
|
||||
makeWrapperArgs = [
|
||||
"--set USE_NODE True" # used through dependencies, not needed explicitly
|
||||
"--set READABILITY_BINARY ${lib.meta.getExe readability-extractor}"
|
||||
"--set MERCURY_BINARY ${lib.meta.getExe postlight-parser}"
|
||||
"--set CURL_BINARY ${lib.meta.getExe curl}"
|
||||
"--set RIPGREP_BINARY ${lib.meta.getExe ripgrep}"
|
||||
"--set WGET_BINARY ${lib.meta.getExe wget}"
|
||||
"--set GIT_BINARY ${lib.meta.getExe git}"
|
||||
"--set YOUTUBEDL_BINARY ${lib.meta.getExe python.pkgs.yt-dlp}"
|
||||
"--set SINGLEFILE_BINARY ${lib.meta.getExe single-file-cli}"
|
||||
]
|
||||
++ (
|
||||
if (lib.meta.availableOn stdenv.hostPlatform chromium) then
|
||||
[
|
||||
"--set CHROME_BINARY ${chromium}/bin/chromium-browser"
|
||||
]
|
||||
else
|
||||
[
|
||||
"--set-default USE_CHROME False"
|
||||
]
|
||||
);
|
||||
|
||||
meta = with lib; {
|
||||
description = "Open source self-hosted web archiving";
|
||||
homepage = "https://archivebox.io";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [
|
||||
siraben
|
||||
viraptor
|
||||
];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "autosuspend";
|
||||
version = "7.2.0";
|
||||
version = "8.0.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = python3.pythonOlder "3.10";
|
||||
@@ -16,7 +16,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
owner = "languitar";
|
||||
repo = "autosuspend";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-of2b5K4ccONPGZfUwEIoFs86xLM2aLCV8tVGxVqykiQ=";
|
||||
hash = "sha256-ikFZTSYWjl0QGvVAlcMVANCTwcxWN5fkrcK4iQ/QFok=";
|
||||
};
|
||||
|
||||
build-system = with python3.pkgs; [
|
||||
@@ -32,9 +32,9 @@ python3.pkgs.buildPythonApplication rec {
|
||||
portalocker
|
||||
psutil
|
||||
python-dateutil
|
||||
pytz
|
||||
requests
|
||||
requests-file
|
||||
tzdata
|
||||
tzlocal
|
||||
];
|
||||
|
||||
@@ -55,18 +55,16 @@ python3.pkgs.buildPythonApplication rec {
|
||||
"test_multiple_sessions"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Daemon to automatically suspend and wake up a system";
|
||||
homepage = "https://autosuspend.readthedocs.io";
|
||||
changelog = "https://github.com/languitar/autosuspend/releases/tag/${src.tag}";
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = with maintainers; [
|
||||
license = lib.licenses.gpl2Only;
|
||||
maintainers = with lib.maintainers; [
|
||||
bzizou
|
||||
anthonyroussel
|
||||
];
|
||||
mainProgram = "autosuspend";
|
||||
platforms = platforms.linux;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,163 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitLab,
|
||||
makeWrapper,
|
||||
python3,
|
||||
antlr4_9,
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
python = python3.override {
|
||||
self = python;
|
||||
packageOverrides = self: super: {
|
||||
antlr4-python3-runtime = super.antlr4-python3-runtime.override {
|
||||
antlr4 = antlr4_9;
|
||||
};
|
||||
|
||||
baserow_premium = self.buildPythonPackage rec {
|
||||
pname = "baserow_premium";
|
||||
version = "1.12.1";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "bramw";
|
||||
repo = "baserow_premium";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-zT2afl3QNE2dO3JXjsZXqSmm1lv3EorG3mYZLQQMQ2Q=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/premium/backend";
|
||||
|
||||
doCheck = false;
|
||||
};
|
||||
|
||||
django = super.django_3;
|
||||
};
|
||||
};
|
||||
in
|
||||
|
||||
with python.pkgs;
|
||||
buildPythonApplication rec {
|
||||
pname = "baserow";
|
||||
version = "1.12.1";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "bramw";
|
||||
repo = "baserow";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-zT2afl3QNE2dO3JXjsZXqSmm1lv3EorG3mYZLQQMQ2Q=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/backend";
|
||||
|
||||
postPatch = ''
|
||||
# use input files to not depend on outdated peer dependencies
|
||||
mv requirements/base.{in,txt}
|
||||
mv requirements/dev.{in,txt}
|
||||
|
||||
# remove dependency constraints
|
||||
sed -i requirements/base.txt \
|
||||
-e 's/[~<>=].*//' -i requirements/base.txt \
|
||||
-e 's/zope-interface/zope.interface/' \
|
||||
-e 's/\[standard\]//'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
autobahn
|
||||
advocate
|
||||
antlr4-python3-runtime
|
||||
boto3
|
||||
cached-property
|
||||
celery-redbeat
|
||||
channels
|
||||
channels-redis
|
||||
daphne
|
||||
dj-database-url
|
||||
django-celery-beat
|
||||
django-celery-email
|
||||
django-cors-headers
|
||||
django-health-check
|
||||
django-redis
|
||||
django-storages
|
||||
drf-jwt
|
||||
drf-spectacular
|
||||
faker
|
||||
gunicorn
|
||||
importlib-resources
|
||||
itsdangerous
|
||||
pillow
|
||||
pyparsing
|
||||
psutil
|
||||
psycopg2
|
||||
redis
|
||||
regex
|
||||
requests
|
||||
service-identity
|
||||
setuptools
|
||||
tqdm
|
||||
twisted
|
||||
unicodecsv
|
||||
uvicorn
|
||||
watchgod
|
||||
zipp
|
||||
]
|
||||
++ uvicorn.optional-dependencies.standard;
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/baserow \
|
||||
--prefix PYTHONPATH : "$PYTHONPATH" \
|
||||
--prefix DJANGO_SETTINGS_MODULE : "baserow.config.settings.base"
|
||||
'';
|
||||
|
||||
nativeCheckInputs = [
|
||||
baserow_premium
|
||||
boto3
|
||||
freezegun
|
||||
httpretty
|
||||
openapi-spec-validator
|
||||
pyinstrument
|
||||
pytestCheckHook
|
||||
pytest-django
|
||||
pytest-unordered
|
||||
responses
|
||||
zope-interface
|
||||
];
|
||||
|
||||
fixupPhase = ''
|
||||
cp -r src/baserow/contrib/database/{api,action,trash,formula,file_import} \
|
||||
$out/${python.sitePackages}/baserow/contrib/database/
|
||||
cp -r src/baserow/core/management/backup $out/${python.sitePackages}/baserow/core/management/
|
||||
'';
|
||||
|
||||
disabledTests = [
|
||||
# Disable linting checks
|
||||
"flake8_plugins"
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
# Disable premium tests
|
||||
"../premium/backend/src/baserow_premium"
|
||||
"../premium/backend/tests/baserow_premium"
|
||||
# Disable database related tests
|
||||
"tests/baserow/contrib/database"
|
||||
"tests/baserow/api"
|
||||
"tests/baserow/core"
|
||||
"tests/baserow/ws"
|
||||
];
|
||||
|
||||
DJANGO_SETTINGS_MODULE = "baserow.config.settings.test";
|
||||
|
||||
meta = with lib; {
|
||||
description = "No-code database and Airtable alternative";
|
||||
homepage = "https://baserow.io";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ onny ];
|
||||
mainProgram = "baserow";
|
||||
};
|
||||
}
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "bento";
|
||||
version = "1.9.0";
|
||||
version = "1.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "warpstreamlabs";
|
||||
repo = "bento";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-rAm9Jn1elux02W0sbMOvQmYyg9ONuSqyStVt1ieTFBk=";
|
||||
hash = "sha256-EGRM9tt8tycFxfrDBE/kAa0nat+dv1VmiPkIXcvCpA4=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
@@ -21,14 +21,14 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bitbox";
|
||||
version = "4.47.3";
|
||||
version = "4.48.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BitBoxSwiss";
|
||||
repo = "bitbox-wallet-app";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-Rxlj9Xm78xI61ynOonokxii2jnemumWy6fX+82bDp+w=";
|
||||
hash = "sha256-zpkjYnGsmPKjxUpp2H1qSzqthOO1mTmki3bPqo35sBo=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
|
||||
inherit version;
|
||||
inherit src;
|
||||
sourceRoot = "${src.name}/frontends/web";
|
||||
npmDepsHash = "sha256-eazc3OIusY8cbaF8RJOrVcyWPQexcz6lZYLLCpB1mHc=";
|
||||
npmDepsHash = "sha256-9NS85U4L5sLX3n/uN4p4CB5vfpWMMcnf6wESlFdQPlI=";
|
||||
installPhase = "cp -r build $out";
|
||||
};
|
||||
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
php83.buildComposerProject2 (finalAttrs: {
|
||||
pname = "bookstack";
|
||||
version = "25.05.2";
|
||||
version = "25.07";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bookstackapp";
|
||||
repo = "bookstack";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-TkqbrzF+WybD8zmVymFXHgzMPDPHlYd71Fg9Z6BVs4M=";
|
||||
hash = "sha256-NlG5b/uiXplvV4opL6+SMDh4UhHAhN1wuGX7eyEnTew=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-kpA00pJG7zzmpwUJsLvhCF/Q74iBmGbtTrelSex/9g0=";
|
||||
vendorHash = "sha256-8wnNHFo+faut7qqHHy9/jvcUfLFD45uapBFGP4xAYFs=";
|
||||
|
||||
passthru = {
|
||||
phpPackage = php83;
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
stdenvNoCC,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
fetchurl,
|
||||
gtk3,
|
||||
getent,
|
||||
papirus-icon-theme,
|
||||
flavor ? "mocha",
|
||||
accent ? "blue",
|
||||
@@ -31,27 +33,42 @@ let
|
||||
"mocha"
|
||||
];
|
||||
pname = "catppuccin-papirus-folders";
|
||||
|
||||
# Fetch the papirus-folders script from upstream
|
||||
# Per instructions in the papirus-folders project.
|
||||
papirus-folders-rev = "0f838ee5679229e3a3e97e3b333c222c9e9615b4";
|
||||
papirus-folders-script = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/PapirusDevelopmentTeam/papirus-folders/${papirus-folders-rev}/papirus-folders";
|
||||
sha256 = "sha256-NJpXdf1ymnvQzRwUl3OalLzs3sXWVFTp5jN2B3vtUk0=";
|
||||
executable = true;
|
||||
};
|
||||
in
|
||||
lib.checkListOfEnum "${pname}: accent colors" validAccents [ accent ] lib.checkListOfEnum
|
||||
"${pname}: flavors"
|
||||
validFlavors
|
||||
[ flavor ]
|
||||
|
||||
stdenvNoCC.mkDerivation
|
||||
{
|
||||
inherit pname;
|
||||
version = "0-unstable-2023-08-02";
|
||||
version = "0-unstable-2024-08-06";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "catppuccin";
|
||||
repo = "papirus-folders";
|
||||
rev = "fcf96737fffc343a1bf129732c37d19f2d77fa5c";
|
||||
sha256 = "sha256-3yjIGzN+/moP2OVGDIAy4zPqUroSjx3c2mJjdZGhTsY=";
|
||||
rev = "f83671d17ea67e335b34f8028a7e6d78bca735d7";
|
||||
sha256 = "sha256-FiZdwzsaMhS+5EYTcVU1LVax2H1FidQw97xZklNH2R4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gtk3 ];
|
||||
# This takes a horribly long time, and there's nothing to fixup in
|
||||
# this package.
|
||||
dontFixup = true;
|
||||
nativeBuildInputs = [
|
||||
gtk3
|
||||
getent
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
cp ${papirus-folders-script} ./papirus-folders
|
||||
patchShebangs ./papirus-folders
|
||||
'';
|
||||
|
||||
|
||||
@@ -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():
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
brotli,
|
||||
zlib,
|
||||
gitUpdater,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -73,13 +74,19 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
wrapProgram $out/bin/mancha ${makeWrapperArgs}
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
doInstallCheck = true;
|
||||
versionCheckProgramArg = "--version";
|
||||
|
||||
passthru.updateScript = gitUpdater { rev-prefix = "v"; };
|
||||
|
||||
meta = {
|
||||
description = "Lightweight and featureful terminal web browser";
|
||||
homepage = "https://sr.ht/~bptato/chawan/";
|
||||
changelog = "https://git.sr.ht/~bptato/chawan/refs/v${finalAttrs.version}";
|
||||
license = lib.licenses.publicDomain;
|
||||
license = lib.licenses.unlicense;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
mainProgram = "cha";
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
+4
-4
@@ -6,13 +6,13 @@
|
||||
"packages": {
|
||||
"": {
|
||||
"dependencies": {
|
||||
"@anthropic-ai/claude-code": "^1.0.64"
|
||||
"@anthropic-ai/claude-code": "^1.0.65"
|
||||
}
|
||||
},
|
||||
"node_modules/@anthropic-ai/claude-code": {
|
||||
"version": "1.0.64",
|
||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-1.0.64.tgz",
|
||||
"integrity": "sha512-AI3Q/50+znj80gV1Aua4MOGLuOxS4G6m11CmYYyDCFuoVMzskG1aSI5fxAyGol3N5GI4Tuw0YPmANJdZ/MNvhQ==",
|
||||
"version": "1.0.65",
|
||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-1.0.65.tgz",
|
||||
"integrity": "sha512-MUpHFOzdx8EKw3DogQObsL5nseXbMInGHInqRyMVBf2/aLnD4IHEFOuyR5SfnINI9E8lEiqIOy0p3muu60j3uA==",
|
||||
"license": "SEE LICENSE IN README.md",
|
||||
"bin": {
|
||||
"claude": "cli.js"
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "claude-code";
|
||||
version = "1.0.64";
|
||||
version = "1.0.65";
|
||||
|
||||
nodejs = nodejs_20; # required for sandboxed Nix builds on Darwin
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${version}.tgz";
|
||||
hash = "sha256-do/RbjQu+E4hfw1/iNrAt+Jm1OROwooSxJCLDNd4LZw=";
|
||||
hash = "sha256-Ch55xuJZJ0LXDTIlC7Ya381jqeGJzYC5IDEY0hS76/M=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-v0k5KNlGu/jsHd2AVzW9IeLFlIOr+85YXiHbe4pA/bM=";
|
||||
npmDepsHash = "sha256-iekpD6RTMRHaV2ifogoestwpq3W+JkesjGVlhtGwHQQ=";
|
||||
|
||||
postPatch = ''
|
||||
cp ${./package-lock.json} package-lock.json
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "clock-rs";
|
||||
version = "0.1.215";
|
||||
version = "0.1.216";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Oughie";
|
||||
repo = "clock-rs";
|
||||
tag = "v${version}";
|
||||
sha256 = "sha256-uDEvJqaaBNRxohYqHE6qfqUF07ynRvGwJKWbYfgPEvg=";
|
||||
sha256 = "sha256-sSofMZThR025O2J4PnOMWVEuBt/+oZ01yDAQAijca0A=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Zry6mkOUdEgC95Y3U3RCXPJUsmaSoRPlHvUThI92GQU=";
|
||||
cargoHash = "sha256-7gpD7aAma9Ye7sxqm1wGekcovXxdd11XOMf7fKWZrcA=";
|
||||
|
||||
meta = {
|
||||
description = "Modern, digital clock that effortlessly runs in your terminal";
|
||||
@@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec {
|
||||
clock-rs is a terminal-based clock written in Rust, designed to be a new alternative to tty-clock.
|
||||
It supports all major platforms and offers several improvements, which include:
|
||||
|
||||
- The use of a single configuration file to manage its settings, with the ability to overwrite them through the command line,
|
||||
- The use of a single configuration file to manage its settings, with the ability to override them through the command line,
|
||||
- Many additional features such as a timer and a stopwatch,
|
||||
- And greater flexibility as well as better user experience!
|
||||
'';
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "clorinde";
|
||||
version = "1.0.0";
|
||||
version = "1.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "halcyonnouveau";
|
||||
repo = "clorinde";
|
||||
tag = "clorinde-v${finalAttrs.version}";
|
||||
hash = "sha256-AYoSs3rDZ5j8Xt6E4X7RmgccM3bng3rgWzVLFjhmfR0=";
|
||||
hash = "sha256-Bxa30QkBFJaa/Xd4BL5OOcMLLHI6p81kX10zrUQkX5w=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-hxOVocfQvBlaYh227SVLYncfVZ80bDxIvoMtthaqQqc=";
|
||||
cargoHash = "sha256-EL2/IgIdP+JZAdDXHwaBqBqjBIJOQeNL48hgTn9UWXw=";
|
||||
|
||||
cargoBuildFlags = [ "--package=clorinde" ];
|
||||
|
||||
|
||||
@@ -1,39 +1,66 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
gitMinimal,
|
||||
installShellFiles,
|
||||
nix-update-script,
|
||||
pkg-config,
|
||||
python3,
|
||||
openssl,
|
||||
versionCheckHook,
|
||||
installShellCompletions ? stdenv.buildPlatform.canExecute stdenv.hostPlatform,
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "codex";
|
||||
version = "0.4.0";
|
||||
version = "0.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openai";
|
||||
repo = "codex";
|
||||
tag = "rust-v${finalAttrs.version}";
|
||||
hash = "sha256-rRe0JFEO5ixxrZYDL8kxXDOH0n7lqabkXNNaSlNnQDg=";
|
||||
hash = "sha256-t7FgR84alnJGhN/dsFtUySFfOpGoBlRfP+D/Q6JPz5M=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/codex-rs";
|
||||
|
||||
cargoHash = "sha256-QIZ3V4NUo1VxJN3cwdQf3S0zwePnwdKKfch0jlIJacU=";
|
||||
cargoHash = "sha256-SNl6UXzvtVR+ep7CIoCcpvET8Hs7ew1fmHqOXbzN7kU=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
python3 # Required because of codex-rs/login/src/login_with_chatgpt.py
|
||||
];
|
||||
|
||||
nativeCheckInputs = [ gitMinimal ];
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
env = {
|
||||
CODEX_SANDBOX = "seatbelt"; # Disables sandbox tests which want to access /usr/bin/touch
|
||||
CODEX_SANDBOX_NETWORK_DISABLED = 1; # Skips tests that require networking
|
||||
};
|
||||
checkFlags = [
|
||||
"--skip=keeps_previous_response_id_between_tasks" # Requires network access
|
||||
"--skip=retries_on_early_close" # Requires network access
|
||||
"--skip=shell::tests::test_run_with_profile_escaping_and_execution" # Wants to access /bin/zsh
|
||||
"--skip=includes_base_instructions_override_in_request" # Fails with 'stream ended unexpectedly: InternalAgentDied'
|
||||
"--skip=includes_user_instructions_message_in_request" # Fails with 'stream ended unexpectedly: InternalAgentDied'
|
||||
"--skip=originator_config_override_is_used" # Fails with 'stream ended unexpectedly: InternalAgentDied'
|
||||
"--skip=test_conversation_create_and_send_message_ok" # Version 0.0.0 hardcoded
|
||||
"--skip=test_send_message_session_not_found" # Version 0.0.0 hardcoded
|
||||
"--skip=test_send_message_success" # Version 0.0.0 hardcoded
|
||||
];
|
||||
|
||||
postInstall = lib.optionalString installShellCompletions ''
|
||||
installShellCompletion --cmd codex \
|
||||
--bash <($out/bin/codex completion bash) \
|
||||
--fish <($out/bin/codex completion fish) \
|
||||
--zsh <($out/bin/codex completion zsh)
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "coin";
|
||||
version = "4.0.4";
|
||||
version = "4.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "coin3d";
|
||||
repo = "coin";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-Zk9tlGMbNhfHKv+Z5VFWr1g3wNuPFzof+7vsLAlOBC4=";
|
||||
hash = "sha256-dUFmcUOdNc3ZFtr+Hnh3Q3OY/JA/WxmiRJiU2RFSSus=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
+12
-15
@@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
@@ -21,12 +21,12 @@
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "crosvm";
|
||||
version = "0-unstable-2025-07-24";
|
||||
version = "0-unstable-2025-08-01";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://chromium.googlesource.com/chromiumos/platform/crosvm";
|
||||
rev = "0865699a3bc381c058fabfed655ac54c9e4c58ec";
|
||||
hash = "sha256-5diQzbo7mcUQmzjUOFNib2Vgqv/FehFL85ru0/AOe+Y=";
|
||||
rev = "1543b3e004a8d4b45c37d45a06e7221effd22a1d";
|
||||
hash = "sha256-jIFjn9/WniMTvTibkdqra/mPOf7E+OFHj2xiUMyD6lY=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "cvemap";
|
||||
version = "0.0.7";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "projectdiscovery";
|
||||
repo = "cvemap";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-Ste08J3KIJmugKZegU82wq6N+B5DaHc8Z0UtqKsUYE8=";
|
||||
hash = "sha256-pzCLzSsAaoiRrTBENnmyqaSyDnHQdDAcTNyaxpc7mt4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-+gYJkKJLUsCbh0JhVNOdr8U5pgWYjD56KZ0VePoYecU=";
|
||||
vendorHash = "sha256-4GW1mgwOXbdiDmQoN1yxVOJC8mXpqkKliabWZzvOff4=";
|
||||
|
||||
subPackages = [
|
||||
"cmd/cvemap/"
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "dua";
|
||||
version = "2.30.1";
|
||||
version = "2.31.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Byron";
|
||||
repo = "dua-cli";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-TJiy9ki2k9sgruMFPF3xElOJaco6G8Jx/g43WYwF22U=";
|
||||
hash = "sha256-GwNA3rKZ754B6/wGfE3YYv7/w3pt+0T/leYOfdiXzTs=";
|
||||
# Remove unicode file names which leads to different checksums on HFS+
|
||||
# vs. other filesystems because of unicode normalisation.
|
||||
postFetch = ''
|
||||
@@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec {
|
||||
'';
|
||||
};
|
||||
|
||||
cargoHash = "sha256-LOtZyH6eO8IgHrZfyBInEeXI9CxkjLrMfMWuTUMF+FU=";
|
||||
cargoHash = "sha256-T4wvvrTeXsHCoIpvHmAMWcsxtxx5o7Nvky/TkwVyfAA=";
|
||||
|
||||
checkFlags = [
|
||||
# Skip interactive tests
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "easytier";
|
||||
version = "2.3.2";
|
||||
version = "2.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EasyTier";
|
||||
repo = "EasyTier";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-PacIaE1oxnMAh3aS6k4ciuE/85G+JIbFDcge64fyjiE=";
|
||||
hash = "sha256-GNHF15FJDLZKYrNuvaTQfsPGS6BabEhk5BZm7OzFbvU=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Q2qxCINePGCbvlLMxg9oVFtBoJtbG+pgpRdoLkvZb+w=";
|
||||
cargoHash = "sha256-rwwrCiTiLn1DM3LaTNKzQi0tUWGzAYMXku9LHjq2K7g=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
protobuf
|
||||
|
||||
@@ -7,20 +7,20 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ecspresso";
|
||||
version = "2.5.0";
|
||||
version = "2.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kayac";
|
||||
repo = "ecspresso";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-j0vSDOWAnYhHV0+LXULX+5pHxGl4QCRREqir2ak00rY=";
|
||||
hash = "sha256-t7XToo/OFrczwF24k51Ae1gFI3/C2HIP5mAJVN8BzLk=";
|
||||
};
|
||||
|
||||
subPackages = [
|
||||
"cmd/ecspresso"
|
||||
];
|
||||
|
||||
vendorHash = "sha256-Y3Oxmk2nmZUGHzvSn0Wxp9ApPNy0x2fbYB3agZmCL8U=";
|
||||
vendorHash = "sha256-tL/AjGU/Pi5ypcv9jqUukg6sGJqpPlHhwxzve7/KgDo=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -22,21 +22,21 @@
|
||||
|
||||
mono,
|
||||
|
||||
versionCheckHook,
|
||||
|
||||
eddie,
|
||||
testers,
|
||||
}:
|
||||
|
||||
buildDotnetModule rec {
|
||||
buildDotnetModule (finalAttrs: {
|
||||
pname = "eddie";
|
||||
version = "2.24.4";
|
||||
version = "2.24.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AirVPN";
|
||||
repo = "Eddie";
|
||||
# Upstream uses the summaries of commits for
|
||||
# specifying the versions of experimental builds
|
||||
rev = "aeaa7e594d71610dd2c231a8dc5c5aaddc89a7c1";
|
||||
hash = "sha256-AlnWqrKoZb4s4MfPClxlEqzKIOwWL/frA+dx2kCNwW4=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-XSLxjF2k9cw+cx6KzFIQHtjDWqLT2V49KRw+oIyxM5M=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -77,7 +77,7 @@ buildDotnetModule rec {
|
||||
|
||||
makeWrapperArgs = [
|
||||
"--add-flags \"--path.resources=${placeholder "out"}/share/eddie-ui\""
|
||||
"--prefix PATH : ${nativeRuntimeInputs}"
|
||||
"--prefix PATH : ${finalAttrs.nativeRuntimeInputs}"
|
||||
];
|
||||
|
||||
executables = [ "eddie-cli" ];
|
||||
@@ -122,10 +122,17 @@ buildDotnetModule rec {
|
||||
|
||||
makeWrapper "${mono}/bin/mono" $out/bin/eddie-ui \
|
||||
--add-flags $out/lib/eddie-ui/App.Forms.Linux.exe \
|
||||
--prefix LD_LIBRARY_PATH : ${runtimeInputs} \
|
||||
--prefix LD_LIBRARY_PATH : ${finalAttrs.runtimeInputs} \
|
||||
''${makeWrapperArgs[@]}
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
versionCheckProgram = "${placeholder "out"}/bin/eddie-cli";
|
||||
versionCheckProgramArg = "--version";
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru = {
|
||||
tests.version = testers.testVersion {
|
||||
package = eddie;
|
||||
@@ -138,7 +145,9 @@ buildDotnetModule rec {
|
||||
homepage = "https://eddie.website";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
mainProgram = "eddie-ui";
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
maintainers = with lib.maintainers; [
|
||||
ryand56
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version" = "1.11.106";
|
||||
"version" = "1.11.108";
|
||||
"hashes" = {
|
||||
"desktopSrcHash" = "sha256-uQUd84MtwMTGhhw83pQk9jI79pNKBVTWJLz8dyT/SE4=";
|
||||
"desktopYarnHash" = "sha256-WZYRPU3ZswAtUAZDJnlELLU1JImO3uFaYHQl+kJOeqk=";
|
||||
"desktopSrcHash" = "sha256-7qG2QyOgq2ATyXsr5jLxngxXvVaw52GYOD1LiUCGNNo=";
|
||||
"desktopYarnHash" = "sha256-QLsKY0tDeY5dp6VLiPZhawa54SI2/A0W6UE0NoJ5dng=";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
yarn,
|
||||
nodejs,
|
||||
jq,
|
||||
electron_36,
|
||||
electron_37,
|
||||
element-web,
|
||||
sqlcipher,
|
||||
callPackage,
|
||||
@@ -22,7 +22,7 @@ let
|
||||
pinData = import ./element-desktop-pin.nix;
|
||||
inherit (pinData.hashes) desktopSrcHash desktopYarnHash;
|
||||
executableName = "element-desktop";
|
||||
electron = electron_36;
|
||||
electron = electron_37;
|
||||
keytar = callPackage ./keytar {
|
||||
inherit electron;
|
||||
};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version" = "1.11.106";
|
||||
"version" = "1.11.108";
|
||||
"hashes" = {
|
||||
"webSrcHash" = "sha256-1l7A+cpXAsTmNbRZgFevPh7Tr/uMHDJkOCNHoc5lGX8=";
|
||||
"webYarnHash" = "sha256-N+aVIKLqTc9lwATYtoIHl7KGiREtWJdMa8bxEv60LQo=";
|
||||
"webSrcHash" = "sha256-2QNRygyyXMvHHSfd9CCusOQ5v/udOwrOdmnrSsatylI=";
|
||||
"webYarnHash" = "sha256-JkXbGRanW+rRgQCVv8sCTzogHR5NKgesw/l166U1h9k=";
|
||||
};
|
||||
}
|
||||
|
||||
Generated
+226
-447
File diff suppressed because it is too large
Load Diff
@@ -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;
|
||||
|
||||
@@ -17,16 +17,16 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.206.0";
|
||||
version = "0.207.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "evcc-io";
|
||||
repo = "evcc";
|
||||
tag = version;
|
||||
hash = "sha256-ZDcfQQrybx11SenbTvTA2iY96NEkzJPMRzSOOlUP3So=";
|
||||
hash = "sha256-gaTY+9MB3nPRD2bOnWYS+vALRR9eHkFNCrEEMspE5ck=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-jiksFU0ce7RiDy7xqVZiKancEiWSMEHDazPc6+l6DNQ=";
|
||||
vendorHash = "sha256-cn7zqhBJblDPl7H8BJtWZ2+ckTKVlqBIwwuXNGwrXdk=";
|
||||
|
||||
commonMeta = with lib; {
|
||||
license = licenses.mit;
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "fabric-ai";
|
||||
version = "1.4.264";
|
||||
version = "1.4.272";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "danielmiessler";
|
||||
repo = "fabric";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-x9dMO/6ZewMSobi4KcEW1CQ+r1Ngll+Bqlv+GRV7eYQ=";
|
||||
hash = "sha256-4ohZC+TKCKljawf0DAqzNQmEeFXi2jp4571uN+0UqZA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-/3+4oeKl+GQPmYt3yBt77ATm55pALa+62mC6lktSTiw=";
|
||||
vendorHash = "sha256-wPd0Rgc081ueK12MTeeJfuwUDyFfwXN/MveeOArjkqg=";
|
||||
|
||||
# Fabric introduced plugin tests that fail in the nix build sandbox.
|
||||
doCheck = false;
|
||||
|
||||
@@ -3,25 +3,25 @@
|
||||
"alpha": {
|
||||
"experimental": {
|
||||
"candidateHashFilenames": [
|
||||
"factorio_linux_2.0.55.tar.xz"
|
||||
"factorio_linux_2.0.60.tar.xz"
|
||||
],
|
||||
"name": "factorio_alpha_x64-2.0.55.tar.xz",
|
||||
"name": "factorio_alpha_x64-2.0.60.tar.xz",
|
||||
"needsAuth": true,
|
||||
"sha256": "f9f4821809a2a2a475683e820853f65b1105a6910e72b4a192843244fedc4819",
|
||||
"sha256": "d022ee9a9b7376077687232c16a3c809e847dab00e02915ec146fb4b548dd24f",
|
||||
"tarDirectory": "x64",
|
||||
"url": "https://factorio.com/get-download/2.0.55/alpha/linux64",
|
||||
"version": "2.0.55"
|
||||
"url": "https://factorio.com/get-download/2.0.60/alpha/linux64",
|
||||
"version": "2.0.60"
|
||||
},
|
||||
"stable": {
|
||||
"candidateHashFilenames": [
|
||||
"factorio_linux_2.0.55.tar.xz"
|
||||
"factorio_linux_2.0.60.tar.xz"
|
||||
],
|
||||
"name": "factorio_alpha_x64-2.0.55.tar.xz",
|
||||
"name": "factorio_alpha_x64-2.0.60.tar.xz",
|
||||
"needsAuth": true,
|
||||
"sha256": "f9f4821809a2a2a475683e820853f65b1105a6910e72b4a192843244fedc4819",
|
||||
"sha256": "d022ee9a9b7376077687232c16a3c809e847dab00e02915ec146fb4b548dd24f",
|
||||
"tarDirectory": "x64",
|
||||
"url": "https://factorio.com/get-download/2.0.55/alpha/linux64",
|
||||
"version": "2.0.55"
|
||||
"url": "https://factorio.com/get-download/2.0.60/alpha/linux64",
|
||||
"version": "2.0.60"
|
||||
}
|
||||
},
|
||||
"demo": {
|
||||
@@ -51,51 +51,51 @@
|
||||
"expansion": {
|
||||
"experimental": {
|
||||
"candidateHashFilenames": [
|
||||
"factorio-space-age_linux_2.0.55.tar.xz"
|
||||
"factorio-space-age_linux_2.0.60.tar.xz"
|
||||
],
|
||||
"name": "factorio_expansion_x64-2.0.55.tar.xz",
|
||||
"name": "factorio_expansion_x64-2.0.60.tar.xz",
|
||||
"needsAuth": true,
|
||||
"sha256": "4c70f5dba5ad7236b56163e5224bea2bcfa08c16d6e2ea2b55f55dd118517a95",
|
||||
"sha256": "56a933745f2cf3144bc984031229cb7b8a16eace523fa9288e8eca915e4d8186",
|
||||
"tarDirectory": "x64",
|
||||
"url": "https://factorio.com/get-download/2.0.55/expansion/linux64",
|
||||
"version": "2.0.55"
|
||||
"url": "https://factorio.com/get-download/2.0.60/expansion/linux64",
|
||||
"version": "2.0.60"
|
||||
},
|
||||
"stable": {
|
||||
"candidateHashFilenames": [
|
||||
"factorio-space-age_linux_2.0.55.tar.xz"
|
||||
"factorio-space-age_linux_2.0.60.tar.xz"
|
||||
],
|
||||
"name": "factorio_expansion_x64-2.0.55.tar.xz",
|
||||
"name": "factorio_expansion_x64-2.0.60.tar.xz",
|
||||
"needsAuth": true,
|
||||
"sha256": "4c70f5dba5ad7236b56163e5224bea2bcfa08c16d6e2ea2b55f55dd118517a95",
|
||||
"sha256": "56a933745f2cf3144bc984031229cb7b8a16eace523fa9288e8eca915e4d8186",
|
||||
"tarDirectory": "x64",
|
||||
"url": "https://factorio.com/get-download/2.0.55/expansion/linux64",
|
||||
"version": "2.0.55"
|
||||
"url": "https://factorio.com/get-download/2.0.60/expansion/linux64",
|
||||
"version": "2.0.60"
|
||||
}
|
||||
},
|
||||
"headless": {
|
||||
"experimental": {
|
||||
"candidateHashFilenames": [
|
||||
"factorio-headless_linux_2.0.55.tar.xz",
|
||||
"factorio_headless_x64_2.0.55.tar.xz"
|
||||
"factorio-headless_linux_2.0.60.tar.xz",
|
||||
"factorio_headless_x64_2.0.60.tar.xz"
|
||||
],
|
||||
"name": "factorio_headless_x64-2.0.55.tar.xz",
|
||||
"name": "factorio_headless_x64-2.0.60.tar.xz",
|
||||
"needsAuth": false,
|
||||
"sha256": "ef12a54d1556ae1f84ff99edc23706d13b7ad41f1c02d74ca1dfadf9448fcbae",
|
||||
"sha256": "69b5be1a867fd99524f9914dfee900a1ac386cf4e74c4a63768c05dc4d2b2b0b",
|
||||
"tarDirectory": "x64",
|
||||
"url": "https://factorio.com/get-download/2.0.55/headless/linux64",
|
||||
"version": "2.0.55"
|
||||
"url": "https://factorio.com/get-download/2.0.60/headless/linux64",
|
||||
"version": "2.0.60"
|
||||
},
|
||||
"stable": {
|
||||
"candidateHashFilenames": [
|
||||
"factorio-headless_linux_2.0.55.tar.xz",
|
||||
"factorio_headless_x64_2.0.55.tar.xz"
|
||||
"factorio-headless_linux_2.0.60.tar.xz",
|
||||
"factorio_headless_x64_2.0.60.tar.xz"
|
||||
],
|
||||
"name": "factorio_headless_x64-2.0.55.tar.xz",
|
||||
"name": "factorio_headless_x64-2.0.60.tar.xz",
|
||||
"needsAuth": false,
|
||||
"sha256": "ef12a54d1556ae1f84ff99edc23706d13b7ad41f1c02d74ca1dfadf9448fcbae",
|
||||
"sha256": "69b5be1a867fd99524f9914dfee900a1ac386cf4e74c4a63768c05dc4d2b2b0b",
|
||||
"tarDirectory": "x64",
|
||||
"url": "https://factorio.com/get-download/2.0.55/headless/linux64",
|
||||
"version": "2.0.55"
|
||||
"url": "https://factorio.com/get-download/2.0.60/headless/linux64",
|
||||
"version": "2.0.60"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gerbil";
|
||||
version = "1.0.0";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fosrl";
|
||||
repo = "gerbil";
|
||||
tag = version;
|
||||
hash = "sha256-6ZmnokXmn4KIfNZT9HrraYP4fjfY2C0sK+xAJyq/pkU=";
|
||||
hash = "sha256-vfeI3GNI910FQmHK53E6yPrWF3tQtjrpQ/oP2PcDzs4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-lYJjw+V94oxILu+akUnzGACtsU7CLGwljysRvyUk+yA=";
|
||||
vendorHash = "sha256-m6UfW+DVT0T/t7fiqZXc2ihg2O07C7LnR0uy4FDWPCA=";
|
||||
|
||||
# patch out the /usr/sbin/iptables
|
||||
postPatch = ''
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "newt";
|
||||
version = "1.3.4";
|
||||
version = "1.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fosrl";
|
||||
repo = "newt";
|
||||
tag = version;
|
||||
hash = "sha256-yhvnHwyFbnA+FY0OkhqDYPPUKftjgXNJuqk7fdXYaqI=";
|
||||
hash = "sha256-t1MqcrbYa5vojMOyn+iyExsUDQ1FQYlmZBFqyOkotyw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Y/f7GCO7Kf1iQiDR32DIEIGJdcN+PKS0OrhBvXiHvwo=";
|
||||
vendorHash = "sha256-V8sq7XD/HJFKjhggrDWPdEEq3hjz0IHzpybQXA8Z/pg=";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace main.go \
|
||||
|
||||
@@ -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 = {
|
||||
@@ -20,13 +20,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "gale";
|
||||
version = "1.9.1";
|
||||
version = "1.9.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Kesomannen";
|
||||
repo = "gale";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-43vp2y+cZFIh9SDWFr0ndOLBsdGDiwW1qn77G+/JWpo=";
|
||||
hash = "sha256-AADU89Nxy7dpmamRdvCSe5ItwoVsRvgQocoMKs7qUZo=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -42,7 +42,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
cargoRoot = "src-tauri";
|
||||
buildAndTestSubdir = finalAttrs.cargoRoot;
|
||||
|
||||
cargoHash = "sha256-1kIPNLoM4HYir2o04u+xkmKJTOEle2WTUm2446n2wiE=";
|
||||
cargoHash = "sha256-+eSEOcmrY+3LpOssJzXHFQYKkvdacl5K6FPfcf7LTUQ=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
jq
|
||||
|
||||
@@ -49,14 +49,14 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gamescope";
|
||||
version = "3.16.14";
|
||||
version = "3.16.14.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ValveSoftware";
|
||||
repo = "gamescope";
|
||||
tag = finalAttrs.version;
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-i1a3nTospbGR/uPbwuM0z6cATANvw3QCFXd99e3tXCs=";
|
||||
hash = "sha256-l8SK8LQmFK0KeWxag7CX2lnME+HOvGpn4s3FqUNsK1Q=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "gmap";
|
||||
version = "0.3.2";
|
||||
version = "0.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "seeyebe";
|
||||
repo = "gmap";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-L+Dv2B+ZbGW2loh7yOMwk4x5kRFaCc+n5FgAfCSbh3M=";
|
||||
hash = "sha256-+klVySOgI/M57f98Cx3omkEBx/NcaWD4FuIW6cz1aN8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-awdNb81j7Zhh3aIMJh1d8LuZ8rlfBe0shk/GyNb1aiA=";
|
||||
cargoHash = "sha256-WjYCwGyFjBjITqsMPsD4kkeuSGPXtSKOFKaEfznMryI=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
||||
+19
-35
@@ -2,7 +2,6 @@
|
||||
# Update via ./update.sh
|
||||
{
|
||||
mkDerivation,
|
||||
ansi-terminal,
|
||||
ansi-wl-pprint,
|
||||
base,
|
||||
base64-bytestring,
|
||||
@@ -12,7 +11,6 @@
|
||||
directory,
|
||||
edit-distance,
|
||||
fetchgit,
|
||||
filelock,
|
||||
filepath,
|
||||
ghc-prim,
|
||||
haskeline,
|
||||
@@ -21,28 +19,26 @@
|
||||
indexed-traversable,
|
||||
lib,
|
||||
mtl,
|
||||
prettyprint-avh4,
|
||||
prettyprinter,
|
||||
process,
|
||||
raw-strings-qq,
|
||||
scientific,
|
||||
text,
|
||||
time,
|
||||
utf8-string,
|
||||
vector,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "gren";
|
||||
version = "0.5.2";
|
||||
version = "0.6.1";
|
||||
src = fetchgit {
|
||||
url = "https://github.com/gren-lang/compiler.git";
|
||||
sha256 = "1mksfma6c1dn091ab4x794hs71v44bx294wbn80qfc5kgrrl5lf4";
|
||||
rev = "ee19481f5715b78cad8be09e29e56dcb82d65f4f";
|
||||
sha256 = "0h7mm3y62l3j190sd25db4bifp65xmyc4rc16jhyphp6yzyjcpcl";
|
||||
rev = "b54f0343c8015c777e4fbb74e843181e6f3cb214";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
executableHaskellDepends = [
|
||||
ansi-terminal
|
||||
libraryHaskellDepends = [
|
||||
ansi-wl-pprint
|
||||
base
|
||||
base64-bytestring
|
||||
@@ -51,51 +47,39 @@ mkDerivation {
|
||||
containers
|
||||
directory
|
||||
edit-distance
|
||||
filelock
|
||||
filepath
|
||||
ghc-prim
|
||||
haskeline
|
||||
indexed-traversable
|
||||
mtl
|
||||
prettyprint-avh4
|
||||
process
|
||||
prettyprinter
|
||||
raw-strings-qq
|
||||
scientific
|
||||
text
|
||||
time
|
||||
utf8-string
|
||||
vector
|
||||
];
|
||||
executableHaskellDepends = [
|
||||
base
|
||||
bytestring
|
||||
containers
|
||||
directory
|
||||
filepath
|
||||
haskeline
|
||||
mtl
|
||||
process
|
||||
utf8-string
|
||||
];
|
||||
testHaskellDepends = [
|
||||
ansi-terminal
|
||||
ansi-wl-pprint
|
||||
base
|
||||
base64-bytestring
|
||||
binary
|
||||
bytestring
|
||||
containers
|
||||
directory
|
||||
edit-distance
|
||||
filelock
|
||||
filepath
|
||||
ghc-prim
|
||||
haskeline
|
||||
hspec
|
||||
indexed-traversable
|
||||
mtl
|
||||
prettyprint-avh4
|
||||
process
|
||||
raw-strings-qq
|
||||
scientific
|
||||
text
|
||||
time
|
||||
utf8-string
|
||||
vector
|
||||
];
|
||||
testToolDepends = [ hspec-discover ];
|
||||
doHaddock = false;
|
||||
jailbreak = true;
|
||||
homepage = "https://gren-lang.org";
|
||||
description = "`gren` command line interface";
|
||||
description = "The `gren` command line interface";
|
||||
license = lib.licenses.bsd3;
|
||||
mainProgram = "gren";
|
||||
}
|
||||
@@ -1,21 +1,63 @@
|
||||
{
|
||||
lib,
|
||||
haskell,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
makeBinaryWrapper,
|
||||
nodejs,
|
||||
git,
|
||||
haskellPackages,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (haskell.lib.compose) overrideCabal;
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gren";
|
||||
version = "0.6.1";
|
||||
|
||||
raw-pkg = (haskellPackages.callPackage ./generated-package.nix { }).overrideScope (
|
||||
final: prev: {
|
||||
ansi-wl-pprint = final.ansi-wl-pprint_0_6_9;
|
||||
}
|
||||
);
|
||||
|
||||
overrides = {
|
||||
maintainers = with lib.maintainers; [ tomasajt ];
|
||||
passthru.updateScript = ./update.sh;
|
||||
src = fetchFromGitHub {
|
||||
owner = "gren-lang";
|
||||
repo = "compiler";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-lF0m/ffmwuuhNIFlwnztxVwXF1mtiKZBCnJQYfyo9UA=";
|
||||
};
|
||||
in
|
||||
overrideCabal overrides raw-pkg
|
||||
|
||||
buildInputs = [
|
||||
nodejs
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeBinaryWrapper
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
# install the precompiled frontend into the proper location
|
||||
install -Dm755 bin/compiler $out/bin/gren
|
||||
|
||||
wrapProgram $out/bin/gren \
|
||||
--set-default GREN_BIN ${lib.getExe finalAttrs.passthru.backend} \
|
||||
--suffix PATH : ${lib.makeBinPath [ git ]}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
versionCheckProgram = "${placeholder "out"}/bin/gren";
|
||||
versionCheckProgramArg = "--version";
|
||||
|
||||
passthru = {
|
||||
backend = haskellPackages.callPackage ./generated-backend-package.nix { };
|
||||
updateScript = ./update.sh;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Compiler for the Gren programming language";
|
||||
homepage = "https://gren-lang.org";
|
||||
license = lib.licenses.bsd3;
|
||||
mainProgram = "gren";
|
||||
maintainers = with lib.maintainers; [
|
||||
robinheghan
|
||||
tomasajt
|
||||
];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -1,22 +1,24 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p cabal2nix curl jq
|
||||
#!nix-shell -i bash -p cabal2nix curl jq nixfmt-rfc-style
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# This is the directory of this update.sh script.
|
||||
script_dir="$(dirname "${BASH_SOURCE[0]}")"
|
||||
derivation_file="${script_dir}/generated-package.nix"
|
||||
|
||||
backend_derivation_file="${script_dir}/generated-backend-package.nix"
|
||||
|
||||
latest_version="$(curl --silent 'https://api.github.com/repos/gren-lang/compiler/releases/latest' | jq --raw-output '.tag_name')"
|
||||
|
||||
echo "Updating gren to version ${latest_version}."
|
||||
echo "Running cabal2nix and outputting to ${derivation_file}..."
|
||||
echo "Updating gren backend to version ${latest_version}."
|
||||
echo "Running cabal2nix and outputting to ${backend_derivation_file}..."
|
||||
|
||||
cat > "${derivation_file}" << EOF
|
||||
cat > "${backend_derivation_file}" << EOF
|
||||
# This file has been autogenerated with cabal2nix.
|
||||
# Update via ./update.sh
|
||||
EOF
|
||||
|
||||
cabal2nix 'https://github.com/gren-lang/compiler.git' --revision "${latest_version}" --jailbreak >> "${derivation_file}"
|
||||
nixfmt "${derivation_file}"
|
||||
cabal2nix 'https://github.com/gren-lang/compiler.git' --revision "${latest_version}" --jailbreak >> "${backend_derivation_file}"
|
||||
nixfmt "${backend_derivation_file}"
|
||||
|
||||
echo 'Finished.'
|
||||
echo 'Finished backend generation.'
|
||||
|
||||
@@ -15,11 +15,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "groovy";
|
||||
version = "4.0.27";
|
||||
version = "4.0.28";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/groovy/${version}/distribution/apache-groovy-binary-${version}.zip";
|
||||
sha256 = "sha256-vJF8i7AbKDLxJKe9Y6PHK6XoPvfwVmUN/ZoveUSWBoU=";
|
||||
sha256 = "sha256-agUr/SynfVfg2zBKMT3ZpymUXFoxQg5tSFBb5IQL/FQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -8,10 +8,10 @@
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "halo";
|
||||
version = "2.21.3";
|
||||
version = "2.21.4";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/halo-dev/halo/releases/download/v${version}/halo-${version}.jar";
|
||||
hash = "sha256-l5tD9QIQfuRXG6hxP2ensb3SeX/A7F/xx694rQKUUrI=";
|
||||
hash = "sha256-RoisTthVRq6UGTE5jRdo6tL/3UVaOu1/3XPpwyLQV4g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
|
||||
@@ -19,14 +19,14 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "home-manager";
|
||||
version = "0-unstable-2025-07-18";
|
||||
version = "0-unstable-2025-07-28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
name = "home-manager-source";
|
||||
owner = "nix-community";
|
||||
repo = "home-manager";
|
||||
rev = "d0300c8808e41da81d6edfc202f3d3833c157daf";
|
||||
hash = "sha256-irfg7lnfEpJY+3Cffkluzp2MTVw1Uq9QGxFp6qadcXI=";
|
||||
rev = "f49e872f55e36e67ebcb906ff65f86c7a1538f7c";
|
||||
hash = "sha256-vojVM0SgFP8crFh1LDDXkzaI9/er/1cuRfbNPhfBHyc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "hyprcursor";
|
||||
version = "0.1.12";
|
||||
version = "0.1.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = "hyprcursor";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-IvneQb4YFlEXWjXaKeA0y6lL7Z6JqTAvSAlcMDWnjK4=";
|
||||
hash = "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -20,13 +20,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "hypseus-singe";
|
||||
version = "2.11.5";
|
||||
version = "2.11.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "DirtBagXon";
|
||||
repo = "hypseus-singe";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-K/U/cx1y8mbC81qYNHz+AqT/hsc108NCHo0MoDhQqvs=";
|
||||
hash = "sha256-fSqlpzA2NUY1Sk+OTj9SmeRfQ+nqY9iAa3vTwr4OV9Q=";
|
||||
};
|
||||
|
||||
patches = [ ./use-shared-mpeg2.patch ];
|
||||
|
||||
@@ -18,16 +18,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "igir";
|
||||
version = "4.1.1";
|
||||
version = "4.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "emmercm";
|
||||
repo = "igir";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-f/3XIBFMxSPwJpfZTBhuznU/psChfnQEwZASOoH4Ij0=";
|
||||
hash = "sha256-L9bY3ep0HqRimYTqfW1yqbnnas4gjsD2emtJnWxGQaQ=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-qPyS2F5jt1C5SZxvRuyPX4+TkYZKTffcekanWtH82EY=";
|
||||
npmDepsHash = "sha256-56pTJ1VZcoqDb56qzvfxEZUubu82n55O5R0JFRNy5HE=";
|
||||
|
||||
# I have no clue why I have to do this
|
||||
postPatch = ''
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import ./generic.nix {
|
||||
hash = "sha256-py1QqOmcg51T9EQEYBsOP611vCzZhF4AAqcweo9+D/Q=";
|
||||
version = "6.14.0";
|
||||
vendorHash = "sha256-YRif8fmfXqc5Xn9xI382iko9WUzSucKKqrWEdU0gfSU=";
|
||||
hash = "sha256-HhgAZ/MDNX6v1tBLv4sMHfFQMPoYkTaaWM8aLkl31Mg=";
|
||||
version = "6.15.0";
|
||||
vendorHash = "sha256-pCpOHFWyacJ3K1EyK2Pkezv0Ooj+sFQ3ZmtBmhZJYNE=";
|
||||
patches = [ ];
|
||||
nixUpdateExtraArgs = [
|
||||
"--override-filename=pkgs/by-name/in/incus/package.nix"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user