Merge remote-tracking branch 'origin/master' into staging-next
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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())
|
||||
|
||||
|
||||
@@ -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
|
||||
);
|
||||
};
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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/,,
|
||||
|
||||
+2
-2
@@ -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 ];
|
||||
|
||||
+2
-2
@@ -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:
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 = [ "." ];
|
||||
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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=""|<Exec Command="DOTNET_ROOT=${dotnetCorePackages.runtime_8_0}/share/dotnet \"|' 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
|
||||
];
|
||||
};
|
||||
}
|
||||
+1037
File diff suppressed because it is too large
Load Diff
@@ -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 ];
|
||||
};
|
||||
}
|
||||
Executable
+23
@@ -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
|
||||
@@ -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}"
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 = [ "." ];
|
||||
|
||||
|
||||
@@ -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
|
||||
};
|
||||
}
|
||||
@@ -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"
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
|
||||
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = "${src}/frontend/yarn.lock";
|
||||
hash = "sha256-712mc/xksjXgnc0inthxE+ztSDl/4107oXw3vKcZD2g=";
|
||||
hash = "sha256-e+3LCoOzfjSG4CjzOLXTcXGkmzNwFTLCrN0l5odOBMs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -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) { };
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
})
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user