Merge remote-tracking branch 'origin/master' into staging-next

This commit is contained in:
K900
2025-09-29 08:31:31 +03:00
132 changed files with 2406 additions and 800 deletions
+4
View File
@@ -132,6 +132,8 @@
- The `archipelago-minecraft` package was removed, as upstream no longer provides support for the Minecraft APWorld.
- `pcp` has been removed because the upstream repo was archived and it hasn't been updated since 2021.
- `navidrome` 0.58.0 introduces [multi-library support](https://www.navidrome.org/docs/usage/multi-library/)
and backwards incompatible database migrations. Ensure backups are valid and run a Full Scan after
starting the new version.
@@ -154,6 +156,8 @@
- `inspircd` has been updated to the v4 release series. Please refer to the upstream documentation for [general information](https://docs.inspircd.org/4/overview/#v4-overview) and a list of [breaking changes](https://docs.inspircd.org/4/breaking-changes/).
- `proton-caller` has been removed due to lack of upstream maintenance.
- `lima` package now only includes the guest agent for the host's architecture by default. If your guest VM's architecture differs from your Lima host's, you'll need to enable the `lima-additional-guestagents` package by setting `withAdditionalGuestAgents = true` when overriding lima with this input.
- `mongodb-6_0` was removed as it is end of life as of 2025-07-31.
@@ -40,12 +40,18 @@ An example of how to build an image:
}
```
## Nix Store Partition {#sec-image-repart-store-partition}
## Nix Store Paths {#sec-image-repart-store-paths}
If you want to rewrite Nix store paths, e.g., to remove the `/nix/store` prefix
or to nest it below a parent path, you can do that through the
`nixStorePrefix` option.
### Nix Store Partition {#sec-image-repart-store-partition}
You can define a partition that only contains the Nix store and then mount it
under `/nix/store`. Because the `/nix/store` part of the paths is already
determined by the mount point, you have to set `stripNixStorePrefix = true;` so
that the prefix is stripped from the paths before copying them into the image.
determined by the mount point, you have to set `nixStorePrefix = "/"` so
that `/nix/store` is stripped from the paths before copying them into the image.
```nix
{
@@ -54,7 +60,7 @@ that the prefix is stripped from the paths before copying them into the image.
image.repart.partitions = {
"store" = {
storePaths = [ config.system.build.toplevel ];
stripNixStorePrefix = true;
nixStorePrefix = "/";
repartConfig = {
Type = "linux-generic";
Label = "nix-store";
@@ -65,6 +71,42 @@ that the prefix is stripped from the paths before copying them into the image.
}
```
### Nix Store Subvolume {#sec-image-repart-store-subvolume}
Alternatively, you can create a Btrfs subvolume `/@nix-store` containing the
Nix store and mount it on `/nix/store`:
```nix
{
fileSystems."/" = {
device = "/dev/disk/by-partlabel/root";
fsType = "btrfs";
options = [ "subvol=/@" ];
};
fileSystems."/nix/store" = {
device = "/dev/disk/by-partlabel/root";
fsType = "btrfs";
options = [ "subvol=/@nix-store" ];
};
image.repart.partitions = {
"root" = {
storePaths = [ config.system.build.toplevel ];
nixStorePrefix = "/@nix-store";
repartConfig = {
Type = "root";
Label = "root";
Format = "btrfs";
Subvolumes = "/@ /@nix-store";
MakeDirectories = "/@ /@nix-store";
# ...
};
};
};
}
```
## Appliance Image {#sec-image-repart-appliance}
The `image/repart.nix` module can also be used to build self-contained [software
+6
View File
@@ -326,9 +326,15 @@
"sec-image-repart": [
"index.html#sec-image-repart"
],
"sec-image-repart-store-paths": [
"index.html#sec-image-repart-store-paths"
],
"sec-image-repart-store-partition": [
"index.html#sec-image-repart-store-partition"
],
"sec-image-repart-store-subvolume": [
"index.html#sec-image-repart-store-subvolume"
],
"sec-image-repart-appliance": [
"index.html#sec-image-repart-appliance"
],
@@ -12,6 +12,8 @@
- The default PostgreSQL version for new NixOS installations (i.e. with `system.stateVersion >= 25.11`) is v17.
- Added `nixos-init`, a Rust-based bashless initialization system for systemd initrd. This allows to build NixOS systems without any interpreter. Enable via `system.nixos-init.enable = true;`.
- The NetworkManager module does not ship with a default set of VPN plugins anymore. All required VPN plugins must now be explicitly configured in [`networking.networkmanager.plugins`](#opt-networking.networkmanager.plugins).
- The Qt 5-based versions of KDE Gear, Plasma, Maui and Deepin have been removed. Users are advised to migrate to Plasma 6 and Gear 25.08, available under `kdePackages`.
@@ -36,11 +36,11 @@ def add_contents_to_definition(
def add_closure_to_definition(
definition: Path, closure: Path | None, strip_nix_store_prefix: bool | None
definition: Path, closure: Path | None, nix_store_prefix: str | None
) -> None:
"""Add CopyFiles= instructions to a definition for all paths in the closure.
If strip_nix_store_prefix is True, `/nix/store` is stripped from the target path.
Replace `/nix/store` with the value of nix_store_prefix.
"""
if not closure:
return
@@ -52,10 +52,12 @@ def add_closure_to_definition(
continue
source = Path(line.strip())
target = str(source.relative_to("/nix/store/"))
target = f":/{target}" if strip_nix_store_prefix else ""
option = f"CopyFiles={source}"
if nix_store_prefix:
target = nix_store_prefix / source.relative_to("/nix/store/")
option = f"{option}:{target}"
copy_files_lines.append(f"CopyFiles={source}{target}\n")
copy_files_lines.append(f"{option}\n")
with open(definition, "a") as f:
f.writelines(copy_files_lines)
@@ -102,8 +104,8 @@ def main() -> None:
add_contents_to_definition(definition, contents)
closure = config.get("closure")
strip_nix_store_prefix = config.get("stripNixStorePrefix")
add_closure_to_definition(definition, closure, strip_nix_store_prefix)
nix_store_prefix = config.get("nixStorePrefix")
add_closure_to_definition(definition, closure, nix_store_prefix)
print(target_dir.absolute())
+91 -74
View File
@@ -15,69 +15,83 @@ let
inherit (utils.systemdUtils.lib) GPTMaxLabelLength;
partitionOptions = {
options = {
storePaths = lib.mkOption {
type = with lib.types; listOf path;
default = [ ];
description = "The store paths to include in the partition.";
};
stripNixStorePrefix = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether to strip `/nix/store/` from the store paths. This is useful
when you want to build a partition that only contains store paths and
is mounted under `/nix/store`.
'';
};
contents = lib.mkOption {
type =
with lib.types;
attrsOf (submodule {
options = {
source = lib.mkOption {
type = types.path;
description = "Path of the source file.";
};
};
});
default = { };
example = lib.literalExpression ''
{
"/EFI/BOOT/BOOTX64.EFI".source =
"''${pkgs.systemd}/lib/systemd/boot/efi/systemd-bootx64.efi";
"/loader/entries/nixos.conf".source = systemdBootEntry;
}
'';
description = "The contents to end up in the filesystem image.";
};
repartConfig = lib.mkOption {
type =
with lib.types;
attrsOf (oneOf [
str
int
bool
(listOf str)
]);
example = {
Type = "home";
SizeMinBytes = "512M";
SizeMaxBytes = "2G";
partitionOptions =
{ config, ... }:
{
options = {
storePaths = lib.mkOption {
type = with lib.types; listOf path;
default = [ ];
description = "The store paths to include in the partition.";
};
description = ''
Specify the repart options for a partiton as a structural setting.
See {manpage}`repart.d(5)`
for all available options.
'';
# Superseded by `nixStorePrefix`. Unfortunately, `mkChangedOptionModule`
# does not support submodules.
stripNixStorePrefix = lib.mkOption {
default = "_mkMergedOptionModule";
visible = false;
};
nixStorePrefix = lib.mkOption {
type = lib.types.path;
default = "/nix/store";
description = ''
The prefix to use for store paths. Defaults to `/nix/store`. This is
useful when you want to build a partition that only contains store
paths and is mounted under `/nix/store` or if you want to create the
store paths below a parent path (e.g., `/@nix/nix/store`).
'';
};
contents = lib.mkOption {
type =
with lib.types;
attrsOf (submodule {
options = {
source = lib.mkOption {
type = types.path;
description = "Path of the source file.";
};
};
});
default = { };
example = lib.literalExpression ''
{
"/EFI/BOOT/BOOTX64.EFI".source =
"''${pkgs.systemd}/lib/systemd/boot/efi/systemd-bootx64.efi";
"/loader/entries/nixos.conf".source = systemdBootEntry;
}
'';
description = "The contents to end up in the filesystem image.";
};
repartConfig = lib.mkOption {
type =
with lib.types;
attrsOf (oneOf [
str
int
bool
(listOf str)
]);
example = {
Type = "home";
SizeMinBytes = "512M";
SizeMaxBytes = "2G";
};
description = ''
Specify the repart options for a partiton as a structural setting.
See {manpage}`repart.d(5)`
for all available options.
'';
};
};
config = lib.mkIf (config.stripNixStorePrefix == true) {
nixStorePrefix = "/";
};
};
};
mkfsOptionsToEnv =
opts:
@@ -350,7 +364,7 @@ in
}
) cfg.partitions;
warnings = lib.filter (v: v != null) (
warnings = lib.flatten (
lib.mapAttrsToList (
fileName: partitionConfig:
let
@@ -358,20 +372,23 @@ in
suggestedMaxLabelLength = GPTMaxLabelLength - 2;
labelLength = builtins.stringLength repartConfig.Label;
in
if (repartConfig ? Label && labelLength >= suggestedMaxLabelLength) then
''
The partition label '${repartConfig.Label}'
defined for '${fileName}' is ${toString labelLength} characters long.
The suggested maximum label length is ${toString suggestedMaxLabelLength}.
lib.optional (repartConfig ? Label && labelLength >= suggestedMaxLabelLength) ''
The partition label '${repartConfig.Label}'
defined for '${fileName}' is ${toString labelLength} characters long.
The suggested maximum label length is ${toString suggestedMaxLabelLength}.
If you use sytemd-sysupdate style A/B updates, this might
not leave enough space to increment the version number included in
the label in a future release. For example, if your label is
${toString GPTMaxLabelLength} characters long (the maximum enforced by UEFI) and
you're at version 9, you cannot increment this to 10.
''
else
null
If you use sytemd-sysupdate style A/B updates, this might
not leave enough space to increment the version number included in
the label in a future release. For example, if your label is
${toString GPTMaxLabelLength} characters long (the maximum enforced by UEFI) and
you're at version 9, you cannot increment this to 10.
''
++ lib.optional (partitionConfig.stripNixStorePrefix != "_mkMergedOptionModule") ''
The option definition `image.repart.paritions.${fileName}.stripNixStorePrefix`
has changed to `image.repart.paritions.${fileName}.nixStorePrefix` and now
accepts the path to use as prefix directly. Use `nixStorePrefix = "/"` to
achieve the same effect as setting `stripNixStorePrefix = true`.
''
) cfg.partitions
);
};
-1
View File
@@ -1237,7 +1237,6 @@
./services/networking/mmsd.nix
./services/networking/modemmanager.nix
./services/networking/monero.nix
./services/networking/morty.nix
./services/networking/mosquitto.nix
./services/networking/mozillavpn.nix
./services/networking/mptcpd.nix
+3
View File
@@ -211,6 +211,9 @@ in
"services"
"moinmoin"
] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "morty" ]
"services.morty has been removed from NixOS. As the morty package was unmaintained and removed and searxng, its main consumer, dropped support for it."
)
(mkRemovedOptionModule [ "services" "mwlib" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "pantheon" "files" ] ''
This module was removed, please add pkgs.pantheon.elementary-files to environment.systemPackages directly.
@@ -143,7 +143,7 @@ let
};
commonServiceConfig = {
AmbientCapablities = [ ];
AmbientCapabilities = [ ];
CapabilityBoundingSet = [ ];
LockPersonality = true;
MemoryDenyWriteExecute = true;
@@ -1,97 +0,0 @@
{
config,
lib,
pkgs,
...
}:
with lib;
let
cfg = config.services.morty;
in
{
###### interface
options = {
services.morty = {
enable = mkEnableOption "Morty proxy server. See <https://github.com/asciimoo/morty>";
ipv6 = mkOption {
type = types.bool;
default = true;
description = "Allow IPv6 HTTP requests?";
};
key = mkOption {
type = types.str;
default = "";
description = ''
HMAC url validation key (hexadecimal encoded).
Leave blank to disable. Without validation key, anyone can
submit proxy requests. Leave blank to disable.
Generate with `printf %s somevalue | openssl dgst -sha1 -hmac somekey`
'';
};
timeout = mkOption {
type = types.int;
default = 2;
description = "Request timeout in seconds.";
};
package = mkPackageOption pkgs "morty" { };
port = mkOption {
type = types.port;
default = 3000;
description = "Listing port";
};
listenAddress = mkOption {
type = types.str;
default = "127.0.0.1";
description = "The address on which the service listens";
};
};
};
###### Service definition
config = mkIf config.services.morty.enable {
users.users.morty = {
description = "Morty user";
createHome = true;
home = "/var/lib/morty";
isSystemUser = true;
group = "morty";
};
users.groups.morty = { };
systemd.services.morty = {
description = "Morty sanitizing proxy server.";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
User = "morty";
ExecStart = ''
${cfg.package}/bin/morty \
-listen ${cfg.listenAddress}:${toString cfg.port} \
${optionalString cfg.ipv6 "-ipv6"} \
${optionalString (cfg.key != "") "-key " + cfg.key} \
'';
};
};
environment.systemPackages = [ cfg.package ];
};
}
-1
View File
@@ -935,7 +935,6 @@ in
moosefs = runTest ./moosefs.nix;
mopidy = runTest ./mopidy.nix;
morph-browser = runTest ./morph-browser.nix;
morty = runTest ./morty.nix;
mosquitto = runTest ./mosquitto.nix;
movim = import ./web-apps/movim { inherit recurseIntoAttrs runTest; };
mpd = runTest ./mpd.nix;
-31
View File
@@ -1,31 +0,0 @@
{ pkgs, ... }:
{
name = "morty";
meta = with pkgs.lib.maintainers; {
maintainers = [ leenaars ];
};
nodes = {
mortyProxyWithKey =
{ ... }:
{
services.morty = {
enable = true;
key = "78a9cd0cfee20c672f78427efb2a2a96036027f0";
port = 3001;
};
};
};
testScript =
{ ... }:
''
mortyProxyWithKey.wait_for_unit("default.target")
mortyProxyWithKey.wait_for_open_port(3001)
mortyProxyWithKey.succeed("curl -fL 127.0.0.1:3001 | grep MortyProxy")
'';
}
@@ -13705,6 +13705,19 @@ final: prev: {
meta.hydraPlatforms = [ ];
};
sidekick-nvim = buildVimPlugin {
pname = "sidekick.nvim";
version = "2025-09-27";
src = fetchFromGitHub {
owner = "folke";
repo = "sidekick.nvim";
rev = "242b2bd216191c151d24f665cc8f596cb63288ea";
sha256 = "11qg13y57437pjwdsg0khj0wrwp86m779847isnb3a35kia7b2cc";
};
meta.homepage = "https://github.com/folke/sidekick.nvim/";
meta.hydraPlatforms = [ ];
};
sideways-vim = buildVimPlugin {
pname = "sideways.vim";
version = "2025-07-28";
@@ -73,6 +73,8 @@
gitMinimal,
# Preview-nvim dependencies
md-tui,
# sidekick-nvim dependencies
copilot-language-server,
# sved dependencies
glib,
gobject-introspection,
@@ -3123,6 +3125,16 @@ assertNoAdditions {
];
};
sidekick-nvim = super.sidekick-nvim.overrideAttrs {
runtimeDeps = [
copilot-language-server
];
nvimSkipModules = [
"sidekick.docs"
];
};
skim-vim = super.skim-vim.overrideAttrs {
dependencies = [ self.skim ];
};
@@ -1052,6 +1052,7 @@ https://github.com/jaxbot/semantic-highlight.vim/,,
https://github.com/numirias/semshi/,,
https://github.com/junegunn/seoul256.vim/,,
https://github.com/osyo-manga/shabadou.vim/,,
https://github.com/folke/sidekick.nvim/,HEAD,
https://github.com/AndrewRadev/sideways.vim/,,
https://github.com/skim-rs/skim.vim/,,
https://github.com/mopp/sky-color-clock.vim/,,
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension (finalAttrs: {
mktplcRef = {
name = "amazon-q-vscode";
publisher = "AmazonWebServices";
version = "1.94.0";
hash = "sha256-VLTEDDD0/nadlMKYeeUKdGh3p1JXQoGhUQ6aXGpT10U=";
version = "1.96.0";
hash = "sha256-VnPCVcV3UFZZWOTk52Z4hfAgzzqk7G6cMGiScEHb0Y8=";
};
meta = {
@@ -379,8 +379,8 @@ let
mktplcRef = {
name = "cue";
publisher = "asdine";
version = "0.3.2";
hash = "sha256-jMXqhgjRdM3UG/9NtiwWAg61mBW8OYVAKDWgb4hzhA4=";
version = "0.3.4";
hash = "sha256-X+CFRKAZmjzf5dkE/AGd3A/voX/XHfMP5WEt8sJll8U=";
};
meta = {
description = "Cue language support for Visual Studio Code";
@@ -673,8 +673,8 @@ let
mktplcRef = {
name = "markdown-mermaid";
publisher = "bierner";
version = "1.28.0";
hash = "sha256-NAQD6DK1c13nA/O0QHNxFraImE6C0+Jzj9+f06EkiW0=";
version = "1.29.0";
hash = "sha256-qjfZ2/otO2BAIbhjqicHI2H0KKdpji55K+2XfOrzUIw=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/bierner.markdown-mermaid/changelog";
@@ -1003,8 +1003,8 @@ let
mktplcRef = {
name = "coder-remote";
publisher = "coder";
version = "1.10.1";
hash = "sha256-TD2lWGZCKTj9qbwV9elue+jyoQLEOmPBuePpOXH8wEg=";
version = "1.11.0";
hash = "sha256-gyhvLFFGVUxOYr33SeWJIlVYQGEDUkuGyATylI+loUM=";
};
meta = {
description = "Extension for Visual Studio Code to open any Coder workspace in VS Code with a single click";
@@ -1137,8 +1137,8 @@ let
mktplcRef = {
publisher = "DanielGavin";
name = "ols";
version = "0.1.43";
hash = "sha256-b5jBEj4Kw5Nmm1L1RSNIZsqbpdo3EkOGaSH/7QK8y84=";
version = "0.1.44";
hash = "sha256-b8zf6p5N51VHSgyFWsFBmCd3GvRgBeFpikt8GfoG7J0=";
};
meta = {
description = "Visual Studio Code extension for Odin language";
@@ -1152,8 +1152,8 @@ let
mktplcRef = {
publisher = "DanielSanMedium";
name = "dscodegpt";
version = "3.14.110";
hash = "sha256-8qTKmtnDFCCYwZPE2E3fDNDPTTvHVMqbNL5BybN58X8=";
version = "3.14.118";
hash = "sha256-jAFlmF7HE0pfYx5jqnUjObM+awdc62DvayV9FdEx70E=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/DanielSanMedium.dscodegpt/changelog";
@@ -1743,8 +1743,8 @@ let
mktplcRef = {
name = "foam-vscode";
publisher = "foam";
version = "0.27.7";
hash = "sha256-1h/u0MBPtRYIStv3ZR1kbIaiRszavjWs5+oB1huwJBs=";
version = "0.28.1";
hash = "sha256-VO3rJsKKZJWGBrNYnRXh5QedN13RR7qdcYmDn5WmOkg=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/foam.foam-vscode/changelog";
@@ -1834,8 +1834,8 @@ let
mktplcRef = {
publisher = "funkyremi";
name = "vscode-google-translate";
version = "1.4.13";
hash = "sha256-9Vo6lwqD1eE3zY0Gi9ME/6lPwmwuJ3Iq9StHPvncnM4=";
version = "1.5.0";
hash = "sha256-t6USs2mZE3g802BRwP56eH/Wj/cyAcA+h/V+++NtHnA=";
};
meta = {
description = "Visual Studio Code extension using google translation to helping you quickly translate text right in your code rocket";
@@ -3002,8 +3002,8 @@ let
mktplcRef = {
name = "rainbow-csv";
publisher = "mechatroner";
version = "3.21.0";
hash = "sha256-IPgPE5vM9tzHPioRBZeJs4hqut6t++SjZJlHnz/ismA=";
version = "3.22.0";
hash = "sha256-7X7tqoN3VUa/63qfCioRdODxAanvtb2wTMQbcWsqupQ=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/mechatroner.rainbow-csv/changelog";
@@ -3765,8 +3765,8 @@ let
mktplcRef = {
name = "pico8-ls";
publisher = "PollywogGames";
version = "0.6.0";
hash = "sha256-qruXJjT2C45LFgFc1xV+h9b6kRZzeh/kS/BZNz6L+x8=";
version = "0.6.1";
hash = "sha256-TlULqIKb3R+bvjN3f4Bwha0bewqCHpPVFiePHNV2kmE=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/PollywogGames.pico8-ls/changelog";
@@ -3844,8 +3844,8 @@ let
mktplcRef = {
name = "ansible";
publisher = "redhat";
version = "25.8.1";
hash = "sha256-TXXOuayVohQPp+yQAHbsZDr/UYtyHmUkaLU+lADpjDU=";
version = "25.9.0";
hash = "sha256-Z0oUhqoHfVALG5k1dbSBpJiq0AEjaqeh8yLJ8FjvfcY=";
};
meta = {
description = "Ansible language support";
@@ -4075,8 +4075,8 @@ let
mktplcRef = {
name = "sas-lsp";
publisher = "SAS";
version = "1.16.0";
hash = "sha256-+nB+J5exzxso6LM41HDH6SEjAUtDPZXhdZLdydYvFBk=";
version = "1.17.0";
hash = "sha256-lhvSAPbvRmNwrAB0Lk4oKVu7+o3H7TJSQbBlURH2SCA=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/SAS.sas-lsp/changelog";
@@ -4767,8 +4767,8 @@ let
mktplcRef = {
name = "emacs-mcx";
publisher = "tuttieee";
version = "0.90.8";
hash = "sha256-0I4jf9Ba8PlNM0eUYHaMyCvuHZ5U3+RvT8aIbHJu9KU=";
version = "0.91.0";
hash = "sha256-nvcISWilvPXIm/er3QnM2aOhrWn2BgOL0aXpGHpDw9M=";
};
meta = {
changelog = "https://github.com/whitphx/vscode-emacs-mcx/blob/main/CHANGELOG.md";
@@ -5088,8 +5088,8 @@ let
mktplcRef = {
name = "vscode-java-pack";
publisher = "vscjava";
version = "0.29.2024091906";
hash = "sha256-A0WHSqqYVkRN1C3WI7Gd7DZJFDJPYDVsEygDCG67GoQ=";
version = "0.30.2";
hash = "sha256-uC3hf2OjncMqTRc9KTfrVvTwZOoPT0QXX7HCBTdblnQ=";
};
meta = {
description = "Popular extensions for Java development that provides Java IntelliSense, debugging, testing, Maven/Gradle support, project management and more";
@@ -5168,8 +5168,8 @@ let
mktplcRef = {
name = "volar";
publisher = "Vue";
version = "3.0.7";
hash = "sha256-Uwgb+7Zxy4HaE97WdNpTaaCQNARpuu8cae3uDCjZYcA=";
version = "3.0.8";
hash = "sha256-ZzNsoYfDVDIBEByZZcn1IAV7WijF/w6CEqZdS6qu/zk=";
};
meta = {
changelog = "https://github.com/vuejs/language-tools/blob/master/CHANGELOG.md";
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "github";
name = "copilot-chat";
version = "0.31.0";
hash = "sha256-jMy6mjPUxz3p1dvrveZ/9tyn+KZ6rBLJinZMBUUb9QY=";
version = "0.31.3";
hash = "sha256-Kvg5gmvAcz+K6mWBzWoNnkqEWAPRgC+w0idUC6RzM0g=";
};
meta = {
@@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-pylance";
publisher = "MS-python";
version = "2025.7.1";
hash = "sha256-0lPbu5amiqk/O0XIFxJpTBKQEbU8mamnjBGsaalTyh8=";
version = "2025.8.2";
hash = "sha256-Z2R7gUZw1S2iL3KX/3fB326lFzE39v9LGq17Ec2aHCA=";
};
buildInputs = [ pyright ];
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "windows-ai-studio";
publisher = "ms-windows-ai-studio";
version = "0.20.0";
hash = "sha256-oRbNML3+Ynnv7rQamv03TJphun3nAKVeDtVxRXTkoK0=";
version = "0.22.1";
hash = "sha256-eUtl1x3HqpFEUGkBVb8EOHneWV7DfYHHWGmM5gOGYcg=";
};
meta = {
@@ -243,13 +243,13 @@
"vendorHash": "sha256-OqbnkuEy9w6F1DxmlYhRNYhBaYhWV0FtMK4wdwSybh8="
},
"checkly": {
"hash": "sha256-hZn0kNk2CtgaCfwrrnbBhdAO54d5QoP40rmxSliqJN0=",
"hash": "sha256-nKD9qjIRudq/MK+c8eC+hv8oDiW+ycYVnDO8+DHg3W4=",
"homepage": "https://registry.terraform.io/providers/checkly/checkly",
"owner": "checkly",
"repo": "terraform-provider-checkly",
"rev": "v1.13.0",
"rev": "v1.14.0",
"spdx": null,
"vendorHash": "sha256-BPkpXDckVv/rtR1WCqKthmTCPzy+yAjgqUFYY3RT/+E="
"vendorHash": "sha256-Lz8ixBnWqecxBqS+XVrpkVg1X2Ew28axO+jmo+Zb8cE="
},
"ciscoasa": {
"hash": "sha256-xzc44FEy2MPo51Faq/VFwg411JK9e0kQucpt0vdN8yg=",
@@ -1165,13 +1165,13 @@
"vendorHash": null
},
"sakuracloud": {
"hash": "sha256-8fNQ1g+XAu0K0adZSCLwhuLNk4qxUbcDNVYXVhOwNk8=",
"hash": "sha256-hS4hXmi30yiIkWNqXKhuIE3UtzcWrfu4w6XR6B9Vebc=",
"homepage": "https://registry.terraform.io/providers/sacloud/sakuracloud",
"owner": "sacloud",
"repo": "terraform-provider-sakuracloud",
"rev": "v2.29.1",
"rev": "v2.30.0",
"spdx": "Apache-2.0",
"vendorHash": "sha256-Icua01a4ILF+oAO5nMeCGPZrWc3V/SVObWydO72CU3I="
"vendorHash": "sha256-at8i4gCFrJxE9fVIL5uI7iSFex0gLXu1SnlPKlZAmrY="
},
"scaleway": {
"hash": "sha256-FiC5FAag+ycf8Ti1iDXsJM5cb7xQUx8RLlv0gJ3+cNA=",
@@ -9,24 +9,24 @@ let
versions =
if stdenv.hostPlatform.isLinux then
{
stable = "0.0.110";
stable = "0.0.111";
ptb = "0.0.161";
canary = "0.0.761";
development = "0.0.85";
development = "0.0.89";
}
else
{
stable = "0.0.359";
ptb = "0.0.190";
canary = "0.0.858";
development = "0.0.97";
stable = "0.0.362";
ptb = "0.0.192";
canary = "0.0.867";
development = "0.0.100";
};
version = versions.${branch};
srcs = rec {
x86_64-linux = {
stable = fetchurl {
url = "https://stable.dl2.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
hash = "sha256-WwMEtpMlaR5psraDsvTNOb4nPwnGnVif4DgmdE9gCtc=";
hash = "sha256-o4U6i223Agtbt1N9v0GO/Ivx68OQcX/N3mHXUX2gruA=";
};
ptb = fetchurl {
url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
@@ -38,25 +38,25 @@ let
};
development = fetchurl {
url = "https://development.dl2.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
hash = "sha256-GW5LrPMr0uS5ko+FwKfU++4hhzqBQ6FDYBoM2fxDQcE=";
hash = "sha256-ZMsBR0LAISrM3dib8fehW/eZGkwSCinQF60jJG76O7M=";
};
};
x86_64-darwin = {
stable = fetchurl {
url = "https://stable.dl2.discordapp.net/apps/osx/${version}/Discord.dmg";
hash = "sha256-bxKzOPiljJaY78aiX2BklfMHXgwKrLuWEQVmrNk3TdE=";
hash = "sha256-DHe0WwJOB3mm1HbQwEOJ9NWqxzhOBQynhjJXYSNvA/k=";
};
ptb = fetchurl {
url = "https://ptb.dl2.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
hash = "sha256-2Y95SW9b6SeZdeTUmIedAQYJ/5WylL4soGAbUSdDyuQ=";
hash = "sha256-AZ9enKJf6WZLELFLKrzeyAR/Q/pzD8SGvCPcInS8vsk=";
};
canary = fetchurl {
url = "https://canary.dl2.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
hash = "sha256-/dVr7ZS6bRccLPz85xxoniZEbkK1qQ3lqedhGuaBIRk=";
hash = "sha256-67B2wZRZEOKutMPsrRlc96UZWShYLAgwOoF2/QzBgzE=";
};
development = fetchurl {
url = "https://development.dl2.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
hash = "sha256-BVTQPr3Oox/mTNE7LTJfYuKhI8PlkJlznKiOffqpECs=";
hash = "sha256-PknNHr9txxp3+nO7FgHH7n04qx6p6Jzbs92/Hcfh13Y=";
};
};
aarch64-darwin = x86_64-darwin;
@@ -0,0 +1,51 @@
{
lib,
addonDir,
buildKodiAddon,
fetchFromGitHub,
addonUpdateScript,
kodi-six,
six,
requests,
}:
buildKodiAddon rec {
pname = "plex";
namespace = "script.plex";
version = "0.7.9-rev4";
src = fetchFromGitHub {
owner = "pannal";
repo = "plex-for-kodi";
rev = "v${version}";
sha256 = "sha256-rNxTz3SKHHBm0WDCoZ/foJN2pBBiyI3a/tOdQdOCuXA=";
};
# Plex for Kodi writes to its own directory by default, needs to be patched to a non-store path.
# Once https://github.com/pannal/plex-for-kodi/pull/219 is merged, this can be replaced with a smaller patch that just sets the environment variable INSTALLATION_DIR_AVOID_WRITE, e.g. adding to main.py:
# import os; os.environ("INSTALLATION_DIR_AVOID_WRITE") = True
patches = [ ./plex-template-dir.patch ];
propagatedBuildInputs = [
six
requests
kodi-six
];
passthru = {
updateScript = addonUpdateScript {
attrPath = "kodi.packages.plex";
};
};
postInstall = ''
mv /build/source/addon.xml $out${addonDir}/${namespace}/
'';
meta = with lib; {
homepage = "https://www.plex.tv";
description = "Unofficial Plex for Kodi add-on";
license = licenses.gpl2Only;
maintainers = teams.kodi.members;
};
}
@@ -0,0 +1,79 @@
diff --git a/lib/_included_packages/plexnet/gdm.py b/lib/_included_packages/plexnet/gdm.py
index ccc540ae..3dce02a3 100644
--- a/lib/_included_packages/plexnet/gdm.py
+++ b/lib/_included_packages/plexnet/gdm.py
@@ -28,7 +28,7 @@ class GDMDiscovery(object):
from . import plexapp
return util.INTERFACE.getPreference("gdm_discovery", True) and self.thread and self.thread.is_alive()
- '''
+ r'''
def discover(self):
# Only allow discovery if enabled and not currently running
self._close = False
diff --git a/lib/templating/core.py b/lib/templating/core.py
index 30a53392..e0249e1d 100644
--- a/lib/templating/core.py
+++ b/lib/templating/core.py
@@ -7,6 +7,7 @@ from kodi_six import xbmcvfs, xbmc
from ibis.context import ContextDict
from lib.logging import log as LOG, log_error as ERROR
from .util import deep_update
+from ..util import PROFILE
from lib.os_utils import fast_iglob
from .filters import *
@@ -59,11 +60,22 @@ class TemplateEngine(object):
TEMPLATES = None
def init(self, target_dir, template_dir, custom_template_dir):
- self.target_dir = target_dir
+ # Redirect template write target_dir to writable addon_data
+ writable_base = os.path.join(PROFILE, "resources/skins/Main/1080i")
+ os.makedirs(writable_base, exist_ok=True)
+ # Link media dir into addon dir, so templates can access it via relative path
+ link_path = os.path.join(PROFILE, "resources/skins/Main/media")
+ if not os.path.exists(link_path):
+ os.symlink(
+ os.path.join(os.path.dirname(target_dir), "media"),
+ link_path,
+ True
+ )
+ self.target_dir = writable_base
self.template_dir = template_dir
self.custom_template_dir = custom_template_dir
self.get_available_templates()
- paths = [custom_template_dir, template_dir]
+ paths = [custom_template_dir, self.template_dir]
LOG("Looking for templates in: {}", paths)
self.prepare_loader(paths)
diff --git a/lib/windows/kodigui.py b/lib/windows/kodigui.py
index be7ef154..e8cc09b9 100644
--- a/lib/windows/kodigui.py
+++ b/lib/windows/kodigui.py
@@ -4,6 +4,7 @@ from __future__ import absolute_import
import threading
import time
import traceback
+import os
from kodi_six import xbmc
from kodi_six import xbmcgui
@@ -41,13 +42,14 @@ class BaseFunctions(object):
@classmethod
def open(cls, **kwargs):
- window = cls(cls.xmlFile, cls.path, cls.theme, cls.res, **kwargs)
+ window = cls(cls.xmlFile, util.PROFILE, cls.theme, cls.res, **kwargs)
window.modal()
return window
@classmethod
def create(cls, show=True, **kwargs):
- window = cls(cls.xmlFile, cls.path, cls.theme, cls.res, **kwargs)
+ window = cls(cls.xmlFile, util.PROFILE, cls.theme, cls.res, **kwargs)
+
if show:
window.show()
if xbmcgui.getCurrentWindowId() < 13000:
+2 -2
View File
@@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "armadillo";
version = "15.0.2";
version = "15.0.3";
src = fetchurl {
url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
hash = "sha256-mQq0zLfv8bbXBAnpqn+kEZh3rF9dELohnphGCrPk1us=";
hash = "sha256-n1XsEPCpH7ZHmrTtKzelJEWu6RdwaiONFwtSIMAi/kM=";
};
nativeBuildInputs = [ cmake ];
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "bazel-remote";
version = "2.6.0";
version = "2.6.1";
src = fetchFromGitHub {
owner = "buchgr";
repo = "bazel-remote";
rev = "v${version}";
hash = "sha256-TKfoQEUYsLDJL9sINoCOBeB7SgH5MyyuUIOAhRoZLfU=";
hash = "sha256-9vPaTm/HTJ3ftlFg+AkcwXX7xyhmGTgKL3PXhtUHRDk=";
};
vendorHash = "sha256-bM545QqUXg8io6SNK4dtT+UL/MTvQW7pi+Mb3rb7R48=";
vendorHash = "sha256-uh8ST1AQ8OsFMfXly23TMMcheNmhb1MknmPMjB76GIQ=";
subPackages = [ "." ];
+4 -4
View File
@@ -21,13 +21,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "pds";
version = "0.4.169";
version = "0.4.182";
src = fetchFromGitHub {
owner = "bluesky-social";
repo = "pds";
tag = "v${finalAttrs.version}";
hash = "sha256-CInfhE9PeAbScVtMvvEyA5f6q0WIChTHf49/vh+Kqwc=";
hash = "sha256-FNfM3kr0PTJp9mKYtzd6uH5mUfupqv0aA3sAPRq+pF4=";
};
sourceRoot = "${finalAttrs.src.name}/service";
@@ -51,8 +51,8 @@ stdenv.mkDerivation (finalAttrs: {
src
sourceRoot
;
fetcherVersion = 1;
hash = "sha256-bBGumJBpTWaSPpo4WUNvdF2PCOS6w60Xn6kgS12y6PU=";
fetcherVersion = 2;
hash = "sha256-pUCICsuuc3CeWGeJ6il0etLQkntPF9MKRiJsiNDfroo=";
};
buildPhase = ''
+5 -2
View File
@@ -8,6 +8,7 @@
testers,
installShellFiles,
stdenv,
writableTmpDirAsHomeHook,
}:
let
version = "2.10.2";
@@ -31,8 +32,6 @@ buildGo125Module {
vendorHash = "sha256-wjcmWKVmLBAybILUi8tKEDnFbhtybf042ODH7jEq6r8=";
subPackages = [ "cmd/caddy" ];
ldflags = [
"-s"
"-w"
@@ -48,6 +47,10 @@ buildGo125Module {
nativeBuildInputs = [ installShellFiles ];
nativeCheckInputs = [ writableTmpDirAsHomeHook ];
__darwinAllowLocalNetworking = true;
postInstall = ''
install -Dm644 ${dist}/init/caddy.service ${dist}/init/caddy-api.service -t $out/lib/systemd/system
+3 -3
View File
@@ -12,16 +12,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-release";
version = "0.25.18";
version = "0.25.19";
src = fetchFromGitHub {
owner = "crate-ci";
repo = "cargo-release";
tag = "v${version}";
hash = "sha256-1CHUkXjb8+wOFQWo/04KcLaJcv/dLiDYwPrSnzWucXI=";
hash = "sha256-CroarDNmLSMQJy4Hy7TcK8LYcqQ+xVFj8iG8HLTKS60=";
};
cargoHash = "sha256-ESaESon1oJAlvsv6+TIb/lLsOQmjgheQWm82Lr0mJOE=";
cargoHash = "sha256-4Y1wTgS5C4VadOWb9Uv5Jrblfjz6Caqv+XQUETalIH0=";
nativeBuildInputs = [
pkg-config
+3 -3
View File
@@ -6,18 +6,18 @@
rustPlatform.buildRustPackage rec {
pname = "carl";
version = "0.3.1";
version = "0.4.0";
src = fetchFromGitHub {
owner = "b1rger";
repo = "carl";
rev = "v${version}";
hash = "sha256-+l11eP+1qKrWbZhyUJgQ8FgQ+2rncx778F5RPzCfvV4=";
hash = "sha256-bUSQArlCfgJr/XJuuyMVNFOZzJlmpInaEGHHxRZsDW4=";
};
doCheck = false;
cargoHash = "sha256-kzHMjrLCiiMLMTSozKq5jMWq3rGb+xsXhZoOuod7qGE=";
cargoHash = "sha256-KueQLeqiHZfjyEdpURKXp6MigAcXdov8Z/KwKsiqv9Y=";
meta = {
description = "cal(1) with more features and written in rust";
@@ -0,0 +1,171 @@
{
lib,
stdenvNoCC,
requireFile,
makeWrapper,
copyDesktopItems,
makeDesktopItem,
unzip,
yq,
dotnet-runtime_8,
executableName ? "Celeste",
desktopItems ? null,
everest ? null,
overrideSrc ? null,
writableDir ? null,
launchFlags ? "",
launchEnv ? "",
# If we leave it to be the default (log.txt),
# Everest will try to delete log.txt when it starts,
# which doesn't work because the file system is read-only.
# https://github.com/EverestAPI/Everest/blob/050b4a1b4a7918b22d3d5140224f9c0472e1655a/Celeste.Mod.mm/Patches/Celeste.cs#L140-L155
everestLogFilename ? "everest-log.txt",
}:
# TODO: It appears that it is possible to package Celeste for aarch devices:
# https://github.com/pixelomer/Celeste-ARM64
# However, I don't have an aarch device to do that.
# The ARM support doesn't seem promising because the builder needs to fetch fmod libraries somehow, which requires an account.
# Though this whole process of registration and downloading can possibly be automated, this is probably against the TOS.
let
pname = "celeste-unwrapped";
version = "1.4.0.0";
downloadPage = "https://maddymakesgamesinc.itch.io/celeste";
description = "2D platformer game about climing a mountain";
phome = "$out/lib/Celeste";
launchFlags' =
if launchFlags != "" && everest == null then
lib.warn "launchFlags is useless without Everest." ""
else
launchFlags;
launchEnv' =
if launchEnv != "" && everest == null then
lib.warn "launchEnv is useless without Everest." ""
else
''
EVEREST_LOG_FILENAME=${everestLogFilename}
EVEREST_TMPDIR=${writableDir}
${launchEnv}
'';
in
stdenvNoCC.mkDerivation {
pname = "celeste-unwrapped";
version = version;
src =
if overrideSrc == null then
requireFile {
name = "celeste-linux.zip";
hash = "sha256-phNDBBHb7zwMRaBHT5D0hFEilkx9F31p6IllvLhHQb8=";
url = downloadPage;
}
else
overrideSrc;
dontUnpack = true;
nativeBuildInputs = [
unzip
yq
makeWrapper
copyDesktopItems
];
desktopItems =
if desktopItems != null then
desktopItems
else
[
(makeDesktopItem {
name = "Celeste";
desktopName = "Celeste";
genericName = "Celeste";
comment = description;
exec = "${executableName}";
icon = "Celeste";
categories = [ "Game" ];
})
];
postInstall = ''
mkdir -p ${phome}
unzip -q $src -d ${phome}
''
+ lib.optionalString (everest != null) ''
cp -r ${everest}/* $out
chmod -R +w ${phome} # Files copied from other derivations are not writable by default
# There will still be a runtime error saying chmod failed for the splash,
# but it doesn't matter because we make it executable here.
# https://github.com/EverestAPI/Everest/blob/050b4a1b4a7918b22d3d5140224f9c0472e1655a/Celeste.Mod.mm/Mod/Everest/EverestSplashHandler.cs#L73-L81
chmod +x ${phome}/EverestSplash/EverestSplash-linux
# Everest determines whether it is FNA or XNA by the existence of the file.
# Creating this now prevents it from creating it in the future
# when the file system is read-only.
# https://github.com/EverestAPI/Everest/blob/050b4a1b4a7918b22d3d5140224f9c0472e1655a/Celeste.Mod.mm/Patches/Celeste.cs#L41-L47
touch ${phome}/BuildIsFNA.txt
# Please Piton by having the runtime.
# Otherwise it will try to download it.
# https://github.com/Popax21/Piton/blob/21c7868d06007f0c5e7d9030a0109fe892df1bf3/apphost/src/runtime.rs#L82-L89
mkdir ${phome}/piton-runtime
ln -s ${dotnet-runtime_8}/share/dotnet/* -t ${phome}/piton-runtime
platform=linux-x86_64
echo -n "$platform $(yq -r .\"$platform\".version ${phome}/piton-runtime.yaml)" > ${phome}/piton-runtime/piton-runtime-id.txt
chmod +x ${phome}/MiniInstaller-linux
${phome}/MiniInstaller-linux
echo "${launchFlags'}" > ${phome}/everest-launch.txt
echo "${launchEnv'}" > ${phome}/everest-env.txt
''
+ (
if writableDir != null then
''
mv ${phome}/Celeste ${phome}/Celeste-unwrapped
ln -s ${writableDir}/Celeste ${phome}/Celeste
''
else
''
ln -s ${phome}/Celeste ${phome}/Celeste-unwrapped
''
)
+ ''
makeWrapper ${phome}/Celeste-unwrapped $out/bin/${executableName} ${
# If ${phome}/lib64-linux is not present in LD_LIBRARY_PATH, Everest will try to restart:
# https://github.com/EverestAPI/Everest/blob/7bd41c26850bbdfef937e2ed929174e864101c4c/Celeste.Mod.mm/Mod/Everest/BOOT.cs#L188-L201
# It is hardcoded that it launches Celeste instead of Celeste-unwrapped.
# Therefore, we need to prevent it from restarting.
lib.optionalString (everest != null) "--prefix LD_LIBRARY_PATH : ${phome}/lib64-linux"
} --chdir ${phome}
icon=$out/share/icons/hicolor/512x512/apps/Celeste.png
mkdir -p $(dirname $icon)
ln -s ${phome}/Celeste.png $icon
'';
dontPatchELF = true;
dontStrip = true;
dontPatchShebangs = true;
postFixup =
lib.optionalString (everest != null) ''
rm -r ${phome}/Mods # Currently it is empty.
ln -s "${writableDir}"/{Mods,LogHistory,CrashLogs,${everestLogFilename}} -t ${phome}
''
+ lib.optionalString (writableDir != null) ''
ln -s "${writableDir}/log.txt" -t ${phome}
'';
meta = {
inherit downloadPage description;
homepage = "https://www.celestegame.com";
license = with lib.licenses; [ unfree ];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
maintainers = with lib.maintainers; [ ulysseszhan ];
platforms = [
"x86_64-linux"
"i686-linux"
];
};
}
@@ -0,0 +1,47 @@
{
lib,
stdenvNoCC,
fetchzip,
icu,
autoPatchelfHook,
}:
let
pname = "everest";
version = "5806";
phome = "$out/lib/Celeste";
in
stdenvNoCC.mkDerivation {
inherit pname version;
src = fetchzip {
url = "https://github.com/EverestAPI/Everest/releases/download/stable-1.5806.0/main.zip";
extension = "zip";
hash = "sha256-Hw/BNvWfhdO7bvYrY/Px12BRG1SYcCBeAXBH4QnKyeY=";
};
buildInputs = [
icu
];
nativeBuildInputs = [
autoPatchelfHook
];
postInstall = ''
mkdir -p ${phome}
cp -r * ${phome}
'';
dontAutoPatchelf = true;
dontPatchELF = true;
dontStrip = true;
dontPatchShebangs = true;
postFixup = ''
autoPatchelf ${phome}/MiniInstaller-linux
'';
meta = {
description = "Celeste mod loader";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ ulysseszhan ];
homepage = "https://everestapi.github.io";
platforms = [ "x86_64-linux" ];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
}
@@ -0,0 +1,107 @@
{
lib,
fetchurl,
fetchFromGitHub,
buildDotnetModule,
dotnetCorePackages,
autoPatchelfHook,
mono,
git,
icu,
}:
let
pname = "everest";
version = "5806";
phome = "$out/lib/Celeste";
in
buildDotnetModule {
inherit pname version;
src = fetchFromGitHub {
owner = "EverestAPI";
repo = "Everest";
rev = "e47f67fc8c4b0b60b0a75112c5c90704ed371040";
fetchSubmodules = true;
leaveDotGit = true; # MonoMod.SourceGen.Internal needs .git
hash = "sha256-uxb9LwCDGJIc+JN2EqNqHdLLwULnG7Bd/Az3H1zKf3E=";
};
nativeBuildInputs = [
git
autoPatchelfHook
];
buildInputs = [
icu # For autoPatchelf
mono # See upstream README
];
postPatch = ''
# MonoMod.ILHelpers.Patcher complains at build phase: You must install .NET to run this application.
sed -i 's|<Exec Command="&quot;|<Exec Command="DOTNET_ROOT=${dotnetCorePackages.runtime_8_0}/share/dotnet \&quot;|' external/MonoMod/tools/Common.IL.targets
# Moving files after publishing somehow doesn't work. Will do this manually in postInstall.
sed -i 's|<Move.*/>||' Celeste.Mod.mm/Celeste.Mod.mm.csproj
autoPatchelf lib-ext/piton/piton-linux_x64
'';
dotnet-sdk = dotnetCorePackages.sdk_9_0;
preConfigure = ''
# Microsoft.SourceLink.GitHub complains: Unable to determine repository url, the source code won't be available via source link.
cd external/MonoMod
git -c safe.directory='*' remote add origin https://github.com/MonoMod/MonoMod.git
cd ../..
'';
nugetDeps = ./deps.json;
# Needed for ILAsm projects: https://github.com/NixOS/nixpkgs/issues/370754#issuecomment-2571475814
linkNugetPackages = true;
# Microsoft.NET.Sdk complains: The process cannot access the file xxx because it is being used by another process.
enableParallelBuilding = false;
preBuild = ''
# See .azure-pipelines/prebuild.ps1
sed -i 's|0\.0\.0-dev|1.${version}.0-nixos-'$(git rev-parse --short=5 HEAD)'|' Celeste.Mod.mm/Mod/Everest/Everest.cs
cat Celeste.Mod.mm/Mod/Everest/Everest.cs
cat <<-EOF > Celeste.Mod.mm/Mod/Helpers/EverestVersion.cs
namespace Celeste.Mod.Helpers {
internal static class EverestBuild${version} {
public static string EverestBuild = "EverestBuild${version}";
}
}
EOF
'';
installPath = builtins.replaceStrings [ "$out" ] [ (placeholder "out") ] phome;
postInstall = ''
mkdir tmp-EverestSplash
mv ${phome}/EverestSplash* tmp-EverestSplash
mv tmp-EverestSplash ${phome}/EverestSplash
cp ${phome}/piton-runtime.yaml ${phome}/EverestSplash
'';
executables = [ ];
dontPatchELF = true;
dontStrip = true;
dontPatchShebangs = true;
dontAutoPatchelf = true;
meta = {
description = "Celeste mod loader";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ ulysseszhan ];
homepage = "https://everestapi.github.io";
platforms = [ "x86_64-linux" ];
sourceProvenance = with lib.sourceTypes; [
binaryNativeCode
fromSource
];
};
}
File diff suppressed because it is too large Load Diff
+222
View File
@@ -0,0 +1,222 @@
{
lib,
callPackage,
buildFHSEnv,
fetchzip,
makeDesktopItem,
writeShellScript,
autoPatchelfHook,
runtimeShell,
overrideSrc ? null,
# A package. Omit to build without Everest.
everest ? null,
# If build with Everest, must set writableDir to the path of a writable dir
# so that the mods can be installed there.
# It must be an absolute path.
# Example: "/home/kat/.local/share/Everest"
writableDir ? null,
# Optionally set paths of symlinks to the installation dir of Celeste.
# You can use this in Olympus so that you don't have to change installation dir path
# every time the nix store path changes.
# The links are updated every time the command `Celeste` is run.
gameDir ? [ ],
# This will be appended to everest-launch.txt.
launchFlags ? "",
# This will be appended to everest-env.txt.
launchEnv ? "",
}:
# For those who would like to use steam-run or alike to launch Celeste
# (useful when using the `olympus` package with its `celesteWrapper` argument overridden),
# install `celestegame.passthru.celeste-unwrapped` instead of `celestegame`, and if you want Everest,
# override `everest` to `celestegame.passthru.everest-bin` instead of `celestegame.passthru.everest`
# (steam-run cannot launch the latter for some currently unclear reason).
# For those who would like to launch Celeste without the need of any additional wrapper like steam-run,
# install `celestegame` with the `writableDir` argument overridden.
let
pname = "celeste";
phome = "$out/${celesteHomeRelative}";
executableName = "Celeste";
writableDir' =
if writableDir == null && everest != null then
lib.warn "writableDir is not set, so mods will not work." "/tmp"
else
writableDir;
gameDir' = lib.toList gameDir;
everestLogFilename = "everest-log.txt";
celeste = callPackage ./celeste {
inherit
executableName
everest
overrideSrc
launchFlags
launchEnv
everestLogFilename
;
desktopItems = [ desktopItem ];
writableDir = writableDir';
};
celesteHomeRelative = "lib/Celeste";
celesteHome = "${celeste}/${celesteHomeRelative}";
desktopItem = makeDesktopItem {
name = "Celeste";
desktopName = "Celeste";
genericName = "Celeste";
comment = celeste.meta.description;
exec = executableName;
icon = "Celeste";
categories = [ "Game" ];
};
in
buildFHSEnv {
inherit pname executableName;
version = celeste.version + (lib.optionalString (everest != null) "+everest.${everest.version}");
multiPkgs =
pkgs:
with pkgs;
[
glib
glibc_multi
kdePackages.wayland
libxkbcommon
libgcc
mesa
libdrm
expat
alsa-lib
at-spi2-atk
libGL
pcre2
libffi
zlib
util-linux.lib
libselinux
nspr
systemd
gtk3
pango
harfbuzz
fontconfig
fribidi
cairo
libepoxy
tinysparql
libthai
libpng
freetype
pixman
libcap
graphite2
bzip2
brotli
libjpeg
json-glib
libxml2
sqlite
libdatrie
ffmpeg
nss
dbus.lib
acl
attr
gmp
readline
libpulseaudio
pipewire
vulkan-loader
]
++ (with xorg; [
libX11
libXcomposite
libXdamage
libXfixes
libXext
libxcb
libXcursor
libXinerama
libXi
libXrandr
libXScrnSaver
libXxf86vm
libXau
libXdmcp
]);
targetPkgs = pkgs: [ celeste ];
extraInstallCommands = ''
icon=$out/share/icons/hicolor/512x512/apps/Celeste.png
mkdir -p $(dirname $icon)
ln -s ${celesteHome}/Celeste.png $icon
cp -r ${desktopItem}/* $out
'';
extraPreBwrapCmds = ''
export NIX_CELESTE_LAUNCHER=$(realpath --no-symlinks $0)
'';
runScript = writeShellScript executableName (
lib.optionalString (writableDir' != null) ''
mkdir -p "${writableDir'}"
touch "${writableDir'}/log.txt"
# This script is symlinked to gameDir/Celeste, which gets launched by Olympus
# (if the user set up Olympus to use gameDir as the location of Celeste).
# Writing the script like this makes Olympus able to launch Celeste wihout any wrapper without any problems.
echo "#! ${runtimeShell}
exec $NIX_CELESTE_LAUNCHER"' "$@"' > "${writableDir'}/Celeste"
chmod +x "${writableDir'}/Celeste"
''
+ lib.optionalString (everest != null) ''
mkdir -p "${writableDir'}"/{LogHistory,Mods,CrashLogs}
touch "${writableDir'}/${everestLogFilename}"
# Needed to prevent restarting; see comments in postInstall of ./celeste/default.nix.
export LD_LIBRARY_PATH="${celesteHome}/lib64-linux:$LD_LIBRARY_PATH"
''
+ lib.optionalString (gameDir' != [ ]) (
lib.concatMapStrings (link: ''
mkdir -p "$(dirname "${link}")"
if [ -L "${link}" ]; then
if [ ${celesteHome} != "$(readlink "${link}")" ]; then
rm "${link}"
ln -s ${celesteHome} "${link}"
fi
else
rm -r "${link}"
ln -s ${celesteHome} "${link}"
fi
'') gameDir'
)
+ ''
cd /${celesteHomeRelative}
exec ./Celeste-unwrapped "$@"
''
);
passthru.celeste-unwrapped = celeste;
passthru.everest = callPackage ./everest { };
passthru.everest-bin = callPackage ./everest-bin { };
passthru.updateScript = ./update.sh;
meta = {
inherit (celeste.meta)
homepage
downloadPage
description
license
sourceProvenance
platforms
;
maintainers = with lib.maintainers; [ ulysseszhan ];
};
}
+23
View File
@@ -0,0 +1,23 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
set -eu -o pipefail
branch=stable # set to one of dev, beta, stable
case $branch in
dev) branches='"dev", "beta", "stable"' ;;
beta) branches='"beta", "stable"' ;;
stable) branches='"stable"' ;;
esac
endpoint=$(curl -s https://everestapi.github.io/everestupdater.txt)
endpoint="$endpoint$([[ "$endpoint" == *"?"* ]] && echo '&' || echo '?')supportsNativeBuilds=true"
latest=$(curl -s "$endpoint" | jq -r "map(select(.branch | IN($branches))) | max_by(.date)")
commit=$(echo "$latest" | jq -r .commit)
version=$(echo "$latest" | jq -r .version)
url=$(echo "$latest" | jq -r .mainDownload)
update-source-version celestegame.passthru.everest $version --rev=$commit
"$(nix-build --attr celestegame.passthru.everest.fetch-deps --no-out-link)"
update-source-version celestegame.passthru.everest-bin $version "" $url
+2 -2
View File
@@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cimg";
version = "3.6.0";
version = "3.6.2";
src = fetchFromGitHub {
owner = "GreycLab";
repo = "CImg";
tag = "v.${finalAttrs.version}";
hash = "sha256-j4WYdLQvNZAMb+16zO4M24CNKJFTITN9VXa1jFKduOk=";
hash = "sha256-HlSM1QhkBuB7JGdCeVoi3HVAGa3drxictbtPayrDNUo=";
};
outputs = [
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "clickhouse-backup";
version = "2.6.35";
version = "2.6.39";
src = fetchFromGitHub {
owner = "Altinity";
repo = "clickhouse-backup";
rev = "v${version}";
hash = "sha256-GQH9yV1CdOmdboxH16sIBvj+7dDMLt4q2C2xSFjvbi8=";
hash = "sha256-fx300EyGm9iy4kozcffh8KZz/EYF6yqkdNLSqW1dYQg=";
};
vendorHash = "sha256-je1iVJW+yHMcIm8Y0vd5Ti/JGp1yvmA1lLMvvw81qag=";
vendorHash = "sha256-MwyjjEePxcwcESfBhmFtYy8aOI50HL7x05cJyGk5gGg=";
ldflags = [
"-X main.version=${version}"
+9 -9
View File
@@ -16,20 +16,20 @@ let
sources = {
x86_64-linux = fetchurl {
url = "https://downloads.cursor.com/production/2f2737de9aa376933d975ae30290447c910fdf46/linux/x64/Cursor-1.5.11-x86_64.AppImage";
hash = "sha256-PlZPgcDe6KmEcQYDk1R4uXh1R34mKuPLBh/wbOAYrAY=";
url = "https://downloads.cursor.com/production/3ccce8f55d8cca49f6d28b491a844c699b8719a3/linux/x64/Cursor-1.6.45-x86_64.AppImage";
hash = "sha256-MlrevU26gD6hpZbqbdKQwnzJbm5y9SVSb3d0BGnHtpc=";
};
aarch64-linux = fetchurl {
url = "https://downloads.cursor.com/production/2f2737de9aa376933d975ae30290447c910fdf46/linux/arm64/Cursor-1.5.11-aarch64.AppImage";
hash = "sha256-a1M9KumU8wLN5t6hrqMfkcbfPyt9maqCsAW8xTS+0BY=";
url = "https://downloads.cursor.com/production/3ccce8f55d8cca49f6d28b491a844c699b8719a3/linux/arm64/Cursor-1.6.45-aarch64.AppImage";
hash = "sha256-eFHYRwVXhWB3zCnJFYodIxjR2ewP8ETgwyjBdB86oTk=";
};
x86_64-darwin = fetchurl {
url = "https://downloads.cursor.com/production/2f2737de9aa376933d975ae30290447c910fdf46/darwin/x64/Cursor-darwin-x64.dmg";
hash = "sha256-HotafPJPDywp9UAnQUsQurfxtfPepZWAegAmwNp9J2Q=";
url = "https://downloads.cursor.com/production/3ccce8f55d8cca49f6d28b491a844c699b8719a3/darwin/x64/Cursor-darwin-x64.dmg";
hash = "sha256-UGmMX9Wr69i2EqQSLkj9/ROs8HpLtc/x0IYDJdzvD6U=";
};
aarch64-darwin = fetchurl {
url = "https://downloads.cursor.com/production/2f2737de9aa376933d975ae30290447c910fdf46/darwin/arm64/Cursor-darwin-arm64.dmg";
hash = "sha256-LZxahFX3e7YQtUPcjxKYsOrjZSuPKyPKyIrJxC5XYLw=";
url = "https://downloads.cursor.com/production/3ccce8f55d8cca49f6d28b491a844c699b8719a3/darwin/arm64/Cursor-darwin-arm64.dmg";
hash = "sha256-lcuJiAgHXPEUZHNeanBq10znXKFKJ6yrluuZjdaQbyA=";
};
};
@@ -39,7 +39,7 @@ in
inherit useVSCodeRipgrep;
commandLineArgs = finalCommandLineArgs;
version = "1.5.11";
version = "1.6.45";
pname = "cursor";
# You can find the current VSCode version in the About dialog:
+2 -2
View File
@@ -7,13 +7,13 @@
buildGoModule rec {
pname = "dapr-cli";
version = "1.16.0";
version = "1.16.1";
src = fetchFromGitHub {
owner = "dapr";
repo = "cli";
rev = "v${version}";
hash = "sha256-LX2X9L+aEIFr1lYV7lAlVZM/nQMmdLY9f8XBMm31be0=";
hash = "sha256-Z8Fuisx2hK6QAJ5NDh0f11t/hoHhbD2+/mZMsUFxPaQ=";
};
vendorHash = "sha256-qEbuu4+pQ6g3m1FtisYc26lG/4zY/boQM8d6qA5c1eo=";
+3 -3
View File
@@ -7,16 +7,16 @@
php.buildComposerProject2 (finalAttrs: {
pname = "davis";
version = "5.1.3";
version = "5.2.0";
src = fetchFromGitHub {
owner = "tchapi";
repo = "davis";
tag = "v${finalAttrs.version}";
hash = "sha256-2gM6G1ZqHOUNmFjo3icHdV7xX/kbi0MO98GDzsBTGGo=";
hash = "sha256-Ih06CKwgR2ljw3w9YfgVUdBCjt5Nbs34fMsErRUkfcc=";
};
vendorHash = "sha256-RNvFviWu1ZNPWguzL9MbOsWctKfPeJGWZJ8Y2HDEXkI=";
vendorHash = "sha256-e0qSI5naqM/mUSMduiku0yQkYMGw1y9Uwa5oYlxaDzs=";
composerNoPlugins = false;
+2 -2
View File
@@ -8,13 +8,13 @@
buildGoModule rec {
pname = "devspace";
version = "6.3.17";
version = "6.3.18";
src = fetchFromGitHub {
owner = "devspace-sh";
repo = "devspace";
rev = "v${version}";
hash = "sha256-b0eRiPt4g8JEoQPdl3qXsEXuYIy+VvVBU8/cPIqW/20=";
hash = "sha256-33uhg2OY0owgP1rzdxcZzpN0cuYPRfX8vcwCJF9MVoo=";
};
vendorHash = null;
+4 -4
View File
@@ -11,16 +11,16 @@
buildGoModule (finalAttrs: {
pname = "discordo";
version = "0-unstable-2025-08-06";
version = "0-unstable-2025-09-27";
src = fetchFromGitHub {
owner = "ayn2op";
repo = "discordo";
rev = "cdd97ff900a099ca520e5a720c547780dd6de162";
hash = "sha256-dJwinbkSVXxcNV9zXZaNnyZi1XorfNBITuYb9D987Vk=";
rev = "5cecfddae7a092a1cbb91a8bdec1ce27d013467f";
hash = "sha256-jbZJAUrwgbwcc1vugrTzW1P74Ll3OWh+5MQCdwnAVrw=";
};
vendorHash = "sha256-6JpLXLoozkPWl7z0KGFIgr78bMR4DegvyEWODBKuWpE=";
vendorHash = "sha256-RASyQEesppDckC/bE1vbKiVqZ4f72RI8IAbSTGGgzmo=";
env.CGO_ENABLED = 0;
+3 -11
View File
@@ -12,24 +12,16 @@
rustPlatform.buildRustPackage rec {
pname = "easytier";
version = "2.4.4";
version = "2.4.5";
src = fetchFromGitHub {
owner = "EasyTier";
repo = "EasyTier";
tag = "v${version}";
hash = "sha256-89uRsLeSNR2I+QX0k1VJ0sMrUYLbApEJClk3aFr0faY=";
hash = "sha256-vGQHrpImPMF44LXVnKRpj47Nr534wTlVZJiBDm4GkGs=";
};
# remove if rust 1.89 merged
postPatch = ''
substituteInPlace easytier/Cargo.toml \
--replace-fail 'rust-version = "1.89.0"' ""
substituteInPlace easytier-rpc-build/Cargo.toml \
--replace-fail 'rust-version = "1.89.0"' ""
'';
cargoHash = "sha256-rioo3Eg5xGg4PI4beXWheeymVNq+zZP9uhbfU584u0g=";
cargoHash = "sha256-B9GkvSXyZXTBsnV7wbipjdZ0EkVrL/aw8Ff7uUvfKPo=";
nativeBuildInputs = [
protobuf
+2 -2
View File
@@ -24,13 +24,13 @@
buildGoModule rec {
pname = "ecapture";
version = "1.4.1";
version = "1.4.2";
src = fetchFromGitHub {
owner = "gojue";
repo = "ecapture";
tag = "v${version}";
hash = "sha256-vVDr0KKfjFg282FLt23foYWoW5XSFdEgGfXgdiWrfk4=";
hash = "sha256-1FyZMUII+bPQDmNK1eJkfeoTjdhe/jj2qiooWuNFsNg=";
fetchSubmodules = true;
};
+22 -49
View File
@@ -1,79 +1,52 @@
{
lib,
fetchFromGitHub,
fetchFromGitLab,
python3,
}:
let
py = python3.override {
self = py;
packageOverrides = self: super: {
cmd2 = super.cmd2.overridePythonAttrs (oldAttrs: rec {
version = "1.5.0";
src = oldAttrs.src.override {
inherit version;
hash = "sha256-cBqMmXXEq8ReXROQarFJ+Vn4EoaRBjRzI6P4msDoKmI=";
};
dependencies = oldAttrs.dependencies ++ [
python3.pkgs.attrs
python3.pkgs.colorama
];
doCheck = false;
});
paho-mqtt = super.paho-mqtt.overridePythonAttrs (oldAttrs: rec {
version = "1.6.1";
src = fetchFromGitHub {
inherit (oldAttrs.src) owner repo;
tag = "v${version}";
hash = "sha256-9nH6xROVpmI+iTKXfwv2Ar1PAmWbEunI3HO0pZyK6Rg=";
};
build-system = with self; [ setuptools ];
doCheck = false;
});
};
};
in
with py.pkgs;
with python3.pkgs;
buildPythonApplication rec {
pname = "expliot";
version = "0.9.8";
version = "0.11.1";
pyproject = true;
src = fetchFromGitLab {
owner = "expliot_framework";
repo = "expliot";
tag = version;
hash = "sha256-7Cuj3YKKwDxP2KKueJR9ZO5Bduv+lw0Y87Rw4b0jbGY=";
hash = "sha256-aFJVT5vE9YKirZEINKFzYWDffoVgluoUyvMmOifLq1M=";
};
pythonRelaxDeps = [
"pymodbus"
"pynetdicom"
"cryptography"
"python-can"
"pyparsing"
"zeroconf"
build-system = [
poetry-core
];
build-system = [ setuptools ];
pythonRelaxDeps = [
"cryptography"
"paho-mqtt"
"pynetdicom"
"setuptools"
"xmltodict"
"zeroconf"
];
dependencies = [
aiocoap
awsiotpythonsdk
bluepy
python-can
cmd2
cryptography
distro
jsonschema
paho-mqtt
pyi2cflash
pymodbus
pynetdicom
pyparsing
pyserial
pyspiflash
python-can
python-magic
pyudev
setuptools
upnpy
xmltodict
zeroconf
@@ -84,7 +57,7 @@ buildPythonApplication rec {
pythonImportsCheck = [ "expliot" ];
meta = with lib; {
meta = {
description = "IoT security testing and exploitation framework";
longDescription = ''
EXPLIoT is a Framework for security testing and exploiting IoT
@@ -95,8 +68,8 @@ buildPythonApplication rec {
purpose of the framework i.e. IoT exploitation.
'';
homepage = "https://expliot.readthedocs.io/";
license = licenses.agpl3Plus;
maintainers = with maintainers; [ fab ];
license = lib.licenses.agpl3Plus;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "expliot";
};
}
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "newt";
version = "1.5.0";
version = "1.5.1";
src = fetchFromGitHub {
owner = "fosrl";
repo = "newt";
tag = version;
hash = "sha256-uIlBAqe93MqMSN0Nghlfa1cLbMlcg3iMCzIu0U16h5o=";
hash = "sha256-CtE4Ug1659Xu90CRMIxXeqfVaw9kOK4WpsW/u3S0ztA=";
};
vendorHash = "sha256-FeDNv1mLTvXYUDOHzyPP7uA+fOt/j0VT7CM6IyoMuTQ=";
vendorHash = "sha256-VR5YOprMP3wvwb0lnW9KyUWGs/4Zm5GKBe4vnkN32cY=";
postPatch = ''
substituteInPlace main.go \
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "olm";
version = "1.1.1";
version = "1.1.2";
src = fetchFromGitHub {
owner = "fosrl";
repo = "olm";
tag = version;
hash = "sha256-yGknbxoBMaI6GwIf8hVfWmgFAgI4kxYrNq/puy4aG2M=";
hash = "sha256-9QqVfq7tYOtPsKMgH0YAhpiwMHh+yJT4npF0f9yl5wU=";
};
vendorHash = "sha256-DqZU64jwg2AHmze1oWOmDgltB+k1mLSHQyAxnovLaVo=";
vendorHash = "sha256-4j7l1vvorcdbHE4XXOUH2MaOSIwS70l8w7ZBmp3a/XQ=";
ldflags = [
"-s"
+3 -3
View File
@@ -29,16 +29,16 @@ in
buildNpmPackage (finalAttrs: {
pname = "pangolin";
version = "1.10.2";
version = "1.10.3";
src = fetchFromGitHub {
owner = "fosrl";
repo = "pangolin";
tag = finalAttrs.version;
hash = "sha256-fXswhcnspyayyvvl1HEuQylKHzdgwucm1ClokJMeqys=";
hash = "sha256-o55S9Fr1gnyuXFAVgugrnFyJIv7nKMZ3Lc4+m/aVrII=";
};
npmDepsHash = "sha256-ivG/7KTmWPjnXzO+ISc+2bsNqW/0VPhFbg1229A64cw=";
npmDepsHash = "sha256-0vqH3nAB4HqfwS7Oy/qewzLyx48vS+rKiAwwbTkSOOc=";
nativeBuildInputs = [
esbuild
+3 -3
View File
@@ -16,13 +16,13 @@
stdenv.mkDerivation {
pname = "gf";
version = "0-unstable-2025-04-11";
version = "0-unstable-2025-09-21";
src = fetchFromGitHub {
repo = "gf";
owner = "nakst";
rev = "162249220bde1c9fef7d87f8bb9128be9323d93f";
hash = "sha256-wP8ELlqtMwYv6/jQzKahaX7vlMKLUBgxm5Io49tphsM=";
rev = "5fc7f422c8344277601860646c6ff6e72c8e7041";
hash = "sha256-YdeF4pBKLn3r3xM7ppX30D196RmO/P8WDj0Zsh7Vdmc=";
};
nativeBuildInputs = [
@@ -7,13 +7,13 @@
buildGoModule rec {
pname = "git-credential-oauth";
version = "0.15.1";
version = "0.16.0";
src = fetchFromGitHub {
owner = "hickford";
repo = "git-credential-oauth";
rev = "v${version}";
hash = "sha256-9AoIyQ05Y/usG0Tlehn7U8zjBxC1BYNjNVRtgWgzLbo=";
hash = "sha256-T10QGMp6keneUzdz7p/4huySIJFp4AmX253pZ3hYSYY=";
};
nativeBuildInputs = [ installShellFiles ];
+3 -3
View File
@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec {
pname = "gitu";
version = "0.36.0";
version = "0.37.0";
src = fetchFromGitHub {
owner = "altsem";
repo = "gitu";
rev = "v${version}";
hash = "sha256-4kBxVPiK3HoPvh8wR7xMUt0Zy5u4LRK6KfQCdk3q7fk=";
hash = "sha256-BAfOenO/LrMfOPI+DStKdPp14t4+1AP8Z8/uoqU6Wfw=";
};
cargoHash = "sha256-r0ccEi81Znjhod87Ax5yBlKXEVT44kN4wr3HzMqyezo=";
cargoHash = "sha256-yqmXXkviRbY9YS+JjAx5iXLu6cvMWotcf/PsrpfER5k=";
nativeBuildInputs = [
pkg-config
-87
View File
@@ -1,87 +0,0 @@
{
lib,
stdenv,
fetchurl,
fetchpatch,
barcode,
gnome,
gnome-common,
autoreconfHook,
gtk3,
gtk-doc,
libxml2,
librsvg,
libtool,
libe-book,
gsettings-desktop-schemas,
intltool,
itstool,
makeWrapper,
pkg-config,
yelp-tools,
qrencode,
}:
stdenv.mkDerivation rec {
pname = "glabels";
version = "3.4.1";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0f2rki8i27pkd9r0gz03cdl1g4vnmvp0j49nhxqn275vi8lmgr0q";
};
patches = [
# Pull patch pending upstream inclusion for -fno-common toolchain support:
# https://github.com/jimevins/glabels/pull/76
(fetchpatch {
name = "fno-common.patch";
url = "https://github.com/jimevins/glabels/commit/f64e3f34e3631330fff2fb48ab271ff9c6160229.patch";
sha256 = "13q6g4bxzvzwjnvzkvijds2b6yvc4xqbdwgqnwmj65ln6ngxz8sa";
})
];
nativeBuildInputs = [
autoreconfHook
pkg-config
makeWrapper
intltool
];
buildInputs = [
barcode
gtk3
gtk-doc
yelp-tools
gnome-common
gsettings-desktop-schemas
itstool
libxml2
librsvg
libe-book
libtool
qrencode
];
preFixup = ''
wrapProgram "$out/bin/glabels-3" \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
'';
passthru = {
updateScript = gnome.updateScript {
packageName = pname;
versionPolicy = "none";
};
};
meta = with lib; {
description = "Create labels and business cards";
homepage = "https://github.com/jimevins/glabels";
license = with licenses; [
gpl3Plus
lgpl3Plus
];
platforms = platforms.unix;
maintainers = [ maintainers.nico202 ];
};
}
+2 -2
View File
@@ -31,7 +31,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gmic";
version = "3.5.5";
version = "3.6.2";
outputs = [
"out"
@@ -44,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "GreycLab";
repo = "gmic";
rev = "v.${finalAttrs.version}";
hash = "sha256-OPA0diWAtB8MCaw2DOyh89DVi7lQmyCsQ2gqfK7dGW8=";
hash = "sha256-KiX7yHwuy2AWLqqmiHz9YhbvRBEusE9TuXKtaA9YsME=";
};
# TODO: build this from source
+2 -2
View File
@@ -19,14 +19,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-commander";
version = "1.18.3";
version = "1.18.4";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = "gnome-commander";
tag = finalAttrs.version;
hash = "sha256-rSaj1Fg2seZKlzlERZZmz80kxJT1vZ+INiJlWfZ9m6g=";
hash = "sha256-4l+hw9zPYhkaOpXMEnn4vXF1q0JLE0CB4oRGr2iXqtw=";
};
# hard-coded schema paths
+3 -3
View File
@@ -7,13 +7,13 @@
lib,
}:
let
version = "0.11.3";
version = "0.11.4";
src = fetchFromGitHub {
repo = "gose";
owner = "stv0g";
tag = "v${version}";
hash = "sha256-dcx1uLLLFepqGTIJQNf3I1GzbXwrVPt7Jb8TW3AGnhU=";
hash = "sha256-T6PD6MI1IOAgtPOJuPSZp4te9BokKfj+TZHLRqt2FCo=";
};
frontend = buildNpmPackage {
@@ -37,7 +37,7 @@ buildGoModule {
inherit version;
inherit src;
vendorHash = "sha256-cvZLR5c8WqarhnXBFAyxUUQtqX2fhveonUtsrFjFmq0=";
vendorHash = "sha256-PTu4OzVjGVExuNDsK01p3/gAwNhDZbPewhI476m5i/M=";
env.CGO_ENABLED = 0;
+2 -2
View File
@@ -11,12 +11,12 @@
stdenv.mkDerivation rec {
pname = "grpc_cli";
version = "1.75.0";
version = "1.75.1";
src = fetchFromGitHub {
owner = "grpc";
repo = "grpc";
rev = "v${version}";
hash = "sha256-2SeL/O6FaAnrPXMHAPKCSzx3hlcKLuC5y+ljJ1gewkE=";
hash = "sha256-SnKK52VLO4MM/ftfmzRV/LeLfOucdIyHMyWk6EKRfvM=";
fetchSubmodules = true;
};
nativeBuildInputs = [
+3 -3
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "hexpatch";
version = "1.12.3";
version = "1.12.4";
src = fetchFromGitHub {
owner = "Etto48";
repo = "HexPatch";
tag = "v${version}";
hash = "sha256-Q9OrI48CbC7fVbngKYtQq9IKa6HbdAcT3JcJlmNvH+I=";
hash = "sha256-ThHRf3zLNpOiIpB7drLqMBdyRl6MqW45oFpz44uBwsY=";
};
cargoHash = "sha256-LGWIzbzP4+uY+4QL1tdNMLHtvrVGpFtbmVUbmdn8oAI=";
cargoHash = "sha256-kMLLtrXjduQ2nyiNtiZOhlEfADhn1IKysF29WO6R8CE=";
nativeBuildInputs = [
cmake
+1 -1
View File
@@ -62,7 +62,7 @@ stdenv.mkDerivation {
meta = with lib; {
description = "Command-line oriented TCP/IP packet assembler/analyzer";
homepage = "http://www.hping.org/";
homepage = "https://github.com/antirez/hping";
license = licenses.gpl2Only;
platforms = platforms.unix;
};
+2 -2
View File
@@ -11,13 +11,13 @@
buildGoModule (finalAttrs: {
pname = "hugo";
version = "0.150.0";
version = "0.150.1";
src = fetchFromGitHub {
owner = "gohugoio";
repo = "hugo";
tag = "v${finalAttrs.version}";
hash = "sha256-TWBwF/GPNPLNSEBmG0wVvqY+mgQpZk2MiQoLxB+dBuU=";
hash = "sha256-FNAGdau+czPy+4jtugs+ZHtHrMCsXoZZgJIG4a4r0bs=";
};
vendorHash = "sha256-/jbShK+wEybD8hh5+1+Qd+NJkmp3w+BYf2UsTPEgwhw=";
@@ -8,17 +8,17 @@
}:
buildNpmPackage rec {
pname = "immich-public-proxy";
version = "1.13.0";
version = "1.13.2";
src = fetchFromGitHub {
owner = "alangrainger";
repo = "immich-public-proxy";
tag = "v${version}";
hash = "sha256-wcJogDi93tuFbVdwI5YZEyVQGzO4QC/ASDsRquVq31s=";
hash = "sha256-AoRqlTEwcS+RhN59/opqlYAftihmN20mW6Vn6RbLzSw=";
};
sourceRoot = "${src.name}/app";
npmDepsHash = "sha256-GtX2mRfw4eo3WKfxdMoOAryQKHddFPcVCuXhHmLA/Oc=";
npmDepsHash = "sha256-ZH1D0Q5SCoOwr8CLe2HLMy4xJoO3VLha4MfE9fBmhec=";
# patch in absolute nix store paths so the process doesn't need to cwd in $out
postPatch = ''
+8 -5
View File
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
owner = "openwall";
repo = "john";
rev = "f9fedd238b0b1d69181c1fef033b85c787e96e57";
hash = "sha256-zvoN+8Sx6qpVg2JeRLOIH1ehfl3tFTv7r5wQZ44Qsbc=";
hash = "sha256-XMT5Sbp2XrAnfTHxXyJdw0kA/ZtfOiYrX/flCFLHJ6s=";
};
patches = lib.optionals withOpenCL [
@@ -130,15 +130,18 @@ stdenv.mkDerivation {
done
'';
meta = with lib; {
meta = {
description = "John the Ripper password cracker";
license = [ licenses.gpl2Plus ] ++ lib.optionals enableUnfree [ licenses.unfreeRedistributable ];
license = [
lib.licenses.gpl2Plus
]
++ lib.optionals enableUnfree [ lib.licenses.unfreeRedistributable ];
homepage = "https://github.com/openwall/john/";
maintainers = with maintainers; [
maintainers = with lib.maintainers; [
offline
matthewbauer
cherrykitten
];
platforms = platforms.unix;
platforms = lib.platforms.unix;
};
}
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "jqp";
version = "0.7.0";
version = "0.8.0";
src = fetchFromGitHub {
owner = "noahgorstein";
repo = "jqp";
rev = "v${version}";
sha256 = "sha256-i22qALVa8EUaTwgN6DocGJArNyOvkQbFuH++EQKBuIc=";
sha256 = "sha256-pCWvmX6VvcKlPoMkVGfVkPTOx+sE+v2ey39/jOhgtsg=";
};
vendorHash = "sha256-GbY0x4BgV0+QdVMkITLF/W//oO72FbjV6lNJRm6ecys=";
vendorHash = "sha256-FBAf+np/8Zy+p1mPyP1O8md2sAkkeiFu60UYtkszG8g=";
subPackages = [ "." ];
-29
View File
@@ -1,29 +0,0 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "kcli";
version = "1.8.3";
src = fetchFromGitHub {
owner = "cswank";
repo = "kcli";
rev = version;
sha256 = "0whijr2r2j5bvfy8jgmpxsa0zvwk5kfjlpnkw4za5k35q7bjffls";
};
vendorHash = null;
subPackages = [ "." ];
meta = with lib; {
description = "Kafka command line browser";
homepage = "https://github.com/cswank/kcli";
license = licenses.mit;
maintainers = with maintainers; [ cswank ];
broken = true; # vendor isn't reproducible with go > 1.17: nix-build -A $name.goModules --check
};
}
+3 -3
View File
@@ -9,16 +9,16 @@
buildGoModule rec {
pname = "kubecolor";
version = "0.5.1";
version = "0.5.2";
src = fetchFromGitHub {
owner = "kubecolor";
repo = "kubecolor";
rev = "v${version}";
sha256 = "sha256-FyHTceFpB3Osj8SUw+IRk+JWnoREVZgl8YHczDyY+Ak=";
sha256 = "sha256-T0xqcDDmp/XjDxUnh/wCfs+b4cQG78d/61rdypCEDoY=";
};
vendorHash = "sha256-eF0NcymLmRsFetkI67ZVUfOcIYtht0iYFcPIy2CWr+M=";
vendorHash = "sha256-QenYTQTNXaBvzpyVHOCx3lEheiWZMfulEfzB+ll+q+4=";
ldflags = [
"-s"
+3 -3
View File
@@ -10,15 +10,15 @@
buildGoModule rec {
pname = "kubernetes-kcp";
version = "0.28.1";
version = "0.28.3";
src = fetchFromGitHub {
owner = "kcp-dev";
repo = "kcp";
tag = "v${version}";
hash = "sha256-GwfrFaGLrfUTxLoacGCHHzJ41+tA7flb4wvjWJntj+g=";
hash = "sha256-gZMheiMvAUAV3YqWNA1WmOWpV5hEU7GtQzz57F4rX38=";
};
vendorHash = "sha256-mJaWEZhuMiIy8NYlRJDc39nKfWxP4xlFuM9jiqmkJ0c=";
vendorHash = "sha256-w7mC3CJv/UKQe6jOqwzSZSYIu0K/Z4aNUnAcSg6MwG0=";
subPackages = [ "cmd/kcp" ];
+2 -2
View File
@@ -9,11 +9,11 @@
stdenv.mkDerivation rec {
pname = "libcerf";
version = "3.1";
version = "3.2";
src = fetchurl {
url = "https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v${version}/libcerf-v${version}.tar.gz";
sha256 = "sha256-TAfiqOK00OTUjbng/JGRtDoOEg5XfVXYfibe6HRcb6s=";
sha256 = "sha256-6o0RDXPsJKZDBCyjlARhzLsbZUHiExDstwq05NwUSu8=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -13,7 +13,7 @@
stdenv.mkDerivation rec {
pname = "libfabric";
version = "2.2.0";
version = "2.3.0";
enableParallelBuilding = true;
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
owner = "ofiwg";
repo = "libfabric";
rev = "v${version}";
sha256 = "sha256-BY3a7CxtMJl5/+7t4BzJRTbMnDs1oL3UhDOPRB+D3+U=";
sha256 = "sha256-pxSv6mg51It4+P1nAgXdWizTGpI31rn5+n3f4vD6ooY=";
};
outputs = [
+1 -1
View File
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${src}/frontend/yarn.lock";
hash = "sha256-712mc/xksjXgnc0inthxE+ztSDl/4107oXw3vKcZD2g=";
hash = "sha256-e+3LCoOzfjSG4CjzOLXTcXGkmzNwFTLCrN0l5odOBMs=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -11,12 +11,12 @@
}:
let
version = "3.1.2";
version = "3.2.1";
src = fetchFromGitHub {
owner = "mealie-recipes";
repo = "mealie";
tag = "v${version}";
hash = "sha256-8ZLXXA4NKR7GaCdgk8XDMjAssQsKP1wZpEZPYWpglwk=";
hash = "sha256-LIWubw+iO17giSvGCl5LzI429725sisp5u4Z4usJOGA=";
};
frontend = callPackage (import ./mealie-frontend.nix src version) { };
+3 -3
View File
@@ -6,17 +6,17 @@
rustPlatform.buildRustPackage rec {
pname = "mitra";
version = "4.10.0";
version = "4.10.1";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "silverpill";
repo = "mitra";
rev = "v${version}";
hash = "sha256-r3sV066IzJ/dQomt/HPxWPcUYXohoOhP4g3Jn/5HXyg=";
hash = "sha256-JGiPCvfWsluWeJk14cbAVUJO69OKXG/+93FrGMRlCxU=";
};
cargoHash = "sha256-zGyWj1SgaoCT4OvMrhMgOD49glBBYQKLGoeanhl8W9U=";
cargoHash = "sha256-DmQo/DDD5b1bpBiB5JfpIDD9cQ+ColorY4kTW1Xh9lo=";
# require running database
doCheck = false;
+2 -2
View File
@@ -17,13 +17,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "mkcal";
version = "0.7.27";
version = "0.7.28";
src = fetchFromGitHub {
owner = "sailfishos";
repo = "mkcal";
tag = finalAttrs.version;
hash = "sha256-7QgkGULCqlsao91WmqHjVYJDN0b1JFEmPMRs2SvFv3k=";
hash = "sha256-tL42f8egP/anB4jOaAjmIh7C2pQyR3fgTDJ1E9t8EWk=";
};
outputs = [
+2 -2
View File
@@ -16,12 +16,12 @@
stdenv.mkDerivation rec {
pname = "morgen";
version = "3.6.17";
version = "3.6.18";
src = fetchurl {
name = "morgen-${version}.deb";
url = "https://dl.todesktop.com/210203cqcj00tw1/versions/${version}/linux/deb";
hash = "sha256-k1JaAYE63bLMwTBH+TmhHa8KBY5YL12GhXrRS0WiilA=";
hash = "sha256-OvV+GNKQBzUpHEOfaBV6SGRxA/gvRWFkP5D7CihY7pU=";
};
nativeBuildInputs = [
-39
View File
@@ -1,39 +0,0 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nixosTests,
}:
buildGoModule {
pname = "morty";
version = "unstable-2021-04-22";
src = fetchFromGitHub {
owner = "asciimoo";
repo = "morty";
rev = "f5bff1e285d3f973cacf73318e55175edafd633f";
sha256 = "sha256-ik2VAPdxllt76UVFt77c1ltxIwFNahAKjn3FuErNFYo=";
};
vendorHash = "sha256-3sllcoTDYQBAyAT7e9KeKNrlTEbgnoZc0Vt0ksQByvo=";
passthru.tests = { inherit (nixosTests) morty; };
meta = with lib; {
description = "Privacy aware web content sanitizer proxy as a service";
mainProgram = "morty";
longDescription = ''
Morty rewrites web pages to exclude malicious HTML tags and attributes.
It also replaces external resource references to prevent third party information leaks.
The main goal of morty is to provide a result proxy for searx, but it can be used as a standalone sanitizer service too.
'';
homepage = "https://github.com/asciimoo/morty";
maintainers = with maintainers; [
leenaars
SuperSandro2000
];
license = licenses.agpl3Only;
};
}
+2 -2
View File
@@ -14,13 +14,13 @@
stdenv.mkDerivation rec {
pname = "mpd-notification";
version = "0.9.1";
version = "0.9.2";
src = fetchFromGitHub {
owner = "eworm-de";
repo = "mpd-notification";
rev = version;
hash = "sha256-8iBG1IdbERB2gOALvVBNJ3/hhiou3D/azSRkRD+u9O8=";
hash = "sha256-2rnZkVKrk8jgZz/EcZGQ34tLZrVttjq3tq8k2xSl00A=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -24,13 +24,13 @@
stdenv.mkDerivation rec {
pname = "mydumper";
version = "0.19.3-3";
version = "0.20.1-2";
src = fetchFromGitHub {
owner = "mydumper";
repo = "mydumper";
tag = "v${version}";
hash = "sha256-CrjI6jwktBxKn7hgL8+pCikbtCFUK6z90Do9fWmLZlQ=";
hash = "sha256-ypFXxmKnG1yiJjvHGmYJJz5ZjhhGHCRklG7y83jypms=";
# as of mydumper v0.16.5-1, mydumper extracted its docs into a submodule
fetchSubmodules = true;
};
+4 -3
View File
@@ -6,13 +6,13 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "nerdfetch";
version = "8.4.0";
version = "8.4.2";
src = fetchFromGitHub {
owner = "ThatOneCalculator";
repo = "NerdFetch";
rev = "v${finalAttrs.version}";
hash = "sha256-KMu/cMjRFEyfRxoKDGn4PfubGCrotVsKQ9wwc1wQaVM=";
tag = "v${finalAttrs.version}";
hash = "sha256-G1BWggVPxpIKK82pKHD4Jxyis4CY156Jox2/xHRQfrI=";
};
dontUnpack = true;
@@ -30,6 +30,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
meta = with lib; {
description = "POSIX *nix (Linux, macOS, Android, *BSD, etc) fetch script using Nerdfonts";
homepage = "https://github.com/ThatOneCalculator/NerdFetch";
changelog = "https://github.com/ThatOneCalculator/NerdFetch/releases/tag/${finalAttrs.version}";
maintainers = with maintainers; [ ByteSudoer ];
license = licenses.mit;
mainProgram = "nerdfetch";
+3 -3
View File
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
# Determine version and revision from:
# https://sourceforge.net/p/netpbm/code/HEAD/log/?path=/advanced
pname = "netpbm";
version = "11.11.1";
version = "11.12.0";
outputs = [
"bin"
@@ -31,8 +31,8 @@ stdenv.mkDerivation rec {
src = fetchsvn {
url = "https://svn.code.sf.net/p/netpbm/code/advanced";
rev = "5104";
sha256 = "sha256-zgA3EZPrXD8JOO9O2nuLt4ouPbbUJAlFKlX+2QOz8Uw=";
rev = "5121";
sha256 = "sha256-u5/chGsu+imk6GtptDz/EIyCe3CmoWiQ6CAcLASqpqU=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -117,13 +117,13 @@ in
goBuild (finalAttrs: {
pname = "ollama";
# don't forget to invalidate all hashes each update
version = "0.12.2";
version = "0.12.3";
src = fetchFromGitHub {
owner = "ollama";
repo = "ollama";
tag = "v${finalAttrs.version}";
hash = "sha256-D3b3ddW6s9NqV8mJZboQ/z8IkId8h7a4eTh/MkjPNqg=";
hash = "sha256-ooDGwTklGJ/wzDlAY3uJiqpZUxT1cCsqVNJKU8BAPbQ=";
};
vendorHash = "sha256-SlaDsu001TUW+t9WRp7LqxUSQSGDF1Lqu9M1bgILoX4=";
+2 -2
View File
@@ -11,13 +11,13 @@
# https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn
stdenv.mkDerivation (finalAttrs: {
pname = "oneDNN";
version = "3.9";
version = "3.9.1";
src = fetchFromGitHub {
owner = "oneapi-src";
repo = "oneDNN";
rev = "v${finalAttrs.version}";
hash = "sha256-YSHHdXZaSHb1vVRI8MTW2BFoSSUEzIpb/AhhuAQYJls=";
hash = "sha256-DbLW22LgG8wrBNMsxoUGlacHLcfIBwqyiv+HOmFDtxc=";
};
outputs = [
@@ -27,13 +27,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "opentelemetry-cpp";
version = "1.22.0";
version = "1.23.0";
src = fetchFromGitHub {
owner = "open-telemetry";
repo = "opentelemetry-cpp";
rev = "v${finalAttrs.version}";
hash = "sha256-vprHCexKtXvbiHz7JfuTbVFyLy0VL1s4e/hNyaN3nY0=";
hash = "sha256-4SmKB2368I/2WTKYCqsZAAdkJygA15zCT+I7/RF8Knk=";
};
patches = [
@@ -10,12 +10,12 @@
buildPackages,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "parallel";
version = "20250822";
src = fetchurl {
url = "mirror://gnu/parallel/parallel-${version}.tar.bz2";
url = "mirror://gnu/parallel/parallel-${finalAttrs.version}.tar.bz2";
hash = "sha256-AZ0yhyKGfP/pGMRJNkMIwN8EhFbGkpm5FFGj5vrJFno=";
};
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
doCheck = true;
meta = with lib; {
meta = {
description = "Shell tool for executing jobs in parallel";
longDescription = ''
GNU Parallel is a shell tool for executing jobs in parallel. A job
@@ -78,12 +78,12 @@ stdenv.mkDerivation rec {
programs.
'';
homepage = "https://www.gnu.org/software/parallel/";
license = licenses.gpl3Plus;
platforms = platforms.all;
maintainers = with maintainers; [
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [
pSub
tomberek
];
mainProgram = "parallel";
};
}
})
-28
View File
@@ -1,28 +0,0 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "pcp";
version = "0.4.0";
src = fetchFromGitHub {
owner = "dennis-tra";
repo = "pcp";
rev = "v${version}";
sha256 = "sha256-aZO8VuOiYhOPctFKZ6a2psJB0lKHlPc+NLy2RWDU4JI=";
};
vendorHash = "sha256-3bkzBQ950Phg4A9p+IjeUx7Xw7eVmUbeYnQViNjghFk=";
meta = with lib; {
description = "Command line peer-to-peer data transfer tool based on libp2p";
homepage = "https://github.com/dennis-tra/pcp";
license = licenses.asl20;
maintainers = with maintainers; [ matthewcroughan ];
platforms = platforms.linux;
mainProgram = "pcp";
};
}
+2 -2
View File
@@ -33,11 +33,11 @@
}:
stdenv.mkDerivation rec {
pname = "plasticity";
version = "25.2.8";
version = "25.2.9";
src = fetchurl {
url = "https://github.com/nkallen/plasticity/releases/download/v${version}/Plasticity-${version}-1.x86_64.rpm";
hash = "sha256-jJzERpVCAQtTxuC2J7F9SHq9NuyihLzQjLzIcSfXziE=";
hash = "sha256-Ey1APUOGw2zAVdn5C96bIwe5+PHXzMtXVI5f1xHISFU=";
};
passthru.updateScript = ./update.sh;
+4 -4
View File
@@ -11,18 +11,18 @@
buildGo125Module (finalAttrs: {
pname = "pocket-id";
version = "1.10.0";
version = "1.11.2";
src = fetchFromGitHub {
owner = "pocket-id";
repo = "pocket-id";
tag = "v${finalAttrs.version}";
hash = "sha256-YAQT7ORRg27ORh57NTE8F89iNfw+3gd1xPM8f4zHKm4=";
hash = "sha256-thKPYbHx9w75hUgWkLS5fX4R3QLLqFtAJqcvfTxAFiY=";
};
sourceRoot = "${finalAttrs.src.name}/backend";
vendorHash = "sha256-eNUhk76YLHtXCFaxiavM6d8CMeE+YQ+vOecDUCiTh5k=";
vendorHash = "sha256-+HF1zAWA6Ak7uJqWCcTXrttTy1sPA8bN+/No95eqFTU=";
env.CGO_ENABLED = 0;
ldflags = [
@@ -49,7 +49,7 @@ buildGo125Module (finalAttrs: {
pnpmDeps = pnpm_10.fetchDeps {
inherit (finalAttrs) pname version src;
fetcherVersion = 1;
hash = "sha256-Gjj2iFQ15Tso0gXihFH96nW49GJleOU323shBE7VgJ4=";
hash = "sha256-IVrp5qWYMgud9ryLidrUowWWBHZ2lMrJp0cfPPHpXls=";
};
env.BUILD_OUTPUT_PATH = "dist";
-28
View File
@@ -1,28 +0,0 @@
{
lib,
fetchFromGitHub,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "proton-caller";
version = "3.1.2";
src = fetchFromGitHub {
owner = "caverym";
repo = "proton-caller";
rev = version;
sha256 = "sha256-srzahBMihkEP9/+7oRij5POHkCcH6QBh4kGz42Pz0nM=";
};
cargoHash = "sha256-AZp6Mbm9Fg+EVr31oJe6/Z8LIwapYhos8JpZzPMiwz0=";
meta = {
description = "Run Windows programs with Proton";
changelog = "https://github.com/caverym/proton-caller/releases/tag/${version}";
homepage = "https://github.com/caverym/proton-caller";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ];
mainProgram = "proton-call";
};
}
+2 -2
View File
@@ -15,13 +15,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rdkafka";
version = "2.11.0";
version = "2.11.1";
src = fetchFromGitHub {
owner = "confluentinc";
repo = "librdkafka";
tag = "v${finalAttrs.version}";
sha256 = "sha256-37lCQ+CFeTRQwL6FCl79RSGw+nRKr0DeuXob9CjiVnk=";
sha256 = "sha256-Hg0l44wFQSk8x14V4CxJN80aGrhaj3CIFOYBfNUbG3E=";
};
outputs = [
+2 -2
View File
@@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "readsb";
version = "3.16.2";
version = "3.16.3";
src = fetchFromGitHub {
owner = "wiedehopf";
repo = "readsb";
tag = "v${finalAttrs.version}";
hash = "sha256-SjfVnWE5q3uaisRdR4ynVKC9U2mS9LmfLXbA2ecil7M=";
hash = "sha256-IjARj2qC1/kwoVvc5SXkJmoDN2m1fjPWj7jVgHG8cWI=";
};
strictDeps = true;
+2 -2
View File
@@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "rime-wanxiang";
version = "12.4.1";
version = "12.6.13";
src = fetchFromGitHub {
owner = "amzxyz";
repo = "rime_wanxiang";
tag = "v" + finalAttrs.version;
hash = "sha256-Z4rHSWN784+djARztQK7b24pLk42kUwCm9mct3ojPM4=";
hash = "sha256-wOCfJG/k30fyO7jxRpjQBTN6Xc/gusuwerjYykDl2JQ=";
};
installPhase = ''
+3 -3
View File
@@ -10,15 +10,15 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "sftool";
version = "0.1.13";
version = "0.1.14";
src = fetchFromGitHub {
owner = "OpenSiFli";
repo = "sftool";
tag = finalAttrs.version;
hash = "sha256-/5RVBWHrZpPK2R4khnvZAnFyMfSZStCnQO5g7Ao9Ck4=";
hash = "sha256-xheGgtE9hZVNa4ceqQCrfiYJwlIuXm00J//0VeZ/afE=";
};
cargoHash = "sha256-fteBYld3JzsTn/KMy5w/6Ts7x1PsYmi8zhBvgYVw5os=";
cargoHash = "sha256-pimr4OL709EWIoLk/Wq+QAiveLyR/V70nPuzYfZSH/o=";
nativeBuildInputs = [
pkg-config
+2 -2
View File
@@ -12,12 +12,12 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "signal-cli";
version = "0.13.19";
version = "0.13.20";
# Building from source would be preferred, but is much more involved.
src = fetchurl {
url = "https://github.com/AsamK/signal-cli/releases/download/v${finalAttrs.version}/signal-cli-${finalAttrs.version}.tar.gz";
hash = "sha256-+vO/6bn5416HdqM9x2tJQ6v4KP9hcxX1G31icBOcB58=";
hash = "sha256-MFgR2c+XhzgxO6jv7e30rTf7bRVa5gxnzVOLnemXYY8=";
};
buildInputs = lib.optionals stdenvNoCC.hostPlatform.isLinux [
@@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "signalbackup-tools";
version = "20250916";
version = "20250925";
src = fetchFromGitHub {
owner = "bepaald";
repo = "signalbackup-tools";
tag = version;
hash = "sha256-iUX1d/bWR6JKn1CESCnp0QoEnTYA+yEXRWhB4WUowSs=";
hash = "sha256-xukBIxndZPkg54u5MIJgLzQcJFwy2iwaLQRLB6EML2M=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -15,13 +15,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "sioyek";
version = "2.0.0-unstable-2025-09-09";
version = "2.0.0-unstable-2025-09-23";
src = fetchFromGitHub {
owner = "ahrm";
repo = "sioyek";
rev = "b19e390fcfc5cd468a4af3abf94b046bdadfa348";
hash = "sha256-IM62oDUe09UnokitxHvIL3kUUXBOekIG+eKuYKu2dsg=";
rev = "c835e6be266168807fd82fb13129c4728c9a0cab";
hash = "sha256-IB9lVQnFVDkluCpuzrZJ/9xZjF8Q/FIM3NpVi+ZQ2e0=";
};
buildInputs = [
+3 -3
View File
@@ -14,16 +14,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "spider";
version = "2.37.136";
version = "2.37.159";
src = fetchFromGitHub {
owner = "spider-rs";
repo = "spider";
tag = "v${finalAttrs.version}";
hash = "sha256-QWOqxIQfRGpxgw/R2yPDdHNDXG8RQb+JV/1gEtWJNVo=";
hash = "sha256-5e6PK+PQnIEm7qpJGW8kmO6GugQMU3phWIsqFSGIj48=";
};
cargoHash = "sha256-bd3pHEwLPwICv61kg3stYJAOjffPYlxoxhupmJ+BC4s=";
cargoHash = "sha256-ffT8SQh6CjIqxMSGahGSiUha1e8wwUbbC3eTEUMx14s=";
nativeBuildInputs = [
pkg-config
+2 -2
View File
@@ -10,11 +10,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "stretchly";
version = "1.18.0";
version = "1.18.1";
src = fetchurl {
url = "https://github.com/hovancik/stretchly/releases/download/v${finalAttrs.version}/stretchly-${finalAttrs.version}.tar.xz";
hash = "sha256-xmGiGzA4Ol3bteYKrdbmRzh+pwpOOeKmGC70fV1f9Yw=";
hash = "sha256-eHhOxocAQAiuvfJsD4ifFw09B7bry4DWIOA9S6pP+jw=";
};
icon = fetchurl {
+3 -3
View File
@@ -12,16 +12,16 @@
rustPlatform.buildRustPackage rec {
pname = "stylua";
version = "2.2.0";
version = "2.3.0";
src = fetchFromGitHub {
owner = "johnnymorganz";
repo = "stylua";
rev = "v${version}";
sha256 = "sha256-PBe3X4YUFUV2xQdYYOdPNgJCnCOzrzogP/2sECef4ck=";
sha256 = "sha256-iyZ30Gc32TQsQyMLwArfIRtM0NkbXkqmca46nI0526M=";
};
cargoHash = "sha256-C9g6kA+xc0nixiPAijc5MIF9xHbbeXBHtmdM4QRdf/Q=";
cargoHash = "sha256-H50/e/XyFvXHhwrKUbKZFZwSHfwAkAtddEvFiOr5220=";
# remove cargo config so it can find the linker on aarch64-unknown-linux-gnu
postPatch = ''
+16 -13
View File
@@ -4,42 +4,45 @@
fetchFromGitHub,
coin-utils,
coinmp,
gfortran,
libtool,
glpk,
osi,
gfortran,
libtool,
pkg-config,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "symphony";
version = "5.7.2";
version = "5.7.3";
outputs = [ "out" ];
src = fetchFromGitHub {
owner = "coin-or";
repo = "SYMPHONY";
rev = "releases/${version}";
hash = "sha256-OdTUMG3iVhjhw5uKtUnsLCZ4DfMjYHm8+/ozfmw7J6c=";
tag = "releases/${finalAttrs.version}";
hash = "sha256-f97LICRykxhiZiSsSBE9IJBLL/ApWV+utvlHuUhx1PI=";
};
nativeBuildInputs = [
gfortran
libtool
pkg-config
glpk
gfortran
coinmp
osi
];
buildInputs = [
coin-utils
coinmp
glpk
osi
];
meta = {
description = "Open-source solver, callable library, and development framework for mixed-integer linear programs (MILPs)";
homepage = "https://www.coin-or.org/SYMPHONY/index.htm";
changelog = "https://github.com/coin-or/SYMPHONY/blob/${version}/CHANGELOG.md";
platforms = [ "x86_64-linux" ];
changelog = "https://github.com/coin-or/SYMPHONY/blob/${finalAttrs.version}/CHANGELOG.md";
platforms = lib.platforms.linux;
license = lib.licenses.epl20;
maintainers = with lib.maintainers; [ b-rodrigues ];
};
}
})
+2 -2
View File
@@ -9,13 +9,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "tabby-agent";
version = "0.31.1";
version = "0.31.2";
src = fetchFromGitHub {
owner = "TabbyML";
repo = "tabby";
tag = "v${finalAttrs.version}";
hash = "sha256-RbTX8QKiyzERDVS57Looj9xjS9didNKLdiTkDcyQ/uw=";
hash = "sha256-dVQ/OLJnXgkzWfX3p6Cplw9hti2jXoMKCvKhm6YNzAI=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -62,7 +62,7 @@ let
stdenv.cc.cc
stdenv.cc.libc
];
version = "1.0.44";
version = "1.0.46";
in
stdenv.mkDerivation {
pname = "tana";
@@ -70,7 +70,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "https://github.com/tanainc/tana-desktop-releases/releases/download/v${version}/tana_${version}_amd64.deb";
hash = "sha256-HtubHH0ENiC+8s8VlpiaNekmzRUtnfmd+CZl5UjJo1U=";
hash = "sha256-WBPTJ2eca5XuccblC31DZ5mCdFm46cXjP4GHyakSalY=";
};
nativeBuildInputs = [

Some files were not shown because too many files have changed in this diff Show More