mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-10 03:23:29 +03:00
Merge staging-next into staging
This commit is contained in:
commit
13b51cfb12
142 changed files with 2526 additions and 1499 deletions
|
@ -17715,6 +17715,12 @@
|
|||
github = "nikstur";
|
||||
githubId = 61635709;
|
||||
};
|
||||
nilathedragon = {
|
||||
email = "nilathedragon@pm.me";
|
||||
name = "Nila The Dragon";
|
||||
github = "nilathedragon";
|
||||
githubId = 43315617;
|
||||
};
|
||||
nilp0inter = {
|
||||
email = "robertomartinezp@gmail.com";
|
||||
github = "nilp0inter";
|
||||
|
|
|
@ -749,6 +749,15 @@
|
|||
"module-services-davis-basic-usage": [
|
||||
"index.html#module-services-davis-basic-usage"
|
||||
],
|
||||
"module-services-draupnir": [
|
||||
"index.html#module-services-draupnir"
|
||||
],
|
||||
"module-services-draupnir-setup": [
|
||||
"index.html#module-services-draupnir-setup"
|
||||
],
|
||||
"module-services-draupnir-setup-ems": [
|
||||
"index.html#module-services-draupnir-setup-ems"
|
||||
],
|
||||
"module-services-castopod": [
|
||||
"index.html#module-services-castopod"
|
||||
],
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
|
||||
- [Broadcast Box](https://github.com/Glimesh/broadcast-box), a WebRTC broadcast server. Available as [services.broadcast-box](options.html#opt-services.broadcast-box.enable).
|
||||
|
||||
- [Draupnir](https://github.com/the-draupnir-project/draupnir), a Matrix moderation bot. Available as [services.draupnir](#opt-services.draupnir.enable).
|
||||
|
||||
- [SuiteNumérique Docs](https://github.com/suitenumerique/docs), a collaborative note taking, wiki and documentation web platform and alternative to Notion or Outline. Available as [services.lasuite-docs](#opt-services.lasuite-docs.enable).
|
||||
|
||||
[dwl](https://codeberg.org/dwl/dwl), a compact, hackable compositor for Wayland based on wlroots. Available as [programs.dwl](#opt-programs.dwl.enable).
|
||||
|
@ -44,5 +46,7 @@
|
|||
|
||||
- `services.clamsmtp` is unmaintained and was removed from Nixpkgs.
|
||||
|
||||
- `services.dnscrypt-proxy2` gains a `package` option to specify dnscrypt-proxy package to use.
|
||||
|
||||
- `amdgpu` kernel driver overdrive mode can now be enabled by setting [hardware.amdgpu.overdrive.enable](#opt-hardware.amdgpu.overdrive.enable) and customized through [hardware.amdgpu.overdrive.ppfeaturemask](#opt-hardware.amdgpu.overdrive.ppfeaturemask).
|
||||
This allows for fine-grained control over the GPU's performance and maybe required by overclocking softwares like Corectrl and Lact. These new options replace old options such as {option}`programs.corectrl.gpuOverclock.enable` and {option}`programs.tuxclocker.enableAMD`.
|
||||
|
|
|
@ -49,6 +49,7 @@ if (-e "/etc/nixos-generate-config.conf") {
|
|||
$rootDir = File::Spec->rel2abs($rootDir); # resolve absolute path
|
||||
}
|
||||
$kernel = $cfg->val("Defaults", "Kernel") // $kernel;
|
||||
$flake = $cfg->val("Defaults", "Flake") // $flake;
|
||||
}
|
||||
|
||||
for (my $n = 0; $n < scalar @ARGV; $n++) {
|
||||
|
|
|
@ -758,6 +758,7 @@
|
|||
./services/matrix/conduit.nix
|
||||
./services/matrix/continuwuity.nix
|
||||
./services/matrix/dendrite.nix
|
||||
./services/matrix/draupnir.nix
|
||||
./services/matrix/hebbot.nix
|
||||
./services/matrix/hookshot.nix
|
||||
./services/matrix/lk-jwt-service.nix
|
||||
|
|
62
nixos/modules/services/matrix/draupnir.md
Normal file
62
nixos/modules/services/matrix/draupnir.md
Normal file
|
@ -0,0 +1,62 @@
|
|||
# Draupnir (Matrix Moderation Bot) {#module-services-draupnir}
|
||||
|
||||
This chapter will show you how to set up your own, self-hosted
|
||||
[Draupnir](https://github.com/the-draupnir-project/Draupnir) instance.
|
||||
|
||||
As an all-in-one moderation tool, it can protect your server from
|
||||
malicious invites, spam messages, and whatever else you don't want.
|
||||
In addition to server-level protection, Draupnir is great for communities
|
||||
wanting to protect their rooms without having to use their personal
|
||||
accounts for moderation.
|
||||
|
||||
The bot by default includes support for bans, redactions, anti-spam,
|
||||
server ACLs, room directory changes, room alias transfers, account
|
||||
deactivation, room shutdown, and more. (This depends on homeserver configuration and implementation.)
|
||||
|
||||
See the [README](https://github.com/the-draupnir-project/draupnir#readme)
|
||||
page and the [Moderator's guide](https://the-draupnir-project.github.io/draupnir-documentation/moderator/setting-up-and-configuring)
|
||||
for additional instructions on how to setup and use Draupnir.
|
||||
|
||||
For [additional settings](#opt-services.draupnir.settings)
|
||||
see [the default configuration](https://github.com/the-draupnir-project/Draupnir/blob/main/config/default.yaml).
|
||||
|
||||
## Draupnir Setup {#module-services-draupnir-setup}
|
||||
|
||||
First create a new unencrypted, private room which will be used as the management room for Draupnir.
|
||||
This is the room in which moderators will interact with Draupnir and where it will log possible errors and debugging information.
|
||||
You'll need to set this room ID or alias in [services.draupnir.settings.managementRoom](#opt-services.draupnir.settings.managementRoom).
|
||||
|
||||
Next, create a new user for Draupnir on your homeserver, if one does not already exist.
|
||||
|
||||
The Draupnir Matrix user expects to be free of any rate limiting.
|
||||
See [Synapse #6286](https://github.com/matrix-org/synapse/issues/6286)
|
||||
for an example on how to achieve this.
|
||||
|
||||
If you want Draupnir to be able to deactivate users, move room aliases, shut down rooms, etc.
|
||||
you'll need to make the Draupnir user a Matrix server admin.
|
||||
|
||||
Now invite the Draupnir user to the management room.
|
||||
Draupnir will automatically try to join this room on startup.
|
||||
|
||||
```nix
|
||||
{
|
||||
services.draupnir = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
homeserverUrl = "https://matrix.org";
|
||||
managementRoom = "!yyy:example.org";
|
||||
};
|
||||
|
||||
secrets = {
|
||||
accessToken = "/path/to/secret/containing/access-token";
|
||||
};
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
### Element Matrix Services (EMS) {#module-services-draupnir-setup-ems}
|
||||
|
||||
If you are using a managed ["Element Matrix Services (EMS)"](https://ems.element.io/)
|
||||
server, you will need to consent to the terms and conditions. Upon startup, an error
|
||||
log entry with a URL to the consent page will be generated.
|
257
nixos/modules/services/matrix/draupnir.nix
Normal file
257
nixos/modules/services/matrix/draupnir.nix
Normal file
|
@ -0,0 +1,257 @@
|
|||
{
|
||||
config,
|
||||
options,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.services.draupnir;
|
||||
opt = options.services.draupnir;
|
||||
|
||||
format = pkgs.formats.yaml { };
|
||||
configFile = format.generate "draupnir.yaml" cfg.settings;
|
||||
|
||||
inherit (lib)
|
||||
literalExpression
|
||||
mkEnableOption
|
||||
mkOption
|
||||
mkPackageOption
|
||||
mkRemovedOptionModule
|
||||
mkRenamedOptionModule
|
||||
types
|
||||
;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
# Removed options for those migrating from the Mjolnir module
|
||||
(mkRenamedOptionModule
|
||||
[ "services" "draupnir" "dataPath" ]
|
||||
[ "services" "draupnir" "settings" "dataPath" ]
|
||||
)
|
||||
(mkRenamedOptionModule
|
||||
[ "services" "draupnir" "homeserverUrl" ]
|
||||
[ "services" "draupnir" "settings" "homeserverUrl" ]
|
||||
)
|
||||
(mkRenamedOptionModule
|
||||
[ "services" "draupnir" "managementRoom" ]
|
||||
[ "services" "draupnir" "settings" "managementRoom" ]
|
||||
)
|
||||
(mkRenamedOptionModule
|
||||
[ "services" "draupnir" "accessTokenFile" ]
|
||||
[ "services" "draupnir" "secrets" "accessToken" ]
|
||||
)
|
||||
(mkRemovedOptionModule [ "services" "draupnir" "pantalaimon" ] ''
|
||||
`services.draupnir.pantalaimon.*` has been removed because it depends on the deprecated and vulnerable
|
||||
libolm library for end-to-end encryption and upstream support for Pantalaimon in Draupnir is limited.
|
||||
See <https://the-draupnir-project.github.io/draupnir-documentation/bot/encryption> for details.
|
||||
If you nontheless require E2EE via Pantalaimon, you can configure `services.pantalaimon-headless.instances`
|
||||
yourself and use that with `services.draupnir.settings.pantalaimon` and `services.draupnir.secrets.pantalaimon.password`.
|
||||
'')
|
||||
];
|
||||
|
||||
options.services.draupnir = {
|
||||
enable = mkEnableOption "Draupnir, a moderations bot for Matrix";
|
||||
|
||||
package = mkPackageOption pkgs "draupnir" { };
|
||||
|
||||
settings = mkOption {
|
||||
example = literalExpression ''
|
||||
{
|
||||
homeserverUrl = "https://matrix.org";
|
||||
managementRoom = "#moderators:example.org";
|
||||
|
||||
autojoinOnlyIfManager = true;
|
||||
automaticallyRedactForReasons = [ "spam" "advertising" ];
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
Free-form settings written to Draupnir's configuration file.
|
||||
See [Draupnir's default configuration](https://github.com/the-draupnir-project/Draupnir/blob/main/config/default.yaml) for available settings.
|
||||
'';
|
||||
default = { };
|
||||
type = types.submodule {
|
||||
freeformType = format.type;
|
||||
options = {
|
||||
homeserverUrl = mkOption {
|
||||
type = types.str;
|
||||
example = "https://matrix.org";
|
||||
description = ''
|
||||
Base URL of the Matrix homeserver that provides the Client-Server API.
|
||||
|
||||
::: {.note}
|
||||
When using Pantalaimon, set this to the Pantalaimon URL and
|
||||
{option}`${opt.settings}.rawHomeserverUrl` to the public URL.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
rawHomeserverUrl = mkOption {
|
||||
type = types.str;
|
||||
example = "https://matrix.org";
|
||||
default = cfg.settings.homeserverUrl;
|
||||
defaultText = literalExpression "config.${opt.settings}.homeserverUrl";
|
||||
description = ''
|
||||
Public base URL of the Matrix homeserver that provides the Client-Server API when using the Draupnir's
|
||||
[Report forwarding feature](https://the-draupnir-project.github.io/draupnir-documentation/bot/homeserver-administration#report-forwarding).
|
||||
|
||||
::: {.warning}
|
||||
When using Pantalaimon, do not set this to the Pantalaimon URL!
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
managementRoom = mkOption {
|
||||
type = types.str;
|
||||
example = "#moderators:example.org";
|
||||
description = ''
|
||||
The room ID or alias where moderators can use the bot's functionality.
|
||||
|
||||
The bot has no access controls, so anyone in this room can use the bot - secure this room!
|
||||
Do not enable end-to-end encryption for this room, unless set up with Pantalaimon.
|
||||
|
||||
::: {.warning}
|
||||
When using a room alias, make sure the alias used is on the local homeserver!
|
||||
This prevents an issue where the control room becomes undefined when the alias can't be resolved.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
dataPath = mkOption {
|
||||
type = types.path;
|
||||
readOnly = true;
|
||||
default = "/var/lib/draupnir";
|
||||
description = ''
|
||||
The path Draupnir will store its state/data in.
|
||||
|
||||
::: {.warning}
|
||||
This option is read-only.
|
||||
:::
|
||||
|
||||
::: {.note}
|
||||
If you want to customize where this data is stored, use a bind mount.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
secrets = {
|
||||
accessToken = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
description = ''
|
||||
File containing the access token for Draupnir's Matrix account
|
||||
to be used in place of {option}`${opt.settings}.accessToken`.
|
||||
'';
|
||||
};
|
||||
|
||||
pantalaimon.password = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
description = ''
|
||||
File containing the password for Draupnir's Matrix account when used in
|
||||
conjunction with Pantalaimon to be used in place of
|
||||
{option}`${opt.settings}.pantalaimon.password`.
|
||||
|
||||
::: {.warning}
|
||||
Take note that upstream has limited Pantalaimon and E2EE support:
|
||||
<https://the-draupnir-project.github.io/draupnir-documentation/bot/encryption> and
|
||||
<https://the-draupnir-project.github.io/draupnir-documentation/shared/dogfood#e2ee-support>.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
web.synapseHTTPAntispam.authorization = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
description = ''
|
||||
File containing the secret token when using the Synapse HTTP Antispam module
|
||||
to be used in place of
|
||||
{option}`${opt.settings}.web.synapseHTTPAntispam.authorization`.
|
||||
|
||||
See <https://the-draupnir-project.github.io/draupnir-documentation/bot/synapse-http-antispam> for details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
# Removed option for those migrating from the Mjolnir module - mkRemovedOption module does *not* work with submodules.
|
||||
assertion = !(cfg.settings ? protectedRooms);
|
||||
message = "Unset ${opt.settings}.protectedRooms, as it is unsupported on Draupnir. Add these rooms via `!draupnir rooms add` instead.";
|
||||
}
|
||||
];
|
||||
|
||||
systemd.services.draupnir = {
|
||||
description = "Draupnir - a moderation bot for Matrix";
|
||||
wants = [
|
||||
"network-online.target"
|
||||
"matrix-synapse.service"
|
||||
"conduit.service"
|
||||
"dendrite.service"
|
||||
];
|
||||
after = [
|
||||
"network-online.target"
|
||||
"matrix-synapse.service"
|
||||
"conduit.service"
|
||||
"dendrite.service"
|
||||
];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
startLimitIntervalSec = 0;
|
||||
serviceConfig = {
|
||||
ExecStart = toString (
|
||||
[
|
||||
(lib.getExe cfg.package)
|
||||
"--draupnir-config"
|
||||
configFile
|
||||
]
|
||||
++ lib.optionals (cfg.secrets.accessToken != null) [
|
||||
"--access-token-path"
|
||||
"%d/access_token"
|
||||
]
|
||||
++ lib.optionals (cfg.secrets.pantalaimon.password != null) [
|
||||
"--pantalaimon-password-path"
|
||||
"%d/pantalaimon_password"
|
||||
]
|
||||
++ lib.optionals (cfg.secrets.web.synapseHTTPAntispam.authorization != null) [
|
||||
"--http-antispam-authorization-path"
|
||||
"%d/http_antispam_authorization"
|
||||
]
|
||||
);
|
||||
|
||||
WorkingDirectory = "/var/lib/draupnir";
|
||||
StateDirectory = "draupnir";
|
||||
StateDirectoryMode = "0700";
|
||||
ProtectHome = true;
|
||||
PrivateDevices = true;
|
||||
Restart = "on-failure";
|
||||
RestartSec = "5s";
|
||||
DynamicUser = true;
|
||||
LoadCredential =
|
||||
lib.optionals (cfg.secrets.accessToken != null) [
|
||||
"access_token:${cfg.secrets.accessToken}"
|
||||
]
|
||||
++ lib.optionals (cfg.secrets.pantalaimon.password != null) [
|
||||
"pantalaimon_password:${cfg.secrets.pantalaimon.password}"
|
||||
]
|
||||
++ lib.optionals (cfg.secrets.web.synapseHTTPAntispam.authorization != null) [
|
||||
"http_antispam_authorization:${cfg.secrets.web.synapseHTTPAntispam.authorization}"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
doc = ./draupnir.md;
|
||||
maintainers = with lib.maintainers; [
|
||||
RorySys
|
||||
emilylange
|
||||
];
|
||||
};
|
||||
}
|
|
@ -4,22 +4,25 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.services.dnscrypt-proxy2;
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
options.services.dnscrypt-proxy2 = {
|
||||
enable = mkEnableOption "dnscrypt-proxy2";
|
||||
enable = lib.mkEnableOption "dnscrypt-proxy2";
|
||||
|
||||
settings = mkOption {
|
||||
package = lib.mkPackageOption pkgs "dnscrypt-proxy" { };
|
||||
|
||||
settings = lib.mkOption {
|
||||
description = ''
|
||||
Attrset that is converted and passed as TOML config file.
|
||||
For available params, see: <https://github.com/DNSCrypt/dnscrypt-proxy/blob/${pkgs.dnscrypt-proxy.version}/dnscrypt-proxy/example-dnscrypt-proxy.toml>
|
||||
'';
|
||||
example = literalExpression ''
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
sources.public-resolvers = {
|
||||
urls = [ "https://download.dnscrypt.info/resolvers-list/v2/public-resolvers.md" ];
|
||||
|
@ -29,27 +32,27 @@ in
|
|||
};
|
||||
}
|
||||
'';
|
||||
type = types.attrs;
|
||||
type = lib.types.attrs;
|
||||
default = { };
|
||||
};
|
||||
|
||||
upstreamDefaults = mkOption {
|
||||
upstreamDefaults = lib.mkOption {
|
||||
description = ''
|
||||
Whether to base the config declared in {option}`services.dnscrypt-proxy2.settings` on the upstream example config (<https://github.com/DNSCrypt/dnscrypt-proxy/blob/master/dnscrypt-proxy/example-dnscrypt-proxy.toml>)
|
||||
|
||||
Disable this if you want to declare your dnscrypt config from scratch.
|
||||
'';
|
||||
type = types.bool;
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
};
|
||||
|
||||
configFile = mkOption {
|
||||
configFile = lib.mkOption {
|
||||
description = ''
|
||||
Path to TOML config file. See: <https://github.com/DNSCrypt/dnscrypt-proxy/blob/master/dnscrypt-proxy/example-dnscrypt-proxy.toml>
|
||||
If this option is set, it will override any configuration done in options.services.dnscrypt-proxy2.settings.
|
||||
'';
|
||||
example = "/etc/dnscrypt-proxy/dnscrypt-proxy.toml";
|
||||
type = types.path;
|
||||
type = lib.types.path;
|
||||
default =
|
||||
pkgs.runCommand "dnscrypt-proxy.toml"
|
||||
{
|
||||
|
@ -70,11 +73,11 @@ in
|
|||
}
|
||||
${pkgs.buildPackages.remarshal}/bin/json2toml < config.json > $out
|
||||
'';
|
||||
defaultText = literalMD "TOML file generated from {option}`services.dnscrypt-proxy2.settings`";
|
||||
defaultText = lib.literalMD "TOML file generated from {option}`services.dnscrypt-proxy2.settings`";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
networking.nameservers = lib.mkDefault [ "127.0.0.1" ];
|
||||
|
||||
|
@ -94,7 +97,7 @@ in
|
|||
AmbientCapabilities = "CAP_NET_BIND_SERVICE";
|
||||
CacheDirectory = "dnscrypt-proxy";
|
||||
DynamicUser = true;
|
||||
ExecStart = "${pkgs.dnscrypt-proxy}/bin/dnscrypt-proxy -config ${cfg.configFile}";
|
||||
ExecStart = "${lib.getExe cfg.package} -config ${cfg.configFile}";
|
||||
LockPersonality = true;
|
||||
LogsDirectory = "dnscrypt-proxy";
|
||||
MemoryDenyWriteExecute = true;
|
||||
|
|
|
@ -54,15 +54,10 @@ let
|
|||
++ optional (cfg.provision.extraJsonFile != null) cfg.provision.extraJsonFile
|
||||
++ mapAttrsToList (_: x: x.basicSecretFile) cfg.provision.systems.oauth2
|
||||
);
|
||||
secretDirectories = unique (
|
||||
map builtins.dirOf (
|
||||
[
|
||||
cfg.serverSettings.tls_chain
|
||||
cfg.serverSettings.tls_key
|
||||
]
|
||||
++ optionals cfg.provision.enable provisionSecretFiles
|
||||
)
|
||||
);
|
||||
secretPaths = [
|
||||
cfg.serverSettings.tls_chain
|
||||
cfg.serverSettings.tls_key
|
||||
] ++ optionals cfg.provision.enable provisionSecretFiles;
|
||||
|
||||
# Merge bind mount paths and remove paths where a prefix is already mounted.
|
||||
# This makes sure that if e.g. the tls_chain is in the nix store and /nix/store is already in the mount
|
||||
|
@ -881,7 +876,7 @@ in
|
|||
(
|
||||
defaultServiceConfig
|
||||
// {
|
||||
BindReadOnlyPaths = mergePaths (defaultServiceConfig.BindReadOnlyPaths ++ secretDirectories);
|
||||
BindReadOnlyPaths = mergePaths (defaultServiceConfig.BindReadOnlyPaths ++ secretPaths);
|
||||
}
|
||||
)
|
||||
{
|
||||
|
@ -895,8 +890,6 @@ in
|
|||
|
||||
BindPaths =
|
||||
[
|
||||
# To create the socket
|
||||
"/run/kanidmd:/run/kanidmd"
|
||||
# To store backups
|
||||
cfg.serverSettings.online_backup.path
|
||||
]
|
||||
|
|
|
@ -5,11 +5,31 @@
|
|||
utils,
|
||||
...
|
||||
}@moduleArgs:
|
||||
|
||||
with lib;
|
||||
with utils;
|
||||
|
||||
let
|
||||
inherit (lib)
|
||||
any
|
||||
attrValues
|
||||
concatMapStrings
|
||||
concatMapStringsSep
|
||||
concatStringsSep
|
||||
elem
|
||||
filter
|
||||
flip
|
||||
head
|
||||
literalExpression
|
||||
mkDefault
|
||||
mkEnableOption
|
||||
mkIf
|
||||
mkMerge
|
||||
mkOption
|
||||
optional
|
||||
optionalAttrs
|
||||
optionalString
|
||||
toposort
|
||||
types
|
||||
;
|
||||
inherit (utils) fsBefore;
|
||||
|
||||
# https://wiki.archlinux.org/index.php/fstab#Filepath_spaces
|
||||
escape = string: builtins.replaceStrings [ " " "\t" ] [ "\\040" "\\011" ] string;
|
||||
|
||||
|
@ -67,7 +87,7 @@ let
|
|||
description = "Location of the mounted file system.";
|
||||
};
|
||||
|
||||
stratis.poolUuid = lib.mkOption {
|
||||
stratis.poolUuid = mkOption {
|
||||
type = types.uniq (types.nullOr types.str);
|
||||
description = ''
|
||||
UUID of the stratis pool that the fs is located in
|
||||
|
@ -172,9 +192,7 @@ let
|
|||
|
||||
};
|
||||
|
||||
config.device = lib.mkIf (config.label != null) (
|
||||
lib.mkDefault "/dev/disk/by-label/${escape config.label}"
|
||||
);
|
||||
config.device = mkIf (config.label != null) (mkDefault "/dev/disk/by-label/${escape config.label}");
|
||||
|
||||
config.options =
|
||||
let
|
||||
|
@ -326,7 +344,7 @@ in
|
|||
|
||||
boot.supportedFilesystems = mkOption {
|
||||
default = { };
|
||||
example = lib.literalExpression ''
|
||||
example = literalExpression ''
|
||||
{
|
||||
btrfs = true;
|
||||
zfs = lib.mkForce false;
|
||||
|
@ -475,7 +493,7 @@ in
|
|||
# Filesystems.
|
||||
${makeFstabEntries fileSystems { }}
|
||||
|
||||
${lib.optionalString (config.swapDevices != [ ]) "# Swap devices."}
|
||||
${optionalString (config.swapDevices != [ ]) "# Swap devices."}
|
||||
${flip concatMapStrings config.swapDevices (sw: "${sw.realDevice} none swap ${swapOptions sw}\n")}
|
||||
'';
|
||||
|
||||
|
|
|
@ -409,6 +409,7 @@ in
|
|||
domination = runTest ./domination.nix;
|
||||
dovecot = handleTest ./dovecot.nix { };
|
||||
drawterm = discoverTests (import ./drawterm.nix);
|
||||
draupnir = runTest ./matrix/draupnir.nix;
|
||||
drbd = runTest ./drbd.nix;
|
||||
druid = handleTestOn [ "x86_64-linux" ] ./druid { };
|
||||
drupal = runTest ./drupal.nix;
|
||||
|
|
150
nixos/tests/matrix/draupnir.nix
Normal file
150
nixos/tests/matrix/draupnir.nix
Normal file
|
@ -0,0 +1,150 @@
|
|||
{
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
name = "draupnir";
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
RorySys
|
||||
emilylange
|
||||
];
|
||||
|
||||
nodes = {
|
||||
homeserver =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services.matrix-synapse = {
|
||||
enable = true;
|
||||
log.root.level = "WARNING";
|
||||
settings = {
|
||||
database.name = "sqlite3";
|
||||
registration_shared_secret = "supersecret-registration";
|
||||
|
||||
listeners = [
|
||||
{
|
||||
bind_addresses = [
|
||||
"::"
|
||||
];
|
||||
port = 8008;
|
||||
resources = [
|
||||
{
|
||||
compress = true;
|
||||
names = [ "client" ];
|
||||
}
|
||||
{
|
||||
compress = false;
|
||||
names = [ "federation" ];
|
||||
}
|
||||
];
|
||||
tls = false;
|
||||
type = "http";
|
||||
x_forwarded = false;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
specialisation.draupnir = {
|
||||
inheritParentConfig = true;
|
||||
|
||||
configuration.services.draupnir = {
|
||||
enable = true;
|
||||
settings = {
|
||||
homeserverUrl = "http://localhost:8008";
|
||||
managementRoom = "#moderators:homeserver";
|
||||
};
|
||||
secrets = {
|
||||
accessToken = "/tmp/draupnir-access-token";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
curl
|
||||
jq
|
||||
(writers.writePython3Bin "test_draupnir_in_matrix"
|
||||
{
|
||||
libraries = [ python3Packages.matrix-nio ];
|
||||
flakeIgnore = [ "E501" ];
|
||||
}
|
||||
''
|
||||
import asyncio
|
||||
from nio import AsyncClient, MatrixRoom, RoomMemberEvent, RoomMessageNotice
|
||||
|
||||
|
||||
async def main() -> None:
|
||||
client = AsyncClient("http://localhost:8008", "moderator")
|
||||
|
||||
async def member_callback(room: MatrixRoom, event: RoomMemberEvent) -> None:
|
||||
if event.membership == "join" and event.sender == "@draupnir:homeserver":
|
||||
await client.room_send(
|
||||
room_id=room.room_id,
|
||||
message_type="m.room.message",
|
||||
content={
|
||||
"msgtype": "m.text",
|
||||
"body": "!draupnir status"
|
||||
}
|
||||
)
|
||||
|
||||
async def message_callback(room: MatrixRoom, event: RoomMessageNotice) -> None:
|
||||
print(f"{event.sender}: {event.body}")
|
||||
if event.sender == "@draupnir:homeserver":
|
||||
await client.close()
|
||||
exit(0)
|
||||
|
||||
client.add_event_callback(member_callback, RoomMemberEvent)
|
||||
client.add_event_callback(message_callback, RoomMessageNotice)
|
||||
|
||||
print(await client.login("password"))
|
||||
|
||||
room = await client.room_create(
|
||||
name="Moderators",
|
||||
alias="moderators",
|
||||
invite=["@draupnir:homeserver"],
|
||||
power_level_override={
|
||||
"users": {
|
||||
"@draupnir:homeserver": 100,
|
||||
"@moderator:homeserver": 100,
|
||||
}
|
||||
}
|
||||
)
|
||||
print(room)
|
||||
|
||||
print(await client.join(room.room_id))
|
||||
|
||||
await client.sync_forever(timeout=30000)
|
||||
|
||||
|
||||
asyncio.run(main())
|
||||
''
|
||||
)
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
testScript =
|
||||
{ nodes, ... }:
|
||||
''
|
||||
import json
|
||||
|
||||
homeserver.wait_for_unit("matrix-synapse.service")
|
||||
homeserver.wait_until_succeeds("curl --fail -L http://localhost:8008/")
|
||||
|
||||
homeserver.succeed("matrix-synapse-register_new_matrix_user -u draupnir -p password --no-admin")
|
||||
homeserver.succeed("matrix-synapse-register_new_matrix_user -u moderator -p password --no-admin")
|
||||
|
||||
# get draupnir access token
|
||||
payload = json.dumps({ "type": "m.login.password", "user": "draupnir", "password": "password" })
|
||||
homeserver.succeed(
|
||||
f"curl --fail --json '{payload}' http://localhost:8008/_matrix/client/v3/login"
|
||||
+ " | jq -r .access_token"
|
||||
+ " | tee /tmp/draupnir-access-token"
|
||||
)
|
||||
|
||||
homeserver.succeed("${nodes.homeserver.system.build.toplevel}/specialisation/draupnir/bin/switch-to-configuration test")
|
||||
homeserver.wait_for_unit("draupnir.service")
|
||||
|
||||
print(homeserver.succeed("test_draupnir_in_matrix >&2", timeout=60))
|
||||
'';
|
||||
}
|
|
@ -46,5 +46,11 @@
|
|||
machine.succeed("rm -rf /etc/nixos")
|
||||
machine.succeed("nixos-generate-config --flake")
|
||||
machine.succeed("nix-instantiate --parse /etc/nixos/flake.nix /etc/nixos/configuration.nix /etc/nixos/hardware-configuration.nix")
|
||||
|
||||
machine.succeed("mv /etc/nixos /etc/nixos-with-flake-arg")
|
||||
machine.succeed("printf '[Defaults]\nFlake = 1\n' > /etc/nixos-generate-config.conf")
|
||||
machine.succeed("nixos-generate-config")
|
||||
machine.succeed("nix-instantiate --parse /etc/nixos/flake.nix /etc/nixos/configuration.nix /etc/nixos/hardware-configuration.nix")
|
||||
machine.succeed("diff -r /etc/nixos /etc/nixos-with-flake-arg")
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = {
|
||||
description = "Comic reader for cross-platform reading and managing your digital comic collection";
|
||||
homepage = "http://www.yacreader.com";
|
||||
homepage = "https://www.yacreader.com";
|
||||
license = lib.licenses.gpl3;
|
||||
mainProgram = "YACReader";
|
||||
maintainers = [ ];
|
||||
|
|
|
@ -54,7 +54,7 @@ mkDerivation rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "WYSIWYM frontend for LaTeX, DocBook";
|
||||
homepage = "http://www.lyx.org";
|
||||
homepage = "https://www.lyx.org";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.vcunat ];
|
||||
platforms = platforms.linux;
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -30,18 +30,28 @@ let
|
|||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mullvad";
|
||||
version = "2025.3";
|
||||
version = "2025.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mullvad";
|
||||
repo = "mullvadvpn-app";
|
||||
tag = version;
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-IpGTqi0gSE2yXXou5fp+CryHfIKx0n3y/V4K2+ZO3k8=";
|
||||
hash = "sha256-WWJcfnp1v1LhEElJQdLx6Gz+bj7MdgbefD6BQ4nihMs=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-EJ8yk11H1QB+7CGjJYY5BjBAFTDK4d02/DJOQTVGFho=";
|
||||
cargoHash = "sha256-r6WogC25hpzw2pHa8RQOhr9SWks9RKKatpVHblfs+Nc=";
|
||||
|
||||
cargoBuildFlags = [
|
||||
"-p mullvad-daemon --bin mullvad-daemon"
|
||||
"-p mullvad-cli --bin mullvad"
|
||||
"-p mullvad-setup --bin mullvad-setup"
|
||||
"-p mullvad-problem-report --bin mullvad-problem-report"
|
||||
"-p mullvad-exclude --bin mullvad-exclude"
|
||||
"-p tunnel-obfuscation --bin tunnel-obfuscation"
|
||||
"-p talpid-openvpn-plugin --lib"
|
||||
];
|
||||
|
||||
checkFlags = [
|
||||
"--skip=version_check"
|
||||
|
@ -79,22 +89,14 @@ rustPlatform.buildRustPackage rec {
|
|||
'';
|
||||
|
||||
postFixup =
|
||||
# Place all binaries in the 'mullvad-' namespace, even though these
|
||||
# specific binaries aren't used in the lifetime of the program.
|
||||
# Files necessary for OpenVPN tunnels to work.
|
||||
lib.optionalString enableOpenvpn ''
|
||||
mkdir -p $out/share/mullvad
|
||||
cp dist-assets/ca.crt $out/share/mullvad
|
||||
ln -s ${openvpn-mullvad}/bin/openvpn $out/share/mullvad
|
||||
ln -s ${shadowsocks-rust}/bin/sslocal $out/share/mullvad
|
||||
ln -s $out/lib/libtalpid_openvpn_plugin.so $out/share/mullvad
|
||||
''
|
||||
for bin in relay_list translations-converter tunnel-obfuscation; do
|
||||
mv "$out/bin/$bin" "$out/bin/mullvad-$bin"
|
||||
done
|
||||
''
|
||||
+
|
||||
# Files necessary for OpenVPN tunnels to work.
|
||||
lib.optionalString enableOpenvpn ''
|
||||
mkdir -p $out/share/mullvad
|
||||
cp dist-assets/ca.crt $out/share/mullvad
|
||||
ln -s ${openvpn-mullvad}/bin/openvpn $out/share/mullvad
|
||||
ln -s ${shadowsocks-rust}/bin/sslocal $out/share/mullvad
|
||||
ln -s $out/lib/libtalpid_openvpn_plugin.so $out/share/mullvad
|
||||
''
|
||||
+
|
||||
# Set the directory where Mullvad will look for its resources by default to
|
||||
# `$out/share`, so that we can avoid putting the files in `$out/bin` --
|
||||
|
@ -121,7 +123,7 @@ rustPlatform.buildRustPackage rec {
|
|||
meta = {
|
||||
description = "Mullvad VPN command-line client tools";
|
||||
homepage = "https://github.com/mullvad/mullvadvpn-app";
|
||||
changelog = "https://github.com/mullvad/mullvadvpn-app/blob/2025.2/CHANGELOG.md";
|
||||
changelog = "https://github.com/mullvad/mullvadvpn-app/blob/2025.6/CHANGELOG.md";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ cole-h ];
|
||||
mainProgram = "mullvad";
|
||||
|
|
|
@ -72,7 +72,7 @@ callPackage ./generic.nix {
|
|||
);
|
||||
meta = with lib; {
|
||||
description = "Wolfram Mathematica computational software system";
|
||||
homepage = "http://www.wolfram.com/mathematica/";
|
||||
homepage = "https://www.wolfram.com/mathematica/";
|
||||
license = licenses.unfree;
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
maintainers = with maintainers; [
|
||||
|
|
|
@ -82,7 +82,7 @@ stdenv.mkDerivation rec {
|
|||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.tvdr.de/";
|
||||
homepage = "https://www.tvdr.de/";
|
||||
description = "Video Disc Recorder";
|
||||
maintainers = [ maintainers.ck3d ];
|
||||
platforms = platforms.linux;
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
libXcursor,
|
||||
libXfixes,
|
||||
libXmu,
|
||||
libIDL,
|
||||
SDL2,
|
||||
libcap,
|
||||
libGL,
|
||||
|
@ -74,9 +73,9 @@ let
|
|||
buildType = "release";
|
||||
# Use maintainers/scripts/update.nix to update the version and all related hashes or
|
||||
# change the hashes in extpack.nix and guest-additions/default.nix as well manually.
|
||||
virtualboxVersion = "7.1.8";
|
||||
virtualboxVersion = "7.1.10";
|
||||
virtualboxSubVersion = "";
|
||||
virtualboxSha256 = "3f7132c55ac6c5f50585bfaa115d29e30b47ccf535cb0a12ff50214ddae2f63d";
|
||||
virtualboxSha256 = "7d60010a4c9102613554b46f61d17b825c30ee59d8be071e52d8aac664ca9869";
|
||||
|
||||
kvmPatchVersion = "20250207";
|
||||
kvmPatchHash = "sha256-GzRLIXhzWL1NLvaGKcWVBCdvay1IxgJUE4koLX1ze7Y=";
|
||||
|
@ -148,7 +147,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
libX11
|
||||
libXext
|
||||
libXcursor
|
||||
libIDL
|
||||
libcap
|
||||
glib
|
||||
lvm2
|
||||
|
@ -249,8 +247,8 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
++ optional enableKvm (
|
||||
let
|
||||
patchVboxVersion =
|
||||
# There is no updated patch for 7.1.8 yet, but the older one still applies.
|
||||
if finalAttrs.virtualboxVersion == "7.1.8" then "7.1.6" else finalAttrs.virtualboxVersion;
|
||||
# There is no updated patch for 7.1.10 yet, but the older one still applies.
|
||||
if finalAttrs.virtualboxVersion == "7.1.10" then "7.1.6" else finalAttrs.virtualboxVersion;
|
||||
in
|
||||
fetchpatch {
|
||||
name = "virtualbox-${finalAttrs.virtualboxVersion}-kvm-dev-${finalAttrs.kvmPatchVersion}.patch";
|
||||
|
@ -320,7 +318,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
${optionalString (enableKvm) "--with-kvm"} \
|
||||
${extraConfigureFlags} \
|
||||
--disable-kmods
|
||||
sed -e 's@PKG_CONFIG_PATH=.*@PKG_CONFIG_PATH=${libIDL}/lib/pkgconfig:${glib.dev}/lib/pkgconfig ${libIDL}/bin/libIDL-config-2@' \
|
||||
sed -e 's@PKG_CONFIG_PATH=.*@PKG_CONFIG_PATH=${glib.dev}/lib/pkgconfig@' \
|
||||
-i AutoConfig.kmk
|
||||
sed -e 's@arch/x86/@@' \
|
||||
-i Config.kmk
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
virtualbox,
|
||||
}:
|
||||
let
|
||||
virtualboxExtPackVersion = "7.1.8";
|
||||
virtualboxExtPackVersion = "7.1.10";
|
||||
in
|
||||
fetchurl rec {
|
||||
name = "Oracle_VirtualBox_Extension_Pack-${virtualboxExtPackVersion}.vbox-extpack";
|
||||
|
@ -14,7 +14,7 @@ fetchurl rec {
|
|||
# Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`.
|
||||
# Checksums can also be found at https://www.virtualbox.org/download/hashes/${version}/SHA256SUMS
|
||||
let
|
||||
value = "912586a3a1e9285f9df264f7999e6fffc0b8a42f2e013dd898a86f7ed3975d37";
|
||||
value = "e020755711849fa0ee23d3bc47bc90cb0ea595da7dda804499568a0dc2387989";
|
||||
in
|
||||
assert (builtins.stringLength value) == 64;
|
||||
value;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
}:
|
||||
fetchurl {
|
||||
url = "http://download.virtualbox.org/virtualbox/${virtualboxVersion}/VBoxGuestAdditions_${virtualboxVersion}.iso";
|
||||
sha256 = "0001ed19cc389f04723c9b911338559b9b74bea0d24edf794d8d2ce5b5cb14e0";
|
||||
sha256 = "59c92f7f5fd7e081211e989f5117fc53ad8d8800ad74a01b21e97bb66fe62972";
|
||||
meta = {
|
||||
description = "Guest additions ISO for VirtualBox";
|
||||
longDescription = ''
|
||||
|
|
|
@ -12,9 +12,9 @@
|
|||
libX11,
|
||||
}:
|
||||
let
|
||||
virtualboxVersion = "7.1.8";
|
||||
virtualboxVersion = "7.1.10";
|
||||
virtualboxSubVersion = "";
|
||||
virtualboxSha256 = "3f7132c55ac6c5f50585bfaa115d29e30b47ccf535cb0a12ff50214ddae2f63d";
|
||||
virtualboxSha256 = "7d60010a4c9102613554b46f61d17b825c30ee59d8be071e52d8aac664ca9869";
|
||||
|
||||
virtualBoxNixGuestAdditionsBuilder = callPackage ./builder.nix {
|
||||
inherit virtualboxVersion virtualboxSubVersion virtualboxSha256;
|
||||
|
|
|
@ -23,12 +23,12 @@
|
|||
pkg-config,
|
||||
poppler,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "auto-multiple-choice";
|
||||
version = "1.7.0";
|
||||
src = fetchurl {
|
||||
url = "https://download.auto-multiple-choice.net/${pname}_${version}_dist.tar.gz";
|
||||
# before 1.7.0, the URL pattern used "precomp" instead of "dist". ^^^^
|
||||
url = "https://download.auto-multiple-choice.net/auto-multiple-choice_${finalAttrs.version}_dist.tar.gz";
|
||||
# before 1.7.0, the URL pattern used "precomp" instead of "dist".
|
||||
sha256 = "sha256-37kWqgdvZopvNSU6LA/FmY2wfSJz3rRSlaQF2HSbdmA=";
|
||||
};
|
||||
|
||||
|
|
|
@ -50,9 +50,9 @@
|
|||
},
|
||||
"aks-preview": {
|
||||
"pname": "aks-preview",
|
||||
"version": "17.0.0b4",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-17.0.0b4-py2.py3-none-any.whl",
|
||||
"hash": "sha256-KZ4j1OvY/ziVZnv1nAnowWD+ujYrOYMxfOmH6krHDjI=",
|
||||
"version": "18.0.0b7",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-18.0.0b7-py2.py3-none-any.whl",
|
||||
"hash": "sha256-5xRE/WGe/PbTavC/b9MrrXMwXVsBoEEog44A8YJu9cY=",
|
||||
"description": "Provides a preview for upcoming AKS features"
|
||||
},
|
||||
"akshybrid": {
|
||||
|
@ -113,9 +113,9 @@
|
|||
},
|
||||
"astronomer": {
|
||||
"pname": "astronomer",
|
||||
"version": "1.0.0",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/astronomer-1.0.0-py3-none-any.whl",
|
||||
"hash": "sha256-tMpBtdnLd67StGLe1KOSrjzols6NnLlKCGcdDLaBds0=",
|
||||
"version": "1.0.1",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/astronomer-1.0.1-py3-none-any.whl",
|
||||
"hash": "sha256-71tmCfbCGCyOIQjP3QvdcpEnHC00tw9MIXqmGfcBCno=",
|
||||
"description": "Microsoft Azure Command-Line Tools Astronomer Extension"
|
||||
},
|
||||
"authV2": {
|
||||
|
@ -183,11 +183,18 @@
|
|||
},
|
||||
"blueprint": {
|
||||
"pname": "blueprint",
|
||||
"version": "0.3.2",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/blueprint-0.3.2-py3-none-any.whl",
|
||||
"hash": "sha256-WNODVEbdk+WFsPa1IKLbZVG4qSfjXiXaR0fUz4pMAJs=",
|
||||
"version": "1.0.0b1",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/blueprint-1.0.0b1-py3-none-any.whl",
|
||||
"hash": "sha256-WVBTayQ3Asbs5Q8sE8d4q68xIJN6i0cZiNHV+8szmlQ=",
|
||||
"description": "Microsoft Azure Command-Line Tools Blueprint Extension"
|
||||
},
|
||||
"carbon": {
|
||||
"pname": "carbon",
|
||||
"version": "1.0.0b1",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/carbon-1.0.0b1-py3-none-any.whl",
|
||||
"hash": "sha256-w+HDLtCIAIhlFTpR4iUMEKPC2vInPWWmMTX0VT9q1lg=",
|
||||
"description": "Microsoft Azure Command-Line Tools Carbon Extension"
|
||||
},
|
||||
"change-analysis": {
|
||||
"pname": "change-analysis",
|
||||
"version": "0.1.0",
|
||||
|
@ -225,9 +232,9 @@
|
|||
},
|
||||
"connectedmachine": {
|
||||
"pname": "connectedmachine",
|
||||
"version": "1.1.1b1",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedmachine-1.1.1b1-py3-none-any.whl",
|
||||
"hash": "sha256-IFX8KBG4QrgEIdsPzhlHQ1/q+0sFgQBlMUeF+wgTzGA=",
|
||||
"version": "2.0.0b1",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedmachine-2.0.0b1-py3-none-any.whl",
|
||||
"hash": "sha256-TNewwps4rNSx/O+GIhdFMsLJC8Z0pxD2VIlGsujOPVs=",
|
||||
"description": "Microsoft Azure Command-Line Tools ConnectedMachine Extension"
|
||||
},
|
||||
"connectedvmware": {
|
||||
|
@ -239,9 +246,9 @@
|
|||
},
|
||||
"cosmosdb-preview": {
|
||||
"pname": "cosmosdb-preview",
|
||||
"version": "1.4.0",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/cosmosdb_preview-1.4.0-py2.py3-none-any.whl",
|
||||
"hash": "sha256-u8wSLjuIyy6aC4tPKou9dSk1nKeb19Tx8JhpUYVGH34=",
|
||||
"version": "1.6.0",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/cosmosdb_preview-1.6.0-py2.py3-none-any.whl",
|
||||
"hash": "sha256-OO8IjVRhGOfsCb/Oot7Dc7PmfNsDmaXiCuG0at8Hb44=",
|
||||
"description": "Microsoft Azure Command-Line Tools Cosmosdb-preview Extension"
|
||||
},
|
||||
"costmanagement": {
|
||||
|
@ -274,9 +281,9 @@
|
|||
},
|
||||
"databox": {
|
||||
"pname": "databox",
|
||||
"version": "1.1.0",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/databox-1.1.0-py3-none-any.whl",
|
||||
"hash": "sha256-e0GmBSHXz2UtTNygUvydLsY3Hz14hOwKdLqafVAB17s=",
|
||||
"version": "1.2.0",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/databox-1.2.0-py3-none-any.whl",
|
||||
"hash": "sha256-bFHiTEUKirHc90iJUkqcPfKRrJlBonekcEMzVeReQfc=",
|
||||
"description": "Microsoft Azure Command-Line Tools Databox Extension"
|
||||
},
|
||||
"databricks": {
|
||||
|
@ -288,16 +295,16 @@
|
|||
},
|
||||
"datadog": {
|
||||
"pname": "datadog",
|
||||
"version": "0.1.1",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/datadog-0.1.1-py3-none-any.whl",
|
||||
"hash": "sha256-mjj9XW0BZG8pnue19o6CrXCIicfQvXLgtraxPlRV6Tc=",
|
||||
"description": "Microsoft Azure Command-Line Tools MicrosoftDatadogClient Extension"
|
||||
"version": "1.0.0",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/datadog-1.0.0-py3-none-any.whl",
|
||||
"hash": "sha256-VCcoKbYC+F8EbEMRzCMBX3a6LvdkkYKfM5OuC7WhUQI=",
|
||||
"description": "Microsoft Azure Command-Line Tools Datadog Extension"
|
||||
},
|
||||
"datafactory": {
|
||||
"pname": "datafactory",
|
||||
"version": "1.0.3",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/datafactory-1.0.3-py3-none-any.whl",
|
||||
"hash": "sha256-ZvQWykXTiKMvuzc4ByUecOIFNH+j6HBWaW7xaTCa6vs=",
|
||||
"version": "1.0.4",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/datafactory-1.0.4-py3-none-any.whl",
|
||||
"hash": "sha256-mn2ogckgs4gnsOUpavOHVsV+zOxXzosTAW98z4W063Y=",
|
||||
"description": "Microsoft Azure Command-Line Tools DataFactoryManagementClient Extension"
|
||||
},
|
||||
"datamigration": {
|
||||
|
@ -386,9 +393,9 @@
|
|||
},
|
||||
"dynatrace": {
|
||||
"pname": "dynatrace",
|
||||
"version": "1.1.0",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/dynatrace-1.1.0-py3-none-any.whl",
|
||||
"hash": "sha256-CR9A2HZCRby5Zn5CLU3TchFMnwCnKggPnI75K0PFGNY=",
|
||||
"version": "1.1.1",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/dynatrace-1.1.1-py3-none-any.whl",
|
||||
"hash": "sha256-uDqTcLrHCSrShT7CMl3GrMWLXjGGqvB2ofaLCrnyhvg=",
|
||||
"description": "Microsoft Azure Command-Line Tools Dynatrace Extension"
|
||||
},
|
||||
"edgeorder": {
|
||||
|
@ -561,9 +568,9 @@
|
|||
},
|
||||
"informatica": {
|
||||
"pname": "informatica",
|
||||
"version": "1.0.0b1",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/informatica-1.0.0b1-py3-none-any.whl",
|
||||
"hash": "sha256-YWaukceOdMAa870erS1igycH4XbqD31dMKXdSF9IJGI=",
|
||||
"version": "1.0.0b2",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/informatica-1.0.0b2-py3-none-any.whl",
|
||||
"hash": "sha256-TGbjP7LsW7SgdBawNYMvFe8kAAdFzbzMCcJp+s0wy0w=",
|
||||
"description": "Microsoft Azure Command-Line Tools Informatica Extension"
|
||||
},
|
||||
"init": {
|
||||
|
@ -589,9 +596,9 @@
|
|||
},
|
||||
"k8s-extension": {
|
||||
"pname": "k8s-extension",
|
||||
"version": "1.6.4",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-1.6.4-py3-none-any.whl",
|
||||
"hash": "sha256-O11I5IFPdUDFWcMwgucurugl+zHzkvAL5Idj5UCHkwY=",
|
||||
"version": "1.6.5",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-1.6.5-py3-none-any.whl",
|
||||
"hash": "sha256-MZJr6cLtg9m1TD5aYHw2ynfI1Rin5UvaAS7k0QsmZ7k=",
|
||||
"description": "Microsoft Azure Command-Line Tools K8s-extension Extension"
|
||||
},
|
||||
"k8s-runtime": {
|
||||
|
@ -699,6 +706,13 @@
|
|||
"hash": "sha256-LZVypO1wbfj2JsYgNq0i9GoVsRMnP4/5sGMTo4Cif1Y=",
|
||||
"description": "Microsoft Azure Command-Line Tools MobileNetwork Extension"
|
||||
},
|
||||
"mongo-db": {
|
||||
"pname": "mongo-db",
|
||||
"version": "1.0.0b1",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/mongo_db-1.0.0b1-py3-none-any.whl",
|
||||
"hash": "sha256-z/i+P/kx4MT8XskhqjohRL3Xpne9teLe6jmfCv6iv+0=",
|
||||
"description": "Microsoft Azure Command-Line Tools MongoDb Extension"
|
||||
},
|
||||
"monitor-control-service": {
|
||||
"pname": "monitor-control-service",
|
||||
"version": "1.2.0",
|
||||
|
@ -811,13 +825,6 @@
|
|||
"hash": "sha256-/k47qFwfZZZqBZKR5G6+t8lW8o2isVtUGwSSdltiOZI=",
|
||||
"description": "Microsoft Azure Command-Line Tools PeeringManagementClient Extension"
|
||||
},
|
||||
"pinecone": {
|
||||
"pname": "pinecone",
|
||||
"version": "1.0.0b1",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/pinecone-1.0.0b1-py3-none-any.whl",
|
||||
"hash": "sha256-5WXKpClTweNCLz/wW/PcKLbpFOdJagp1l7FOD3Ou/WM=",
|
||||
"description": "Microsoft Azure Command-Line Tools Pinecone Extension"
|
||||
},
|
||||
"playwright-cli-extension": {
|
||||
"pname": "playwright-cli-extension",
|
||||
"version": "1.0.0b1",
|
||||
|
@ -1084,6 +1091,13 @@
|
|||
"hash": "sha256-LbbCU9Q4YtBqRSUHPWe2Hx00t8iDIWK9Owv//SS5raY=",
|
||||
"description": "Manage virtual WAN, hubs, VPN gateways and VPN sites"
|
||||
},
|
||||
"vme": {
|
||||
"pname": "vme",
|
||||
"version": "1.0.0b1",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/vme-1.0.0b1-py3-none-any.whl",
|
||||
"hash": "sha256-cCAZh8ytxz5sEtyNuV/EqZ9KqOifBXr1W8PBJWctz/8=",
|
||||
"description": "Microsoft Azure Command-Line Tools Vme Extension"
|
||||
},
|
||||
"vmware": {
|
||||
"pname": "vmware",
|
||||
"version": "7.2.0",
|
||||
|
@ -1098,13 +1112,6 @@
|
|||
"hash": "sha256-kIsN8HzvZSF2oPK/D9z1i10W+0kD7jwG9z8Ls5E6XA8=",
|
||||
"description": "Additional commands for Azure AppService"
|
||||
},
|
||||
"weights-and-biases": {
|
||||
"pname": "weights-and-biases",
|
||||
"version": "1.0.0b1",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/weights_and_biases-1.0.0b1-py3-none-any.whl",
|
||||
"hash": "sha256-p961+8YG/7LsyS8b+xfEPq2hZeiwlwqBvnyXnkxoz3o=",
|
||||
"description": "Microsoft Azure Command-Line Tools WeightsAndBiases Extension"
|
||||
},
|
||||
"workloads": {
|
||||
"pname": "workloads",
|
||||
"version": "1.1.0",
|
||||
|
@ -1114,9 +1121,9 @@
|
|||
},
|
||||
"zones": {
|
||||
"pname": "zones",
|
||||
"version": "1.0.0b1",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/zones-1.0.0b1-py3-none-any.whl",
|
||||
"hash": "sha256-/CPMEVqdxeyzt2l3K8+eqv5Hs+EWjXJeKdWtD4xxGG0=",
|
||||
"version": "1.0.0b3",
|
||||
"url": "https://azcliprod.blob.core.windows.net/cli-extensions/zones-1.0.0b3-py3-none-any.whl",
|
||||
"hash": "sha256-O9gcKKvWDFmlnZabIioDGNIxqn8XDaE4xeOt3/q+7Rk=",
|
||||
"description": "Microsoft Azure Command-Line Tools Zones Extension"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -156,5 +156,7 @@
|
|||
connection-monitor-preview = throw "The 'connection-monitor-preview' extension for azure-cli was deprecated upstream"; # Added 2024-11-02, https://github.com/Azure/azure-cli-extensions/pull/8194
|
||||
deidservice = throw "The 'deidservice' extension for azure-cli was moved under healthcareapis"; # Added 2024-11-19, https://github.com/Azure/azure-cli-extensions/pull/8224
|
||||
logz = throw "The 'logz' extension for azure-cli was deprecated upstream"; # Added 2024-11-02, https://github.com/Azure/azure-cli-extensions/pull/8459
|
||||
pinecone = throw "The 'pinecone' extension for azure-cli was removed upstream"; # Added 2025-06-03, https://github.com/Azure/azure-cli-extensions/pull/8763
|
||||
spring = throw "The 'spring' extension for azure-cli was deprecated upstream"; # Added 2025-05-07, https://github.com/Azure/azure-cli-extensions/pull/8652
|
||||
weights-and-biases = throw "The 'weights-and-biases' was removed upstream"; # Added 2025-06-03, https://github.com/Azure/azure-cli-extensions/pull/8764
|
||||
}
|
||||
|
|
|
@ -26,14 +26,14 @@
|
|||
}:
|
||||
|
||||
let
|
||||
version = "2.73.0";
|
||||
version = "2.74.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
name = "azure-cli-${version}-src";
|
||||
owner = "Azure";
|
||||
repo = "azure-cli";
|
||||
tag = "azure-cli-${version}";
|
||||
hash = "sha256-MLmTV/tg5fM3XFEMtBLPdvsiUS5Gj8CH/zvdehDoka0=";
|
||||
hash = "sha256-wX1XKC3snnKEQeqlW+btshjdcMR/5m2Z69QtcJe2Opc=";
|
||||
};
|
||||
|
||||
# put packages that needs to be overridden in the py package scope
|
||||
|
@ -168,6 +168,7 @@ py.pkgs.toPythonApplication (
|
|||
azure-keyvault-certificates
|
||||
azure-keyvault-keys
|
||||
azure-keyvault-secrets
|
||||
azure-keyvault-securitydomain
|
||||
azure-mgmt-advisor
|
||||
azure-mgmt-apimanagement
|
||||
azure-mgmt-appconfiguration
|
||||
|
|
|
@ -21,6 +21,6 @@ stdenvNoCC.mkDerivation rec {
|
|||
|
||||
meta = {
|
||||
description = "TrueType versions of the Computer Modern and AMS TeX Fonts";
|
||||
homepage = "http://www.ctan.org/tex-archive/fonts/cm/ps-type1/bakoma/ttf/";
|
||||
homepage = "https://www.ctan.org/tex-archive/fonts/cm/ps-type1/bakoma/ttf/";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -9,12 +9,12 @@
|
|||
testers,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "besu";
|
||||
version = "24.1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://hyperledger.jfrog.io/artifactory/${pname}-binaries/${pname}/${version}/${pname}-${version}.tar.gz";
|
||||
url = "https://hyperledger.jfrog.io/artifactory/besu-binaries/besu/${finalAttrs.version}/besu-${finalAttrs.version}.tar.gz";
|
||||
sha256 = "sha256-CC24z0+2dSeqDddX5dJUs7SX9QJ8Iyh/nAp0pqdDvwg=";
|
||||
};
|
||||
|
||||
|
@ -26,20 +26,20 @@ stdenv.mkDerivation (finalAttrs: rec {
|
|||
cp -r bin $out/
|
||||
mkdir -p $out/lib
|
||||
cp -r lib $out/
|
||||
wrapProgram $out/bin/${pname} \
|
||||
wrapProgram $out/bin/besu \
|
||||
--set JAVA_HOME "${jre}" \
|
||||
--suffix ${
|
||||
if stdenv.hostPlatform.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"
|
||||
} : ${lib.makeLibraryPath buildInputs}
|
||||
} : ${lib.makeLibraryPath finalAttrs.buildInputs}
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
version = testers.testVersion {
|
||||
package = finalAttrs.finalPackage;
|
||||
version = "v${version}";
|
||||
version = "v${finalAttrs.version}";
|
||||
};
|
||||
jemalloc =
|
||||
runCommand "${pname}-test-jemalloc"
|
||||
runCommand "besu-test-jemalloc"
|
||||
{
|
||||
nativeBuildInputs = [ finalAttrs.finalPackage ];
|
||||
meta.platforms = with lib.platforms; linux;
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
brightnessctl,
|
||||
power-profiles-daemon,
|
||||
gammastep,
|
||||
libpulseaudio,
|
||||
pulseaudio,
|
||||
desktop-file-utils,
|
||||
wrapGAppsHook3,
|
||||
gobject-introspection,
|
||||
|
@ -19,14 +19,14 @@
|
|||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "better-control";
|
||||
version = "6.11.9";
|
||||
version = "6.12.1";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "quantumvoid0";
|
||||
owner = "better-ecosystem";
|
||||
repo = "better-control";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-74ZcHiQLIYzPnk25NAJzxsdVMYs2fiPDOJHUTLY4LuE=";
|
||||
hash = "sha256-Dt+se8eOmF8Nzm+/bnYBSIyX0XHSXV9iCPF82qXhzug=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
|
@ -46,7 +46,7 @@ python3Packages.buildPythonApplication rec {
|
|||
|
||||
# Check src/utils/dependencies.py
|
||||
runtimeDeps = [
|
||||
libpulseaudio
|
||||
pulseaudio
|
||||
networkmanager
|
||||
bluez
|
||||
brightnessctl
|
||||
|
@ -95,7 +95,7 @@ python3Packages.buildPythonApplication rec {
|
|||
|
||||
meta = {
|
||||
description = "Simple control panel for linux based on GTK";
|
||||
homepage = "https://github.com/quantumvoid0/better-control";
|
||||
homepage = "https://github.com/better-ecosystem/better-control";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ Rishabh5321 ];
|
||||
platforms = lib.platforms.linux;
|
||||
|
|
|
@ -13,13 +13,13 @@
|
|||
|
||||
buildNpmPackage rec {
|
||||
pname = "bitwarden-cli";
|
||||
version = "2025.4.0";
|
||||
version = "2025.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bitwarden";
|
||||
repo = "clients";
|
||||
tag = "cli-v${version}";
|
||||
hash = "sha256-sWphSdxh07GS7GPlNVxK7zoXMTGLjT7qTLfH1nsIiQQ=";
|
||||
hash = "sha256-8jVKwqKhTfhur226SER4sb1i4dY+TjJRYmOY8YtO6CY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -29,7 +29,7 @@ buildNpmPackage rec {
|
|||
|
||||
nodejs = nodejs_20;
|
||||
|
||||
npmDepsHash = "sha256-/BOzDt+wgnWedWfShPkAhaeujBBQTDlZdtiKl3wrOqE=";
|
||||
npmDepsHash = "sha256-0IoBPRGdtkMeTrT5cqZLHB/WrUCONtsJ6YHh0y4K5Ls=";
|
||||
|
||||
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
cctools
|
||||
|
@ -98,6 +98,8 @@ buildNpmPackage rec {
|
|||
};
|
||||
|
||||
meta = {
|
||||
# https://github.com/NixOS/nixpkgs/issues/339576
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
changelog = "https://github.com/bitwarden/clients/releases/tag/${src.tag}";
|
||||
description = "Secure and free password manager for all of your devices";
|
||||
homepage = "https://bitwarden.com";
|
||||
|
|
|
@ -61,7 +61,7 @@ python3Packages.buildPythonApplication rec {
|
|||
strictDeps = false;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://bleachbit.sourceforge.net";
|
||||
homepage = "https://bleachbit.sourceforge.net";
|
||||
description = "Program to clean your computer";
|
||||
longDescription = "BleachBit helps you easily clean your computer to free space and maintain privacy.";
|
||||
license = licenses.gpl3;
|
||||
|
|
|
@ -93,7 +93,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://catdvi.sourceforge.net";
|
||||
homepage = "https://catdvi.sourceforge.net";
|
||||
description = "DVI to plain text translator";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ ];
|
||||
|
|
|
@ -23,15 +23,15 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm755 a.out $out/bin/discretescroll
|
||||
install -Dm555 a.out $out/bin/discretescroll
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Fix for OS X's scroll wheel problem";
|
||||
description = "Fix for macOS's unnecessary scroll wheel acceleration";
|
||||
homepage = "https://github.com/emreyolcu/discrete-scroll";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ bb2020 ];
|
||||
platforms = lib.platforms.darwin;
|
||||
maintainers = with lib.maintainers; [ bb2020 ];
|
||||
};
|
||||
})
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
fetchYarnDeps,
|
||||
stdenv,
|
||||
cctools,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
# docs: https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/javascript.section.md#yarn2nix-javascript-yarn2nix
|
||||
|
@ -95,7 +96,10 @@ mkYarnPackage rec {
|
|||
|
||||
distPhase = "true";
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
passthru = {
|
||||
tests = { inherit (nixosTests) draupnir; };
|
||||
updateScript = ./update.sh;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Moderation tool for Matrix";
|
||||
|
|
|
@ -22,13 +22,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "ecapture";
|
||||
version = "1.0.2";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gojue";
|
||||
repo = "ecapture";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-JqFb58JAepyNuxR3YVUX0tB+V66JrLVPUIVrnZn1aHw=";
|
||||
hash = "sha256-mYnAa4zh7MqTTS2iU97YOhRbrCLd8C7D5furHNSO0F8=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -113,7 +113,7 @@ buildGoModule rec {
|
|||
in
|
||||
[ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
|
||||
|
||||
vendorHash = "sha256-KRW5Gf9LYwo5AZ9bYPht+4staiYVyWGkbX/sXDNDppc=";
|
||||
vendorHash = "sha256-B2Jq6v1PibZ1P9OylFsVp/ULZa/ne5T+vCsBWWrjW/4=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ buildNpmPackage {
|
|||
|
||||
meta = {
|
||||
description = "Embedded JavaScript templates";
|
||||
homepage = "http://ejs.co";
|
||||
homepage = "https://ejs.co";
|
||||
license = lib.licenses.asl20;
|
||||
mainProgram = "ejs";
|
||||
maintainers = with lib.maintainers; [ momeemt ];
|
||||
|
|
|
@ -50,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
|
||||
meta = {
|
||||
description = "Chinese text-to-speech software";
|
||||
homepage = "http://www.eguidedog.net/ekho.php";
|
||||
homepage = "https://www.eguidedog.net/ekho.php";
|
||||
longDescription = ''
|
||||
Ekho (余音) is a free, open source and multilingual text-to-speech (TTS)
|
||||
software. It supports Cantonese (Chinese dialect spoken in Hong Kong and
|
||||
|
|
|
@ -74,7 +74,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "http://elvis.the-little-red-haired-girl.org/";
|
||||
homepage = "https://elvis.the-little-red-haired-girl.org/";
|
||||
description = "Vi clone for Unix and other operating systems";
|
||||
license = lib.licenses.free;
|
||||
mainProgram = "elvis";
|
||||
|
|
|
@ -11,12 +11,12 @@
|
|||
texlive,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "eukleides";
|
||||
version = "1.5.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.eukleides.org/files/${pname}-${version}.tar.bz2";
|
||||
url = "http://www.eukleides.org/files/eukleides-${finalAttrs.version}.tar.bz2";
|
||||
sha256 = "0s8cyh75hdj89v6kpm3z24i48yzpkr8qf0cwxbs9ijxj1i38ki0q";
|
||||
};
|
||||
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "exploitdb";
|
||||
version = "2025-05-30";
|
||||
version = "2025-06-06";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "exploit-database";
|
||||
repo = "exploitdb";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-X90stp4BiHOHoh030eqGeUGiWytF5ryY08/VYEsbnIw=";
|
||||
hash = "sha256-DOzhxZZ66p49tECn0z1lGSNHq3GEpEbayhwsiJ6IGG4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
|
|
@ -50,7 +50,7 @@ stdenv.mkDerivation {
|
|||
cddl
|
||||
gpl2Plus
|
||||
];
|
||||
homepage = "http://www.brendangregg.com/flamegraphs.html";
|
||||
homepage = "https://www.brendangregg.com/flamegraphs.html";
|
||||
description = "Visualization for profiled code";
|
||||
mainProgram = "flamegraph.pl";
|
||||
platforms = platforms.unix;
|
||||
|
|
|
@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
|
|||
fast, desktop experience. It is written in C++ and licensed
|
||||
under MIT license.
|
||||
'';
|
||||
homepage = "http://fluxbox.org/";
|
||||
homepage = "https://fluxbox.org/";
|
||||
license = licenses.mit;
|
||||
maintainers = [ ];
|
||||
platforms = platforms.linux;
|
||||
|
|
|
@ -97,7 +97,7 @@ perlPackages.buildPerlPackage rec {
|
|||
outputs = [ "out" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.fusioninventory.org";
|
||||
homepage = "https://www.fusioninventory.org";
|
||||
description = "FusionInventory unified Agent for UNIX, Linux, Windows and MacOSX";
|
||||
license = lib.licenses.gpl2Only;
|
||||
maintainers = [ maintainers.phile314 ];
|
||||
|
|
|
@ -47,7 +47,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
strictDeps = false;
|
||||
|
||||
meta = {
|
||||
homepage = "http://galculator.sourceforge.net/";
|
||||
homepage = "https://galculator.sourceforge.net/";
|
||||
description = "GTK algebraic and RPN calculator";
|
||||
longDescription = ''
|
||||
galculator is a GTK-based calculator. Its main features include:
|
||||
|
|
|
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://galenframework.com";
|
||||
homepage = "https://galenframework.com";
|
||||
description = "Automated layout testing for websites";
|
||||
mainProgram = "galen";
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
|
|
|
@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
|
||||
meta = {
|
||||
description = "Open-source collection of tools for doing computation in game theory";
|
||||
homepage = "http://www.gambit-project.org";
|
||||
homepage = "https://www.gambit-project.org";
|
||||
license = lib.licenses.gpl2Only;
|
||||
maintainers = with lib.maintainers; [ t4ccer ];
|
||||
platforms = with lib.platforms; unix ++ windows;
|
||||
|
|
|
@ -147,7 +147,7 @@ stdenv.mkDerivation rec {
|
|||
Its areas of application include high energy, nuclear and accelerator physics, as well as studies in medical and space science.
|
||||
The two main reference papers for Geant4 are published in Nuclear Instruments and Methods in Physics Research A 506 (2003) 250-303, and IEEE Transactions on Nuclear Science 53 No. 1 (2006) 270-278.
|
||||
'';
|
||||
homepage = "http://www.geant4.org";
|
||||
homepage = "https://www.geant4.org";
|
||||
license = licenses.g4sl;
|
||||
maintainers = with maintainers; [
|
||||
omnipotententity
|
||||
|
|
|
@ -8,12 +8,12 @@
|
|||
jre,
|
||||
unzip,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "geoserver";
|
||||
version = "2.27.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/geoserver/GeoServer/${version}/geoserver-${version}-bin.zip";
|
||||
url = "mirror://sourceforge/geoserver/GeoServer/${finalAttrs.version}/geoserver-${finalAttrs.version}-bin.zip";
|
||||
hash = "sha256-bhL+u+BoKgW2cwOXEzaq0h07dKFz9u9WB2jW8nAF0vI=";
|
||||
};
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
|
||||
meta = {
|
||||
description = "Powerful open source image editor, especially suitable for creating icons, cursors, animations and icon libraries";
|
||||
homepage = "http://greenfishsoftware.org/gfie.php";
|
||||
homepage = "https://greenfishsoftware.org/gfie.php";
|
||||
license = with lib.licenses; [ gpl3 ];
|
||||
maintainers = with lib.maintainers; [ pluiedev ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
|
|
|
@ -81,7 +81,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
supports applying themes to match its appearance to your window
|
||||
manager, Gtk, or any other theme.
|
||||
'';
|
||||
homepage = "http://gkrellm.srcbox.net";
|
||||
homepage = "https://gkrellm.srcbox.net";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
|
|
|
@ -9,14 +9,14 @@
|
|||
pkgsBuildHost,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "glog";
|
||||
version = "0.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "glog";
|
||||
rev = "v${version}";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-+nwWP6VBmhgU7GCPSEGUzvUSCc48wXME181WpJ5ABP4=";
|
||||
};
|
||||
|
||||
|
|
|
@ -6,14 +6,14 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "ha-mqtt-discoverable-cli";
|
||||
version = "0.18.0";
|
||||
version = "0.19.2.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "unixorn";
|
||||
repo = "ha-mqtt-discoverable-cli";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-bPgVPj/ZfHznY0cY1ac0TlhCCdw3ZssL/E8yo0gACgQ=";
|
||||
hash = "sha256-SPCbBqdhC+pgV3mQ+e3jkg2hWYegl1wE38Ac06R5uAA=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [ "ha-mqtt-discoverable" ];
|
||||
|
@ -33,7 +33,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
meta = {
|
||||
description = "CLI for creating Home Assistant compatible MQTT entities that will be automatically discovered";
|
||||
homepage = "https://github.com/unixorn/ha-mqtt-discoverable-cli";
|
||||
changelog = "https://github.com/unixorn/ha-mqtt-discoverable-cli/releases/tag/v${version}";
|
||||
changelog = "https://github.com/unixorn/ha-mqtt-discoverable-cli/releases/tag/${src.tag}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
mainProgram = "hmd";
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: rec {
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "has";
|
||||
version = "1.5.0";
|
||||
|
||||
|
@ -19,7 +19,7 @@ stdenvNoCC.mkDerivation (finalAttrs: rec {
|
|||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm0555 ${pname} -t $out/bin
|
||||
install -Dm0555 has -t $out/bin
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
|
|||
meta = {
|
||||
description = "Puzzle game based on hexagonal tiles";
|
||||
mainProgram = "hex-a-hop";
|
||||
homepage = "http://hexahop.sourceforge.net";
|
||||
homepage = "https://hexahop.sourceforge.net";
|
||||
license = with lib.licenses; [
|
||||
gpl2Plus # Main code
|
||||
cc-by-30 # Assets
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
lib,
|
||||
python3Packages,
|
||||
python313Packages,
|
||||
fetchFromGitHub,
|
||||
wrapGAppsHook4,
|
||||
meson,
|
||||
|
@ -11,18 +11,20 @@
|
|||
libadwaita,
|
||||
gst_all_1,
|
||||
libsecret,
|
||||
libportal,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication {
|
||||
python313Packages.buildPythonApplication rec {
|
||||
pname = "high-tide";
|
||||
version = "0-unstable-2025-05-01";
|
||||
version = "0.1.5";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Nokse22";
|
||||
repo = "high-tide";
|
||||
rev = "6278ff9471b7481cf0291ab2a9f6d06322506dfc";
|
||||
hash = "sha256-4pVRVXEwz0ngjS1Vpt/o00lLYsZ6SvTCk4ivyGoQ4lQ=";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-HoPyqsLPLfqyQbrhoPzr3n81yX1MHZVUVmq5RKDN5pI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -35,7 +37,10 @@ python3Packages.buildPythonApplication {
|
|||
];
|
||||
|
||||
buildInputs =
|
||||
[ libadwaita ]
|
||||
[
|
||||
libadwaita
|
||||
libportal
|
||||
]
|
||||
++ (with gst_all_1; [
|
||||
gstreamer
|
||||
gst-plugins-base
|
||||
|
@ -45,7 +50,7 @@ python3Packages.buildPythonApplication {
|
|||
libsecret
|
||||
]);
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
dependencies = with python313Packages; [
|
||||
pygobject3
|
||||
tidalapi
|
||||
requests
|
||||
|
@ -56,12 +61,15 @@ python3Packages.buildPythonApplication {
|
|||
|
||||
makeWrapperArgs = [ "\${gappsWrapperArgs[@]}" ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Libadwaita TIDAL client for Linux";
|
||||
homepage = "https://github.com/Nokse22/high-tide";
|
||||
license = with lib.licenses; [ gpl3Plus ];
|
||||
mainProgram = "HighTide";
|
||||
mainProgram = "high-tide";
|
||||
maintainers = with lib.maintainers; [
|
||||
nilathedragon
|
||||
nyabinary
|
||||
griffi-gh
|
||||
];
|
||||
|
|
|
@ -52,27 +52,28 @@ let
|
|||
cp libsha1.so $out/lib/
|
||||
'';
|
||||
};
|
||||
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "isabelle";
|
||||
version = "2025";
|
||||
|
||||
dirname = "Isabelle${version}";
|
||||
dirname = "Isabelle${finalAttrs.version}";
|
||||
|
||||
src =
|
||||
if stdenv.hostPlatform.isDarwin then
|
||||
fetchurl {
|
||||
url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_macos.tar.gz";
|
||||
url = "https://isabelle.in.tum.de/website-${finalAttrs.dirname}/dist/${finalAttrs.dirname}_macos.tar.gz";
|
||||
hash = "sha256-6ldUwiiFf12dOuJU7JgUeX8kU+opDfILL23LLvDi5/g=";
|
||||
}
|
||||
else if stdenv.hostPlatform.isx86 then
|
||||
fetchurl {
|
||||
url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_linux.tar.gz";
|
||||
url = "https://isabelle.in.tum.de/website-${finalAttrs.dirname}/dist/${finalAttrs.dirname}_linux.tar.gz";
|
||||
hash = "sha256-PR1m3jcYI/4xqormZjj3NXW6wkTwCzGu4dy2LzgUfFY=";
|
||||
}
|
||||
else
|
||||
fetchurl {
|
||||
url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_linux_arm.tar.gz";
|
||||
url = "https://isabelle.in.tum.de/website-${finalAttrs.dirname}/dist/${finalAttrs.dirname}_linux_arm.tar.gz";
|
||||
hash = "sha256-p/Hp+7J5gJy5s6BVD5Ma1Mu2OS53I8BS7gKSOYYB0PE=";
|
||||
};
|
||||
|
||||
|
@ -88,14 +89,14 @@ stdenv.mkDerivation (finalAttrs: rec {
|
|||
|
||||
propagatedBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ procps ];
|
||||
|
||||
sourceRoot = "${dirname}${lib.optionalString stdenv.hostPlatform.isDarwin ".app"}";
|
||||
sourceRoot = "${finalAttrs.dirname}${lib.optionalString stdenv.hostPlatform.isDarwin ".app"}";
|
||||
|
||||
doCheck = stdenv.hostPlatform.system != "aarch64-linux";
|
||||
checkPhase = "bin/isabelle build -v HOL-SMT_Examples";
|
||||
|
||||
postUnpack = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
mv $sourceRoot ${dirname}
|
||||
sourceRoot=${dirname}
|
||||
mv $sourceRoot ${finalAttrs.dirname}
|
||||
sourceRoot=${finalAttrs.dirname}
|
||||
'';
|
||||
|
||||
postPatch =
|
||||
|
@ -208,11 +209,11 @@ stdenv.mkDerivation (finalAttrs: rec {
|
|||
|
||||
# icon
|
||||
mkdir -p "$out/share/icons/hicolor/isabelle/apps"
|
||||
cp "$out/Isabelle${version}/lib/icons/isabelle.xpm" "$out/share/icons/hicolor/isabelle/apps/"
|
||||
cp "$out/Isabelle${finalAttrs.version}/lib/icons/isabelle.xpm" "$out/share/icons/hicolor/isabelle/apps/"
|
||||
|
||||
# desktop item
|
||||
mkdir -p "$out/share"
|
||||
cp -r "${desktopItem}/share/applications" "$out/share/applications"
|
||||
cp -r "${finalAttrs.desktopItem}/share/applications" "$out/share/applications"
|
||||
'';
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
|
@ -220,7 +221,7 @@ stdenv.mkDerivation (finalAttrs: rec {
|
|||
exec = "isabelle jedit";
|
||||
icon = "isabelle";
|
||||
desktopName = "Isabelle";
|
||||
comment = meta.description;
|
||||
comment = finalAttrs.meta.description;
|
||||
categories = [
|
||||
"Education"
|
||||
"Science"
|
||||
|
|
|
@ -1,33 +1,49 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
fetchzip,
|
||||
cups,
|
||||
autoPatchelfHook,
|
||||
detox,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "labelife-label-printer";
|
||||
version = "1.2.1";
|
||||
version = "2.0.0";
|
||||
|
||||
arch =
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
"x86_64"
|
||||
else if stdenv.hostPlatform.system == "i686-linux" then
|
||||
"i386"
|
||||
else
|
||||
throw "Unsupported system: ${stdenv.hostPlatform.system}";
|
||||
{
|
||||
aarch64-linux = "aarch64";
|
||||
armv7l-linux = "armhf";
|
||||
i686-linux = "i386";
|
||||
x86_64-linux = "x86_64";
|
||||
}
|
||||
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://oss.saas.aimocloud.com/saas/Lablife/bag/LabelPrinter-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-twnIFMBMyEM3xGlsuk3763C3emz3mgpEnlfvnL0XRWw=";
|
||||
src = fetchzip {
|
||||
url = "https://oss.qu-in.ltd/Labelife/Label_Printer_Driver_Linux.zip";
|
||||
hash = "sha256-0ESZ0EqPh9Wz6ogQ6vTsAogujbn4zINtMh62sEpNRs4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook ];
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
detox
|
||||
];
|
||||
buildInputs = [ cups ];
|
||||
|
||||
unpackPhase = ''
|
||||
runHook preUnpack
|
||||
|
||||
tar -xzf ${finalAttrs.src}/LabelPrinter-${finalAttrs.version}.001.tar.gz --strip-components=1
|
||||
|
||||
runHook postUnpack
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
# Remove spaces from PPD filenames
|
||||
detox ppds
|
||||
|
||||
# Install the CUPS filter with executable permissions
|
||||
install -Dm755 ./${finalAttrs.arch}/rastertolabeltspl $out/lib/cups/filter/rastertolabeltspl
|
||||
|
||||
|
@ -46,9 +62,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
longDescription = ''
|
||||
Supported printer models include:
|
||||
- D520 & D520BT
|
||||
- PM-201
|
||||
- PM-241 & PM-241-BT
|
||||
- PM-246 & PM-246S
|
||||
|
||||
Brands using Labelife drivers include:
|
||||
- Phomemo
|
||||
|
@ -58,6 +72,8 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
'';
|
||||
maintainers = with lib.maintainers; [ daniel-fahey ];
|
||||
platforms = [
|
||||
"aarch64-linux"
|
||||
"armv7l-linux"
|
||||
"i686-linux"
|
||||
"x86_64-linux"
|
||||
];
|
||||
|
|
|
@ -14,14 +14,14 @@
|
|||
gst_all_1,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
version = "1.0.15";
|
||||
pname = "libde265";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "strukturag";
|
||||
repo = "libde265";
|
||||
tag = "v${version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-guiLM4RNe5O0qpeCoQUbs1Z7j0wp8iK9za2+6NIB8yY=";
|
||||
};
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
|||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.libdivecomputer.org";
|
||||
homepage = "https://www.libdivecomputer.org";
|
||||
description = "Cross-platform and open source library for communication with dive computers from various manufacturers";
|
||||
mainProgram = "dctool";
|
||||
maintainers = [ maintainers.mguentner ];
|
||||
|
|
|
@ -51,14 +51,12 @@ let
|
|||
];
|
||||
});
|
||||
|
||||
pname = "littlenavmap";
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "Little Navmap";
|
||||
desktopName = "Little Navmap";
|
||||
icon = pname;
|
||||
icon = "littlenavmap";
|
||||
terminal = false;
|
||||
exec = pname;
|
||||
exec = "littlenavmap";
|
||||
categories = [
|
||||
"Qt"
|
||||
"Utility"
|
||||
|
@ -67,14 +65,14 @@ let
|
|||
];
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
inherit pname;
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "littlenavmap";
|
||||
version = "3.0.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "albar965";
|
||||
repo = "littlenavmap";
|
||||
tag = "v${version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-/1YB2uEQzT0K6IylpWDqOaMSENDR9GuyJNty+2C8kXM=";
|
||||
};
|
||||
|
||||
|
@ -122,7 +120,7 @@ stdenv.mkDerivation (finalAttrs: rec {
|
|||
meta = {
|
||||
description = "Free flight planner, navigation tool, moving map, airport search and airport information system for Flight Simulator X, Microsoft Flight Simulator 2020, Prepar3D and X-Plane";
|
||||
homepage = "https://github.com/albar965/littlenavmap";
|
||||
changelog = "https://github.com/albar965/littlenavmap/blob/${src.rev}/CHANGELOG.txt";
|
||||
changelog = "https://github.com/albar965/littlenavmap/blob/${finalAttrs.src.tag}/CHANGELOG.txt";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ ck3d ];
|
||||
mainProgram = "littlenavmap";
|
||||
|
|
|
@ -10,19 +10,19 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "lon";
|
||||
version = "0.5.0";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nikstur";
|
||||
repo = "lon";
|
||||
tag = version;
|
||||
hash = "sha256-/7RelKn3pzC8n+b2OV1pcUEaWeEoH4qC2TvAWwni5AA=";
|
||||
hash = "sha256-+hCqAtu9uo9BndZogXUIMMoL1pXmwyec5edj6gg82GM=";
|
||||
};
|
||||
|
||||
sourceRoot = "source/rust/lon";
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-2/lHRv3bD0hX/JVSucsA3G5gM9NMgRrBf21JtEvzu64=";
|
||||
cargoHash = "sha256-i+DAVtXAYQ254Y7jechjOcwe3nT/0O4AzxBH5QkK9aM=";
|
||||
|
||||
nativeBuildInputs = [ makeBinaryWrapper ];
|
||||
|
||||
|
|
|
@ -130,7 +130,7 @@ libsForQt5.mkDerivation {
|
|||
licenses.unfree
|
||||
licenses.lgpl21
|
||||
];
|
||||
homepage = "http://makemkv.com";
|
||||
homepage = "https://makemkv.com";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ jchw ];
|
||||
};
|
||||
|
|
|
@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
|
|||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://brandy.matrixnetwork.co.uk/";
|
||||
homepage = "https://brandy.matrixnetwork.co.uk/";
|
||||
description = "Matrix Brandy BASIC VI for Linux, Windows, MacOSX";
|
||||
mainProgram = "brandy";
|
||||
license = licenses.gpl2Plus;
|
||||
|
|
|
@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = {
|
||||
description = "OpenStreetMap editor";
|
||||
homepage = "http://merkaartor.be/";
|
||||
homepage = "https://merkaartor.be/";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
mainProgram = "merkaartor";
|
||||
maintainers = with lib.maintainers; [ sikmir ];
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "metals";
|
||||
version = "1.5.3";
|
||||
version = "1.6.0";
|
||||
|
||||
deps = stdenv.mkDerivation {
|
||||
name = "metals-deps-${finalAttrs.version}";
|
||||
|
@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
'';
|
||||
outputHashMode = "recursive";
|
||||
outputHashAlgo = "sha256";
|
||||
outputHash = "sha256-jxrAtlD+s3yjcDWYLoN7mr8RozutItCv8dt28/UoVjk=";
|
||||
outputHash = "sha256-+6u/nnaoCBEQCwhvPs1WQzMnppz7KEWWd1TlzbKYpAU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
- fontforge = null (limited functionality)
|
||||
*/
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "mftrace";
|
||||
version = "1.2.20";
|
||||
|
||||
|
@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: rec {
|
|||
src = fetchFromGitHub {
|
||||
owner = "hanwen";
|
||||
repo = "mftrace";
|
||||
rev = "release/${version}";
|
||||
rev = "release/${finalAttrs.version}";
|
||||
sha256 = "02ik25aczkbi10jrjlnxby3fmixxrwm2k5r4fkfif3bjfym7nqbc";
|
||||
};
|
||||
|
||||
|
|
30
pkgs/by-name/mo/mozhi/package.nix
Normal file
30
pkgs/by-name/mo/mozhi/package.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitea,
|
||||
unstableGitUpdater,
|
||||
}:
|
||||
buildGoModule {
|
||||
pname = "mozhi";
|
||||
version = "0-unstable-2025-04-14";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "aryak";
|
||||
repo = "mozhi";
|
||||
rev = "c2c14988c09e6c5fae5a8ac59c07a650f0997a5a";
|
||||
hash = "sha256-xJw9BkdKlN1VToKyDlkW8UUZB94gzD9nclNciDmVIkk=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-ptwP+ZuuzxRpIuNDoXnAML1KYEh9zTBcOs9YTI8z63A=";
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { };
|
||||
|
||||
meta = {
|
||||
homepage = "https://codeberg.org/aryak/mozhi";
|
||||
description = "Alternative-frontend for many translation engines, fork of SimplyTranslate";
|
||||
license = lib.licenses.agpl3Plus;
|
||||
maintainers = [ lib.maintainers.ryand56 ];
|
||||
mainProgram = "mozhi";
|
||||
};
|
||||
}
|
|
@ -12,14 +12,14 @@
|
|||
makeDesktopItem,
|
||||
nix-update-script,
|
||||
}:
|
||||
buildDotnetModule (finalAttrs: rec {
|
||||
buildDotnetModule (finalAttrs: {
|
||||
pname = "msbuild-structured-log-viewer";
|
||||
version = "2.2.490";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "KirillOsenkov";
|
||||
repo = "MSBuildStructuredLog";
|
||||
rev = "v${version}";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-VJun6bs47NKj90e/6ZGp66x+MG1R/qxqrn2L1bVkdHY=";
|
||||
};
|
||||
|
||||
|
@ -48,10 +48,10 @@ buildDotnetModule (finalAttrs: rec {
|
|||
|
||||
postFixup =
|
||||
''
|
||||
wrapDotnetProgram $out/lib/${finalAttrs.pname}/StructuredLogViewer.Avalonia $out/bin/${meta.mainProgram}
|
||||
wrapDotnetProgram $out/lib/msbuild-structured-log-viewer/StructuredLogViewer.Avalonia $out/bin/${finalAttrs.meta.mainProgram}
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
install -Dm444 $src/src/StructuredLogViewer/icons/msbuild-structured-log-viewer.png $out/share/icons/hicolor/32x32/apps/${finalAttrs.pname}.png
|
||||
install -Dm444 $src/src/StructuredLogViewer/icons/msbuild-structured-log-viewer.png $out/share/icons/hicolor/32x32/apps/msbuild-structured-log-viewer.png
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
substituteInPlace src/StructuredLogViewer.Avalonia/Info.plist \
|
||||
|
@ -60,15 +60,15 @@ buildDotnetModule (finalAttrs: rec {
|
|||
install -Dm444 src/StructuredLogViewer.Avalonia/Info.plist $out/Applications/StructuredLogViewer.app/Contents/Info.plist
|
||||
install -Dm444 src/StructuredLogViewer.Avalonia/StructuredLogViewer.icns $out/Applications/StructuredLogViewer.app/Contents/Resources/StructuredLogViewer.icns
|
||||
mkdir -p $out/Applications/StructuredLogViewer.app/Contents/MacOS
|
||||
ln -s $out/bin/${meta.mainProgram} $out/Applications/StructuredLogViewer.app/Contents/MacOS/StructuredLogViewer.Avalonia
|
||||
ln -s $out/bin/${finalAttrs.meta.mainProgram} $out/Applications/StructuredLogViewer.app/Contents/MacOS/StructuredLogViewer.Avalonia
|
||||
'';
|
||||
|
||||
desktopItems = makeDesktopItem {
|
||||
name = finalAttrs.pname;
|
||||
name = "msbuild-structured-log-viewer";
|
||||
desktopName = "MSBuild Structured Log Viewer";
|
||||
comment = finalAttrs.meta.description;
|
||||
icon = finalAttrs.pname;
|
||||
exec = meta.mainProgram;
|
||||
icon = "msbuild-structured-log-viewer";
|
||||
exec = finalAttrs.meta.mainProgram;
|
||||
categories = [ "Development" ];
|
||||
};
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
installShellFiles,
|
||||
}:
|
||||
|
||||
buildGoModule (finalAttrs: rec {
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "noti";
|
||||
version = "3.8.0";
|
||||
|
||||
|
|
|
@ -10,13 +10,13 @@ let
|
|||
nim2 = nim-2_0;
|
||||
};
|
||||
in
|
||||
buildNimPackage' (finalAttrs: rec {
|
||||
buildNimPackage' (finalAttrs: {
|
||||
pname = "nph";
|
||||
version = "0.6.1";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/nph.nim \
|
||||
--replace-fail 'git describe --long --dirty --always --tags' "echo ${version}"
|
||||
--replace-fail 'git describe --long --dirty --always --tags' "echo ${finalAttrs.version}"
|
||||
'';
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
|
|
@ -101,7 +101,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
|
||||
meta = {
|
||||
description = "Calendar web-app designed for scheduling and managing on-call shifts";
|
||||
homepage = "http://oncall.tools";
|
||||
homepage = "https://oncall.tools";
|
||||
changelog = "https://github.com/linkedin/oncall/blob/${src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.bsd2;
|
||||
maintainers = with lib.maintainers; [ onny ];
|
||||
|
|
|
@ -38,7 +38,7 @@ stdenv.mkDerivation {
|
|||
around datasets arising from point samples, images, distance
|
||||
matrices and so forth.
|
||||
'';
|
||||
homepage = "http://people.maths.ox.ac.uk/nanda/perseus/index.html";
|
||||
homepage = "https://people.maths.ox.ac.uk/nanda/perseus/index.html";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = with lib.maintainers; [ erikryb ];
|
||||
platforms = lib.platforms.linux;
|
||||
|
|
|
@ -93,7 +93,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://pixman.org";
|
||||
homepage = "https://pixman.org";
|
||||
description = "Low-level library for pixel manipulation";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
|
|
|
@ -117,7 +117,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
|
||||
meta = {
|
||||
description = "portable open source (MIT-licensed) implementation of the OpenCL standard";
|
||||
homepage = "http://portablecl.org";
|
||||
homepage = "https://portablecl.org";
|
||||
changelog = "https://github.com/pocl/pocl/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
waylandSupport ? stdenv.hostPlatform.isLinux,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "q2pro";
|
||||
version = "0-unstable-2025-05-03";
|
||||
|
||||
|
@ -90,9 +90,9 @@ stdenv.mkDerivation (finalAttrs: rec {
|
|||
(lib.mesonEnable "windows-crash-dumps" false)
|
||||
];
|
||||
|
||||
internalVersion = "r${revCount}~${builtins.substring 0 8 src.rev}";
|
||||
internalVersion = "r${finalAttrs.revCount}~${builtins.substring 0 8 finalAttrs.src.rev}";
|
||||
postPatch = ''
|
||||
echo '${internalVersion}' > VERSION
|
||||
echo '${finalAttrs.internalVersion}' > VERSION
|
||||
'';
|
||||
|
||||
postInstall =
|
||||
|
@ -105,13 +105,13 @@ stdenv.mkDerivation (finalAttrs: rec {
|
|||
makeWrapper $out/bin/q2pro-unwrapped $out/bin/q2pro \
|
||||
--prefix ${ldLibraryPathEnvName} : "${lib.makeLibraryPath finalAttrs.buildInputs}"
|
||||
|
||||
install -D ${src}/src/unix/res/q2pro.xpm $out/share/icons/hicolor/32x32/apps/q2pro.xpm
|
||||
install -D ${finalAttrs.src}/src/unix/res/q2pro.xpm $out/share/icons/hicolor/32x32/apps/q2pro.xpm
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
versionCheckProgramArg = "--version";
|
||||
preVersionCheck = ''
|
||||
export version='${internalVersion}'
|
||||
export version='${finalAttrs.internalVersion}'
|
||||
'';
|
||||
doInstallCheck = true;
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
pkgsCross.avr.buildPackages.binutils
|
||||
pkgsCross.avr.buildPackages.binutils.bintools
|
||||
pkgsCross.avr.buildPackages.gcc
|
||||
pkgsCross.avr.libcCross
|
||||
pkgsCross.avr.libc
|
||||
];
|
||||
|
||||
# no tests implemented
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
autoreconfHook,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "qrencode";
|
||||
version = "4.1.1";
|
||||
|
||||
|
@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: rec {
|
|||
src = fetchFromGitHub {
|
||||
owner = "fukuchi";
|
||||
repo = "libqrencode";
|
||||
rev = "v${version}";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-nbrmg9SqCqMrLE7WCfNEzMV/eS9UVCKCrjBrGMzAsLk";
|
||||
};
|
||||
|
||||
|
|
53
pkgs/by-name/re/render50/package.nix
Normal file
53
pkgs/by-name/re/render50/package.nix
Normal file
|
@ -0,0 +1,53 @@
|
|||
{
|
||||
lib,
|
||||
python3Packages,
|
||||
fetchFromGitHub,
|
||||
fetchpatch2,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "render50";
|
||||
version = "9.2.8";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cs50";
|
||||
repo = "render50";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-ZCSd1Y7PPVkMQWkEgcaqh3Ypy8OrWxI9iM2HMVT/VeA=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
python3Packages.setuptools
|
||||
];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
backports-shutil-which
|
||||
braceexpand
|
||||
beautifulsoup4
|
||||
natsort
|
||||
pygments
|
||||
pypdf
|
||||
requests
|
||||
six
|
||||
termcolor
|
||||
weasyprint
|
||||
];
|
||||
|
||||
nativeCheckInputs = [ versionCheckHook ];
|
||||
versionCheckProgramArg = "--version";
|
||||
|
||||
# no pytest checks
|
||||
|
||||
meta = {
|
||||
description = "Generate syntax-highlighted PDFs of source code";
|
||||
homepage = "https://cs50.readthedocs.io/render50/";
|
||||
downloadPage = "https://github.com/cs50/render50";
|
||||
changelog = "https://github.com/cs50/render50/releases/tag/v${version}";
|
||||
license = lib.licenses.gpl3Only;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ ethancedwards8 ];
|
||||
mainProgram = "render50";
|
||||
};
|
||||
}
|
|
@ -46,7 +46,7 @@ stdenv.mkDerivation {
|
|||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://selendroid.io/";
|
||||
homepage = "https://selendroid.io/";
|
||||
description = "Test automation for native or hybrid Android apps and the mobile web";
|
||||
maintainers = with maintainers; [ offline ];
|
||||
platforms = platforms.all;
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
libxslt,
|
||||
libxcrypt,
|
||||
pkg-config,
|
||||
glibcCross ? null,
|
||||
glibc ? null,
|
||||
pam ? null,
|
||||
withLibbsd ? lib.meta.availableOn stdenv.hostPlatform libbsd,
|
||||
libbsd,
|
||||
|
@ -24,7 +24,7 @@
|
|||
let
|
||||
glibc =
|
||||
if stdenv.hostPlatform != stdenv.buildPlatform then
|
||||
glibcCross
|
||||
glibc
|
||||
else
|
||||
assert stdenv.hostPlatform.libc == "glibc";
|
||||
stdenv.cc.libc;
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
lib,
|
||||
makeWrapper,
|
||||
nix-update-script,
|
||||
python3Packages,
|
||||
python312Packages,
|
||||
squashfsTools,
|
||||
cacert,
|
||||
stdenv,
|
||||
writableTmpDirAsHomeHook,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
python312Packages.buildPythonApplication rec {
|
||||
pname = "snapcraft";
|
||||
version = "8.9.2";
|
||||
|
||||
|
@ -58,7 +58,7 @@ python3Packages.buildPythonApplication rec {
|
|||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
dependencies = with python312Packages; [
|
||||
attrs
|
||||
catkin-pkg
|
||||
click
|
||||
|
@ -102,7 +102,7 @@ python3Packages.buildPythonApplication rec {
|
|||
validators
|
||||
];
|
||||
|
||||
build-system = with python3Packages; [ setuptools-scm ];
|
||||
build-system = with python312Packages; [ setuptools-scm ];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"click"
|
||||
|
@ -125,7 +125,7 @@ python3Packages.buildPythonApplication rec {
|
|||
'';
|
||||
|
||||
nativeCheckInputs =
|
||||
with python3Packages;
|
||||
with python312Packages;
|
||||
[
|
||||
pytest-check
|
||||
pytest-cov-stub
|
||||
|
|
34
pkgs/by-name/so/solarus-launcher/github-fetches.patch
Normal file
34
pkgs/by-name/so/solarus-launcher/github-fetches.patch
Normal file
|
@ -0,0 +1,34 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 80b9aab..e56ca84 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -88,8 +88,7 @@ include(FetchContent)
|
||||
|
||||
# Qlementine Icons: an SVG icon library made for Qt.
|
||||
FetchContent_Declare(qlementine-icons
|
||||
- GIT_REPOSITORY "https://github.com/oclero/qlementine-icons.git"
|
||||
- GIT_TAG v1.8.0
|
||||
+ SOURCE_DIR "@qlementine-icons-src@"
|
||||
)
|
||||
FetchContent_MakeAvailable(qlementine-icons)
|
||||
set_target_properties(qlementine-icons
|
||||
@@ -99,8 +98,7 @@ set_target_properties(qlementine-icons
|
||||
|
||||
# Qlementine: the QStyle library to have a modern look n' feel.
|
||||
FetchContent_Declare(qlementine
|
||||
- GIT_REPOSITORY "https://github.com/oclero/qlementine.git"
|
||||
- GIT_TAG v1.2.0
|
||||
+ SOURCE_DIR "@qlementine-src@"
|
||||
)
|
||||
FetchContent_MakeAvailable(qlementine)
|
||||
set_target_properties(qlementine
|
||||
@@ -109,8 +107,7 @@ set_target_properties(qlementine
|
||||
)
|
||||
|
||||
FetchContent_Declare(QtAppInstanceManager
|
||||
- GIT_REPOSITORY "https://github.com/oclero/qtappinstancemanager.git"
|
||||
- GIT_TAG v1.3.0
|
||||
+ SOURCE_DIR "@qtappinstancemanager-src@"
|
||||
)
|
||||
FetchContent_MakeAvailable(QtAppInstanceManager)
|
||||
set_target_properties(QtAppInstanceManager
|
109
pkgs/by-name/so/solarus-launcher/package.nix
Normal file
109
pkgs/by-name/so/solarus-launcher/package.nix
Normal file
|
@ -0,0 +1,109 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
fetchFromGitHub,
|
||||
replaceVars,
|
||||
cmake,
|
||||
ninja,
|
||||
luajit,
|
||||
SDL2,
|
||||
SDL2_image,
|
||||
SDL2_ttf,
|
||||
physfs,
|
||||
openal,
|
||||
libmodplug,
|
||||
libvorbis,
|
||||
solarus,
|
||||
glm,
|
||||
qt6Packages,
|
||||
kdePackages,
|
||||
}:
|
||||
|
||||
let
|
||||
qlementine-icons-src = fetchFromGitHub {
|
||||
owner = "oclero";
|
||||
repo = "qlementine-icons";
|
||||
tag = "v1.8.0";
|
||||
hash = "sha256-FPndzMEOQvYNYUbT2V6iDlwoYqOww38GW/T3zUID3g0=";
|
||||
};
|
||||
|
||||
qlementine-src = fetchFromGitHub {
|
||||
owner = "oclero";
|
||||
repo = "qlementine";
|
||||
tag = "v1.2.1";
|
||||
hash = "sha256-CPQMmTXyUW+CyLjHYx+IdXY4I2mVPudOmAksjd+izPA=";
|
||||
};
|
||||
|
||||
qtappinstancemanager-src = fetchFromGitHub {
|
||||
owner = "oclero";
|
||||
repo = "qtappinstancemanager";
|
||||
tag = "v1.3.0";
|
||||
hash = "sha256-/zvNR/RHNV19ZI8d+58sotWxY16q2a7wWIBuKO52H5M=";
|
||||
};
|
||||
|
||||
inherit (qt6Packages)
|
||||
qtbase
|
||||
qttools
|
||||
wrapQtAppsHook
|
||||
;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "solarus-launcher";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "solarus-games";
|
||||
repo = "solarus-launcher";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-zBJnHzYJyhfzP1m6TgMkDLRA3EXC1oG8PC0Jq/fC2+Q=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(replaceVars ./github-fetches.patch {
|
||||
inherit qlementine-src qlementine-icons-src qtappinstancemanager-src;
|
||||
})
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
qttools
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
luajit
|
||||
SDL2
|
||||
SDL2_image
|
||||
SDL2_ttf
|
||||
physfs
|
||||
openal
|
||||
libmodplug
|
||||
libvorbis
|
||||
solarus
|
||||
qtbase
|
||||
kdePackages.qtsvg
|
||||
glm
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Launcher for the Zelda-like ARPG game engine, Solarus";
|
||||
longDescription = ''
|
||||
Solarus is a game engine for Zelda-like ARPG games written in lua.
|
||||
Many full-fledged games have been writen for the engine.
|
||||
Games can be created easily using the editor.
|
||||
'';
|
||||
homepage = "https://www.solarus-games.org";
|
||||
mainProgram = "solarus-launcher";
|
||||
license = with lib.licenses; [
|
||||
# code
|
||||
gpl3Plus
|
||||
# assets
|
||||
cc-by-sa-40
|
||||
];
|
||||
maintainers = with lib.maintainers; [ marcin-serwin ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
88
pkgs/by-name/so/solarus-quest-editor/package.nix
Normal file
88
pkgs/by-name/so/solarus-quest-editor/package.nix
Normal file
|
@ -0,0 +1,88 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
fetchFromGitHub,
|
||||
replaceVars,
|
||||
cmake,
|
||||
ninja,
|
||||
luajit,
|
||||
SDL2,
|
||||
SDL2_image,
|
||||
SDL2_ttf,
|
||||
physfs,
|
||||
openal,
|
||||
libmodplug,
|
||||
libvorbis,
|
||||
solarus,
|
||||
glm,
|
||||
qt6Packages,
|
||||
kdePackages,
|
||||
}:
|
||||
|
||||
let
|
||||
qlementine-src = fetchFromGitHub {
|
||||
owner = "oclero";
|
||||
repo = "qlementine";
|
||||
tag = "v1.2.0";
|
||||
hash = "sha256-25PKOpQl3IkBXX14gt8KKYXXJKeutQ75O7BftEqCAxk=";
|
||||
};
|
||||
|
||||
inherit (qt6Packages)
|
||||
qtbase
|
||||
qttools
|
||||
wrapQtAppsHook
|
||||
;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "solarus-quest-editor";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "solarus-games";
|
||||
repo = "solarus-quest-editor";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-GTslxValldReWGb3x67zRPrvQUuCO/HQSXOEQlJfAmw=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(replaceVars ./qlementine-src.patch { inherit qlementine-src; })
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
qttools
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
luajit
|
||||
SDL2
|
||||
SDL2_image
|
||||
SDL2_ttf
|
||||
physfs
|
||||
openal
|
||||
libmodplug
|
||||
libvorbis
|
||||
solarus
|
||||
qtbase
|
||||
kdePackages.qtsvg
|
||||
glm
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Editor for the Zelda-like ARPG game engine, Solarus";
|
||||
mainProgram = "solarus-editor";
|
||||
longDescription = ''
|
||||
Solarus is a game engine for Zelda-like ARPG games written in lua.
|
||||
Many full-fledged games have been writen for the engine.
|
||||
Games can be created easily using the editor.
|
||||
'';
|
||||
homepage = "https://www.solarus-games.org";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = with lib.maintainers; [ marcin-serwin ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
13
pkgs/by-name/so/solarus-quest-editor/qlementine-src.patch
Normal file
13
pkgs/by-name/so/solarus-quest-editor/qlementine-src.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
diff --git a/cmake/AddDependencies.cmake b/cmake/AddDependencies.cmake
|
||||
index 8272d14..054c079 100644
|
||||
--- a/cmake/AddDependencies.cmake
|
||||
+++ b/cmake/AddDependencies.cmake
|
||||
@@ -51,7 +51,6 @@ endif()
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
qlementine
|
||||
- GIT_REPOSITORY https://github.com/oclero/qlementine.git
|
||||
- GIT_TAG v1.2.0
|
||||
+ SOURCE_DIR "@qlementine-src@"
|
||||
)
|
||||
FetchContent_MakeAvailable(qlementine)
|
92
pkgs/by-name/so/solarus/package.nix
Normal file
92
pkgs/by-name/so/solarus/package.nix
Normal file
|
@ -0,0 +1,92 @@
|
|||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
fetchpatch,
|
||||
cmake,
|
||||
ninja,
|
||||
luajit,
|
||||
SDL2,
|
||||
SDL2_image,
|
||||
SDL2_ttf,
|
||||
physfs,
|
||||
glm,
|
||||
openal,
|
||||
libmodplug,
|
||||
libvorbis,
|
||||
|
||||
# tests
|
||||
solarus-quest-editor,
|
||||
solarus-launcher,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "solarus";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "solarus-games";
|
||||
repo = "solarus";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Kfg4pFZrEhsIU4RQlOox3hMpk2PXbOzrkwDElPGnDjA=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# https://gitlab.com/solarus-games/solarus/-/merge_requests/1570
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.com/solarus-games/solarus/-/commit/8e1eee51cbfa5acf2511b059739153065b0ba21d.patch";
|
||||
hash = "sha256-KevGavtUhpHRt85WLh9ApmZ8a+NeWB1zDDHKGT08yhQ=";
|
||||
})
|
||||
];
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"lib"
|
||||
"dev"
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
];
|
||||
buildInputs = [
|
||||
luajit
|
||||
SDL2
|
||||
SDL2_image
|
||||
SDL2_ttf
|
||||
physfs
|
||||
openal
|
||||
libmodplug
|
||||
libvorbis
|
||||
glm
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "CMAKE_CXX_FLAGS" "-DGLM_ENABLE_EXPERIMENTAL")
|
||||
(lib.cmakeFeature "CMAKE_INSTALL_DATADIR" "${placeholder "lib"}/share")
|
||||
];
|
||||
|
||||
passthru.tests = {
|
||||
inherit solarus-quest-editor solarus-launcher;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Zelda-like ARPG game engine";
|
||||
longDescription = ''
|
||||
Solarus is a game engine for Zelda-like ARPG games written in lua.
|
||||
Many full-fledged games have been writen for the engine.
|
||||
'';
|
||||
homepage = "https://www.solarus-games.org";
|
||||
mainProgram = "solarus-run";
|
||||
license = with lib.licenses; [
|
||||
# code
|
||||
gpl3Plus
|
||||
# assets
|
||||
cc-by-sa-30
|
||||
cc-by-sa-40
|
||||
];
|
||||
maintainers = with lib.maintainers; [ marcin-serwin ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
|
@ -11,13 +11,13 @@
|
|||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "stellarsolver";
|
||||
version = "2.6";
|
||||
version = "2.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rlancaste";
|
||||
repo = "stellarsolver";
|
||||
rev = finalAttrs.version;
|
||||
sha256 = "sha256-6WDiHaBhi9POtXynGU/eTeuqZSK81JJeuZv4SxOeVoE=";
|
||||
sha256 = "sha256-tASjV5MZ1ClumZqu/R61b6XE9CGTuVFfpxyC89fwN9o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
|
|
@ -40,7 +40,7 @@ rustPlatform.buildRustPackage rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "Learn foreign languages using audio and subtitles extracted from video files";
|
||||
homepage = "http://www.randomhacks.net/substudy";
|
||||
homepage = "https://www.randomhacks.net/substudy";
|
||||
license = licenses.asl20;
|
||||
mainProgram = "substudy";
|
||||
maintainers = with maintainers; [ paveloom ];
|
||||
|
|
|
@ -32,14 +32,14 @@
|
|||
pantheon,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "SwayNotificationCenter";
|
||||
version = "0.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ErikReider";
|
||||
repo = "SwayNotificationCenter";
|
||||
rev = "v${version}";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-kRawYbBLVx0ie4t7tChkA8QJShS83fUcGrJSKkxBy8Q=";
|
||||
};
|
||||
|
||||
|
@ -95,7 +95,7 @@ stdenv.mkDerivation (finalAttrs: rec {
|
|||
meta = with lib; {
|
||||
description = "Simple notification daemon with a GUI built for Sway";
|
||||
homepage = "https://github.com/ErikReider/SwayNotificationCenter";
|
||||
changelog = "https://github.com/ErikReider/SwayNotificationCenter/releases/tag/v${version}";
|
||||
changelog = "https://github.com/ErikReider/SwayNotificationCenter/releases/tag/v${finalAttrs.version}";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "swaync";
|
||||
|
|
|
@ -148,7 +148,7 @@ stdenv.mkDerivation {
|
|||
|
||||
meta = with lib; {
|
||||
description = "2D animation program";
|
||||
homepage = "http://www.synfig.org";
|
||||
homepage = "https://www.synfig.org";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = [ ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
|
|
|
@ -23,7 +23,7 @@ stdenv.mkDerivation ({
|
|||
|
||||
meta = {
|
||||
description = "Test Environment Toolkit is used in test applications like The Open Group's UNIX Certification program and the Free Standards Group's LSB Certification program";
|
||||
homepage = "http://tetworks.opengroup.org/Products/tet.htm";
|
||||
homepage = "https://tetworks.opengroup.org/Products/tet.htm";
|
||||
license = lib.licenses.artistic1;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = [ ];
|
||||
|
|
|
@ -9,12 +9,12 @@
|
|||
let
|
||||
generator = pkgsBuildBuild.buildGoModule rec {
|
||||
pname = "v2ray-domain-list-community";
|
||||
version = "20250602083629";
|
||||
version = "20250605152911";
|
||||
src = fetchFromGitHub {
|
||||
owner = "v2fly";
|
||||
repo = "domain-list-community";
|
||||
rev = version;
|
||||
hash = "sha256-LdB4BUHDpPoA0c8yoZX9gZhaY97t4DfkR37y32yHlvk=";
|
||||
hash = "sha256-WmBRTr1DHsYgw1XBYCgJAqIvgoW+oqMHe7Ifh7pSG1I=";
|
||||
};
|
||||
vendorHash = "sha256-NLh14rXRci4hgDkBJVJDIDvobndB7KYRKAX7UjyqSsg=";
|
||||
meta = with lib; {
|
||||
|
|
|
@ -50,7 +50,7 @@ stdenv.mkDerivation {
|
|||
It extracts content so that you can read it when you have time.
|
||||
'';
|
||||
license = licenses.mit;
|
||||
homepage = "http://wallabag.org";
|
||||
homepage = "https://wallabag.org";
|
||||
changelog = "https://github.com/wallabag/wallabag/releases/tag/${version}";
|
||||
maintainers = with maintainers; [ schneefux ];
|
||||
platforms = platforms.all;
|
||||
|
|
|
@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.doof.me.uk/xcowsay";
|
||||
homepage = "https://www.doof.me.uk/xcowsay";
|
||||
description = "Tool to display a cute cow and messages";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ das_j ];
|
||||
|
|
|
@ -29,18 +29,18 @@ in
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "zipline";
|
||||
version = "4.1.0";
|
||||
version = "4.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "diced";
|
||||
repo = "zipline";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-5qa2K17RmWHO5mrkz/Imoxv4ODEaJow3BMUBNzl7Dg8=";
|
||||
hash = "sha256-xxe64tGxZ2Udr+p21CKTZCHJ19ZOsdgPLlil+v+j5j4=";
|
||||
};
|
||||
|
||||
pnpmDeps = pnpm_10.fetchDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-xFe1Fdsp8Tpz0r+xvPSYuPR8gXTts6iWTq0a9u+Xh3U=";
|
||||
hash = "sha256-O8RLaKff4Dj/JDeUOyf7GtcFcOu/aOuclyaZmVqVi5s=";
|
||||
};
|
||||
|
||||
buildInputs = [ vips ];
|
||||
|
|
|
@ -38,6 +38,10 @@ pkgs.haskell.packages.ghc96.override {
|
|||
|
||||
inherit fetchElmDeps;
|
||||
elmVersion = elmPkgs.elm.version;
|
||||
|
||||
# Fix TLS issues
|
||||
# see https://github.com/elm/compiler/pull/2325
|
||||
tls = self.callPackage ./tls-1.9.0.nix { };
|
||||
};
|
||||
in
|
||||
elmPkgs
|
||||
|
|
79
pkgs/development/compilers/elm/packages/ghc9_6/tls-1.9.0.nix
Normal file
79
pkgs/development/compilers/elm/packages/ghc9_6/tls-1.9.0.nix
Normal file
|
@ -0,0 +1,79 @@
|
|||
{
|
||||
mkDerivation,
|
||||
asn1-encoding,
|
||||
asn1-types,
|
||||
async,
|
||||
base,
|
||||
bytestring,
|
||||
cereal,
|
||||
crypton,
|
||||
crypton-x509,
|
||||
crypton-x509-store,
|
||||
crypton-x509-validation,
|
||||
data-default-class,
|
||||
gauge,
|
||||
hourglass,
|
||||
lib,
|
||||
memory,
|
||||
mtl,
|
||||
network,
|
||||
QuickCheck,
|
||||
tasty,
|
||||
tasty-quickcheck,
|
||||
transformers,
|
||||
unix-time,
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "tls";
|
||||
version = "1.9.0";
|
||||
sha256 = "5605b9cbe0903b100e9de72800641453f74bf5dade6176dbe10b34ac9353433e";
|
||||
libraryHaskellDepends = [
|
||||
asn1-encoding
|
||||
asn1-types
|
||||
async
|
||||
base
|
||||
bytestring
|
||||
cereal
|
||||
crypton
|
||||
crypton-x509
|
||||
crypton-x509-store
|
||||
crypton-x509-validation
|
||||
data-default-class
|
||||
memory
|
||||
mtl
|
||||
network
|
||||
transformers
|
||||
unix-time
|
||||
];
|
||||
testHaskellDepends = [
|
||||
asn1-types
|
||||
async
|
||||
base
|
||||
bytestring
|
||||
crypton
|
||||
crypton-x509
|
||||
crypton-x509-validation
|
||||
data-default-class
|
||||
hourglass
|
||||
QuickCheck
|
||||
tasty
|
||||
tasty-quickcheck
|
||||
];
|
||||
benchmarkHaskellDepends = [
|
||||
asn1-types
|
||||
async
|
||||
base
|
||||
bytestring
|
||||
crypton
|
||||
crypton-x509
|
||||
crypton-x509-validation
|
||||
data-default-class
|
||||
gauge
|
||||
hourglass
|
||||
QuickCheck
|
||||
tasty-quickcheck
|
||||
];
|
||||
homepage = "https://github.com/haskell-tls/hs-tls";
|
||||
description = "TLS/SSL protocol native implementation (Server and Client)";
|
||||
license = lib.licenses.bsd3;
|
||||
}
|
|
@ -2,10 +2,9 @@
|
|||
lib,
|
||||
stdenv,
|
||||
pkgs,
|
||||
targetPackages,
|
||||
callPackage,
|
||||
isl_0_20,
|
||||
libcCross,
|
||||
threadsCross,
|
||||
noSysDirs,
|
||||
lowPrio,
|
||||
wrapCC,
|
||||
|
@ -27,9 +26,15 @@ let
|
|||
reproducibleBuild = true;
|
||||
profiledCompiler = false;
|
||||
libcCross =
|
||||
if !lib.systems.equals stdenv.targetPlatform stdenv.buildPlatform then args.libcCross else null;
|
||||
if !lib.systems.equals stdenv.targetPlatform stdenv.buildPlatform then
|
||||
targetPackages.libc or pkgs.libc
|
||||
else
|
||||
null;
|
||||
threadsCross =
|
||||
if !lib.systems.equals stdenv.targetPlatform stdenv.buildPlatform then threadsCross else { };
|
||||
if !lib.systems.equals stdenv.targetPlatform stdenv.buildPlatform then
|
||||
targetPackages.threads or pkgs.threads
|
||||
else
|
||||
{ };
|
||||
isl = if stdenv.hostPlatform.isDarwin then null else isl_0_20;
|
||||
# do not allow version skew when cross-building gcc
|
||||
#
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
enablePlugin ? (lib.systems.equals stdenv.hostPlatform stdenv.buildPlatform), # Whether to support user-supplied plug-ins
|
||||
name ? "gcc",
|
||||
libcCross ? null,
|
||||
threadsCross ? null, # for MinGW
|
||||
threadsCross ? { }, # for MinGW
|
||||
withoutTargetLibc ? false,
|
||||
flex,
|
||||
gnused ? null,
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue