mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-10-30 14:11:21 +00:00
Merge remote-tracking branch 'origin/staging-next' into staging
Conflicts: - pkgs/development/python-modules/uvcclient/default.nix - pkgs/development/tools/rust/rust-analyzer/default.nix
This commit is contained in:
commit
983077457f
@ -138,3 +138,6 @@ acd0e3898feb321cb9a71a0fd376f1157d0f4553
|
|||||||
|
|
||||||
# azure-cli: move to by-name, nixfmt #325950
|
# azure-cli: move to by-name, nixfmt #325950
|
||||||
96cd538b68bd1d0a0a37979356d669abbba32ebc
|
96cd538b68bd1d0a0a37979356d669abbba32ebc
|
||||||
|
|
||||||
|
# poptracker: format with nixfmt-rfc-style (#326697)
|
||||||
|
ff5c8f6cc3d1f2e017e86d50965c14b71f00567b
|
||||||
|
@ -159,6 +159,12 @@
|
|||||||
github = "13r0ck";
|
github = "13r0ck";
|
||||||
githubId = 58987761;
|
githubId = 58987761;
|
||||||
};
|
};
|
||||||
|
_21CSM = {
|
||||||
|
name = "21CSM";
|
||||||
|
email = "21CSM@tutanota.com";
|
||||||
|
github = "21CSM";
|
||||||
|
githubId = 81891917;
|
||||||
|
};
|
||||||
_21eleven = {
|
_21eleven = {
|
||||||
name = "Noah Lidell";
|
name = "Noah Lidell";
|
||||||
email = "noahlidell@gmail.com";
|
email = "noahlidell@gmail.com";
|
||||||
@ -10149,6 +10155,12 @@
|
|||||||
githubId = 12773748;
|
githubId = 12773748;
|
||||||
matrix = "@j.r:chaos.jetzt";
|
matrix = "@j.r:chaos.jetzt";
|
||||||
};
|
};
|
||||||
|
jukremer = {
|
||||||
|
email = "nixpkgs@jankremer.eu";
|
||||||
|
github = "jukremer";
|
||||||
|
githubId = 79042825;
|
||||||
|
name = "Jan Kremer";
|
||||||
|
};
|
||||||
juliendehos = {
|
juliendehos = {
|
||||||
email = "dehos@lisic.univ-littoral.fr";
|
email = "dehos@lisic.univ-littoral.fr";
|
||||||
github = "juliendehos";
|
github = "juliendehos";
|
||||||
|
@ -29,8 +29,12 @@
|
|||||||
|
|
||||||
- [Radicle](https://radicle.xyz), an open source, peer-to-peer code collaboration stack built on Git. Available as [services.radicle](#opt-services.radicle.enable).
|
- [Radicle](https://radicle.xyz), an open source, peer-to-peer code collaboration stack built on Git. Available as [services.radicle](#opt-services.radicle.enable).
|
||||||
|
|
||||||
|
- [ddns-updater](https://github.com/qdm12/ddns-updater), a service to update DNS records periodically with WebUI for many DNS providers. Available as [services.ddns-updater](#opt-services.ddns-updater.enable).
|
||||||
|
|
||||||
- [Renovate](https://github.com/renovatebot/renovate), a dependency updating tool for various git forges and language ecosystems. Available as [services.renovate](#opt-services.renovate.enable).
|
- [Renovate](https://github.com/renovatebot/renovate), a dependency updating tool for various git forges and language ecosystems. Available as [services.renovate](#opt-services.renovate.enable).
|
||||||
|
|
||||||
|
- [Music Assistant](https://music-assistant.io/), a music library manager for your offline and online music sources which can easily stream your favourite music to a wide range of supported players. Available as [services.music-assistant](#opt-services.music-assistant.enable).
|
||||||
|
|
||||||
- [wg-access-server](https://github.com/freifunkMUC/wg-access-server/), an all-in-one WireGuard VPN solution with a web ui for connecting devices. Available at [services.wg-access-server](#opt-services.wg-access-server.enable).
|
- [wg-access-server](https://github.com/freifunkMUC/wg-access-server/), an all-in-one WireGuard VPN solution with a web ui for connecting devices. Available at [services.wg-access-server](#opt-services.wg-access-server.enable).
|
||||||
|
|
||||||
- [Envision](https://gitlab.com/gabmus/envision), a UI for building, configuring and running Monado, the open source OpenXR runtime. Available as [programs.envision](#opt-programs.envision.enable).
|
- [Envision](https://gitlab.com/gabmus/envision), a UI for building, configuring and running Monado, the open source OpenXR runtime. Available as [programs.envision](#opt-programs.envision.enable).
|
||||||
@ -178,6 +182,8 @@
|
|||||||
|
|
||||||
- `gitlab` has been updated from 16.x to 17.x and requires at least `postgresql` 14.9, as stated in the [documentation](https://docs.gitlab.com/17.1/ee/install/requirements.html#postgresql-requirements). Check the [upgrade guide](#module-services-postgres-upgrading) in the NixOS manual on how to upgrade your PostgreSQL installation.
|
- `gitlab` has been updated from 16.x to 17.x and requires at least `postgresql` 14.9, as stated in the [documentation](https://docs.gitlab.com/17.1/ee/install/requirements.html#postgresql-requirements). Check the [upgrade guide](#module-services-postgres-upgrading) in the NixOS manual on how to upgrade your PostgreSQL installation.
|
||||||
|
|
||||||
|
- The `replay-sorcery` package and module was removed as it unmaintained upstream. Consider using `gpu-screen-recorder` or `obs-studio` instead.
|
||||||
|
|
||||||
- `zx` was updated to v8, which introduces several breaking changes.
|
- `zx` was updated to v8, which introduces several breaking changes.
|
||||||
See the [v8 changelog](https://github.com/google/zx/releases/tag/8.0.0) for more information.
|
See the [v8 changelog](https://github.com/google/zx/releases/tag/8.0.0) for more information.
|
||||||
|
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
{ config, lib, pkgs, utils, ... }:
|
{ config, lib, pkgs, utils, ... }:
|
||||||
|
|
||||||
with utils;
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
let
|
||||||
|
inherit (lib) mkIf mkOption types;
|
||||||
|
|
||||||
randomEncryptionCoerce = enable: { inherit enable; };
|
randomEncryptionCoerce = enable: { inherit enable; };
|
||||||
|
|
||||||
@ -188,7 +186,7 @@ let
|
|||||||
config = {
|
config = {
|
||||||
device = mkIf options.label.isDefined
|
device = mkIf options.label.isDefined
|
||||||
"/dev/disk/by-label/${config.label}";
|
"/dev/disk/by-label/${config.label}";
|
||||||
deviceName = lib.replaceStrings ["\\"] [""] (escapeSystemdPath config.device);
|
deviceName = lib.replaceStrings ["\\"] [""] (utils.escapeSystemdPath config.device);
|
||||||
realDevice = if config.randomEncryption.enable then "/dev/mapper/${config.deviceName}" else config.device;
|
realDevice = if config.randomEncryption.enable then "/dev/mapper/${config.deviceName}" else config.device;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -224,8 +222,8 @@ in
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf ((length config.swapDevices) != 0) {
|
config = mkIf ((lib.length config.swapDevices) != 0) {
|
||||||
assertions = map (sw: {
|
assertions = lib.map (sw: {
|
||||||
assertion = sw.randomEncryption.enable -> builtins.match "/dev/disk/by-(uuid|label)/.*" sw.device == null;
|
assertion = sw.randomEncryption.enable -> builtins.match "/dev/disk/by-(uuid|label)/.*" sw.device == null;
|
||||||
message = ''
|
message = ''
|
||||||
You cannot use swap device "${sw.device}" with randomEncryption enabled.
|
You cannot use swap device "${sw.device}" with randomEncryption enabled.
|
||||||
@ -235,22 +233,22 @@ in
|
|||||||
}) config.swapDevices;
|
}) config.swapDevices;
|
||||||
|
|
||||||
warnings =
|
warnings =
|
||||||
concatMap (sw:
|
lib.concatMap (sw:
|
||||||
if sw.size != null && hasPrefix "/dev/" sw.device
|
if sw.size != null && lib.hasPrefix "/dev/" sw.device
|
||||||
then [ "Setting the swap size of block device ${sw.device} has no effect" ]
|
then [ "Setting the swap size of block device ${sw.device} has no effect" ]
|
||||||
else [ ])
|
else [ ])
|
||||||
config.swapDevices;
|
config.swapDevices;
|
||||||
|
|
||||||
system.requiredKernelConfig = with config.lib.kernelConfig; [
|
system.requiredKernelConfig = [
|
||||||
(isYes "SWAP")
|
(config.lib.kernelConfig.isYes "SWAP")
|
||||||
];
|
];
|
||||||
|
|
||||||
# Create missing swapfiles.
|
# Create missing swapfiles.
|
||||||
systemd.services =
|
systemd.services =
|
||||||
let
|
let
|
||||||
createSwapDevice = sw:
|
createSwapDevice = sw:
|
||||||
let realDevice' = escapeSystemdPath sw.realDevice;
|
let realDevice' = utils.escapeSystemdPath sw.realDevice;
|
||||||
in nameValuePair "mkswap-${sw.deviceName}"
|
in lib.nameValuePair "mkswap-${sw.deviceName}"
|
||||||
{ description = "Initialisation of swap device ${sw.device}";
|
{ description = "Initialisation of swap device ${sw.device}";
|
||||||
# The mkswap service fails for file-backed swap devices if the
|
# The mkswap service fails for file-backed swap devices if the
|
||||||
# loop module has not been loaded before the service runs.
|
# loop module has not been loaded before the service runs.
|
||||||
@ -261,13 +259,13 @@ in
|
|||||||
before = [ "${realDevice'}.swap" "shutdown.target"];
|
before = [ "${realDevice'}.swap" "shutdown.target"];
|
||||||
conflicts = [ "shutdown.target" ];
|
conflicts = [ "shutdown.target" ];
|
||||||
path = [ pkgs.util-linux pkgs.e2fsprogs ]
|
path = [ pkgs.util-linux pkgs.e2fsprogs ]
|
||||||
++ optional sw.randomEncryption.enable pkgs.cryptsetup;
|
++ lib.optional sw.randomEncryption.enable pkgs.cryptsetup;
|
||||||
|
|
||||||
environment.DEVICE = sw.device;
|
environment.DEVICE = sw.device;
|
||||||
|
|
||||||
script =
|
script =
|
||||||
''
|
''
|
||||||
${optionalString (sw.size != null) ''
|
${lib.optionalString (sw.size != null) ''
|
||||||
currentSize=$(( $(stat -c "%s" "$DEVICE" 2>/dev/null || echo 0) / 1024 / 1024 ))
|
currentSize=$(( $(stat -c "%s" "$DEVICE" 2>/dev/null || echo 0) / 1024 / 1024 ))
|
||||||
if [[ ! -b "$DEVICE" && "${toString sw.size}" != "$currentSize" ]]; then
|
if [[ ! -b "$DEVICE" && "${toString sw.size}" != "$currentSize" ]]; then
|
||||||
# Disable CoW for CoW based filesystems like BTRFS.
|
# Disable CoW for CoW based filesystems like BTRFS.
|
||||||
@ -275,15 +273,15 @@ in
|
|||||||
chattr +C "$DEVICE" 2>/dev/null || true
|
chattr +C "$DEVICE" 2>/dev/null || true
|
||||||
|
|
||||||
dd if=/dev/zero of="$DEVICE" bs=1M count=${toString sw.size}
|
dd if=/dev/zero of="$DEVICE" bs=1M count=${toString sw.size}
|
||||||
${optionalString (!sw.randomEncryption.enable) "mkswap ${sw.realDevice}"}
|
${lib.optionalString (!sw.randomEncryption.enable) "mkswap ${sw.realDevice}"}
|
||||||
fi
|
fi
|
||||||
''}
|
''}
|
||||||
${optionalString sw.randomEncryption.enable ''
|
${lib.optionalString sw.randomEncryption.enable ''
|
||||||
cryptsetup plainOpen -c ${sw.randomEncryption.cipher} -d ${sw.randomEncryption.source} \
|
cryptsetup plainOpen -c ${sw.randomEncryption.cipher} -d ${sw.randomEncryption.source} \
|
||||||
${concatStringsSep " \\\n" (flatten [
|
${lib.concatStringsSep " \\\n" (lib.flatten [
|
||||||
(optional (sw.randomEncryption.sectorSize != null) "--sector-size=${toString sw.randomEncryption.sectorSize}")
|
(lib.optional (sw.randomEncryption.sectorSize != null) "--sector-size=${toString sw.randomEncryption.sectorSize}")
|
||||||
(optional (sw.randomEncryption.keySize != null) "--key-size=${toString sw.randomEncryption.keySize}")
|
(lib.optional (sw.randomEncryption.keySize != null) "--key-size=${toString sw.randomEncryption.keySize}")
|
||||||
(optional sw.randomEncryption.allowDiscards "--allow-discards")
|
(lib.optional sw.randomEncryption.allowDiscards "--allow-discards")
|
||||||
])} ${sw.device} ${sw.deviceName}
|
])} ${sw.device} ${sw.deviceName}
|
||||||
mkswap ${sw.realDevice}
|
mkswap ${sw.realDevice}
|
||||||
''}
|
''}
|
||||||
@ -295,12 +293,12 @@ in
|
|||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = sw.randomEncryption.enable;
|
RemainAfterExit = sw.randomEncryption.enable;
|
||||||
UMask = "0177";
|
UMask = "0177";
|
||||||
ExecStop = optionalString sw.randomEncryption.enable "${pkgs.cryptsetup}/bin/cryptsetup luksClose ${sw.deviceName}";
|
ExecStop = lib.optionalString sw.randomEncryption.enable "${pkgs.cryptsetup}/bin/cryptsetup luksClose ${sw.deviceName}";
|
||||||
};
|
};
|
||||||
restartIfChanged = false;
|
restartIfChanged = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
in listToAttrs (map createSwapDevice (filter (sw: sw.size != null || sw.randomEncryption.enable) config.swapDevices));
|
in lib.listToAttrs (lib.map createSwapDevice (lib.filter (sw: sw.size != null || sw.randomEncryption.enable) config.swapDevices));
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -376,6 +376,7 @@
|
|||||||
./services/audio/mopidy.nix
|
./services/audio/mopidy.nix
|
||||||
./services/audio/mpd.nix
|
./services/audio/mpd.nix
|
||||||
./services/audio/mpdscribble.nix
|
./services/audio/mpdscribble.nix
|
||||||
|
./services/audio/music-assistant.nix
|
||||||
./services/audio/mympd.nix
|
./services/audio/mympd.nix
|
||||||
./services/audio/navidrome.nix
|
./services/audio/navidrome.nix
|
||||||
./services/audio/networkaudiod.nix
|
./services/audio/networkaudiod.nix
|
||||||
@ -991,6 +992,7 @@
|
|||||||
./services/networking/dante.nix
|
./services/networking/dante.nix
|
||||||
./services/networking/deconz.nix
|
./services/networking/deconz.nix
|
||||||
./services/networking/ddclient.nix
|
./services/networking/ddclient.nix
|
||||||
|
./services/networking/ddns-updater.nix
|
||||||
./services/networking/dhcpcd.nix
|
./services/networking/dhcpcd.nix
|
||||||
./services/networking/dnscache.nix
|
./services/networking/dnscache.nix
|
||||||
./services/networking/dnscrypt-proxy2.nix
|
./services/networking/dnscrypt-proxy2.nix
|
||||||
@ -1346,7 +1348,6 @@
|
|||||||
./services/video/frigate.nix
|
./services/video/frigate.nix
|
||||||
./services/video/mirakurun.nix
|
./services/video/mirakurun.nix
|
||||||
./services/video/photonvision.nix
|
./services/video/photonvision.nix
|
||||||
./services/video/replay-sorcery.nix
|
|
||||||
./services/video/mediamtx.nix
|
./services/video/mediamtx.nix
|
||||||
./services/video/unifi-video.nix
|
./services/video/unifi-video.nix
|
||||||
./services/video/v4l2-relayd.nix
|
./services/video/v4l2-relayd.nix
|
||||||
|
@ -4,7 +4,7 @@ let optionsGlobal = options; in
|
|||||||
let
|
let
|
||||||
|
|
||||||
inherit (lib.attrsets) attrNames attrValues mapAttrsToList removeAttrs;
|
inherit (lib.attrsets) attrNames attrValues mapAttrsToList removeAttrs;
|
||||||
inherit (lib.lists) all allUnique concatLists elem isList map;
|
inherit (lib.lists) all allUnique concatLists concatMap elem isList map;
|
||||||
inherit (lib.modules) mkDefault mkIf;
|
inherit (lib.modules) mkDefault mkIf;
|
||||||
inherit (lib.options) mkEnableOption mkOption mkPackageOption;
|
inherit (lib.options) mkEnableOption mkOption mkPackageOption;
|
||||||
inherit (lib.strings) concatLines match optionalString toLower;
|
inherit (lib.strings) concatLines match optionalString toLower;
|
||||||
@ -231,7 +231,7 @@ let
|
|||||||
# Turn a key-value pair from the server options attrset
|
# Turn a key-value pair from the server options attrset
|
||||||
# into zero (value==null), one (scalar value) or
|
# into zero (value==null), one (scalar value) or
|
||||||
# more (value is list) configuration stanza lines.
|
# more (value is list) configuration stanza lines.
|
||||||
if isList value then map (makeDsmSysLines key) value else # recurse into list
|
if isList value then concatMap (makeDsmSysLines key) value else # recurse into list
|
||||||
if value == null then [ ] else # skip `null` value
|
if value == null then [ ] else # skip `null` value
|
||||||
[ (" ${key}${
|
[ (" ${key}${
|
||||||
if value == true then "" else # just output key if value is `true`
|
if value == true then "" else # just output key if value is `true`
|
||||||
|
@ -85,6 +85,7 @@ in
|
|||||||
'')
|
'')
|
||||||
(mkRemovedOptionModule [ "services" "quagga" ] "the corresponding package has been removed from nixpkgs")
|
(mkRemovedOptionModule [ "services" "quagga" ] "the corresponding package has been removed from nixpkgs")
|
||||||
(mkRemovedOptionModule [ "services" "railcar" ] "the corresponding package has been removed from nixpkgs")
|
(mkRemovedOptionModule [ "services" "railcar" ] "the corresponding package has been removed from nixpkgs")
|
||||||
|
(mkRemovedOptionModule [ "services" "replay-sorcery" ] "the corresponding package has been removed from nixpkgs as it is unmaintained upstream. Consider using `gpu-screen-recorder` or `obs-studio` instead.")
|
||||||
(mkRemovedOptionModule [ "services" "seeks" ] "")
|
(mkRemovedOptionModule [ "services" "seeks" ] "")
|
||||||
(mkRemovedOptionModule [ "services" "ssmtp" ] ''
|
(mkRemovedOptionModule [ "services" "ssmtp" ] ''
|
||||||
The ssmtp package and the corresponding module have been removed due to
|
The ssmtp package and the corresponding module have been removed due to
|
||||||
|
113
nixos/modules/services/audio/music-assistant.nix
Normal file
113
nixos/modules/services/audio/music-assistant.nix
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
utils,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib)
|
||||||
|
mkIf
|
||||||
|
mkEnableOption
|
||||||
|
mkOption
|
||||||
|
mkPackageOption
|
||||||
|
types
|
||||||
|
;
|
||||||
|
|
||||||
|
inherit (types)
|
||||||
|
listOf
|
||||||
|
enum
|
||||||
|
str
|
||||||
|
;
|
||||||
|
|
||||||
|
cfg = config.services.music-assistant;
|
||||||
|
|
||||||
|
finalPackage = cfg.package.override {
|
||||||
|
inherit (cfg) providers;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
meta.buildDocsInSandbox = false;
|
||||||
|
|
||||||
|
options.services.music-assistant = {
|
||||||
|
enable = mkEnableOption "Music Assistant";
|
||||||
|
|
||||||
|
package = mkPackageOption pkgs "music-assistant" { };
|
||||||
|
|
||||||
|
extraOptions = mkOption {
|
||||||
|
type = listOf str;
|
||||||
|
default = [ "--config" "/var/lib/music-assistant" ];
|
||||||
|
example = [
|
||||||
|
"--log-level"
|
||||||
|
"DEBUG"
|
||||||
|
];
|
||||||
|
description = ''
|
||||||
|
List of extra options to pass to the music-assistant executable.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
providers = mkOption {
|
||||||
|
type = listOf (enum cfg.package.providerNames);
|
||||||
|
default = [];
|
||||||
|
example = [
|
||||||
|
"opensubsonic"
|
||||||
|
"snapcast"
|
||||||
|
];
|
||||||
|
description = ''
|
||||||
|
List of provider names for which dependencies will be installed.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
systemd.services.music-assistant = {
|
||||||
|
description = "Music Assistant";
|
||||||
|
documentation = [ "https://music-assistant.io" ];
|
||||||
|
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
HOME = "/var/lib/music-assistant";
|
||||||
|
PYTHONPATH = finalPackage.pythonPath;
|
||||||
|
};
|
||||||
|
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = utils.escapeSystemdExecArgs ([
|
||||||
|
(lib.getExe cfg.package)
|
||||||
|
] ++ cfg.extraOptions);
|
||||||
|
DynamicUser = true;
|
||||||
|
StateDirectory = "music-assistant";
|
||||||
|
AmbientCapabilities = "";
|
||||||
|
CapabilityBoundingSet = [ "" ];
|
||||||
|
DevicePolicy = "closed";
|
||||||
|
LockPersonality = true;
|
||||||
|
MemoryDenyWriteExecute = true;
|
||||||
|
ProcSubset = "pid";
|
||||||
|
ProtectClock = true;
|
||||||
|
ProtectControlGroups = true;
|
||||||
|
ProtectHome = true;
|
||||||
|
ProtectHostname = true;
|
||||||
|
ProtectKernelLogs = true;
|
||||||
|
ProtectKernelModules = true;
|
||||||
|
ProtectKernelTunables = true;
|
||||||
|
ProtectProc = "invisible";
|
||||||
|
RestrictAddressFamilies = [
|
||||||
|
"AF_INET"
|
||||||
|
"AF_INET6"
|
||||||
|
"AF_NETLINK"
|
||||||
|
];
|
||||||
|
RestrictNamespaces = true;
|
||||||
|
RestrictRealtime = true;
|
||||||
|
SystemCallArchitectures = "native";
|
||||||
|
SystemCallFilter = [
|
||||||
|
"@system-service"
|
||||||
|
"~@privileged @resources"
|
||||||
|
];
|
||||||
|
RestrictSUIDSGID = true;
|
||||||
|
UMask = "0077";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
46
nixos/modules/services/networking/ddns-updater.nix
Normal file
46
nixos/modules/services/networking/ddns-updater.nix
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.ddns-updater;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.services.ddns-updater = {
|
||||||
|
enable = lib.mkEnableOption "Container to update DNS records periodically with WebUI for many DNS providers";
|
||||||
|
|
||||||
|
package = lib.mkPackageOption pkgs "ddns-updater" { };
|
||||||
|
|
||||||
|
environment = lib.mkOption {
|
||||||
|
type = lib.types.attrsOf lib.types.str;
|
||||||
|
description = "Environment variables to be set for the ddns-updater service. DATADIR is ignored to enable using systemd DynamicUser. For full list see https://github.com/qdm12/ddns-updater";
|
||||||
|
default = { };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
systemd.services.ddns-updater = {
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
wants = [ "network-online.target" ];
|
||||||
|
after = [ "network-online.target" ];
|
||||||
|
environment = cfg.environment // {
|
||||||
|
DATADIR = "%S/ddns-updater";
|
||||||
|
};
|
||||||
|
unitConfig = {
|
||||||
|
Description = "DDNS-updater service";
|
||||||
|
};
|
||||||
|
serviceConfig = {
|
||||||
|
TimeoutSec = "5min";
|
||||||
|
ExecStart = lib.getExe cfg.package;
|
||||||
|
RestartSec = 30;
|
||||||
|
DynamicUser = true;
|
||||||
|
StateDirectory = "ddns-updater";
|
||||||
|
Restart = "on-failure";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -51,6 +51,14 @@ in
|
|||||||
example = literalExpression "./tika/tika-config.xml";
|
example = literalExpression "./tika/tika-config.xml";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enableOcr = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = ''
|
||||||
|
Whether to enable OCR support by adding the `tesseract` package as a dependency.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
openFirewall = mkOption {
|
openFirewall = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@ -69,14 +77,20 @@ in
|
|||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig =
|
||||||
Type = "simple";
|
let
|
||||||
|
package = cfg.package.override { inherit (cfg) enableOcr; };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
Type = "simple";
|
||||||
|
|
||||||
ExecStart = "${getExe cfg.package} --host ${cfg.listenAddress} --port ${toString cfg.port} ${lib.optionalString (cfg.configFile != null) "--config ${cfg.configFile}"}";
|
ExecStart = "${getExe package} --host ${cfg.listenAddress} --port ${toString cfg.port} ${
|
||||||
DynamicUser = true;
|
lib.optionalString (cfg.configFile != null) "--config ${cfg.configFile}"
|
||||||
StateDirectory = "tika";
|
}";
|
||||||
CacheDirectory = "tika";
|
DynamicUser = true;
|
||||||
};
|
StateDirectory = "tika";
|
||||||
|
CacheDirectory = "tika";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall = mkIf cfg.openFirewall { allowedTCPPorts = [ cfg.port ]; };
|
networking.firewall = mkIf cfg.openFirewall { allowedTCPPorts = [ cfg.port ]; };
|
||||||
|
@ -1,72 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.services.replay-sorcery;
|
|
||||||
configFile = generators.toKeyValue {} cfg.settings;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options = with types; {
|
|
||||||
services.replay-sorcery = {
|
|
||||||
enable = mkEnableOption "the ReplaySorcery service for instant-replays";
|
|
||||||
|
|
||||||
enableSysAdminCapability = mkEnableOption ''
|
|
||||||
the system admin capability to support hardware accelerated
|
|
||||||
video capture. This is equivalent to running ReplaySorcery as
|
|
||||||
root, so use with caution'';
|
|
||||||
|
|
||||||
autoStart = mkOption {
|
|
||||||
type = bool;
|
|
||||||
default = false;
|
|
||||||
description = "Automatically start ReplaySorcery when graphical-session.target starts.";
|
|
||||||
};
|
|
||||||
|
|
||||||
settings = mkOption {
|
|
||||||
type = attrsOf (oneOf [ str int ]);
|
|
||||||
default = {};
|
|
||||||
description = "System-wide configuration for ReplaySorcery (/etc/replay-sorcery.conf).";
|
|
||||||
example = literalExpression ''
|
|
||||||
{
|
|
||||||
videoInput = "hwaccel"; # requires `services.replay-sorcery.enableSysAdminCapability = true`
|
|
||||||
videoFramerate = 60;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
environment = {
|
|
||||||
systemPackages = [ pkgs.replay-sorcery ];
|
|
||||||
etc."replay-sorcery.conf".text = configFile;
|
|
||||||
};
|
|
||||||
|
|
||||||
security.wrappers = mkIf cfg.enableSysAdminCapability {
|
|
||||||
replay-sorcery = {
|
|
||||||
owner = "root";
|
|
||||||
group = "root";
|
|
||||||
capabilities = "cap_sys_admin+ep";
|
|
||||||
source = "${pkgs.replay-sorcery}/bin/replay-sorcery";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd = {
|
|
||||||
packages = [ pkgs.replay-sorcery ];
|
|
||||||
user.services.replay-sorcery = {
|
|
||||||
wantedBy = mkIf cfg.autoStart [ "graphical-session.target" ];
|
|
||||||
partOf = mkIf cfg.autoStart [ "graphical-session.target" ];
|
|
||||||
serviceConfig = {
|
|
||||||
ExecStart = mkIf cfg.enableSysAdminCapability [
|
|
||||||
"" # Tell systemd to clear the existing ExecStart list, to prevent appending to it.
|
|
||||||
"${config.security.wrapperDir}/replay-sorcery"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
maintainers = with maintainers; [ kira-bruneau ];
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,9 +1,31 @@
|
|||||||
{ config, lib, options, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
options,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
inherit (lib) mkDefault mkEnableOption mkPackageOption mkForce mkIf mkMerge mkOption types;
|
inherit (lib)
|
||||||
inherit (lib) literalExpression mapAttrs optionalString versionAtLeast;
|
mkDefault
|
||||||
|
mkEnableOption
|
||||||
|
mkPackageOption
|
||||||
|
mkRenamedOptionModule
|
||||||
|
mkForce
|
||||||
|
mkIf
|
||||||
|
mkMerge
|
||||||
|
mkOption
|
||||||
|
types
|
||||||
|
;
|
||||||
|
inherit (lib)
|
||||||
|
literalExpression
|
||||||
|
mapAttrs
|
||||||
|
optionalString
|
||||||
|
optionals
|
||||||
|
versionAtLeast
|
||||||
|
;
|
||||||
|
|
||||||
cfg = config.services.zabbixWeb;
|
cfg = config.services.zabbixWeb;
|
||||||
opt = options.services.zabbixWeb;
|
opt = options.services.zabbixWeb;
|
||||||
@ -17,13 +39,25 @@ let
|
|||||||
<?php
|
<?php
|
||||||
// Zabbix GUI configuration file.
|
// Zabbix GUI configuration file.
|
||||||
global $DB;
|
global $DB;
|
||||||
$DB['TYPE'] = '${ { mysql = "MYSQL"; pgsql = "POSTGRESQL"; oracle = "ORACLE"; }.${cfg.database.type} }';
|
$DB['TYPE'] = '${
|
||||||
|
{
|
||||||
|
mysql = "MYSQL";
|
||||||
|
pgsql = "POSTGRESQL";
|
||||||
|
oracle = "ORACLE";
|
||||||
|
}
|
||||||
|
.${cfg.database.type}
|
||||||
|
}';
|
||||||
$DB['SERVER'] = '${cfg.database.host}';
|
$DB['SERVER'] = '${cfg.database.host}';
|
||||||
$DB['PORT'] = '${toString cfg.database.port}';
|
$DB['PORT'] = '${toString cfg.database.port}';
|
||||||
$DB['DATABASE'] = '${cfg.database.name}';
|
$DB['DATABASE'] = '${cfg.database.name}';
|
||||||
$DB['USER'] = '${cfg.database.user}';
|
$DB['USER'] = '${cfg.database.user}';
|
||||||
# NOTE: file_get_contents adds newline at the end of returned string
|
# NOTE: file_get_contents adds newline at the end of returned string
|
||||||
$DB['PASSWORD'] = ${if cfg.database.passwordFile != null then "trim(file_get_contents('${cfg.database.passwordFile}'), \"\\r\\n\")" else "''"};
|
$DB['PASSWORD'] = ${
|
||||||
|
if cfg.database.passwordFile != null then
|
||||||
|
"trim(file_get_contents('${cfg.database.passwordFile}'), \"\\r\\n\")"
|
||||||
|
else
|
||||||
|
"''"
|
||||||
|
};
|
||||||
// Schema name. Used for IBM DB2 and PostgreSQL.
|
// Schema name. Used for IBM DB2 and PostgreSQL.
|
||||||
$DB['SCHEMA'] = ''';
|
$DB['SCHEMA'] = ''';
|
||||||
$ZBX_SERVER = '${cfg.server.address}';
|
$ZBX_SERVER = '${cfg.server.address}';
|
||||||
@ -33,16 +67,33 @@ let
|
|||||||
|
|
||||||
${cfg.extraConfig}
|
${cfg.extraConfig}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
(mkRenamedOptionModule
|
||||||
|
[
|
||||||
|
"services"
|
||||||
|
"zabbixWeb"
|
||||||
|
"virtualHost"
|
||||||
|
]
|
||||||
|
[
|
||||||
|
"services"
|
||||||
|
"zabbixWeb"
|
||||||
|
"httpd"
|
||||||
|
"virtualHost"
|
||||||
|
]
|
||||||
|
)
|
||||||
|
];
|
||||||
# interface
|
# interface
|
||||||
|
|
||||||
options.services = {
|
options.services = {
|
||||||
zabbixWeb = {
|
zabbixWeb = {
|
||||||
enable = mkEnableOption "the Zabbix web interface";
|
enable = mkEnableOption "the Zabbix web interface";
|
||||||
|
|
||||||
package = mkPackageOption pkgs [ "zabbix" "web" ] { };
|
package = mkPackageOption pkgs [
|
||||||
|
"zabbix"
|
||||||
|
"web"
|
||||||
|
] { };
|
||||||
|
|
||||||
server = {
|
server = {
|
||||||
port = mkOption {
|
port = mkOption {
|
||||||
@ -60,7 +111,11 @@ in
|
|||||||
|
|
||||||
database = {
|
database = {
|
||||||
type = mkOption {
|
type = mkOption {
|
||||||
type = types.enum [ "mysql" "pgsql" "oracle" ];
|
type = types.enum [
|
||||||
|
"mysql"
|
||||||
|
"pgsql"
|
||||||
|
"oracle"
|
||||||
|
];
|
||||||
example = "mysql";
|
example = "mysql";
|
||||||
default = "pgsql";
|
default = "pgsql";
|
||||||
description = "Database engine to use.";
|
description = "Database engine to use.";
|
||||||
@ -75,9 +130,12 @@ in
|
|||||||
port = mkOption {
|
port = mkOption {
|
||||||
type = types.port;
|
type = types.port;
|
||||||
default =
|
default =
|
||||||
if cfg.database.type == "mysql" then config.services.mysql.port
|
if cfg.database.type == "mysql" then
|
||||||
else if cfg.database.type == "pgsql" then config.services.postgresql.settings.port
|
config.services.mysql.port
|
||||||
else 1521;
|
else if cfg.database.type == "pgsql" then
|
||||||
|
config.services.postgresql.settings.port
|
||||||
|
else
|
||||||
|
1521;
|
||||||
defaultText = literalExpression ''
|
defaultText = literalExpression ''
|
||||||
if config.${opt.database.type} == "mysql" then config.${options.services.mysql.port}
|
if config.${opt.database.type} == "mysql" then config.${options.services.mysql.port}
|
||||||
else if config.${opt.database.type} == "pgsql" then config.services.postgresql.settings.port
|
else if config.${opt.database.type} == "pgsql" then config.services.postgresql.settings.port
|
||||||
@ -116,7 +174,17 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualHost = mkOption {
|
frontend = mkOption {
|
||||||
|
type = types.enum [
|
||||||
|
"nginx"
|
||||||
|
"httpd"
|
||||||
|
];
|
||||||
|
example = "nginx";
|
||||||
|
default = "httpd";
|
||||||
|
description = "Frontend server to use.";
|
||||||
|
};
|
||||||
|
|
||||||
|
httpd.virtualHost = mkOption {
|
||||||
type = types.submodule (import ../web-servers/apache-httpd/vhost-options.nix);
|
type = types.submodule (import ../web-servers/apache-httpd/vhost-options.nix);
|
||||||
example = literalExpression ''
|
example = literalExpression ''
|
||||||
{
|
{
|
||||||
@ -126,14 +194,43 @@ in
|
|||||||
enableACME = true;
|
enableACME = true;
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
default = { };
|
||||||
description = ''
|
description = ''
|
||||||
Apache configuration can be done by adapting `services.httpd.virtualHosts.<name>`.
|
Apache configuration can be done by adapting `services.httpd.virtualHosts.<name>`.
|
||||||
See [](#opt-services.httpd.virtualHosts) for further information.
|
See [](#opt-services.httpd.virtualHosts) for further information.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hostname = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "zabbix.local";
|
||||||
|
description = "Hostname for either nginx or httpd.";
|
||||||
|
};
|
||||||
|
|
||||||
|
nginx.virtualHost = mkOption {
|
||||||
|
type = types.submodule (import ../web-servers/nginx/vhost-options.nix);
|
||||||
|
example = literalExpression ''
|
||||||
|
{
|
||||||
|
forceSSL = true;
|
||||||
|
sslCertificateKey = "/etc/ssl/zabbix.key";
|
||||||
|
sslCertificate = "/etc/ssl/zabbix.crt";
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
default = { };
|
||||||
|
description = ''
|
||||||
|
Nginx configuration can be done by adapting `services.nginx.virtualHosts.<name>`.
|
||||||
|
See [](#opt-services.nginx.virtualHosts) for further information.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
poolConfig = mkOption {
|
poolConfig = mkOption {
|
||||||
type = with types; attrsOf (oneOf [ str int bool ]);
|
type =
|
||||||
|
with types;
|
||||||
|
attrsOf (oneOf [
|
||||||
|
str
|
||||||
|
int
|
||||||
|
bool
|
||||||
|
]);
|
||||||
default = {
|
default = {
|
||||||
"pm" = "dynamic";
|
"pm" = "dynamic";
|
||||||
"pm.max_children" = 32;
|
"pm.max_children" = 32;
|
||||||
@ -154,7 +251,6 @@ in
|
|||||||
Additional configuration to be copied verbatim into {file}`zabbix.conf.php`.
|
Additional configuration to be copied verbatim into {file}`zabbix.conf.php`.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -162,61 +258,96 @@ in
|
|||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
services.zabbixWeb.extraConfig = optionalString ((versionAtLeast config.system.stateVersion "20.09") && (versionAtLeast cfg.package.version "5.0.0")) ''
|
services.zabbixWeb.extraConfig =
|
||||||
$DB['DOUBLE_IEEE754'] = 'true';
|
optionalString
|
||||||
'';
|
(
|
||||||
|
(versionAtLeast config.system.stateVersion "20.09") && (versionAtLeast cfg.package.version "5.0.0")
|
||||||
|
)
|
||||||
|
''
|
||||||
|
$DB['DOUBLE_IEEE754'] = 'true';
|
||||||
|
'';
|
||||||
|
|
||||||
systemd.tmpfiles.rules = [
|
systemd.tmpfiles.rules =
|
||||||
"d '${stateDir}' 0750 ${user} ${group} - -"
|
[ "d '${stateDir}' 0750 ${user} ${group} - -" ]
|
||||||
"d '${stateDir}/session' 0750 ${user} ${config.services.httpd.group} - -"
|
++ optionals (cfg.frontend == "httpd") [
|
||||||
];
|
"d '${stateDir}/session' 0750 ${user} ${config.services.httpd.group} - -"
|
||||||
|
]
|
||||||
|
++ optionals (cfg.frontend == "nginx") [
|
||||||
|
"d '${stateDir}/session' 0750 ${user} ${config.services.nginx.group} - -"
|
||||||
|
];
|
||||||
|
|
||||||
services.phpfpm.pools.zabbix = {
|
services.phpfpm.pools.zabbix = {
|
||||||
inherit user;
|
inherit user;
|
||||||
group = config.services.httpd.group;
|
group = config.services.${cfg.frontend}.group;
|
||||||
phpOptions = ''
|
phpOptions =
|
||||||
# https://www.zabbix.com/documentation/current/manual/installation/install
|
''
|
||||||
memory_limit = 128M
|
# https://www.zabbix.com/documentation/current/manual/installation/install
|
||||||
post_max_size = 16M
|
memory_limit = 128M
|
||||||
upload_max_filesize = 2M
|
post_max_size = 16M
|
||||||
max_execution_time = 300
|
upload_max_filesize = 2M
|
||||||
max_input_time = 300
|
max_execution_time = 300
|
||||||
session.auto_start = 0
|
max_input_time = 300
|
||||||
mbstring.func_overload = 0
|
session.auto_start = 0
|
||||||
always_populate_raw_post_data = -1
|
mbstring.func_overload = 0
|
||||||
# https://bbs.archlinux.org/viewtopic.php?pid=1745214#p1745214
|
always_populate_raw_post_data = -1
|
||||||
session.save_path = ${stateDir}/session
|
# https://bbs.archlinux.org/viewtopic.php?pid=1745214#p1745214
|
||||||
'' + optionalString (config.time.timeZone != null) ''
|
session.save_path = ${stateDir}/session
|
||||||
date.timezone = "${config.time.timeZone}"
|
''
|
||||||
'' + optionalString (cfg.database.type == "oracle") ''
|
+ optionalString (config.time.timeZone != null) ''
|
||||||
extension=${pkgs.phpPackages.oci8}/lib/php/extensions/oci8.so
|
date.timezone = "${config.time.timeZone}"
|
||||||
'';
|
''
|
||||||
|
+ optionalString (cfg.database.type == "oracle") ''
|
||||||
|
extension=${pkgs.phpPackages.oci8}/lib/php/extensions/oci8.so
|
||||||
|
'';
|
||||||
phpEnv.ZABBIX_CONFIG = "${zabbixConfig}";
|
phpEnv.ZABBIX_CONFIG = "${zabbixConfig}";
|
||||||
settings = {
|
settings = {
|
||||||
"listen.owner" = config.services.httpd.user;
|
"listen.owner" =
|
||||||
"listen.group" = config.services.httpd.group;
|
if cfg.frontend == "httpd" then config.services.httpd.user else config.services.nginx.user;
|
||||||
|
"listen.group" =
|
||||||
|
if cfg.frontend == "httpd" then config.services.httpd.group else config.services.nginx.group;
|
||||||
} // cfg.poolConfig;
|
} // cfg.poolConfig;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.httpd = {
|
services.httpd = mkIf (cfg.frontend == "httpd") {
|
||||||
enable = true;
|
enable = true;
|
||||||
adminAddr = mkDefault cfg.virtualHost.adminAddr;
|
adminAddr = mkDefault cfg.httpd.virtualHost.adminAddr;
|
||||||
extraModules = [ "proxy_fcgi" ];
|
extraModules = [ "proxy_fcgi" ];
|
||||||
virtualHosts.${cfg.virtualHost.hostName} = mkMerge [ cfg.virtualHost {
|
virtualHosts.${cfg.hostname} = mkMerge [
|
||||||
documentRoot = mkForce "${cfg.package}/share/zabbix";
|
cfg.httpd.virtualHost
|
||||||
extraConfig = ''
|
{
|
||||||
<Directory "${cfg.package}/share/zabbix">
|
documentRoot = mkForce "${cfg.package}/share/zabbix";
|
||||||
<FilesMatch "\.php$">
|
extraConfig = ''
|
||||||
<If "-f %{REQUEST_FILENAME}">
|
<Directory "${cfg.package}/share/zabbix">
|
||||||
SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
|
<FilesMatch "\.php$">
|
||||||
</If>
|
<If "-f %{REQUEST_FILENAME}">
|
||||||
</FilesMatch>
|
SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
|
||||||
AllowOverride all
|
</If>
|
||||||
Options -Indexes
|
</FilesMatch>
|
||||||
DirectoryIndex index.php
|
AllowOverride all
|
||||||
</Directory>
|
Options -Indexes
|
||||||
'';
|
DirectoryIndex index.php
|
||||||
} ];
|
</Directory>
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.nginx = mkIf (cfg.frontend == "nginx") {
|
||||||
|
enable = true;
|
||||||
|
virtualHosts.${cfg.hostname} = mkMerge [
|
||||||
|
cfg.nginx.virtualHost
|
||||||
|
{
|
||||||
|
root = mkForce "${cfg.package}/share/zabbix";
|
||||||
|
locations."/" = {
|
||||||
|
index = "index.html index.htm index.php";
|
||||||
|
tryFiles = "$uri $uri/ =404";
|
||||||
|
};
|
||||||
|
locations."~ \.php$".extraConfig = ''
|
||||||
|
fastcgi_pass unix:${fpm.socket};
|
||||||
|
fastcgi_index index.php;
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.${user} = mapAttrs (name: mkDefault) {
|
users.users.${user} = mapAttrs (name: mkDefault) {
|
||||||
@ -225,9 +356,6 @@ in
|
|||||||
inherit group;
|
inherit group;
|
||||||
};
|
};
|
||||||
|
|
||||||
users.groups.${group} = mapAttrs (name: mkDefault) {
|
users.groups.${group} = mapAttrs (name: mkDefault) { gid = config.ids.gids.zabbix; };
|
||||||
gid = config.ids.gids.zabbix;
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -224,7 +224,7 @@ in
|
|||||||
# Default Fonts
|
# Default Fonts
|
||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
dejavu_fonts # Default monospace font in LMDE 6+
|
dejavu_fonts # Default monospace font in LMDE 6+
|
||||||
ubuntu_font_family # required for default theme
|
ubuntu-classic # required for default theme
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -92,7 +92,7 @@ in
|
|||||||
|
|
||||||
environment.etc."X11/xkb".source = xcfg.xkb.dir;
|
environment.etc."X11/xkb".source = xcfg.xkb.dir;
|
||||||
|
|
||||||
fonts.packages = [ pkgs.dejavu_fonts pkgs.ubuntu_font_family ];
|
fonts.packages = [ pkgs.dejavu_fonts ];
|
||||||
|
|
||||||
services.udisks2.enable = true;
|
services.udisks2.enable = true;
|
||||||
services.upower.enable = config.powerManagement.enable;
|
services.upower.enable = config.powerManagement.enable;
|
||||||
|
@ -71,8 +71,8 @@ in
|
|||||||
font = {
|
font = {
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
type = types.package;
|
type = types.package;
|
||||||
default = pkgs.ubuntu_font_family;
|
default = pkgs.ubuntu-classic;
|
||||||
defaultText = literalExpression "pkgs.ubuntu_font_family";
|
defaultText = literalExpression "pkgs.ubuntu-classic";
|
||||||
description = ''
|
description = ''
|
||||||
The package path that contains the font given in the name option.
|
The package path that contains the font given in the name option.
|
||||||
'';
|
'';
|
||||||
|
@ -245,6 +245,7 @@ in {
|
|||||||
davis = handleTest ./davis.nix {};
|
davis = handleTest ./davis.nix {};
|
||||||
db-rest = handleTest ./db-rest.nix {};
|
db-rest = handleTest ./db-rest.nix {};
|
||||||
dconf = handleTest ./dconf.nix {};
|
dconf = handleTest ./dconf.nix {};
|
||||||
|
ddns-updater = handleTest ./ddns-updater.nix {};
|
||||||
deconz = handleTest ./deconz.nix {};
|
deconz = handleTest ./deconz.nix {};
|
||||||
deepin = handleTest ./deepin.nix {};
|
deepin = handleTest ./deepin.nix {};
|
||||||
deluge = handleTest ./deluge.nix {};
|
deluge = handleTest ./deluge.nix {};
|
||||||
@ -597,6 +598,7 @@ in {
|
|||||||
# Fails on aarch64-linux at the PDF creation step - need to debug this on an
|
# Fails on aarch64-linux at the PDF creation step - need to debug this on an
|
||||||
# aarch64 machine..
|
# aarch64 machine..
|
||||||
musescore = handleTestOn ["x86_64-linux"] ./musescore.nix {};
|
musescore = handleTestOn ["x86_64-linux"] ./musescore.nix {};
|
||||||
|
music-assistant = runTest ./music-assistant.nix;
|
||||||
munin = handleTest ./munin.nix {};
|
munin = handleTest ./munin.nix {};
|
||||||
mutableUsers = handleTest ./mutable-users.nix {};
|
mutableUsers = handleTest ./mutable-users.nix {};
|
||||||
mycelium = handleTest ./mycelium {};
|
mycelium = handleTest ./mycelium {};
|
||||||
|
28
nixos/tests/ddns-updater.nix
Normal file
28
nixos/tests/ddns-updater.nix
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
import ./make-test-python.nix (
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
let
|
||||||
|
port = 6000;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
name = "ddns-updater";
|
||||||
|
|
||||||
|
meta.maintainers = with lib.maintainers; [ delliott ];
|
||||||
|
|
||||||
|
nodes.machine =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
services.ddns-updater = {
|
||||||
|
enable = true;
|
||||||
|
environment = {
|
||||||
|
LISTENING_ADDRESS = ":" + (toString port);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
machine.wait_for_unit("ddns-updater.service")
|
||||||
|
machine.wait_for_open_port(${toString port})
|
||||||
|
machine.succeed("curl --fail http://localhost:${toString port}/")
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
)
|
21
nixos/tests/music-assistant.nix
Normal file
21
nixos/tests/music-assistant.nix
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "music-assistant";
|
||||||
|
meta.maintainers = with lib.maintainers; [ hexa ];
|
||||||
|
|
||||||
|
nodes.machine = {
|
||||||
|
services.music-assistant = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
machine.wait_for_unit("music-assistant.service")
|
||||||
|
machine.wait_until_succeeds("curl --fail http://localhost:8095")
|
||||||
|
machine.log(machine.succeed("systemd-analyze security music-assistant.service | grep -v ✓"))
|
||||||
|
'';
|
||||||
|
}
|
@ -62,13 +62,13 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "audacity";
|
pname = "audacity";
|
||||||
version = "3.5.1";
|
version = "3.6.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "audacity";
|
owner = "audacity";
|
||||||
repo = "audacity";
|
repo = "audacity";
|
||||||
rev = "Audacity-${version}";
|
rev = "Audacity-${version}";
|
||||||
hash = "sha256-wQ+K31TvDTVwDyVQ5nWgcneZ1cFxztmsbSXrDs33Uoc=";
|
hash = "sha256-ZNOcWc4JKF69ZTD8pe1A3yrAMEE3rqbzPOOQslv+utU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -22,14 +22,14 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "transcribe";
|
pname = "transcribe";
|
||||||
version = "9.41.0";
|
version = "9.41.2";
|
||||||
|
|
||||||
src =
|
src =
|
||||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||||
fetchzip
|
fetchzip
|
||||||
{
|
{
|
||||||
url = "https://www.seventhstring.com/xscribe/downlo/xscsetup-${version}.tar.gz";
|
url = "https://www.seventhstring.com/xscribe/downlo/xscsetup-${version}.tar.gz";
|
||||||
sha256 = "sha256-qf5zfnl1Dhof08vJ9FNFr6qAz5Tk6z7lO1PuVcmRua0=";
|
sha256 = "sha256-VWfjtNbwK9ZiWgs161ubRy+IjSXXk3FEfMkmA6Jhz8A=";
|
||||||
}
|
}
|
||||||
else throw "Platform not supported";
|
else throw "Platform not supported";
|
||||||
|
|
||||||
|
@ -12,18 +12,18 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "youtube-music";
|
pname = "youtube-music";
|
||||||
version = "3.3.12";
|
version = "3.4.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "th-ch";
|
owner = "th-ch";
|
||||||
repo = "youtube-music";
|
repo = "youtube-music";
|
||||||
rev = "v${finalAttrs.version}";
|
rev = "v${finalAttrs.version}";
|
||||||
hash = "sha256-kBGMp58086NQ77x1YGS5NewWfiDaXHOEbyflHPtdfIs=";
|
hash = "sha256-HuV1jFSFvb/Ji150rVIvHrPLY3167W9/9xNnI81k9B8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
pnpmDeps = pnpm.fetchDeps {
|
pnpmDeps = pnpm.fetchDeps {
|
||||||
inherit (finalAttrs) pname version src;
|
inherit (finalAttrs) pname version src;
|
||||||
hash = "sha256-t5omzz6y8lVFGAuhtc+HF5gwu4Ntt/dxml+nWysEpVs=";
|
hash = "sha256-uN4rB/S/uoqR+qj7T/TGtU+3PRGagYVfx51nn6U8sdo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper python3 nodejs pnpm.configHook ]
|
nativeBuildInputs = [ makeWrapper python3 nodejs pnpm.configHook ]
|
||||||
|
@ -11,8 +11,6 @@ in
|
|||||||
|
|
||||||
acm-terminal = callPackage ./manual-packages/acm-terminal { };
|
acm-terminal = callPackage ./manual-packages/acm-terminal { };
|
||||||
|
|
||||||
agda-input = callPackage ./manual-packages/agda-input { };
|
|
||||||
|
|
||||||
agda2-mode = callPackage ./manual-packages/agda2-mode { };
|
agda2-mode = callPackage ./manual-packages/agda2-mode { };
|
||||||
|
|
||||||
cask = callPackage ./manual-packages/cask { };
|
cask = callPackage ./manual-packages/cask { };
|
||||||
@ -118,6 +116,7 @@ in
|
|||||||
}
|
}
|
||||||
### Aliases
|
### Aliases
|
||||||
// lib.optionalAttrs pkgs.config.allowAliases {
|
// lib.optionalAttrs pkgs.config.allowAliases {
|
||||||
|
agda-input = throw "emacsPackages.agda-input is contained in emacsPackages.agda2-mode, please use that instead."; # Added 2024-07-17
|
||||||
ess-R-object-popup = throw "emacsPackages.ess-R-object-popup was deleted, since the upstream repo looks abandoned."; # Added 2024-07-15
|
ess-R-object-popup = throw "emacsPackages.ess-R-object-popup was deleted, since the upstream repo looks abandoned."; # Added 2024-07-15
|
||||||
ghc-mod = throw "emacsPackages.ghc-mod was deleted because it is deprecated, use haskell-language-server instead."; # Added 2024-07-17
|
ghc-mod = throw "emacsPackages.ghc-mod was deleted because it is deprecated, use haskell-language-server instead."; # Added 2024-07-17
|
||||||
haskell-unicode-input-method = throw "emacsPackages.haskell-unicode-input-method is contained in emacsPackages.haskell-mode, please use that instead."; # Added 2024-07-17
|
haskell-unicode-input-method = throw "emacsPackages.haskell-unicode-input-method is contained in emacsPackages.haskell-mode, please use that instead."; # Added 2024-07-17
|
||||||
|
@ -1,18 +0,0 @@
|
|||||||
{ trivialBuild
|
|
||||||
, haskellPackages
|
|
||||||
}:
|
|
||||||
|
|
||||||
trivialBuild {
|
|
||||||
pname = "agda-input";
|
|
||||||
|
|
||||||
inherit (haskellPackages.Agda) src version;
|
|
||||||
|
|
||||||
postUnpack = ''
|
|
||||||
mv $sourceRoot/src/data/emacs-mode/agda-input.el $sourceRoot
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
inherit (haskellPackages.Agda.meta) homepage license;
|
|
||||||
description = "Standalone package providing the agda-input method without building Agda";
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,29 +1,15 @@
|
|||||||
{ trivialBuild
|
{ melpaBuild, haskellPackages }:
|
||||||
, haskellPackages
|
|
||||||
}:
|
|
||||||
let
|
let
|
||||||
Agda = haskellPackages.Agda.bin;
|
Agda = haskellPackages.Agda;
|
||||||
in
|
in
|
||||||
trivialBuild {
|
melpaBuild {
|
||||||
pname = "agda-mode";
|
pname = "agda2-mode";
|
||||||
version = Agda.version;
|
inherit (Agda) src version;
|
||||||
|
|
||||||
dontUnpack = true;
|
files = ''("src/data/emacs-mode/*.el")'';
|
||||||
|
|
||||||
# already byte-compiled by Agda builder
|
|
||||||
buildPhase = ''
|
|
||||||
agda=`${Agda}/bin/agda-mode locate`
|
|
||||||
cp `dirname $agda`/*.el* .
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
inherit (Agda.meta) homepage license;
|
inherit (Agda.meta) homepage license;
|
||||||
description = "Agda2-mode for Emacs extracted from Agda package";
|
description = "Agda2-mode for Emacs extracted from Agda package";
|
||||||
longDescription = ''
|
|
||||||
Wrapper packages that liberates init.el from `agda-mode locate` magic.
|
|
||||||
Simply add this to user profile or systemPackages and do `(require
|
|
||||||
'agda2)` in init.el.
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,22 +1,21 @@
|
|||||||
{ fetchFromGitHub, melpaBuild, pkgs, lib, substituteAll, writeText }:
|
{
|
||||||
|
fetchFromGitHub,
|
||||||
|
melpaBuild,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
substituteAll,
|
||||||
|
}:
|
||||||
|
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "codeium";
|
pname = "codeium";
|
||||||
version = "1.6.13";
|
version = "1.6.13";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Exafunction";
|
owner = "Exafunction";
|
||||||
repo = "codeium.el";
|
repo = "codeium.el";
|
||||||
rev = "1.6.13";
|
rev = "1.6.13";
|
||||||
hash = "sha256-CjT21GhryO8/iM0Uzm/s/I32WqVo4M3tSlHC06iEDXA=";
|
hash = "sha256-CjT21GhryO8/iM0Uzm/s/I32WqVo4M3tSlHC06iEDXA=";
|
||||||
};
|
};
|
||||||
commit = "02f9382c925633a19dc928e99b868fd5f6947e58";
|
|
||||||
buildInputs = [ pkgs.codeium ];
|
|
||||||
|
|
||||||
recipe = writeText "recipe" ''
|
|
||||||
(codeium
|
|
||||||
:repo "Exafunction/codeium.el"
|
|
||||||
:fetcher github)
|
|
||||||
'';
|
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
(substituteAll {
|
(substituteAll {
|
||||||
|
@ -1,33 +1,37 @@
|
|||||||
{
|
{
|
||||||
|
lib,
|
||||||
dash,
|
dash,
|
||||||
editorconfig,
|
editorconfig,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
nodejs,
|
nodejs,
|
||||||
s,
|
s,
|
||||||
trivialBuild,
|
melpaBuild,
|
||||||
}:
|
}:
|
||||||
trivialBuild {
|
melpaBuild {
|
||||||
pname = "copilot";
|
pname = "copilot";
|
||||||
version = "0-unstable-2023-12-26";
|
version = "0-unstable-2023-12-26";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "zerolfx";
|
owner = "zerolfx";
|
||||||
repo = "copilot.el";
|
repo = "copilot.el";
|
||||||
rev = "d4fa14cea818e041b4a536c5052cf6d28c7223d7";
|
rev = "d4fa14cea818e041b4a536c5052cf6d28c7223d7";
|
||||||
sha256 = "sha256-Tzs0Dawqa+OD0RSsf66ORbH6MdBp7BMXX7z+5UuNwq4=";
|
sha256 = "sha256-Tzs0Dawqa+OD0RSsf66ORbH6MdBp7BMXX7z+5UuNwq4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
files = ''(:defaults "dist")'';
|
||||||
|
|
||||||
packageRequires = [
|
packageRequires = [
|
||||||
dash
|
dash
|
||||||
editorconfig
|
editorconfig
|
||||||
nodejs
|
|
||||||
s
|
s
|
||||||
];
|
];
|
||||||
postInstall = ''
|
|
||||||
cp -r $src/dist $LISPDIR
|
propagatedUserEnvPkgs = [ nodejs ];
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Unofficial copilot plugin for Emacs";
|
description = "Unofficial copilot plugin for Emacs";
|
||||||
homepage = "https://github.com/zerolfx/copilot.el";
|
homepage = "https://github.com/zerolfx/copilot.el";
|
||||||
|
license = lib.licenses.mit;
|
||||||
platforms = [
|
platforms = [
|
||||||
"x86_64-darwin"
|
"x86_64-darwin"
|
||||||
"x86_64-linux"
|
"x86_64-linux"
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
lib,
|
lib,
|
||||||
melpaBuild,
|
melpaBuild,
|
||||||
fetchzip,
|
fetchzip,
|
||||||
writeText,
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
melpaBuild rec {
|
melpaBuild rec {
|
||||||
@ -14,15 +13,6 @@ melpaBuild rec {
|
|||||||
hash = "sha256-GFEDWT88Boz/DxEcmFgf7u2NOoMjAN05yRiYwoYtvXc=";
|
hash = "sha256-GFEDWT88Boz/DxEcmFgf7u2NOoMjAN05yRiYwoYtvXc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# not used but needs to be set; why?
|
|
||||||
commit = "a643f177b58aa8869f2f24814e990320aa4f0f96";
|
|
||||||
|
|
||||||
recipe = writeText "recipe" ''
|
|
||||||
(ebuild-mode
|
|
||||||
:url "https://gitweb.gentoo.org/proj/ebuild-mode.git"
|
|
||||||
:fetcher git)
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://gitweb.gentoo.org/proj/ebuild-mode.git/";
|
homepage = "https://gitweb.gentoo.org/proj/ebuild-mode.git/";
|
||||||
description = "Major modes for Gentoo package files";
|
description = "Major modes for Gentoo package files";
|
||||||
|
@ -1,57 +1,32 @@
|
|||||||
{ lib
|
{
|
||||||
, melpaBuild
|
lib,
|
||||||
, fetchFromGitHub
|
melpaBuild,
|
||||||
, writeText
|
fetchFromGitHub,
|
||||||
, writeScript
|
gzip,
|
||||||
, gzip
|
unstableGitUpdater,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
|
||||||
rev = "a6c849619abcdd80dc82ec5417195414ad438fa3";
|
|
||||||
in
|
|
||||||
melpaBuild {
|
melpaBuild {
|
||||||
pname = "edraw";
|
pname = "edraw";
|
||||||
version = "20240701.444";
|
version = "1.2.0-unstable-2024-07-01";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "misohena";
|
owner = "misohena";
|
||||||
repo = "el-easydraw";
|
repo = "el-easydraw";
|
||||||
inherit rev;
|
rev = "a6c849619abcdd80dc82ec5417195414ad438fa3";
|
||||||
hash = "sha256-CbcI1mmghc3HObg80bjScVDcJ1DHx9aX1WP2HlhAshs=";
|
hash = "sha256-CbcI1mmghc3HObg80bjScVDcJ1DHx9aX1WP2HlhAshs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
commit = rev;
|
propagatedUserEnvPkgs = [ gzip ];
|
||||||
|
|
||||||
packageRequires = [ gzip ];
|
files = ''(:defaults "msg")'';
|
||||||
|
|
||||||
recipe = writeText "recipe" ''
|
passthru.updateScript = unstableGitUpdater { tagPrefix = "v"; };
|
||||||
(edraw
|
|
||||||
:repo "misohena/el-easydraw"
|
|
||||||
:fetcher github
|
|
||||||
:files
|
|
||||||
("*.el"
|
|
||||||
"msg"))
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru.updateScript = writeScript "update.sh" ''
|
|
||||||
#!/usr/bin/env nix-shell
|
|
||||||
#!nix-shell -i bash -p common-updater-scripts coreutils git gnused
|
|
||||||
set -eu -o pipefail
|
|
||||||
tmpdir="$(mktemp -d)"
|
|
||||||
git clone --depth=1 https://github.com/misohena/el-easydraw.git "$tmpdir"
|
|
||||||
pushd "$tmpdir"
|
|
||||||
commit=$(git show -s --pretty='format:%H')
|
|
||||||
# Based on: https://github.com/melpa/melpa/blob/2d8716906a0c9e18d6c979d8450bf1d15dd785eb/package-build/package-build.el#L523-L533
|
|
||||||
version=$(TZ=UTC git show -s --pretty='format:%cd' --date='format-local:%Y%m%d.%H%M' | sed 's|\.0*|.|')
|
|
||||||
popd
|
|
||||||
update-source-version emacsPackages.el-easydraw $version --rev="$commit"
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://github.com/misohena/el-easydraw";
|
homepage = "https://github.com/misohena/el-easydraw";
|
||||||
description = "Embedded drawing tool for Emacs";
|
description = "Embedded drawing tool for Emacs";
|
||||||
license = lib.licenses.gpl3;
|
license = lib.licenses.gpl3;
|
||||||
maintainers = with lib.maintainers; [ brahyerr ];
|
maintainers = with lib.maintainers; [ brahyerr ];
|
||||||
platforms = lib.platforms.all;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,20 @@
|
|||||||
{ lib
|
{
|
||||||
, melpaBuild
|
lib,
|
||||||
, fetchFromGitHub
|
melpaBuild,
|
||||||
, pkg-config
|
fetchFromGitHub,
|
||||||
, libffi
|
pkg-config,
|
||||||
, writeText
|
libffi,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
melpaBuild {
|
||||||
rev = "da37c516a0e59bdce63fb2dc006a231dee62a1d9";
|
|
||||||
in melpaBuild {
|
|
||||||
pname = "elisp-ffi";
|
pname = "elisp-ffi";
|
||||||
version = "20170518.0";
|
version = "1.0.0-unstable-2017-05-18";
|
||||||
|
|
||||||
commit = rev;
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "skeeto";
|
owner = "skeeto";
|
||||||
repo = "elisp-ffi";
|
repo = "elisp-ffi";
|
||||||
inherit rev;
|
rev = "da37c516a0e59bdce63fb2dc006a231dee62a1d9";
|
||||||
sha256 = "sha256-StOezQEnNTjRmjY02ub5FRh59aL6gWfw+qgboz0wF94=";
|
hash = "sha256-StOezQEnNTjRmjY02ub5FRh59aL6gWfw+qgboz0wF94=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
@ -28,20 +24,16 @@ in melpaBuild {
|
|||||||
preBuild = ''
|
preBuild = ''
|
||||||
mv ffi.el elisp-ffi.el
|
mv ffi.el elisp-ffi.el
|
||||||
make
|
make
|
||||||
'';
|
|
||||||
|
|
||||||
recipe = writeText "recipe" ''
|
|
||||||
(elisp-ffi :repo "skeeto/elisp-ffi" :fetcher github)
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Emacs Lisp Foreign Function Interface";
|
description = "Emacs Lisp Foreign Function Interface";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
This library provides an FFI for Emacs Lisp so that Emacs
|
This library provides an FFI for Emacs Lisp so that Emacs
|
||||||
programs can invoke functions in native libraries. It works by
|
programs can invoke functions in native libraries. It works by
|
||||||
driving a subprocess to do the heavy lifting, passing result
|
driving a subprocess to do the heavy lifting, passing result
|
||||||
values on to Emacs.
|
values on to Emacs.
|
||||||
'';
|
'';
|
||||||
license = lib.licenses.publicDomain;
|
license = lib.licenses.unlicense;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,46 +1,42 @@
|
|||||||
{ lib
|
{
|
||||||
, melpaBuild
|
lib,
|
||||||
, fetchFromGitHub
|
melpaBuild,
|
||||||
, fetchpatch
|
fetchFromGitHub,
|
||||||
, writeText
|
fetchpatch,
|
||||||
# Emacs packages
|
# Emacs packages
|
||||||
, _map
|
_map,
|
||||||
, a
|
a,
|
||||||
, anaphora
|
anaphora,
|
||||||
, cl-lib
|
cl-lib,
|
||||||
, dash
|
dash,
|
||||||
, dash-functional
|
dash-functional,
|
||||||
, esxml
|
esxml,
|
||||||
, f
|
f,
|
||||||
, frame-purpose
|
frame-purpose,
|
||||||
, ht
|
ht,
|
||||||
, ov
|
ov,
|
||||||
, rainbow-identifiers
|
rainbow-identifiers,
|
||||||
, request
|
request,
|
||||||
, s
|
s,
|
||||||
, tracking
|
tracking,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
melpaBuild {
|
||||||
rev = "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed";
|
|
||||||
in melpaBuild {
|
|
||||||
pname = "matrix-client";
|
pname = "matrix-client";
|
||||||
version = "0.3.0";
|
version = "0.3.0";
|
||||||
|
|
||||||
commit = rev;
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "alphapapa";
|
owner = "alphapapa";
|
||||||
repo = "matrix-client.el";
|
repo = "matrix-client.el";
|
||||||
inherit rev;
|
rev = "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed";
|
||||||
sha256 = "1scfv1502yg7x4bsl253cpr6plml1j4d437vci2ggs764sh3rcqq";
|
hash = "sha256-GLM8oCbm6PdEZPsM0ogMtNJr8mWjCKoX6ed5AUrYjuk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
# Fix: avatar loading when imagemagick support is not available
|
# Fix: avatar loading when imagemagick support is not available
|
||||||
(fetchpatch {
|
(fetchpatch {
|
||||||
url = "https://github.com/alphapapa/matrix-client.el/commit/5f49e615c7cf2872f48882d3ee5c4a2bff117d07.patch";
|
url = "https://github.com/alphapapa/matrix-client.el/commit/5f49e615c7cf2872f48882d3ee5c4a2bff117d07.patch";
|
||||||
sha256 = "07bvid7s1nv1377p5n61q46yww3m1w6bw4vnd4iyayw3fby1lxbm";
|
hash = "sha256-dXUa/HKDe+UjaXYTvgwPdXDuDcHB2HLPGWHboE+Lex0=";
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -62,10 +58,6 @@ in melpaBuild {
|
|||||||
tracking
|
tracking
|
||||||
];
|
];
|
||||||
|
|
||||||
recipe = writeText "recipe" ''
|
|
||||||
(matrix-client :repo "alphapapa/matrix-client.el" :fetcher github)
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Chat client and API wrapper for Matrix.org";
|
description = "Chat client and API wrapper for Matrix.org";
|
||||||
license = lib.licenses.gpl3Plus;
|
license = lib.licenses.gpl3Plus;
|
||||||
|
@ -1,22 +1,22 @@
|
|||||||
{ lib
|
{
|
||||||
, stdenv
|
lib,
|
||||||
, trivialBuild
|
stdenv,
|
||||||
, fetchFromGitHub
|
melpaBuild,
|
||||||
, emacs
|
fetchFromGitHub,
|
||||||
, hydra
|
hydra,
|
||||||
, ivy
|
ivy,
|
||||||
, pkg-config
|
pkg-config,
|
||||||
, tclap
|
tclap,
|
||||||
, xapian
|
xapian,
|
||||||
# Include pre-configured hydras
|
# Include pre-configured hydras
|
||||||
, withHydra ? false
|
withHydra ? false,
|
||||||
# Include Ivy integration
|
# Include Ivy integration
|
||||||
, withIvy ? false
|
withIvy ? false,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
pname = "notdeft";
|
pname = "notdeft";
|
||||||
version = "20211204.0846";
|
version = "0-unstable-2021-12-04";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "hasu";
|
owner = "hasu";
|
||||||
@ -32,7 +32,11 @@ let
|
|||||||
|
|
||||||
sourceRoot = "${src.name}/xapian";
|
sourceRoot = "${src.name}/xapian";
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config tclap xapian ];
|
nativeBuildInputs = [
|
||||||
|
pkg-config
|
||||||
|
tclap
|
||||||
|
xapian
|
||||||
|
];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
@ -44,11 +48,10 @@ let
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
trivialBuild {
|
melpaBuild {
|
||||||
inherit pname version src;
|
inherit pname version src;
|
||||||
packageRequires = lib.optional withHydra hydra
|
|
||||||
++ lib.optional withIvy ivy;
|
packageRequires = lib.optional withHydra hydra ++ lib.optional withIvy ivy;
|
||||||
buildInputs = [ xapian ];
|
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace notdeft-xapian.el \
|
substituteInPlace notdeft-xapian.el \
|
||||||
@ -56,20 +59,18 @@ trivialBuild {
|
|||||||
"defcustom notdeft-xapian-program \"${notdeft-xapian}/bin/notdeft-xapian\""
|
"defcustom notdeft-xapian-program \"${notdeft-xapian}/bin/notdeft-xapian\""
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Extra modules are contained in the extras/ directory
|
files = ''
|
||||||
preBuild = lib.optionalString withHydra ''
|
(:defaults
|
||||||
mv extras/notdeft-{mode-hydra,global-hydra}.el ./
|
${lib.optionalString withHydra ''"extras/notdeft-global-hydra.el"''}
|
||||||
'' +
|
${lib.optionalString withHydra ''"extras/notdeft-mode-hydra.el"''}
|
||||||
lib.optionalString withIvy ''
|
${lib.optionalString withIvy ''"extras/notdeft-ivy.el"''})
|
||||||
mv extras/notdeft-ivy.el ./
|
|
||||||
'' + ''
|
|
||||||
rm -r extras/
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = {
|
||||||
homepage = "https://tero.hasu.is/notdeft/";
|
homepage = "https://tero.hasu.is/notdeft/";
|
||||||
description = "Fork of Deft that uses Xapian as a search engine";
|
description = "Fork of Deft that uses Xapian as a search engine";
|
||||||
maintainers = [ maintainers.nessdoor ];
|
maintainers = [ lib.maintainers.nessdoor ];
|
||||||
platforms = platforms.linux;
|
license = lib.licenses.bsd3;
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,31 +1,23 @@
|
|||||||
{ lib
|
{
|
||||||
, fetchFromGitHub
|
lib,
|
||||||
, melpaBuild
|
fetchFromGitHub,
|
||||||
, js2-mode
|
melpaBuild,
|
||||||
, writeText
|
js2-mode,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
melpaBuild {
|
||||||
rev = "5283ca7403bcb21ca0cac8ecb063600752dfd9d4";
|
|
||||||
in melpaBuild {
|
|
||||||
pname = "prisma-mode";
|
pname = "prisma-mode";
|
||||||
version = "20211207.0";
|
version = "0-unstable-2021-12-07";
|
||||||
|
|
||||||
commit = rev;
|
|
||||||
|
|
||||||
packageRequires = [ js2-mode ];
|
packageRequires = [ js2-mode ];
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pimeys";
|
owner = "pimeys";
|
||||||
repo = "emacs-prisma-mode";
|
repo = "emacs-prisma-mode";
|
||||||
inherit rev;
|
rev = "5283ca7403bcb21ca0cac8ecb063600752dfd9d4";
|
||||||
sha256 = "sha256-DJJfjbu27Gi7Nzsa1cdi8nIQowKH8ZxgQBwfXLB0Q/I=";
|
hash = "sha256-DJJfjbu27Gi7Nzsa1cdi8nIQowKH8ZxgQBwfXLB0Q/I=";
|
||||||
};
|
};
|
||||||
|
|
||||||
recipe = writeText "recipe" ''
|
|
||||||
(prisma-mode :repo "pimeys/emacs-prisma-mode" :fetcher github)
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Major mode for Prisma Schema Language";
|
description = "Major mode for Prisma Schema Language";
|
||||||
license = lib.licenses.gpl2Only;
|
license = lib.licenses.gpl2Only;
|
||||||
|
@ -1,14 +1,24 @@
|
|||||||
{ lib, trivialBuild, fetchurl }:
|
{
|
||||||
|
lib,
|
||||||
|
melpaBuild,
|
||||||
|
fetchurl,
|
||||||
|
}:
|
||||||
|
|
||||||
trivialBuild {
|
melpaBuild {
|
||||||
pname = "prolog-mode";
|
pname = "prolog-mode";
|
||||||
|
ename = "prolog";
|
||||||
version = "1.28";
|
version = "1.28";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://bruda.ca/_media/emacs/prolog.el";
|
url = "https://bruda.ca/_media/emacs/prolog.el";
|
||||||
sha256 = "ZzIDFQWPq1vI9z3btgsHgn0axN6uRQn9Tt8TnqGybOk=";
|
hash = "sha256-ZzIDFQWPq1vI9z3btgsHgn0axN6uRQn9Tt8TnqGybOk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace prolog.el \
|
||||||
|
--replace-fail ";; prolog.el ---" ";;; prolog.el ---"
|
||||||
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://bruda.ca/emacs/prolog_mode_for_emacs/";
|
homepage = "https://bruda.ca/emacs/prolog_mode_for_emacs/";
|
||||||
description = "Prolog mode for Emacs";
|
description = "Prolog mode for Emacs";
|
||||||
|
@ -3,9 +3,6 @@
|
|||||||
, melpaBuild
|
, melpaBuild
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, rustPlatform
|
, rustPlatform
|
||||||
, writeText
|
|
||||||
, clang
|
|
||||||
, llvmPackages
|
|
||||||
|
|
||||||
, runtimeShell
|
, runtimeShell
|
||||||
, writeScript
|
, writeScript
|
||||||
@ -26,15 +23,8 @@ let
|
|||||||
inherit version;
|
inherit version;
|
||||||
|
|
||||||
pname = "tsc";
|
pname = "tsc";
|
||||||
commit = version;
|
|
||||||
|
|
||||||
sourceRoot = "${src.name}/core";
|
sourceRoot = "${src.name}/core";
|
||||||
|
|
||||||
recipe = writeText "recipe" ''
|
|
||||||
(tsc
|
|
||||||
:repo "emacs-tree-sitter/elisp-tree-sitter"
|
|
||||||
:fetcher github)
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
tsc-dyn = rustPlatform.buildRustPackage {
|
tsc-dyn = rustPlatform.buildRustPackage {
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
{ lib
|
{
|
||||||
, trivialBuild
|
lib,
|
||||||
, urweb
|
melpaBuild,
|
||||||
, cl-lib
|
urweb,
|
||||||
, flycheck
|
cl-lib,
|
||||||
|
flycheck,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
trivialBuild {
|
melpaBuild {
|
||||||
pname = "urweb-mode";
|
pname = "urweb-mode";
|
||||||
|
|
||||||
inherit (urweb) src version;
|
inherit (urweb) src version;
|
||||||
@ -15,9 +16,9 @@ trivialBuild {
|
|||||||
flycheck
|
flycheck
|
||||||
];
|
];
|
||||||
|
|
||||||
postUnpack = ''
|
files = ''("src/elisp/*.el")'';
|
||||||
sourceRoot=$sourceRoot/src/elisp
|
|
||||||
'';
|
dontConfigure = true;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Major mode for editing Ur/Web";
|
description = "Major mode for editing Ur/Web";
|
||||||
|
@ -1814,6 +1814,23 @@ let
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fill-labs.dependi = buildVscodeMarketplaceExtension {
|
||||||
|
mktplcRef = {
|
||||||
|
name = "dependi";
|
||||||
|
publisher = "fill-labs";
|
||||||
|
version = "0.7.2";
|
||||||
|
hash = "sha256-S3R1oLk7facP5Rn9czmHlffhMtLNrSaGYbaU3/x6/aM=";
|
||||||
|
};
|
||||||
|
meta = {
|
||||||
|
changelog = "https://marketplace.visualstudio.com/items/fill-labs.dependi/changelog";
|
||||||
|
description = "VSCode extension for managing dependencies and address vulnerabilities in Rust, Go, JavaScript, and Python projects";
|
||||||
|
downloadPage = "https://marketplace.visualstudio.com/items?itemName=fill-labs.dependi";
|
||||||
|
homepage = "https://github.com/filllabs/dependi";
|
||||||
|
license = lib.licenses.unfree;
|
||||||
|
maintainers = [ lib.maintainers._21CSM ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
firefox-devtools.vscode-firefox-debug = buildVscodeMarketplaceExtension {
|
firefox-devtools.vscode-firefox-debug = buildVscodeMarketplaceExtension {
|
||||||
mktplcRef = {
|
mktplcRef = {
|
||||||
name = "vscode-firefox-debug";
|
name = "vscode-firefox-debug";
|
||||||
|
@ -121,8 +121,6 @@ make_trapped_tmpdir
|
|||||||
find "$monoRuntimeBinaries_storePath" -mindepth 1 -maxdepth 1 | xargs -d '\n' cp -rp -t "$tmpDir"
|
find "$monoRuntimeBinaries_storePath" -mindepth 1 -maxdepth 1 | xargs -d '\n' cp -rp -t "$tmpDir"
|
||||||
chmod -R a+rwx "$tmpDir"
|
chmod -R a+rwx "$tmpDir"
|
||||||
|
|
||||||
ls -la "$tmpDir/debugAdapters"
|
|
||||||
|
|
||||||
patchelf_mono "$tmpDir/debugAdapters/mono.linux-x86_64"
|
patchelf_mono "$tmpDir/debugAdapters/mono.linux-x86_64"
|
||||||
|
|
||||||
chmod a+x "$tmpDir/debugAdapters/mono.linux-x86_64"
|
chmod a+x "$tmpDir/debugAdapters/mono.linux-x86_64"
|
||||||
@ -141,8 +139,6 @@ make_trapped_tmpdir
|
|||||||
find "$clanFormatBinaries_storePath" -mindepth 1 -maxdepth 1 | xargs -d '\n' cp -rp -t "$tmpDir"
|
find "$clanFormatBinaries_storePath" -mindepth 1 -maxdepth 1 | xargs -d '\n' cp -rp -t "$tmpDir"
|
||||||
chmod -R a+rwx "$tmpDir"
|
chmod -R a+rwx "$tmpDir"
|
||||||
|
|
||||||
ls -la "$tmpDir/bin"
|
|
||||||
|
|
||||||
patchelf_clangformat "$tmpDir/bin/clang-format"
|
patchelf_clangformat "$tmpDir/bin/clang-format"
|
||||||
|
|
||||||
chmod a+x "$tmpDir/bin/clang-format"
|
chmod a+x "$tmpDir/bin/clang-format"
|
||||||
|
@ -72,14 +72,14 @@ in
|
|||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
pname = "azuredatastudio";
|
pname = "azuredatastudio";
|
||||||
version = "1.44.1";
|
version = "1.48.1";
|
||||||
|
|
||||||
desktopItems = [ desktopItem urlHandlerDesktopItem ];
|
desktopItems = [ desktopItem urlHandlerDesktopItem ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
name = "${pname}-${version}.tar.gz";
|
name = "${pname}-${version}.tar.gz";
|
||||||
url = "https://azuredatastudio-update.azurewebsites.net/${version}/linux-x64/stable";
|
url = "https://azuredatastudio-update.azurewebsites.net/${version}/linux-x64/stable";
|
||||||
sha256 = "sha256-6kEV331kt+/7/uWKZmTTkJX4P06CfxC8Ogq052qlUEg=";
|
sha256 = "sha256-JDNdMy0Wk6v2pMKS+NzSbsrffaEG2IneZO+K9pBFX48=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -122,7 +122,7 @@ stdenv.mkDerivation rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
# this will most likely need to be updated when azuredatastudio's version changes
|
# this will most likely need to be updated when azuredatastudio's version changes
|
||||||
sqltoolsservicePath = "${targetPath}/resources/app/extensions/mssql/sqltoolsservice/Linux/4.7.1.6";
|
sqltoolsservicePath = "${targetPath}/resources/app/extensions/mssql/sqltoolsservice/Linux/4.11.1.1";
|
||||||
|
|
||||||
rpath = lib.concatStringsSep ":" [
|
rpath = lib.concatStringsSep ":" [
|
||||||
(lib.makeLibraryPath [
|
(lib.makeLibraryPath [
|
||||||
|
@ -2,15 +2,15 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "istioctl";
|
pname = "istioctl";
|
||||||
version = "1.22.2";
|
version = "1.22.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "istio";
|
owner = "istio";
|
||||||
repo = "istio";
|
repo = "istio";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-tw9G7VhrBMdSbZ4ZZgMlKEDfhZE5dSPd2HUgfkDA8vo=";
|
hash = "sha256-rtvuGIcjarIc4PmBXM3s/XbMQp/wlU1FhHb1lmXE2go=";
|
||||||
};
|
};
|
||||||
vendorHash = "sha256-Fso55G5j8MUQSqhCr6BT8epwgV1NznQXkPPQFL9TZFw=";
|
vendorHash = "sha256-0F4GIOT/YUzLLhD9HzNJpGSgfMALiEPAb4vtmLmI+Qs=";
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "errbot";
|
pname = "errbot";
|
||||||
version = "6.1.9";
|
version = "6.2.0";
|
||||||
|
|
||||||
format = "setuptools";
|
format = "setuptools";
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||||||
owner = "errbotio";
|
owner = "errbotio";
|
||||||
repo = "errbot";
|
repo = "errbot";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-BmHChLWWnrtg0p4WH8bANwpo+p4RTwjYbXfyPnz6mp8=";
|
hash = "sha256-UdqzBrlcb9NkuVo8ChADJmaKevadoGLyZUrckStb5ko=";
|
||||||
};
|
};
|
||||||
|
|
||||||
pythonRelaxDeps = true;
|
pythonRelaxDeps = true;
|
||||||
@ -52,6 +52,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||||||
"test_backup"
|
"test_backup"
|
||||||
"test_broken_plugin"
|
"test_broken_plugin"
|
||||||
"test_plugin_cycle"
|
"test_plugin_cycle"
|
||||||
|
"test_entrypoint_paths"
|
||||||
];
|
];
|
||||||
|
|
||||||
pythonImportsCheck = [ "errbot" ];
|
pythonImportsCheck = [ "errbot" ];
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
, withNgspice ? !stdenv.isDarwin
|
, withNgspice ? !stdenv.isDarwin
|
||||||
, libngspice
|
, libngspice
|
||||||
, withScripting ? true
|
, withScripting ? true
|
||||||
, python3
|
, python311
|
||||||
, addons ? [ ]
|
, addons ? [ ]
|
||||||
, debug ? false
|
, debug ? false
|
||||||
, sanitizeAddress ? false
|
, sanitizeAddress ? false
|
||||||
@ -122,10 +122,14 @@ let
|
|||||||
else versionsImport.${baseName}.libVersion.version;
|
else versionsImport.${baseName}.libVersion.version;
|
||||||
|
|
||||||
wxGTK = wxGTK32;
|
wxGTK = wxGTK32;
|
||||||
python = python3;
|
# KiCAD depends on wxWidgets, which uses distutils (removed in Python 3.12)
|
||||||
|
# See also: https://github.com/wxWidgets/Phoenix/issues/2104
|
||||||
|
# Eventually, wxWidgets should support Python 3.12: https://github.com/wxWidgets/Phoenix/issues/2553
|
||||||
|
# Until then, we use Python 3.11 which still includes distutils
|
||||||
|
python = python311;
|
||||||
wxPython = python.pkgs.wxpython;
|
wxPython = python.pkgs.wxpython;
|
||||||
addonPath = "addon.zip";
|
addonPath = "addon.zip";
|
||||||
addonsDrvs = map (pkg: pkg.override { inherit addonPath python3; }) addons;
|
addonsDrvs = map (pkg: pkg.override { inherit addonPath python; }) addons;
|
||||||
|
|
||||||
addonsJoined =
|
addonsJoined =
|
||||||
runCommand "addonsJoined"
|
runCommand "addonsJoined"
|
||||||
@ -157,7 +161,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
# Common libraries, referenced during runtime, via the wrapper.
|
# Common libraries, referenced during runtime, via the wrapper.
|
||||||
passthru.libraries = callPackages ./libraries.nix { inherit libSrc; };
|
passthru.libraries = callPackages ./libraries.nix { inherit libSrc; };
|
||||||
passthru.callPackage = newScope { inherit addonPath python3; };
|
passthru.callPackage = newScope { inherit addonPath python; };
|
||||||
base = callPackage ./base.nix {
|
base = callPackage ./base.nix {
|
||||||
inherit stable testing baseName;
|
inherit stable testing baseName;
|
||||||
inherit kicadSrc kicadVersion;
|
inherit kicadSrc kicadVersion;
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, bison
|
, bison
|
||||||
, flex
|
, flex
|
||||||
, verilog
|
, iverilog
|
||||||
, which
|
, which
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
|||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
verilog
|
iverilog
|
||||||
];
|
];
|
||||||
|
|
||||||
# the "translate" target both (a) builds the software and (b) runs
|
# the "translate" target both (a) builds the software and (b) runs
|
||||||
|
1966
pkgs/applications/version-management/git-backup/Cargo.lock
generated
1966
pkgs/applications/version-management/git-backup/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -1,34 +0,0 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, Security }:
|
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
|
||||||
pname = "git-backup";
|
|
||||||
version = "0.2.0";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "jsdw";
|
|
||||||
repo = pname;
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "0h31j8clvk4gkw4mgva9p0ypf26zhf7f0y564fdmzyw6rsz9wzcj";
|
|
||||||
};
|
|
||||||
|
|
||||||
cargoLock = {
|
|
||||||
lockFile = ./Cargo.lock;
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
|
||||||
|
|
||||||
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
|
|
||||||
|
|
||||||
# update Cargo.lock to work with openssl 3
|
|
||||||
postPatch = ''
|
|
||||||
ln -sf ${./Cargo.lock} Cargo.lock
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
homepage = "https://github.com/jsdw/git-backup";
|
|
||||||
description = "Tool to help you backup your git repositories from services like GitHub";
|
|
||||||
license = licenses.mit;
|
|
||||||
maintainers = with maintainers; [ cafkafk ];
|
|
||||||
mainProgram = "git-backup";
|
|
||||||
};
|
|
||||||
}
|
|
@ -10,7 +10,7 @@
|
|||||||
# Usage: `pkgs.mpv.override { scripts = [ pkgs.mpvScripts.sponsorblock ]; }`
|
# Usage: `pkgs.mpv.override { scripts = [ pkgs.mpvScripts.sponsorblock ]; }`
|
||||||
buildLua {
|
buildLua {
|
||||||
pname = "mpv_sponsorblock";
|
pname = "mpv_sponsorblock";
|
||||||
version = "unstable-2023-01-30";
|
version = "0-unstable-2023-01-30";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "po5";
|
owner = "po5";
|
||||||
|
@ -9,14 +9,14 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "waveform";
|
pname = "waveform";
|
||||||
version = "1.8.0";
|
version = "1.8.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
owner = "phandasm";
|
owner = "phandasm";
|
||||||
repo = "waveform";
|
repo = "waveform";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-NcBtj+5X9tPH853a6oXzQCBH26hx8Yt17WjP9ryvgmc=";
|
hash = "sha256-Bg1n1yV4JzNFEXFNayNa1exsSZhmRJ0RLHDjLWmqGZE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
nativeBuildInputs = [ cmake pkg-config ];
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "docker-compose";
|
pname = "docker-compose";
|
||||||
version = "2.28.1";
|
version = "2.29.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "docker";
|
owner = "docker";
|
||||||
repo = "compose";
|
repo = "compose";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-AfWUCgW+aZkedd94uPpfBKKZC1Xvq9wonuCSXGHm774=";
|
hash = "sha256-nyfTVTxdByNccxRn3kyE+75dHWqIGl2PWkIoNo8O6DM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
@ -16,7 +16,7 @@ buildGoModule rec {
|
|||||||
rm -rf e2e/
|
rm -rf e2e/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
vendorHash = "sha256-MykoU0q2cCnY02a52kyg35L4tJ3KZTzA4usf194Wnbw=";
|
vendorHash = "sha256-ACFHejd8EMh2/NfQBLj/DM9ewIgueFtHHFc81Skgkk4=";
|
||||||
|
|
||||||
ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
|
ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
|
||||||
|
|
||||||
|
@ -10,11 +10,11 @@
|
|||||||
}:
|
}:
|
||||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
pname = "tart";
|
pname = "tart";
|
||||||
version = "2.13.0";
|
version = "2.14.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/cirruslabs/tart/releases/download/${finalAttrs.version}/tart-arm64.tar.gz";
|
url = "https://github.com/cirruslabs/tart/releases/download/${finalAttrs.version}/tart-arm64.tar.gz";
|
||||||
hash = "sha256-aR28Q5eQwcEfk65on4kgA+bko6uEThHsgZZU+fExzus=";
|
hash = "sha256-3I4WSdWfPZd//pJiYXKcgpjx8qv4nSeMHHGJE1ja00o=";
|
||||||
};
|
};
|
||||||
sourceRoot = ".";
|
sourceRoot = ".";
|
||||||
|
|
||||||
|
86
pkgs/by-name/br/brainflow/package.nix
Normal file
86
pkgs/by-name/br/brainflow/package.nix
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
fetchpatch,
|
||||||
|
bluez,
|
||||||
|
cmake,
|
||||||
|
dbus,
|
||||||
|
libftdi1,
|
||||||
|
nix-update-script,
|
||||||
|
pkg-config,
|
||||||
|
useLibFTDI ? true,
|
||||||
|
useOpenMP ? true,
|
||||||
|
buildBluetooth ? true,
|
||||||
|
buildBluetoothLowEnergy ? true,
|
||||||
|
buildONNX ? true,
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
|
pname = "brainflow";
|
||||||
|
version = "5.12.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "brainflow-dev";
|
||||||
|
repo = "brainflow";
|
||||||
|
rev = "refs/tags/${finalAttrs.version}";
|
||||||
|
hash = "sha256-haQO03nkvLoXtFVe+C+yi+MwM0CFh6rLcLvU8fQ4k/w=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# All of these are PRs that were merged into the upstream repository and will be included in the next release
|
||||||
|
# These should be removed once the next version is released
|
||||||
|
(fetchpatch {
|
||||||
|
# Fixes a major issue that prevented the build from working at all (why was this not backported???)
|
||||||
|
url = "https://github.com/brainflow-dev/brainflow/commit/883b0cd08acb99d7b6e241e92fba2e9a363d17b1.patch";
|
||||||
|
hash = "sha256-QQd+BI3I65gfaNS/SKLjCoqbCwPCiTh+nh0tJAZM6hQ=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
# Bumps the version of a python dependency that had a backwards-incompatible change
|
||||||
|
url = "https://github.com/brainflow-dev/brainflow/commit/ea23a6f0483ce4d6fdd7a82bace865356ee78d7f.patch";
|
||||||
|
hash = "sha256-dvMpxxRrnJQ9ADGagB1JhuoB9SNwn755wbHzW/3ECeo=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
# Fixes an incorrect use of an environment variable during the build
|
||||||
|
url = "https://github.com/brainflow-dev/brainflow/commit/053b8c1253b686cbec49ab4adb47c9ee02d3f99a.patch";
|
||||||
|
hash = "sha256-Pfhe1ZvMagfVAGZqeWn1uHXgwlTtkOm+gyWuvC5/Sro=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
cmakeFlags = with lib; [
|
||||||
|
(cmakeBool "USE_LIBFTDI" useLibFTDI)
|
||||||
|
(cmakeBool "USE_OPENMP" useOpenMP)
|
||||||
|
(cmakeBool "BUILD_OYMOTION_SDK" false) # Needs a "GFORCE_SDK"
|
||||||
|
(cmakeBool "BUILD_BLUETOOTH" buildBluetooth)
|
||||||
|
(cmakeBool "BUILD_BLE" buildBluetoothLowEnergy)
|
||||||
|
(cmakeBool "BUILD_ONNX" buildONNX)
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs =
|
||||||
|
[ dbus ]
|
||||||
|
++ lib.optional (buildBluetooth || buildBluetoothLowEnergy) bluez
|
||||||
|
++ lib.optional useLibFTDI libftdi1;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
pkg-config
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
find . -type f -name 'build.cmake' -exec \
|
||||||
|
sed -i 's/DESTINATION inc/DESTINATION include/g' {} \;
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.updateScript = nix-update-script { };
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A library to obtain, parse and analyze data (EEG, EMG, ECG) from biosensors";
|
||||||
|
homepage = "https://brainflow.org/";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
maintainers = with lib.maintainers; [
|
||||||
|
pandapip1
|
||||||
|
ziguana
|
||||||
|
];
|
||||||
|
platforms = lib.platforms.all;
|
||||||
|
};
|
||||||
|
})
|
@ -6,7 +6,7 @@
|
|||||||
cargo-shear,
|
cargo-shear,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
version = "1.0.0";
|
version = "1.1.0";
|
||||||
in
|
in
|
||||||
rustPlatform.buildRustPackage {
|
rustPlatform.buildRustPackage {
|
||||||
pname = "cargo-shear";
|
pname = "cargo-shear";
|
||||||
@ -16,10 +16,10 @@ rustPlatform.buildRustPackage {
|
|||||||
owner = "Boshen";
|
owner = "Boshen";
|
||||||
repo = "cargo-shear";
|
repo = "cargo-shear";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-onTVA/VH5GrDYBDGKbWOSFeW1RCzDooh3PJxCD39e1o=";
|
hash = "sha256-D6O8raELxmcv47vaIa7XSmnPNhrsEx8fIpt/n1dp+8Y=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-63792ztjnGcAiFpHTcaI03PV4dQxhOP2eRNda8MWiqc=";
|
cargoHash = "sha256-GpEG6yoRTmnjeC74tz6mq6vbG4hnIWbbijIIos7Ng3Y=";
|
||||||
|
|
||||||
# https://github.com/Boshen/cargo-shear/blob/a0535415a3ea94c86642f39f343f91af5cdc3829/src/lib.rs#L20-L23
|
# https://github.com/Boshen/cargo-shear/blob/a0535415a3ea94c86642f39f343f91af5cdc3829/src/lib.rs#L20-L23
|
||||||
SHEAR_VERSION = version;
|
SHEAR_VERSION = version;
|
||||||
|
@ -1,20 +1,22 @@
|
|||||||
{
|
{
|
||||||
lib,
|
|
||||||
buildGoModule,
|
buildGoModule,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
|
lib,
|
||||||
|
nixosTests,
|
||||||
|
nix-update-script,
|
||||||
}:
|
}:
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "ddns-updater";
|
pname = "ddns-updater";
|
||||||
version = "2.6.0";
|
version = "2.7.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "qdm12";
|
owner = "qdm12";
|
||||||
repo = "ddns-updater";
|
repo = "ddns-updater";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-NU6KXVjggsXVCKImGqbB1AXcph+ycRfkk5S4JNq0cHg=";
|
hash = "sha256-U8Vw7dsj/efqvpooT3QQjNp41AuGYJ/Gz/pA8Em3diE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-Ibrv0m3Tz/5JbkHYmiJ9Ijo37fjHc7TP100K7ZTwO8I=";
|
vendorHash = "sha256-M9Al3zl2Ltv4yWdyRB3+9zpTr3foliu5WweImHltz3M=";
|
||||||
|
|
||||||
ldflags = [
|
ldflags = [
|
||||||
"-s"
|
"-s"
|
||||||
@ -23,6 +25,13 @@ buildGoModule rec {
|
|||||||
|
|
||||||
subPackages = [ "cmd/updater" ];
|
subPackages = [ "cmd/updater" ];
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
tests = {
|
||||||
|
inherit (nixosTests) ddns-updater;
|
||||||
|
};
|
||||||
|
updateScript = nix-update-script { };
|
||||||
|
};
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mv $out/bin/updater $out/bin/ddns-updater
|
mv $out/bin/updater $out/bin/ddns-updater
|
||||||
'';
|
'';
|
||||||
|
@ -5,13 +5,13 @@ rustPlatform.buildRustPackage rec {
|
|||||||
# Since then, `dust` has been freed up, allowing this package to take that attribute.
|
# Since then, `dust` has been freed up, allowing this package to take that attribute.
|
||||||
# However in order for tools like `nix-env` to detect package updates, keep `du-dust` for pname.
|
# However in order for tools like `nix-env` to detect package updates, keep `du-dust` for pname.
|
||||||
pname = "du-dust";
|
pname = "du-dust";
|
||||||
version = "1.0.0";
|
version = "1.1.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bootandy";
|
owner = "bootandy";
|
||||||
repo = "dust";
|
repo = "dust";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-KTsB9QqcLafG2XNj8PdkzwVrFDmpBQzNyDLajT/JDz0=";
|
hash = "sha256-ERcXVLzgurY6vU+exZ5IcM0rPbWrpghDO1m2XwE5i38=";
|
||||||
# Remove unicode file names which leads to different checksums on HFS+
|
# Remove unicode file names which leads to different checksums on HFS+
|
||||||
# vs. other filesystems because of unicode normalisation.
|
# vs. other filesystems because of unicode normalisation.
|
||||||
postFetch = ''
|
postFetch = ''
|
||||||
@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoHash = "sha256-d6Mnuo6JlbuHUGz+UCmC8jvNks3SpeP/aNQGXHBzB+8=";
|
cargoHash = "sha256-ubcfLNiLQ71QcD5YneMD5N1ipsR1GK5GJQ0PrJyv6qI=";
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
|
@ -20,16 +20,18 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "fnott";
|
pname = "fnott";
|
||||||
version = "1.5.0";
|
version = "1.6.0";
|
||||||
|
|
||||||
src = fetchFromGitea {
|
src = fetchFromGitea {
|
||||||
domain = "codeberg.org";
|
domain = "codeberg.org";
|
||||||
owner = "dnkl";
|
owner = "dnkl";
|
||||||
repo = "fnott";
|
repo = "fnott";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-F2Pt3xbWDZZ3s056KU3qLXUrFQ0wT7QYK4GvR7slMYc=";
|
hash = "sha256-out3OZCGZGIIHFZ4t2nN6/3UpsRH9zfw35emexVo4RE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
PKG_CONFIG_DBUS_1_SESSION_BUS_SERVICES_DIR = "${placeholder "out"}/share/dbus-1/services";
|
||||||
|
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
depsBuildBuild = [
|
depsBuildBuild = [
|
||||||
pkg-config
|
pkg-config
|
||||||
|
36
pkgs/by-name/gi/git-backup-go/package.nix
Normal file
36
pkgs/by-name/gi/git-backup-go/package.nix
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
buildGoModule,
|
||||||
|
fetchFromGitHub,
|
||||||
|
testers,
|
||||||
|
git-backup-go,
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "git-backup-go";
|
||||||
|
version = "1.6.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ChappIO";
|
||||||
|
repo = "git-backup";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-C/ha/GuRvqxmgrbOgkhup1tNoDT3pDIbE+nO5eMZGlY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorHash = "sha256-wzivnTe9Rx3YLz6lvrzsLiJIbxX7QE059Kzb4rUfD+s=";
|
||||||
|
|
||||||
|
ldflags = [ "-X main.Version=${version}" ];
|
||||||
|
|
||||||
|
passthru.tests.version = testers.testVersion {
|
||||||
|
package = git-backup-go;
|
||||||
|
command = "git-backup -version";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Backup all your GitHub & GitLab repositories";
|
||||||
|
homepage = "https://github.com/ChappIO/git-backup";
|
||||||
|
license = lib.licenses.asl20;
|
||||||
|
mainProgram = "git-backup";
|
||||||
|
maintainers = with lib.maintainers; [ aleksana ];
|
||||||
|
};
|
||||||
|
}
|
@ -21,22 +21,22 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
rcversion = "2";
|
rcversion = "1";
|
||||||
in
|
in
|
||||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
pname = "github-desktop";
|
pname = "github-desktop";
|
||||||
version = "3.3.12";
|
version = "3.4.2";
|
||||||
|
|
||||||
src =
|
src =
|
||||||
let
|
let
|
||||||
urls = {
|
urls = {
|
||||||
"x86_64-linux" = {
|
"x86_64-linux" = {
|
||||||
url = "https://github.com/shiftkey/desktop/releases/download/release-${finalAttrs.version}-linux${rcversion}/GitHubDesktop-linux-amd64-${finalAttrs.version}-linux${rcversion}.deb";
|
url = "https://github.com/shiftkey/desktop/releases/download/release-${finalAttrs.version}-linux${rcversion}/GitHubDesktop-linux-amd64-${finalAttrs.version}-linux${rcversion}.deb";
|
||||||
hash = "sha256-iflKD7NPuZvhxviNW8xmtCOYgdRz1rXiG42ycWCjXiY=";
|
hash = "sha256-qY5rCvOgf1/Z00XZ6yAn6zKdUZ+6l4PCthPU44XLKhc=";
|
||||||
};
|
};
|
||||||
"aarch64-linux" = {
|
"aarch64-linux" = {
|
||||||
url = "https://github.com/shiftkey/desktop/releases/download/release-${finalAttrs.version}-linux${rcversion}/GitHubDesktop-linux-arm64-${finalAttrs.version}-linux${rcversion}.deb";
|
url = "https://github.com/shiftkey/desktop/releases/download/release-${finalAttrs.version}-linux${rcversion}/GitHubDesktop-linux-arm64-${finalAttrs.version}-linux${rcversion}.deb";
|
||||||
hash = "sha256-C9eCvuf/TwXQiYjZ88xSiyaqi8+cppmrLiSYTyQCkmg=";
|
hash = "sha256-VbPjTz4xYGaVO3uOG6lQNQrVEmx3+H/+y8+r0O55aUg=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
@ -7,12 +7,12 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "0.11.0";
|
version = "0.13.0";
|
||||||
gitSrc = fetchFromGitHub {
|
gitSrc = fetchFromGitHub {
|
||||||
owner = "glasskube";
|
owner = "glasskube";
|
||||||
repo = "glasskube";
|
repo = "glasskube";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-onpW7YolM05C1BKb7vgH6Y2XFNbigRTueMqjzuFWERo=";
|
hash = "sha256-1FzqgZYZQOqaXNQcWTyBmTV0ynxMPQx5ywwR2/8aREg=";
|
||||||
};
|
};
|
||||||
web-bundle = buildNpmPackage rec {
|
web-bundle = buildNpmPackage rec {
|
||||||
inherit version;
|
inherit version;
|
||||||
@ -20,7 +20,7 @@ let
|
|||||||
|
|
||||||
src = gitSrc;
|
src = gitSrc;
|
||||||
|
|
||||||
npmDepsHash = "sha256-V4lB+lgnurEo4BPVQDIYxdzKczPPDa6QEFaTAm+go88=";
|
npmDepsHash = "sha256-Zly7Ljml3BCHwNSYsGUbVeJGna63Z9j+ebCkjoYyRtc=";
|
||||||
|
|
||||||
dontNpmInstall = true;
|
dontNpmInstall = true;
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ in buildGoModule rec {
|
|||||||
|
|
||||||
src = gitSrc;
|
src = gitSrc;
|
||||||
|
|
||||||
vendorHash = "sha256-besBympQMvdsD25nndyRkcA8v3wMQUb52VCwvtopgPc=";
|
vendorHash = "sha256-lRaBv+VsSMVjHu092lXe7n2RnDEO/74Sp0R6jC9f1b0=";
|
||||||
|
|
||||||
CGO_ENABLED = 0;
|
CGO_ENABLED = 0;
|
||||||
|
|
||||||
|
@ -67,13 +67,13 @@ let
|
|||||||
in
|
in
|
||||||
effectiveStdenv.mkDerivation (finalAttrs: {
|
effectiveStdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "llama-cpp";
|
pname = "llama-cpp";
|
||||||
version = "3328";
|
version = "3403";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ggerganov";
|
owner = "ggerganov";
|
||||||
repo = "llama.cpp";
|
repo = "llama.cpp";
|
||||||
rev = "refs/tags/b${finalAttrs.version}";
|
rev = "refs/tags/b${finalAttrs.version}";
|
||||||
hash = "sha256-rV+Lq5dBkVdoGB/BYNfgvqDB/9+SWfk5rKkKu1xq0PQ=";
|
hash = "sha256-+WWJyEt04ZUC/vh9ZReLek851iOZJYoGc49XJyRPkVE=";
|
||||||
leaveDotGit = true;
|
leaveDotGit = true;
|
||||||
postFetch = ''
|
postFetch = ''
|
||||||
git -C "$out" rev-parse --short HEAD > $out/COMMIT
|
git -C "$out" rev-parse --short HEAD > $out/COMMIT
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
pname = "mov-cli";
|
pname = "mov-cli";
|
||||||
version = "4.4.5";
|
version = "4.4.7";
|
||||||
in
|
in
|
||||||
python3.pkgs.buildPythonPackage {
|
python3.pkgs.buildPythonPackage {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
@ -17,8 +17,8 @@ python3.pkgs.buildPythonPackage {
|
|||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mov-cli";
|
owner = "mov-cli";
|
||||||
repo = "mov-cli";
|
repo = "mov-cli";
|
||||||
rev = version;
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-Q5fzxdMEUDL1VgeTTgU76z0nksocgjyonAroP/m/Q+0=";
|
hash = "sha256-wbzgTtRMDx9WpILzOGNvTrxj+wN6QzRCUNsc7PfwzJk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with python3.pkgs; [
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
|
71
pkgs/by-name/mu/music-assistant/ffmpeg.patch
Normal file
71
pkgs/by-name/mu/music-assistant/ffmpeg.patch
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
diff --git a/music_assistant/server/helpers/audio.py b/music_assistant/server/helpers/audio.py
|
||||||
|
index 42011923..1e5dc112 100644
|
||||||
|
--- a/music_assistant/server/helpers/audio.py
|
||||||
|
+++ b/music_assistant/server/helpers/audio.py
|
||||||
|
@@ -218,7 +218,7 @@ async def crossfade_pcm_parts(
|
||||||
|
await outfile.write(fade_out_part)
|
||||||
|
args = [
|
||||||
|
# generic args
|
||||||
|
- "ffmpeg",
|
||||||
|
+ "@ffmpeg@",
|
||||||
|
"-hide_banner",
|
||||||
|
"-loglevel",
|
||||||
|
"quiet",
|
||||||
|
@@ -281,7 +281,7 @@ async def strip_silence(
|
||||||
|
) -> bytes:
|
||||||
|
"""Strip silence from begin or end of pcm audio using ffmpeg."""
|
||||||
|
fmt = ContentType.from_bit_depth(bit_depth)
|
||||||
|
- args = ["ffmpeg", "-hide_banner", "-loglevel", "quiet"]
|
||||||
|
+ args = ["@ffmpeg@", "-hide_banner", "-loglevel", "quiet"]
|
||||||
|
args += [
|
||||||
|
"-acodec",
|
||||||
|
fmt.name.lower(),
|
||||||
|
@@ -823,7 +823,7 @@ async def get_ffmpeg_stream(
|
||||||
|
async def check_audio_support() -> tuple[bool, bool, str]:
|
||||||
|
"""Check if ffmpeg is present (with/without libsoxr support)."""
|
||||||
|
# check for FFmpeg presence
|
||||||
|
- returncode, output = await check_output("ffmpeg -version")
|
||||||
|
+ returncode, output = await check_output("@ffmpeg@ -version")
|
||||||
|
ffmpeg_present = returncode == 0 and "FFmpeg" in output.decode()
|
||||||
|
|
||||||
|
# use globals as in-memory cache
|
||||||
|
@@ -877,7 +877,7 @@ async def get_silence(
|
||||||
|
return
|
||||||
|
# use ffmpeg for all other encodings
|
||||||
|
args = [
|
||||||
|
- "ffmpeg",
|
||||||
|
+ "@ffmpeg@",
|
||||||
|
"-hide_banner",
|
||||||
|
"-loglevel",
|
||||||
|
"quiet",
|
||||||
|
@@ -971,7 +971,7 @@ def get_ffmpeg_args(
|
||||||
|
|
||||||
|
# generic args
|
||||||
|
generic_args = [
|
||||||
|
- "ffmpeg",
|
||||||
|
+ "@ffmpeg@",
|
||||||
|
"-hide_banner",
|
||||||
|
"-loglevel",
|
||||||
|
loglevel,
|
||||||
|
diff --git a/music_assistant/server/helpers/tags.py b/music_assistant/server/helpers/tags.py
|
||||||
|
index dc38e4c0..f4f3e2fe 100644
|
||||||
|
--- a/music_assistant/server/helpers/tags.py
|
||||||
|
+++ b/music_assistant/server/helpers/tags.py
|
||||||
|
@@ -368,7 +368,7 @@ async def parse_tags(
|
||||||
|
file_path = input_file if isinstance(input_file, str) else "-"
|
||||||
|
|
||||||
|
args = (
|
||||||
|
- "ffprobe",
|
||||||
|
+ "@ffprobe@",
|
||||||
|
"-hide_banner",
|
||||||
|
"-loglevel",
|
||||||
|
"fatal",
|
||||||
|
@@ -440,7 +440,7 @@ async def get_embedded_image(input_file: str | AsyncGenerator[bytes, None]) -> b
|
||||||
|
"""
|
||||||
|
file_path = input_file if isinstance(input_file, str) else "-"
|
||||||
|
args = (
|
||||||
|
- "ffmpeg",
|
||||||
|
+ "@ffmpeg@",
|
||||||
|
"-hide_banner",
|
||||||
|
"-loglevel",
|
||||||
|
"error",
|
35
pkgs/by-name/mu/music-assistant/frontend.nix
Normal file
35
pkgs/by-name/mu/music-assistant/frontend.nix
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchPypi
|
||||||
|
, setuptools
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "music-assistant-frontend";
|
||||||
|
version = "2.5.15";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
hash = "sha256-D8VFdXgaVXSxk7c24kvb9TflFztS1zLwW4qGqV32nLo=";
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace pyproject.toml \
|
||||||
|
--replace-fail "~=" ">="
|
||||||
|
'';
|
||||||
|
|
||||||
|
build-system = [ setuptools ];
|
||||||
|
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "music_assistant_frontend" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
changelog = "https://github.com/music-assistant/frontend/releases/tag/${version}";
|
||||||
|
description = "The Music Assistant frontend";
|
||||||
|
homepage = "https://github.com/music-assistant/frontend";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ hexa ];
|
||||||
|
};
|
||||||
|
}
|
119
pkgs/by-name/mu/music-assistant/package.nix
Normal file
119
pkgs/by-name/mu/music-assistant/package.nix
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
{ lib
|
||||||
|
, python3
|
||||||
|
, fetchFromGitHub
|
||||||
|
, ffmpeg-headless
|
||||||
|
, nixosTests
|
||||||
|
, substituteAll
|
||||||
|
, providers ? [ ]
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
python = python3.override {
|
||||||
|
packageOverrides = self: super: {
|
||||||
|
music-assistant-frontend = self.callPackage ./frontend.nix { };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
providerPackages = (import ./providers.nix).providers;
|
||||||
|
providerNames = lib.attrNames providerPackages;
|
||||||
|
providerDependencies = lib.concatMap (provider: (providerPackages.${provider} python.pkgs)) providers;
|
||||||
|
|
||||||
|
pythonPath = python.pkgs.makePythonPath providerDependencies;
|
||||||
|
in
|
||||||
|
|
||||||
|
python.pkgs.buildPythonApplication rec {
|
||||||
|
pname = "music-assistant";
|
||||||
|
version = "2.0.7";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "music-assistant";
|
||||||
|
repo = "server";
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-JtdlZ3hH4fRU5TjmMUlrdSSCnLrIGCuSwSSrnLgjYEs=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(substituteAll {
|
||||||
|
src = ./ffmpeg.patch;
|
||||||
|
ffmpeg = "${lib.getBin ffmpeg-headless}/bin/ffmpeg";
|
||||||
|
ffprobe = "${lib.getBin ffmpeg-headless}/bin/ffprobe";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
sed -i "/--cov/d" pyproject.toml
|
||||||
|
|
||||||
|
substituteInPlace pyproject.toml \
|
||||||
|
--replace-fail "0.0.0" "${version}"
|
||||||
|
'';
|
||||||
|
|
||||||
|
build-system = with python.pkgs; [
|
||||||
|
setuptools
|
||||||
|
];
|
||||||
|
|
||||||
|
dependencies = with python.pkgs; [
|
||||||
|
aiohttp
|
||||||
|
mashumaro
|
||||||
|
orjson
|
||||||
|
] ++ optional-dependencies.server;
|
||||||
|
|
||||||
|
optional-dependencies = with python.pkgs; {
|
||||||
|
server = [
|
||||||
|
aiodns
|
||||||
|
aiofiles
|
||||||
|
aiohttp
|
||||||
|
aiorun
|
||||||
|
aiosqlite
|
||||||
|
asyncio-throttle
|
||||||
|
brotli
|
||||||
|
certifi
|
||||||
|
colorlog
|
||||||
|
cryptography
|
||||||
|
faust-cchardet
|
||||||
|
ifaddr
|
||||||
|
mashumaro
|
||||||
|
memory-tempfile
|
||||||
|
music-assistant-frontend
|
||||||
|
orjson
|
||||||
|
pillow
|
||||||
|
python-slugify
|
||||||
|
shortuuid
|
||||||
|
unidecode
|
||||||
|
xmltodict
|
||||||
|
zeroconf
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeCheckInputs = with python.pkgs; [
|
||||||
|
ffmpeg-headless
|
||||||
|
pytest-aiohttp
|
||||||
|
pytestCheckHook
|
||||||
|
] ++ lib.flatten (lib.attrValues optional-dependencies);
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "music_assistant" ];
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
inherit
|
||||||
|
python
|
||||||
|
pythonPath
|
||||||
|
providerPackages
|
||||||
|
providerNames
|
||||||
|
;
|
||||||
|
tests = nixosTests.music-assistant;
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
changelog = "https://github.com/music-assistant/server/releases/tag/${version}";
|
||||||
|
description = "Music Assistant is a music library manager for various music sources which can easily stream to a wide range of supported players";
|
||||||
|
longDescription = ''
|
||||||
|
Music Assistant is a free, opensource Media library manager that connects to your streaming services and a wide
|
||||||
|
range of connected speakers. The server is the beating heart, the core of Music Assistant and must run on an
|
||||||
|
always-on device like a Raspberry Pi, a NAS or an Intel NUC or alike.
|
||||||
|
'';
|
||||||
|
homepage = "https://github.com/music-assistant/server";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ hexa ];
|
||||||
|
mainProgram = "mass";
|
||||||
|
};
|
||||||
|
}
|
78
pkgs/by-name/mu/music-assistant/providers.nix
Normal file
78
pkgs/by-name/mu/music-assistant/providers.nix
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
# Do not edit manually, run ./update-providers.py
|
||||||
|
|
||||||
|
{
|
||||||
|
version = "2.0.7";
|
||||||
|
providers = {
|
||||||
|
airplay = [
|
||||||
|
];
|
||||||
|
builtin = [
|
||||||
|
];
|
||||||
|
chromecast = ps: with ps; [
|
||||||
|
pychromecast
|
||||||
|
];
|
||||||
|
deezer = ps: with ps; [
|
||||||
|
pycryptodome
|
||||||
|
]; # missing deezer-python-async
|
||||||
|
dlna = ps: with ps; [
|
||||||
|
async-upnp-client
|
||||||
|
];
|
||||||
|
fanarttv = [
|
||||||
|
];
|
||||||
|
filesystem_local = [
|
||||||
|
];
|
||||||
|
filesystem_smb = [
|
||||||
|
];
|
||||||
|
fully_kiosk = ps: with ps; [
|
||||||
|
python-fullykiosk
|
||||||
|
];
|
||||||
|
hass = [
|
||||||
|
]; # missing hass-client
|
||||||
|
hass_players = [
|
||||||
|
];
|
||||||
|
jellyfin = [
|
||||||
|
]; # missing jellyfin_apiclient_python
|
||||||
|
musicbrainz = [
|
||||||
|
];
|
||||||
|
opensubsonic = ps: with ps; [
|
||||||
|
py-opensonic
|
||||||
|
];
|
||||||
|
plex = ps: with ps; [
|
||||||
|
plexapi
|
||||||
|
];
|
||||||
|
qobuz = [
|
||||||
|
];
|
||||||
|
radiobrowser = ps: with ps; [
|
||||||
|
radios
|
||||||
|
];
|
||||||
|
slimproto = ps: with ps; [
|
||||||
|
aioslimproto
|
||||||
|
];
|
||||||
|
snapcast = ps: with ps; [
|
||||||
|
snapcast
|
||||||
|
];
|
||||||
|
sonos = ps: with ps; [
|
||||||
|
defusedxml
|
||||||
|
soco
|
||||||
|
sonos-websocket
|
||||||
|
];
|
||||||
|
soundcloud = [
|
||||||
|
]; # missing soundcloudpy
|
||||||
|
spotify = [
|
||||||
|
];
|
||||||
|
test = [
|
||||||
|
];
|
||||||
|
theaudiodb = [
|
||||||
|
];
|
||||||
|
tidal = ps: with ps; [
|
||||||
|
tidalapi
|
||||||
|
];
|
||||||
|
tunein = [
|
||||||
|
];
|
||||||
|
ugp = [
|
||||||
|
];
|
||||||
|
ytmusic = ps: with ps; [
|
||||||
|
pytube
|
||||||
|
ytmusicapi
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
218
pkgs/by-name/mu/music-assistant/update-providers.py
Executable file
218
pkgs/by-name/mu/music-assistant/update-providers.py
Executable file
@ -0,0 +1,218 @@
|
|||||||
|
#!/usr/bin/env nix-shell
|
||||||
|
#!nix-shell -i python3 -p "python3.withPackages (ps: with ps; [ jinja2 mashumaro orjson aiofiles packaging ])" -p pyright ruff isort
|
||||||
|
import asyncio
|
||||||
|
import json
|
||||||
|
import os.path
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
import tarfile
|
||||||
|
import tempfile
|
||||||
|
from dataclasses import dataclass, field
|
||||||
|
from functools import cache
|
||||||
|
from io import BytesIO
|
||||||
|
from pathlib import Path
|
||||||
|
from subprocess import check_output, run
|
||||||
|
from typing import Dict, Final, List, Optional, Set, Union, cast
|
||||||
|
from urllib.request import urlopen
|
||||||
|
|
||||||
|
from jinja2 import Environment
|
||||||
|
from packaging.requirements import Requirement
|
||||||
|
|
||||||
|
TEMPLATE = """# Do not edit manually, run ./update-providers.py
|
||||||
|
|
||||||
|
{
|
||||||
|
version = "{{ version }}";
|
||||||
|
providers = {
|
||||||
|
{%- for provider in providers | sort(attribute='domain') %}
|
||||||
|
{{ provider.domain }} = {% if provider.available %}ps: with ps; {% endif %}[
|
||||||
|
{%- for requirement in provider.available | sort %}
|
||||||
|
{{ requirement }}
|
||||||
|
{%- endfor %}
|
||||||
|
];{% if provider.missing %} # missing {{ ", ".join(provider.missing) }}{% endif %}
|
||||||
|
{%- endfor %}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
ROOT: Final = (
|
||||||
|
check_output(
|
||||||
|
[
|
||||||
|
"git",
|
||||||
|
"rev-parse",
|
||||||
|
"--show-toplevel",
|
||||||
|
]
|
||||||
|
)
|
||||||
|
.decode()
|
||||||
|
.strip()
|
||||||
|
)
|
||||||
|
|
||||||
|
PACKAGE_MAP = {
|
||||||
|
"git+https://github.com/MarvinSchenkel/pytube.git": "pytube",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def run_sync(cmd: List[str]) -> None:
|
||||||
|
print(f"$ {' '.join(cmd)}")
|
||||||
|
process = run(cmd)
|
||||||
|
|
||||||
|
if process.returncode != 0:
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
async def check_async(cmd: List[str]) -> str:
|
||||||
|
print(f"$ {' '.join(cmd)}")
|
||||||
|
process = await asyncio.create_subprocess_exec(
|
||||||
|
*cmd, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE
|
||||||
|
)
|
||||||
|
stdout, stderr = await process.communicate()
|
||||||
|
|
||||||
|
if process.returncode != 0:
|
||||||
|
error = stderr.decode()
|
||||||
|
raise RuntimeError(f"{cmd[0]} failed: {error}")
|
||||||
|
|
||||||
|
return stdout.decode().strip()
|
||||||
|
|
||||||
|
|
||||||
|
class Nix:
|
||||||
|
base_cmd: Final = [
|
||||||
|
"nix",
|
||||||
|
"--show-trace",
|
||||||
|
"--extra-experimental-features",
|
||||||
|
"nix-command",
|
||||||
|
]
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
async def _run(cls, args: List[str]) -> Optional[str]:
|
||||||
|
return await check_async(cls.base_cmd + args)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
async def eval(cls, expr: str) -> Union[List, Dict, int, float, str, bool]:
|
||||||
|
response = await cls._run(["eval", "-f", f"{ROOT}/default.nix", "--json", expr])
|
||||||
|
if response is None:
|
||||||
|
raise RuntimeError("Nix eval expression returned no response")
|
||||||
|
try:
|
||||||
|
return json.loads(response)
|
||||||
|
except (TypeError, ValueError):
|
||||||
|
raise RuntimeError("Nix eval response could not be parsed from JSON")
|
||||||
|
|
||||||
|
|
||||||
|
async def get_provider_manifests(version: str = "master") -> List:
|
||||||
|
manifests = []
|
||||||
|
with tempfile.TemporaryDirectory() as tmp:
|
||||||
|
with urlopen(
|
||||||
|
f"https://github.com/music-assistant/music-assistant/archive/{version}.tar.gz"
|
||||||
|
) as response:
|
||||||
|
tarfile.open(fileobj=BytesIO(response.read())).extractall(
|
||||||
|
tmp, filter="data"
|
||||||
|
)
|
||||||
|
|
||||||
|
basedir = Path(os.path.join(tmp, f"server-{version}"))
|
||||||
|
sys.path.append(str(basedir))
|
||||||
|
from music_assistant.common.models.provider import ProviderManifest # type: ignore
|
||||||
|
|
||||||
|
for fn in basedir.glob("**/manifest.json"):
|
||||||
|
manifests.append(await ProviderManifest.parse(fn))
|
||||||
|
|
||||||
|
return manifests
|
||||||
|
|
||||||
|
|
||||||
|
@cache
|
||||||
|
def packageset_attributes():
|
||||||
|
output = check_output(
|
||||||
|
[
|
||||||
|
"nix-env",
|
||||||
|
"-f",
|
||||||
|
ROOT,
|
||||||
|
"-qa",
|
||||||
|
"-A",
|
||||||
|
"music-assistant.python.pkgs",
|
||||||
|
"--arg",
|
||||||
|
"config",
|
||||||
|
"{ allowAliases = false; }",
|
||||||
|
"--json",
|
||||||
|
]
|
||||||
|
)
|
||||||
|
return json.loads(output)
|
||||||
|
|
||||||
|
|
||||||
|
class TooManyMatches(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class NoMatch(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def resolve_package_attribute(package: str) -> str:
|
||||||
|
pattern = re.compile(rf"^music-assistant\.python\.pkgs\.{package}$", re.I)
|
||||||
|
packages = packageset_attributes()
|
||||||
|
matches = []
|
||||||
|
for attr in packages.keys():
|
||||||
|
if pattern.match(attr):
|
||||||
|
matches.append(attr.split(".")[-1])
|
||||||
|
|
||||||
|
if len(matches) > 1:
|
||||||
|
raise TooManyMatches(
|
||||||
|
f"Too many matching attributes for {package}: {' '.join(matches)}"
|
||||||
|
)
|
||||||
|
if not matches:
|
||||||
|
raise NoMatch(f"No matching attribute for {package}")
|
||||||
|
|
||||||
|
return matches.pop()
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class Provider:
|
||||||
|
domain: str
|
||||||
|
available: list[str] = field(default_factory=list)
|
||||||
|
missing: list[str] = field(default_factory=list)
|
||||||
|
|
||||||
|
def __eq__(self, other):
|
||||||
|
return self.domain == other.domain
|
||||||
|
|
||||||
|
def __hash__(self):
|
||||||
|
return hash(self.domain)
|
||||||
|
|
||||||
|
|
||||||
|
def resolve_providers(manifests) -> Set:
|
||||||
|
providers = set()
|
||||||
|
for manifest in manifests:
|
||||||
|
provider = Provider(manifest.domain)
|
||||||
|
for requirement in manifest.requirements:
|
||||||
|
# allow substituting requirement specifications that packaging cannot parse
|
||||||
|
if requirement in PACKAGE_MAP:
|
||||||
|
requirement = PACKAGE_MAP[requirement]
|
||||||
|
requirement = Requirement(requirement)
|
||||||
|
try:
|
||||||
|
provider.available.append(resolve_package_attribute(requirement.name))
|
||||||
|
except TooManyMatches as ex:
|
||||||
|
print(ex, file=sys.stderr)
|
||||||
|
provider.missing.append(requirement.name)
|
||||||
|
except NoMatch:
|
||||||
|
provider.missing.append(requirement.name)
|
||||||
|
providers.add(provider)
|
||||||
|
return providers
|
||||||
|
|
||||||
|
|
||||||
|
def render(version: str, providers: Set):
|
||||||
|
path = os.path.join(ROOT, "pkgs/by-name/mu/music-assistant/providers.nix")
|
||||||
|
env = Environment()
|
||||||
|
template = env.from_string(TEMPLATE)
|
||||||
|
template.stream(version=version, providers=providers).dump(path)
|
||||||
|
|
||||||
|
|
||||||
|
async def main():
|
||||||
|
version: str = cast(str, await Nix.eval("music-assistant.version"))
|
||||||
|
manifests = await get_provider_manifests(version)
|
||||||
|
providers = resolve_providers(manifests)
|
||||||
|
render(version, providers)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
run_sync(["pyright", __file__])
|
||||||
|
run_sync(["ruff", "check", "--ignore=E501", __file__])
|
||||||
|
run_sync(["isort", __file__])
|
||||||
|
run_sync(["ruff", "format", __file__])
|
||||||
|
asyncio.run(main())
|
@ -10,13 +10,13 @@
|
|||||||
|
|
||||||
buildBazelPackage rec {
|
buildBazelPackage rec {
|
||||||
pname = "perf_data_converter";
|
pname = "perf_data_converter";
|
||||||
version = "0-unstable-2024-03-12";
|
version = "0-unstable-2024-07-10";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "google";
|
owner = "google";
|
||||||
repo = "perf_data_converter";
|
repo = "perf_data_converter";
|
||||||
rev = "e1cfe1e7e5d8cf3b728a166bf02d4227c82801eb";
|
rev = "5b27c287a57811db91d40b5776cbaedd00945afc";
|
||||||
hash = "sha256-Y3tBLH2jf1f28o6RK2inq9FulKc66qcqwKmxYdFC5tA=";
|
hash = "sha256-A5DEDi52gp1gTugGnutmKNRa/GGsc+LKLE3xRl/1gbw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
bazel = bazel_6;
|
bazel = bazel_6;
|
||||||
|
@ -1,14 +1,17 @@
|
|||||||
{ lib
|
{
|
||||||
, stdenv
|
lib,
|
||||||
, fetchFromGitHub
|
stdenv,
|
||||||
, util-linux
|
fetchFromGitHub,
|
||||||
, SDL2
|
util-linux,
|
||||||
, SDL2_ttf
|
SDL2,
|
||||||
, SDL2_image
|
SDL2_ttf,
|
||||||
, openssl
|
SDL2_image,
|
||||||
, which
|
openssl,
|
||||||
, libsForQt5
|
which,
|
||||||
, makeWrapper
|
libsForQt5,
|
||||||
|
makeWrapper,
|
||||||
|
makeDesktopItem,
|
||||||
|
copyDesktopItems,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
@ -26,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
patches = [ ./assets-path.diff ];
|
patches = [ ./assets-path.diff ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace src/poptracker.cpp --replace "@assets@" "$out/share/$pname/"
|
substituteInPlace src/poptracker.cpp --replace "@assets@" "$out/share/poptracker/"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
@ -34,6 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
util-linux
|
util-linux
|
||||||
makeWrapper
|
makeWrapper
|
||||||
|
copyDesktopItems
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
@ -52,11 +56,33 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
install -m555 -Dt $out/bin build/linux-x86_64/poptracker
|
install -m555 -Dt $out/bin build/linux-x86_64/poptracker
|
||||||
install -m444 -Dt $out/share/${finalAttrs.pname} assets/*
|
install -m444 -Dt $out/share/poptracker assets/*
|
||||||
wrapProgram $out/bin/poptracker --prefix PATH : ${lib.makeBinPath [ which libsForQt5.kdialog ]}
|
wrapProgram $out/bin/poptracker --prefix PATH : ${
|
||||||
|
lib.makeBinPath [
|
||||||
|
which
|
||||||
|
libsForQt5.kdialog
|
||||||
|
]
|
||||||
|
}
|
||||||
|
mkdir -p $out/share/icons/hicolor/{64x64,512x512}/apps
|
||||||
|
ln -s $out/share/poptracker/icon.png $out/share/icons/hicolor/64x64/apps/poptracker.png
|
||||||
|
ln -s $out/share/poptracker/icon512.png $out/share/icons/hicolor/512x512/apps/poptracker.png
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
desktopItems = [
|
||||||
|
(makeDesktopItem {
|
||||||
|
name = "poptracker";
|
||||||
|
desktopName = "PopTracker";
|
||||||
|
exec = "poptracker";
|
||||||
|
comment = "Universal, scriptable randomizer tracking solution";
|
||||||
|
icon = "poptracker";
|
||||||
|
categories = [
|
||||||
|
"Game"
|
||||||
|
"Utility"
|
||||||
|
];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Scriptable tracker for randomized games";
|
description = "Scriptable tracker for randomized games";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
@ -67,7 +93,10 @@ stdenv.mkDerivation (finalAttrs: {
|
|||||||
homepage = "https://github.com/black-sliver/PopTracker";
|
homepage = "https://github.com/black-sliver/PopTracker";
|
||||||
changelog = "https://github.com/black-sliver/PopTracker/releases/tag/v${finalAttrs.version}";
|
changelog = "https://github.com/black-sliver/PopTracker/releases/tag/v${finalAttrs.version}";
|
||||||
license = lib.licenses.gpl3Only;
|
license = lib.licenses.gpl3Only;
|
||||||
maintainers = with lib.maintainers; [ freyacodes pyrox0 ];
|
maintainers = with lib.maintainers; [
|
||||||
|
freyacodes
|
||||||
|
pyrox0
|
||||||
|
];
|
||||||
mainProgram = "poptracker";
|
mainProgram = "poptracker";
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
};
|
};
|
||||||
|
29
pkgs/by-name/pr/prettier-plugin-go-template/package.nix
Normal file
29
pkgs/by-name/pr/prettier-plugin-go-template/package.nix
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
buildNpmPackage,
|
||||||
|
fetchFromGitHub,
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildNpmPackage rec {
|
||||||
|
pname = "prettier-plugin-go-template";
|
||||||
|
version = "0-unstable-2023-07-26";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "NiklasPor";
|
||||||
|
repo = pname;
|
||||||
|
rev = "d91c82e1377b89592ea3365e7e5569688fbc7954";
|
||||||
|
hash = "sha256-3Tvh+OzqDTtzoaTp5dZpgEQiNA2Y2dbyq4SV9Od499A=";
|
||||||
|
};
|
||||||
|
|
||||||
|
npmDepsHash = "sha256-PpJnVZFRxpUHux2jIBDtyBS4qNo6IJY4kwTAq6stEVQ=";
|
||||||
|
|
||||||
|
dontNpmBuild = true;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Fixes prettier formatting for go templates";
|
||||||
|
mainProgram = "prettier-plugin-go-template";
|
||||||
|
homepage = "https://github.com/NiklasPor/prettier-plugin-go-template";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
maintainers = with lib.maintainers; [ jukremer ];
|
||||||
|
};
|
||||||
|
}
|
@ -4,14 +4,14 @@
|
|||||||
}:
|
}:
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "rclip";
|
pname = "rclip";
|
||||||
version = "1.10.1";
|
version = "1.10.2";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "yurijmikhalevich";
|
owner = "yurijmikhalevich";
|
||||||
repo = "rclip";
|
repo = "rclip";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-02ZbeUw+O7tBQwauklaPPcgNasG+mYrSnw9TGJqtJfk=";
|
hash = "sha256-z+zwhd3JH40Vg9yHt9ektvm2jWFOvj1DaCSI9GwXLT8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = with python3Packages; [
|
nativeBuildInputs = with python3Packages; [
|
||||||
|
@ -14,16 +14,16 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "seabird";
|
pname = "seabird";
|
||||||
version = "0.3.2";
|
version = "0.4.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "getseabird";
|
owner = "getseabird";
|
||||||
repo = "seabird";
|
repo = "seabird";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-MZEgzTwaBNXLimSj/vXR624DCJ7i2W5lYUdVxqvFii0=";
|
hash = "sha256-GfoP3TeSzA4Hi3fCUR3Y3yWUAj3ogxTRsD4hXuERPio=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-g7qKI78VeDUu8yafrk2llCIirW/1uxfx6urVLRexsPE=";
|
vendorHash = "sha256-uUMQ2AddIfPvD7B3KOfN7fWL8oIEK6G5L+NPYo+em5k=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
copyDesktopItems
|
copyDesktopItems
|
||||||
|
@ -9,18 +9,18 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "shopware-cli";
|
pname = "shopware-cli";
|
||||||
version = "0.4.48";
|
version = "0.4.50";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
repo = "shopware-cli";
|
repo = "shopware-cli";
|
||||||
owner = "FriendsOfShopware";
|
owner = "FriendsOfShopware";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-pHafNKaaxgH4nXfcMwQpWYCSoEFIPwlA+5llilnpGhs=";
|
hash = "sha256-dVq2Aw6oYkr8LAdd0LeFvkzMYSronCsDxesqUh2IGV0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles makeWrapper ];
|
nativeBuildInputs = [ installShellFiles makeWrapper ];
|
||||||
nativeCheckInputs = [ git dart-sass ];
|
nativeCheckInputs = [ git dart-sass ];
|
||||||
|
|
||||||
vendorHash = "sha256-wGOF4hCdKSqpo6wp3kbOR/XEnXFDXMlPCoMtl6/TZWM=";
|
vendorHash = "sha256-ABvjNRADmamYiq5A0NZjv1HlGxxAHQlut1ZR2kA04oU=";
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
export HOME="$(mktemp -d)"
|
export HOME="$(mktemp -d)"
|
||||||
|
@ -6,11 +6,11 @@
|
|||||||
}:
|
}:
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "silverbullet";
|
pname = "silverbullet";
|
||||||
version = "0.7.7";
|
version = "0.8.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/silverbulletmd/silverbullet/releases/download/${finalAttrs.version}/silverbullet.js";
|
url = "https://github.com/silverbulletmd/silverbullet/releases/download/${finalAttrs.version}/silverbullet.js";
|
||||||
hash = "sha256-EhHPysliRi1bv/skS4+ljQW6qFsijmSup1+7/fVfFdg=";
|
hash = "sha256-aofO1IBjxew9r2hC1uEyLYSZrVUoGo4Y7igKbaxs2G0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
|
62
pkgs/by-name/sk/skypilot/package.nix
Normal file
62
pkgs/by-name/sk/skypilot/package.nix
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
python3Packages,
|
||||||
|
}:
|
||||||
|
|
||||||
|
python3Packages.buildPythonApplication rec {
|
||||||
|
pname = "skypilot";
|
||||||
|
version = "0.6.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "skypilot-org";
|
||||||
|
repo = "skypilot";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-SddXouful2RSp7ijx6YLzfBhBvzN9xKM2dRzivgNflw==";
|
||||||
|
};
|
||||||
|
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
build-system = with python3Packages; [ setuptools ];
|
||||||
|
|
||||||
|
# when updating, please ensure package version constraints stipulaed
|
||||||
|
# in setup.py are met
|
||||||
|
propagatedBuildInputs = with python3Packages; [
|
||||||
|
cachetools
|
||||||
|
click
|
||||||
|
colorama
|
||||||
|
cryptography
|
||||||
|
filelock
|
||||||
|
jinja2
|
||||||
|
jsonschema
|
||||||
|
networkx
|
||||||
|
packaging
|
||||||
|
pandas
|
||||||
|
pendulum
|
||||||
|
prettytable
|
||||||
|
psutil
|
||||||
|
python-dotenv
|
||||||
|
pyyaml
|
||||||
|
pulp
|
||||||
|
requests
|
||||||
|
rich
|
||||||
|
tabulate
|
||||||
|
typing-extensions
|
||||||
|
wheel
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Run LLMs and AI on any Cloud";
|
||||||
|
longDescription = ''
|
||||||
|
SkyPilot is a framework for running LLMs, AI, and batch jobs on any
|
||||||
|
cloud, offering maximum cost savings, highest GPU availability, and
|
||||||
|
managed execution.
|
||||||
|
'';
|
||||||
|
homepage = "https://github.com/skypilot-org/skypilot";
|
||||||
|
license = lib.licenses.asl20;
|
||||||
|
maintainers = with lib.maintainers; [ seanrmurphy ];
|
||||||
|
mainProgram = "sky";
|
||||||
|
};
|
||||||
|
}
|
@ -6,13 +6,13 @@
|
|||||||
}:
|
}:
|
||||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
pname = "stevenblack-blocklist";
|
pname = "stevenblack-blocklist";
|
||||||
version = "3.14.87";
|
version = "3.14.88";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "StevenBlack";
|
owner = "StevenBlack";
|
||||||
repo = "hosts";
|
repo = "hosts";
|
||||||
rev = "refs/tags/${finalAttrs.version}";
|
rev = "refs/tags/${finalAttrs.version}";
|
||||||
hash = "sha256-QkzDj4EUtmNmJltYu6YOZQBtxm8S23PGdg8nosCzK9M=";
|
hash = "sha256-tS7CDuotk+aAbtOR1x3u3ymyRvPgb3GZjuDcJNm6lZs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [
|
outputs = [
|
||||||
|
@ -12,12 +12,12 @@ in
|
|||||||
|
|
||||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
pname = "suwayomi-server";
|
pname = "suwayomi-server";
|
||||||
version = "1.0.0";
|
version = "1.1.1";
|
||||||
revision = 1498;
|
revision = 1535;
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/Suwayomi/Suwayomi-Server/releases/download/v${finalAttrs.version}/Suwayomi-Server-v${finalAttrs.version}-r${toString finalAttrs.revision}.jar";
|
url = "https://github.com/Suwayomi/Suwayomi-Server/releases/download/v${finalAttrs.version}/Suwayomi-Server-v${finalAttrs.version}-r${toString finalAttrs.revision}.jar";
|
||||||
hash = "sha256-CskVYc+byfn3mNzbOX1fCXPpjihtWpoRGBpXDY378c0=";
|
hash = "sha256-mPzREuH89RGhZLK+5aIPuq1gmNGc9MGG0wh4ZV5dLTg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
makeWrapper,
|
makeWrapper,
|
||||||
mvnDepsHash ? null,
|
mvnDepsHash ? null,
|
||||||
|
enableOcr ? true,
|
||||||
|
tesseract,
|
||||||
nixosTests,
|
nixosTests,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -52,21 +54,25 @@ maven'.buildMavenPackage rec {
|
|||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase =
|
||||||
runHook preInstall
|
let
|
||||||
|
binPath = lib.makeBinPath ([ jdk8.jre ] ++ lib.optionals enableOcr [ tesseract ]);
|
||||||
|
in
|
||||||
|
''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
# Note: using * instead of version would match multiple files
|
# Note: using * instead of version would match multiple files
|
||||||
install -Dm644 tika-app/target/tika-app-${version}.jar $out/share/tika/tika-app.jar
|
install -Dm644 tika-app/target/tika-app-${version}.jar $out/share/tika/tika-app.jar
|
||||||
install -Dm644 tika-server/tika-server-standard/target/tika-server-standard-${version}.jar $out/share/tika/tika-server.jar
|
install -Dm644 tika-server/tika-server-standard/target/tika-server-standard-${version}.jar $out/share/tika/tika-server.jar
|
||||||
|
|
||||||
makeWrapper ${jdk8.jre}/bin/java $out/bin/tika-app \
|
makeWrapper ${jdk8.jre}/bin/java $out/bin/tika-app \
|
||||||
--add-flags "-jar $out/share/tika/tika-app.jar"
|
--add-flags "-jar $out/share/tika/tika-app.jar"
|
||||||
makeWrapper ${jdk8.jre}/bin/java $out/bin/tika-server \
|
makeWrapper ${jdk8.jre}/bin/java $out/bin/tika-server \
|
||||||
--prefix PATH : ${lib.makeBinPath [ jdk8.jre ]} \
|
--prefix PATH : ${binPath} \
|
||||||
--add-flags "-jar $out/share/tika/tika-server.jar"
|
--add-flags "-jar $out/share/tika/tika-server.jar"
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru.tests = {
|
passthru.tests = {
|
||||||
inherit (nixosTests) tika;
|
inherit (nixosTests) tika;
|
||||||
|
@ -22,12 +22,12 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "tradingview";
|
pname = "tradingview";
|
||||||
version = "2.7.7";
|
version = "2.8.1";
|
||||||
revision = "53";
|
revision = "56";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://api.snapcraft.io/api/v1/snaps/download/nJdITJ6ZJxdvfu8Ch7n5kH5P99ClzBYV_${finalAttrs.revision}.snap";
|
url = "https://api.snapcraft.io/api/v1/snaps/download/nJdITJ6ZJxdvfu8Ch7n5kH5P99ClzBYV_${finalAttrs.revision}.snap";
|
||||||
hash = "sha256-izASQXx/wTPKvPxWRh0csKsXoQlsFaOsLsNthepwW64=";
|
hash = "sha256-cl1c/ZRHBW6qHYaVD7BiC0CaZMsXOLGCF7lP+oBVnpk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
0
pkgs/by-name/tr/tradingview/update.sh
Normal file → Executable file
0
pkgs/by-name/tr/tradingview/update.sh
Normal file → Executable file
41
pkgs/by-name/ub/ubuntu-classic/package.nix
Normal file
41
pkgs/by-name/ub/ubuntu-classic/package.nix
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenvNoCC,
|
||||||
|
fetchgit,
|
||||||
|
gitUpdater,
|
||||||
|
rename,
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
|
pname = "ubuntu-classic";
|
||||||
|
version = "0.83-6ubuntu2";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://git.launchpad.net/ubuntu/+source/fonts-ubuntu-classic";
|
||||||
|
rev = "import/${finalAttrs.version}";
|
||||||
|
hash = "sha256-GrpBVgisVu7NklFYqkEqYi0hui/pCHlsM3Ky4mEUq90=";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
install -m444 -Dt $out/share/fonts/truetype/ubuntu *.ttf
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.updateScript = gitUpdater { rev-prefix = "import/"; };
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Ubuntu Classic font";
|
||||||
|
longDescription = "The Ubuntu typeface has been specially
|
||||||
|
created to complement the Ubuntu tone of voice. It has a
|
||||||
|
contemporary style and contains characteristics unique to
|
||||||
|
the Ubuntu brand that convey a precise, reliable and free attitude.";
|
||||||
|
homepage = "https://design.ubuntu.com/font";
|
||||||
|
changelog = "https://git.launchpad.net/ubuntu/+source/fonts-ubuntu-classic/tree/FONTLOG.txt?h=${finalAttrs.src.rev}";
|
||||||
|
license = licenses.ufl;
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = with maintainers; [ bobby285271 ];
|
||||||
|
};
|
||||||
|
})
|
43
pkgs/by-name/ub/ubuntu-sans-mono/package.nix
Normal file
43
pkgs/by-name/ub/ubuntu-sans-mono/package.nix
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenvNoCC,
|
||||||
|
fetchFromGitHub,
|
||||||
|
gitUpdater,
|
||||||
|
rename,
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
|
pname = "ubuntu-sans-mono";
|
||||||
|
version = "1.004";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "canonical";
|
||||||
|
repo = "Ubuntu-Sans-Mono-fonts";
|
||||||
|
rev = "v${finalAttrs.version}";
|
||||||
|
hash = "sha256-IjfjFsXRYK2l6i4Q/LoYuwu5t18TmVXXJQDSsW45qNc=";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
install -m444 -Dt $out/share/fonts/truetype/ubuntu-sans fonts/variable/*
|
||||||
|
${rename}/bin/rename 's/\[.*\]//' $out/share/fonts/truetype/ubuntu-sans/*
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.updateScript = gitUpdater { rev-prefix = "v"; };
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Ubuntu Font Family (Mono)";
|
||||||
|
longDescription = "The Ubuntu Font Family are a set of matching libre/open fonts.
|
||||||
|
The fonts were originally developed in 2010–2011,
|
||||||
|
further expanded and improved in 2015,
|
||||||
|
and expanded again in 2022–2023 when variable fonts were added.";
|
||||||
|
homepage = "https://design.ubuntu.com/font";
|
||||||
|
changelog = "https://github.com/canonical/Ubuntu-Sans-Mono-fonts/blob/${finalAttrs.src.rev}/FONTLOG.txt";
|
||||||
|
license = licenses.ufl;
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = with maintainers; [ jopejoe1 ];
|
||||||
|
};
|
||||||
|
})
|
43
pkgs/by-name/ub/ubuntu-sans/package.nix
Normal file
43
pkgs/by-name/ub/ubuntu-sans/package.nix
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenvNoCC,
|
||||||
|
fetchFromGitHub,
|
||||||
|
gitUpdater,
|
||||||
|
rename,
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
|
pname = "ubuntu-sans";
|
||||||
|
version = "1.004";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "canonical";
|
||||||
|
repo = "Ubuntu-Sans-fonts";
|
||||||
|
rev = "v${finalAttrs.version}";
|
||||||
|
hash = "sha256-TJHhRGBPDrYOAmOKyMaLcL2ugr4Bw2J6ErovglNx648=";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
install -m444 -Dt $out/share/fonts/truetype/ubuntu-sans fonts/variable/*
|
||||||
|
${rename}/bin/rename 's/\[.*\]//' $out/share/fonts/truetype/ubuntu-sans/*
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru.updateScript = gitUpdater { rev-prefix = "v"; };
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Ubuntu Font Family";
|
||||||
|
longDescription = "The Ubuntu Font Family are a set of matching libre/open fonts.
|
||||||
|
The fonts were originally developed in 2010–2011,
|
||||||
|
further expanded and improved in 2015,
|
||||||
|
and expanded again in 2022–2023 when variable fonts were added.";
|
||||||
|
homepage = "https://design.ubuntu.com/font";
|
||||||
|
changelog = "https://github.com/canonical/Ubuntu-Sans-fonts/blob/${finalAttrs.src.rev}/FONTLOG.txt";
|
||||||
|
license = licenses.ufl;
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = with maintainers; [ jopejoe1 ];
|
||||||
|
};
|
||||||
|
})
|
313
pkgs/by-name/uv/uv/Cargo.lock
generated
313
pkgs/by-name/uv/uv/Cargo.lock
generated
@ -218,13 +218,13 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "async-trait"
|
name = "async-trait"
|
||||||
version = "0.1.80"
|
version = "0.1.81"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca"
|
checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -275,13 +275,15 @@ checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "axoasset"
|
name = "axoasset"
|
||||||
version = "0.9.5"
|
version = "1.0.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "83394fb98d130ef5a4713d26dccc1bb25c66e1d58f351fed710af62c57abb8fa"
|
checksum = "45e7b7ac1c1cd4fdcaa2f9e704defa9defd996039083d85e17efa5e8eefb3bd2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"camino",
|
"camino",
|
||||||
|
"image",
|
||||||
"miette",
|
"miette",
|
||||||
"mime",
|
"mime",
|
||||||
|
"reqwest",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
@ -313,9 +315,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "axoupdater"
|
name = "axoupdater"
|
||||||
version = "0.6.6"
|
version = "0.6.8"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8cc5997cf9d00fa790ba6f19688d93b89760bd641d1c2482bcfbc2bf56988576"
|
checksum = "d51e87c9280d6f722419f783fdcef745dffd6b45d38d665380ae6b7f237d3b74"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"axoasset",
|
"axoasset",
|
||||||
"axoprocess",
|
"axoprocess",
|
||||||
@ -323,7 +325,6 @@ dependencies = [
|
|||||||
"camino",
|
"camino",
|
||||||
"homedir",
|
"homedir",
|
||||||
"miette",
|
"miette",
|
||||||
"reqwest",
|
|
||||||
"serde",
|
"serde",
|
||||||
"tempfile",
|
"tempfile",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
@ -652,7 +653,7 @@ dependencies = [
|
|||||||
"num-traits",
|
"num-traits",
|
||||||
"serde",
|
"serde",
|
||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
"windows-targets 0.52.5",
|
"windows-targets 0.52.6",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -684,9 +685,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap"
|
name = "clap"
|
||||||
version = "4.5.8"
|
version = "4.5.9"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "84b3edb18336f4df585bc9aa31dd99c036dfa5dc5e9a2939a722a188f3a8970d"
|
checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap_builder",
|
"clap_builder",
|
||||||
"clap_derive",
|
"clap_derive",
|
||||||
@ -694,9 +695,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap_builder"
|
name = "clap_builder"
|
||||||
version = "4.5.8"
|
version = "4.5.9"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c1c09dd5ada6c6c78075d6fd0da3f90d8080651e2d6cc8eb2f1aaa4034ced708"
|
checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anstream",
|
"anstream",
|
||||||
"anstyle",
|
"anstyle",
|
||||||
@ -716,31 +717,20 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap_complete_command"
|
name = "clap_complete_command"
|
||||||
version = "0.5.1"
|
version = "0.6.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "183495371ea78d4c9ff638bfc6497d46fed2396e4f9c50aebc1278a4a9919a3d"
|
checksum = "da8e198c052315686d36371e8a3c5778b7852fc75cc313e4e11eeb7a644a1b62"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap",
|
"clap",
|
||||||
"clap_complete",
|
"clap_complete",
|
||||||
"clap_complete_fig",
|
|
||||||
"clap_complete_nushell",
|
"clap_complete_nushell",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "clap_complete_fig"
|
|
||||||
version = "4.5.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "54b3e65f91fabdd23cac3d57d39d5d938b4daabd070c335c006dccb866a61110"
|
|
||||||
dependencies = [
|
|
||||||
"clap",
|
|
||||||
"clap_complete",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap_complete_nushell"
|
name = "clap_complete_nushell"
|
||||||
version = "0.1.11"
|
version = "4.5.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5d02bc8b1a18ee47c4d2eec3fb5ac034dc68ebea6125b1509e9ccdffcddce66e"
|
checksum = "1accf1b463dee0d3ab2be72591dccdab8bef314958340447c882c4c72acfe2a3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap",
|
"clap",
|
||||||
"clap_complete",
|
"clap_complete",
|
||||||
@ -755,7 +745,7 @@ dependencies = [
|
|||||||
"heck 0.5.0",
|
"heck 0.5.0",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1395,7 +1385,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1651,9 +1641,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "hyper"
|
name = "hyper"
|
||||||
version = "1.3.1"
|
version = "1.4.1"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d"
|
checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"futures-channel",
|
"futures-channel",
|
||||||
@ -1691,9 +1681,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "hyper-util"
|
name = "hyper-util"
|
||||||
version = "0.1.5"
|
version = "0.1.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56"
|
checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"futures-channel",
|
"futures-channel",
|
||||||
@ -1758,6 +1748,17 @@ dependencies = [
|
|||||||
"winapi-util",
|
"winapi-util",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "image"
|
||||||
|
version = "0.25.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd54d660e773627692c524beaad361aca785a4f9f5730ce91f42aabe5bce3d11"
|
||||||
|
dependencies = [
|
||||||
|
"bytemuck",
|
||||||
|
"byteorder",
|
||||||
|
"num-traits",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "imagesize"
|
name = "imagesize"
|
||||||
version = "0.11.0"
|
version = "0.11.0"
|
||||||
@ -1842,6 +1843,7 @@ dependencies = [
|
|||||||
"tracing",
|
"tracing",
|
||||||
"uv-fs",
|
"uv-fs",
|
||||||
"uv-normalize",
|
"uv-normalize",
|
||||||
|
"uv-warnings",
|
||||||
"walkdir",
|
"walkdir",
|
||||||
"zip",
|
"zip",
|
||||||
]
|
]
|
||||||
@ -2142,7 +2144,7 @@ checksum = "dcf09caffaac8068c346b6df2a7fc27a177fd20b39421a39ce0a211bde679a6c"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -2379,7 +2381,7 @@ dependencies = [
|
|||||||
"libc",
|
"libc",
|
||||||
"redox_syscall 0.5.1",
|
"redox_syscall 0.5.1",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"windows-targets 0.52.5",
|
"windows-targets 0.52.6",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -2444,6 +2446,7 @@ dependencies = [
|
|||||||
"pyo3",
|
"pyo3",
|
||||||
"pyo3-log",
|
"pyo3-log",
|
||||||
"regex",
|
"regex",
|
||||||
|
"schemars",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"testing_logger",
|
"testing_logger",
|
||||||
@ -2492,7 +2495,7 @@ dependencies = [
|
|||||||
"pest_meta",
|
"pest_meta",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -2539,7 +2542,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -2667,9 +2670,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro2"
|
name = "proc-macro2"
|
||||||
version = "1.0.85"
|
version = "1.0.86"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23"
|
checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"unicode-ident",
|
"unicode-ident",
|
||||||
]
|
]
|
||||||
@ -2697,7 +2700,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "pubgrub"
|
name = "pubgrub"
|
||||||
version = "0.2.1"
|
version = "0.2.1"
|
||||||
source = "git+https://github.com/astral-sh/pubgrub?rev=b4435e2f3af10dab2336a0345b35dcd622699d06#b4435e2f3af10dab2336a0345b35dcd622699d06"
|
source = "git+https://github.com/astral-sh/pubgrub?rev=3f0ba760951ab0deeac874b98bb18fc90103fcf7#3f0ba760951ab0deeac874b98bb18fc90103fcf7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"indexmap",
|
"indexmap",
|
||||||
"log",
|
"log",
|
||||||
@ -2716,7 +2719,7 @@ dependencies = [
|
|||||||
"indoc",
|
"indoc",
|
||||||
"libc",
|
"libc",
|
||||||
"memoffset 0.9.1",
|
"memoffset 0.9.1",
|
||||||
"parking_lot 0.11.2",
|
"parking_lot 0.12.3",
|
||||||
"portable-atomic",
|
"portable-atomic",
|
||||||
"pyo3-build-config",
|
"pyo3-build-config",
|
||||||
"pyo3-ffi",
|
"pyo3-ffi",
|
||||||
@ -2764,7 +2767,7 @@ dependencies = [
|
|||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"pyo3-macros-backend",
|
"pyo3-macros-backend",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -2777,7 +2780,7 @@ dependencies = [
|
|||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"pyo3-build-config",
|
"pyo3-build-config",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -2976,13 +2979,13 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "reflink-copy"
|
name = "reflink-copy"
|
||||||
version = "0.1.18"
|
version = "0.1.19"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6d731e7e3ebfcf422d96b8473e507d5b64790900dd5464772d38d1da9da24d3a"
|
checksum = "dc31414597d1cd7fdd2422798b7652a6329dda0fe0219e6335a13d5bcaa9aeb6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"rustix",
|
"rustix",
|
||||||
"windows 0.57.0",
|
"windows 0.58.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3438,7 +3441,7 @@ dependencies = [
|
|||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"serde_derive_internals",
|
"serde_derive_internals",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3484,22 +3487,22 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde"
|
name = "serde"
|
||||||
version = "1.0.203"
|
version = "1.0.204"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094"
|
checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde_derive",
|
"serde_derive",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_derive"
|
name = "serde_derive"
|
||||||
version = "1.0.203"
|
version = "1.0.204"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba"
|
checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3510,14 +3513,14 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_json"
|
name = "serde_json"
|
||||||
version = "1.0.119"
|
version = "1.0.120"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e8eddb61f0697cc3989c5d64b452f5488e2b8a60fd7d5076a3045076ffef8cb0"
|
checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"itoa",
|
"itoa",
|
||||||
"ryu",
|
"ryu",
|
||||||
@ -3741,9 +3744,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "syn"
|
name = "syn"
|
||||||
version = "2.0.68"
|
version = "2.0.71"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9"
|
checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
@ -3780,9 +3783,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "target-lexicon"
|
name = "target-lexicon"
|
||||||
version = "0.12.14"
|
version = "0.12.15"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
|
checksum = "4873307b7c257eddcb50c9bedf158eb669578359fb28428bef438fec8e6ba7c2"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "temp-env"
|
name = "temp-env"
|
||||||
@ -3839,7 +3842,7 @@ dependencies = [
|
|||||||
"cfg-if",
|
"cfg-if",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3850,7 +3853,7 @@ checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
"test-case-core",
|
"test-case-core",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -3872,7 +3875,7 @@ checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3897,22 +3900,22 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "thiserror"
|
name = "thiserror"
|
||||||
version = "1.0.61"
|
version = "1.0.62"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
|
checksum = "f2675633b1499176c2dff06b0856a27976a8f9d436737b4cf4f312d4d91d8bbb"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"thiserror-impl",
|
"thiserror-impl",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "thiserror-impl"
|
name = "thiserror-impl"
|
||||||
version = "1.0.61"
|
version = "1.0.62"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
|
checksum = "d20468752b09f49e909e55a5d338caa8bedf615594e9d80bc4c565d30faf798c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3927,9 +3930,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tikv-jemalloc-sys"
|
name = "tikv-jemalloc-sys"
|
||||||
version = "0.5.4+5.3.0-patched"
|
version = "0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1"
|
checksum = "cd3c60906412afa9c2b5b5a48ca6a5abe5736aec9eb48ad05037a677e52e4e2d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc",
|
"cc",
|
||||||
"libc",
|
"libc",
|
||||||
@ -3937,9 +3940,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tikv-jemallocator"
|
name = "tikv-jemallocator"
|
||||||
version = "0.5.4"
|
version = "0.6.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "965fe0c26be5c56c94e38ba547249074803efd52adfb66de62107d95aab3eaca"
|
checksum = "4cec5ff18518d81584f477e9bfdf957f5bb0979b0bac3af4ca30b5b3ae2d2865"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"tikv-jemalloc-sys",
|
"tikv-jemalloc-sys",
|
||||||
@ -4028,7 +4031,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -4106,9 +4109,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "toml_edit"
|
name = "toml_edit"
|
||||||
version = "0.22.14"
|
version = "0.22.15"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38"
|
checksum = "d59a3a72298453f564e2b111fa896f8d07fabb36f51f06d7e875fc5e0b5a3ef1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"indexmap",
|
"indexmap",
|
||||||
"serde",
|
"serde",
|
||||||
@ -4164,7 +4167,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -4239,9 +4242,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tracing-tree"
|
name = "tracing-tree"
|
||||||
version = "0.3.1"
|
version = "0.4.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b56c62d2c80033cb36fae448730a2f2ef99410fe3ecbffc916681a32f6807dbe"
|
checksum = "f459ca79f1b0d5f71c54ddfde6debfc59c8b6eeb46808ae492077f739dc7b49c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"nu-ansi-term 0.50.0",
|
"nu-ansi-term 0.50.0",
|
||||||
"tracing-core",
|
"tracing-core",
|
||||||
@ -4425,7 +4428,7 @@ checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "uv"
|
name = "uv"
|
||||||
version = "0.2.22"
|
version = "0.2.26"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anstream",
|
"anstream",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
@ -4443,6 +4446,7 @@ dependencies = [
|
|||||||
"fs-err",
|
"fs-err",
|
||||||
"futures",
|
"futures",
|
||||||
"ignore",
|
"ignore",
|
||||||
|
"indexmap",
|
||||||
"indicatif",
|
"indicatif",
|
||||||
"indoc",
|
"indoc",
|
||||||
"insta",
|
"insta",
|
||||||
@ -4489,10 +4493,12 @@ dependencies = [
|
|||||||
"uv-resolver",
|
"uv-resolver",
|
||||||
"uv-scripts",
|
"uv-scripts",
|
||||||
"uv-settings",
|
"uv-settings",
|
||||||
|
"uv-shell",
|
||||||
"uv-tool",
|
"uv-tool",
|
||||||
"uv-types",
|
"uv-types",
|
||||||
"uv-virtualenv",
|
"uv-virtualenv",
|
||||||
"uv-warnings",
|
"uv-warnings",
|
||||||
|
"which",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -4583,6 +4589,8 @@ dependencies = [
|
|||||||
"fs-err",
|
"fs-err",
|
||||||
"insta",
|
"insta",
|
||||||
"install-wheel-rs",
|
"install-wheel-rs",
|
||||||
|
"pep508_rs",
|
||||||
|
"pypi-types",
|
||||||
"serde",
|
"serde",
|
||||||
"url",
|
"url",
|
||||||
"uv-cache",
|
"uv-cache",
|
||||||
@ -4675,6 +4683,7 @@ dependencies = [
|
|||||||
"distribution-types",
|
"distribution-types",
|
||||||
"fs-err",
|
"fs-err",
|
||||||
"install-wheel-rs",
|
"install-wheel-rs",
|
||||||
|
"itertools 0.13.0",
|
||||||
"mimalloc",
|
"mimalloc",
|
||||||
"owo-colors",
|
"owo-colors",
|
||||||
"pep508_rs",
|
"pep508_rs",
|
||||||
@ -4687,6 +4696,7 @@ dependencies = [
|
|||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"tagu",
|
"tagu",
|
||||||
|
"textwrap",
|
||||||
"tikv-jemallocator",
|
"tikv-jemallocator",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tracing",
|
"tracing",
|
||||||
@ -4700,6 +4710,8 @@ dependencies = [
|
|||||||
"uv-distribution",
|
"uv-distribution",
|
||||||
"uv-git",
|
"uv-git",
|
||||||
"uv-installer",
|
"uv-installer",
|
||||||
|
"uv-macros",
|
||||||
|
"uv-options-metadata",
|
||||||
"uv-python",
|
"uv-python",
|
||||||
"uv-resolver",
|
"uv-resolver",
|
||||||
"uv-settings",
|
"uv-settings",
|
||||||
@ -4773,7 +4785,9 @@ dependencies = [
|
|||||||
"uv-extract",
|
"uv-extract",
|
||||||
"uv-fs",
|
"uv-fs",
|
||||||
"uv-git",
|
"uv-git",
|
||||||
|
"uv-macros",
|
||||||
"uv-normalize",
|
"uv-normalize",
|
||||||
|
"uv-options-metadata",
|
||||||
"uv-types",
|
"uv-types",
|
||||||
"uv-warnings",
|
"uv-warnings",
|
||||||
"zip",
|
"zip",
|
||||||
@ -4790,6 +4804,7 @@ dependencies = [
|
|||||||
"md-5",
|
"md-5",
|
||||||
"pypi-types",
|
"pypi-types",
|
||||||
"rayon",
|
"rayon",
|
||||||
|
"reqwest",
|
||||||
"rustc-hash 2.0.0",
|
"rustc-hash 2.0.0",
|
||||||
"sha2",
|
"sha2",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
@ -4882,8 +4897,10 @@ dependencies = [
|
|||||||
name = "uv-macros"
|
name = "uv-macros"
|
||||||
version = "0.0.1"
|
version = "0.0.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
|
"textwrap",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -4895,6 +4912,13 @@ dependencies = [
|
|||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "uv-options-metadata"
|
||||||
|
version = "0.0.1"
|
||||||
|
dependencies = [
|
||||||
|
"serde",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "uv-python"
|
name = "uv-python"
|
||||||
version = "0.0.1"
|
version = "0.0.1"
|
||||||
@ -4927,6 +4951,7 @@ dependencies = [
|
|||||||
"tempfile",
|
"tempfile",
|
||||||
"test-log",
|
"test-log",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
|
"tokio",
|
||||||
"tokio-util",
|
"tokio-util",
|
||||||
"tracing",
|
"tracing",
|
||||||
"url",
|
"url",
|
||||||
@ -4945,7 +4970,6 @@ dependencies = [
|
|||||||
name = "uv-requirements"
|
name = "uv-requirements"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anstream",
|
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"cache-key",
|
"cache-key",
|
||||||
"configparser",
|
"configparser",
|
||||||
@ -5046,6 +5070,7 @@ dependencies = [
|
|||||||
name = "uv-settings"
|
name = "uv-settings"
|
||||||
version = "0.0.1"
|
version = "0.0.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"clap",
|
||||||
"dirs-sys",
|
"dirs-sys",
|
||||||
"distribution-types",
|
"distribution-types",
|
||||||
"fs-err",
|
"fs-err",
|
||||||
@ -5061,11 +5086,24 @@ dependencies = [
|
|||||||
"uv-fs",
|
"uv-fs",
|
||||||
"uv-macros",
|
"uv-macros",
|
||||||
"uv-normalize",
|
"uv-normalize",
|
||||||
|
"uv-options-metadata",
|
||||||
"uv-python",
|
"uv-python",
|
||||||
"uv-resolver",
|
"uv-resolver",
|
||||||
"uv-warnings",
|
"uv-warnings",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "uv-shell"
|
||||||
|
version = "0.0.1"
|
||||||
|
dependencies = [
|
||||||
|
"anyhow",
|
||||||
|
"home",
|
||||||
|
"same-file",
|
||||||
|
"tracing",
|
||||||
|
"uv-fs",
|
||||||
|
"winreg",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "uv-state"
|
name = "uv-state"
|
||||||
version = "0.0.1"
|
version = "0.0.1"
|
||||||
@ -5123,7 +5161,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "uv-version"
|
name = "uv-version"
|
||||||
version = "0.2.22"
|
version = "0.2.26"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "uv-virtualenv"
|
name = "uv-virtualenv"
|
||||||
@ -5218,7 +5256,7 @@ dependencies = [
|
|||||||
"once_cell",
|
"once_cell",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
"wasm-bindgen-shared",
|
"wasm-bindgen-shared",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -5252,7 +5290,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
"wasm-bindgen-backend",
|
"wasm-bindgen-backend",
|
||||||
"wasm-bindgen-shared",
|
"wasm-bindgen-shared",
|
||||||
]
|
]
|
||||||
@ -5374,17 +5412,17 @@ dependencies = [
|
|||||||
"windows-core 0.52.0",
|
"windows-core 0.52.0",
|
||||||
"windows-implement 0.52.0",
|
"windows-implement 0.52.0",
|
||||||
"windows-interface 0.52.0",
|
"windows-interface 0.52.0",
|
||||||
"windows-targets 0.52.5",
|
"windows-targets 0.52.6",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows"
|
name = "windows"
|
||||||
version = "0.57.0"
|
version = "0.58.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143"
|
checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-core 0.57.0",
|
"windows-core 0.58.0",
|
||||||
"windows-targets 0.52.5",
|
"windows-targets 0.52.6",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -5393,19 +5431,20 @@ version = "0.52.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
|
checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-targets 0.52.5",
|
"windows-targets 0.52.6",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows-core"
|
name = "windows-core"
|
||||||
version = "0.57.0"
|
version = "0.58.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d"
|
checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-implement 0.57.0",
|
"windows-implement 0.58.0",
|
||||||
"windows-interface 0.57.0",
|
"windows-interface 0.58.0",
|
||||||
"windows-result",
|
"windows-result",
|
||||||
"windows-targets 0.52.5",
|
"windows-strings",
|
||||||
|
"windows-targets 0.52.6",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -5416,18 +5455,18 @@ checksum = "12168c33176773b86799be25e2a2ba07c7aab9968b37541f1094dbd7a60c8946"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows-implement"
|
name = "windows-implement"
|
||||||
version = "0.57.0"
|
version = "0.58.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7"
|
checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -5438,27 +5477,37 @@ checksum = "9d8dc32e0095a7eeccebd0e3f09e9509365ecb3fc6ac4d6f5f14a3f6392942d1"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows-interface"
|
name = "windows-interface"
|
||||||
version = "0.57.0"
|
version = "0.58.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7"
|
checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.68",
|
"syn 2.0.71",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows-result"
|
name = "windows-result"
|
||||||
version = "0.1.1"
|
version = "0.2.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "749f0da9cc72d82e600d8d2e44cadd0b9eedb9038f71a1c58556ac1c5791813b"
|
checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-targets 0.52.5",
|
"windows-targets 0.52.6",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows-strings"
|
||||||
|
version = "0.1.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10"
|
||||||
|
dependencies = [
|
||||||
|
"windows-result",
|
||||||
|
"windows-targets 0.52.6",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -5476,7 +5525,7 @@ version = "0.52.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
|
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"windows-targets 0.52.5",
|
"windows-targets 0.52.6",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -5496,18 +5545,18 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows-targets"
|
name = "windows-targets"
|
||||||
version = "0.52.5"
|
version = "0.52.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
|
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"windows_aarch64_gnullvm 0.52.5",
|
"windows_aarch64_gnullvm 0.52.6",
|
||||||
"windows_aarch64_msvc 0.52.5",
|
"windows_aarch64_msvc 0.52.6",
|
||||||
"windows_i686_gnu 0.52.5",
|
"windows_i686_gnu 0.52.6",
|
||||||
"windows_i686_gnullvm",
|
"windows_i686_gnullvm",
|
||||||
"windows_i686_msvc 0.52.5",
|
"windows_i686_msvc 0.52.6",
|
||||||
"windows_x86_64_gnu 0.52.5",
|
"windows_x86_64_gnu 0.52.6",
|
||||||
"windows_x86_64_gnullvm 0.52.5",
|
"windows_x86_64_gnullvm 0.52.6",
|
||||||
"windows_x86_64_msvc 0.52.5",
|
"windows_x86_64_msvc 0.52.6",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -5518,9 +5567,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_aarch64_gnullvm"
|
name = "windows_aarch64_gnullvm"
|
||||||
version = "0.52.5"
|
version = "0.52.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
|
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_aarch64_msvc"
|
name = "windows_aarch64_msvc"
|
||||||
@ -5530,9 +5579,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_aarch64_msvc"
|
name = "windows_aarch64_msvc"
|
||||||
version = "0.52.5"
|
version = "0.52.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
|
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_i686_gnu"
|
name = "windows_i686_gnu"
|
||||||
@ -5542,15 +5591,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_i686_gnu"
|
name = "windows_i686_gnu"
|
||||||
version = "0.52.5"
|
version = "0.52.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
|
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_i686_gnullvm"
|
name = "windows_i686_gnullvm"
|
||||||
version = "0.52.5"
|
version = "0.52.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
|
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_i686_msvc"
|
name = "windows_i686_msvc"
|
||||||
@ -5560,9 +5609,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_i686_msvc"
|
name = "windows_i686_msvc"
|
||||||
version = "0.52.5"
|
version = "0.52.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
|
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_x86_64_gnu"
|
name = "windows_x86_64_gnu"
|
||||||
@ -5572,9 +5621,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_x86_64_gnu"
|
name = "windows_x86_64_gnu"
|
||||||
version = "0.52.5"
|
version = "0.52.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
|
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_x86_64_gnullvm"
|
name = "windows_x86_64_gnullvm"
|
||||||
@ -5584,9 +5633,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_x86_64_gnullvm"
|
name = "windows_x86_64_gnullvm"
|
||||||
version = "0.52.5"
|
version = "0.52.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
|
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_x86_64_msvc"
|
name = "windows_x86_64_msvc"
|
||||||
@ -5596,9 +5645,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows_x86_64_msvc"
|
name = "windows_x86_64_msvc"
|
||||||
version = "0.52.5"
|
version = "0.52.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
|
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winnow"
|
name = "winnow"
|
||||||
|
@ -15,21 +15,21 @@
|
|||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
pname = "uv";
|
pname = "uv";
|
||||||
version = "0.2.22";
|
version = "0.2.26";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "astral-sh";
|
owner = "astral-sh";
|
||||||
repo = "uv";
|
repo = "uv";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-+eQdR6+0O1CTZoNIodM52R25lLZT+qB2kFy7oWaE+7M=";
|
hash = "sha256-JjRXcbRwZyrS0QFfDjlJrMUxXJrkv9uORibwZ11zZ50=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoDeps = rustPlatform.importCargoLock {
|
cargoDeps = rustPlatform.importCargoLock {
|
||||||
lockFile = ./Cargo.lock;
|
lockFile = ./Cargo.lock;
|
||||||
outputHashes = {
|
outputHashes = {
|
||||||
"async_zip-0.0.17" = "sha256-Q5fMDJrQtob54CTII3+SXHeozy5S5s3iLOzntevdGOs=";
|
"async_zip-0.0.17" = "sha256-Q5fMDJrQtob54CTII3+SXHeozy5S5s3iLOzntevdGOs=";
|
||||||
"pubgrub-0.2.1" = "sha256-6tr+HATYSn1A1uVJwmz40S4yLDOJlX8vEokOOtdFG0M=";
|
"pubgrub-0.2.1" = "sha256-4/Z/NA0MsHFaChu+sNzIQJgV0M62ZXOGQubzITIC4fI=";
|
||||||
"reqwest-middleware-0.3.2" = "sha256-OiC8Kg+F2eKy7YNuLtgYPi95DrbxLvsIKrKEeyuzQTo=";
|
"reqwest-middleware-0.3.2" = "sha256-OiC8Kg+F2eKy7YNuLtgYPi95DrbxLvsIKrKEeyuzQTo=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "man-pages";
|
pname = "man-pages";
|
||||||
version = "6.9";
|
version = "6.9.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://kernel/linux/docs/man-pages/${pname}-${version}.tar.xz";
|
url = "mirror://kernel/linux/docs/man-pages/${pname}-${version}.tar.xz";
|
||||||
hash = "sha256-0Uyv9UzGYvNLG3C89i1OJ+TC/SYGcqNbbnSvcbP3H4g=";
|
hash = "sha256-4jy6wp8RC6Vx8NqFI+edNzaRRm7X8qMTAXIYF9NFML0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
makeFlags = [
|
makeFlags = [
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
{ lib, stdenvNoCC, fetchzip }:
|
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation rec {
|
|
||||||
pname = "ubuntu-font-family";
|
|
||||||
version = "0.83";
|
|
||||||
|
|
||||||
src = fetchzip {
|
|
||||||
url = "https://assets.ubuntu.com/v1/fad7939b-ubuntu-font-family-${version}.zip";
|
|
||||||
hash = "sha256-FAg1xn8Gcbwmuvqtg9SquSet4oTT9nqE+Izeq7ZMVcA=";
|
|
||||||
};
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
mkdir -p $out/share/fonts/ubuntu
|
|
||||||
mv *.ttf $out/share/fonts/ubuntu
|
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Ubuntu Font Family";
|
|
||||||
longDescription = "The Ubuntu typeface has been specially
|
|
||||||
created to complement the Ubuntu tone of voice. It has a
|
|
||||||
contemporary style and contains characteristics unique to
|
|
||||||
the Ubuntu brand that convey a precise, reliable and free attitude.";
|
|
||||||
homepage = "http://font.ubuntu.com/";
|
|
||||||
license = licenses.ufl;
|
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = [ maintainers.antono ];
|
|
||||||
};
|
|
||||||
}
|
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenvNoCC.mkDerivation rec {
|
stdenvNoCC.mkDerivation rec {
|
||||||
pname = "clash-geoip";
|
pname = "clash-geoip";
|
||||||
version = "20240612";
|
version = "20240712";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/Dreamacro/maxmind-geoip/releases/download/${version}/Country.mmdb";
|
url = "https://github.com/Dreamacro/maxmind-geoip/releases/download/${version}/Country.mmdb";
|
||||||
sha256 = "sha256-uLXdQUrhBZC7av5MWvlVC0W8UQBWDsYhdmKwKEfOQfk=";
|
sha256 = "sha256-qCa1Udu3qcXggDcVRYqTs7Jvisudh0ZMb48oKVYCG+k=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
|
@ -6,13 +6,13 @@
|
|||||||
|
|
||||||
stdenvNoCC.mkDerivation (self: {
|
stdenvNoCC.mkDerivation (self: {
|
||||||
pname = "alacritty-theme";
|
pname = "alacritty-theme";
|
||||||
version = "0-unstable-2024-07-03";
|
version = "0-unstable-2024-07-16";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "alacritty";
|
owner = "alacritty";
|
||||||
repo = "alacritty-theme";
|
repo = "alacritty-theme";
|
||||||
rev = "b5a35e2f6e186f70560a3123c4fbc14b2c99af2f";
|
rev = "cafca9764653f0bd536073a0f882227f04ddc256";
|
||||||
hash = "sha256-60/XiJHeCP06DFjEosTgWJlzV4lfS/Bs24nfRCSQU70=";
|
hash = "sha256-2MZOZ1nVu9lSBAuvCgebtWjX5uoEqMqd8jcEjOfTTMM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
, zlib
|
, zlib
|
||||||
, ghc
|
, ghc
|
||||||
, gmp-static
|
, gmp-static
|
||||||
, verilog
|
, iverilog
|
||||||
, asciidoctor
|
, asciidoctor
|
||||||
, texliveFull
|
, texliveFull
|
||||||
, which
|
, which
|
||||||
@ -108,7 +108,7 @@ in stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
gmp-static
|
gmp-static
|
||||||
verilog
|
iverilog
|
||||||
];
|
];
|
||||||
|
|
||||||
checkTarget = "check-smoke"; # this is the shortest check but "check-suite" tests much more
|
checkTarget = "check-smoke"; # this is the shortest check but "check-suite" tests much more
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
, readline
|
, readline
|
||||||
, symlinkJoin
|
, symlinkJoin
|
||||||
, tcl
|
, tcl
|
||||||
, verilog
|
, iverilog
|
||||||
, zlib
|
, zlib
|
||||||
, yosys
|
, yosys
|
||||||
, yosys-bluespec
|
, yosys-bluespec
|
||||||
@ -147,7 +147,7 @@ in stdenv.mkDerivation (finalAttrs: {
|
|||||||
|
|
||||||
checkTarget = "test";
|
checkTarget = "test";
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
nativeCheckInputs = [ verilog ];
|
nativeCheckInputs = [ iverilog ];
|
||||||
|
|
||||||
setupHook = ./setup-hook.sh;
|
setupHook = ./setup-hook.sh;
|
||||||
|
|
||||||
|
@ -11,7 +11,6 @@ let
|
|||||||
buildCommand = ''
|
buildCommand = ''
|
||||||
wget https://julialang-logs.s3.amazonaws.com/public_outputs/current/package_requests.csv.gz
|
wget https://julialang-logs.s3.amazonaws.com/public_outputs/current/package_requests.csv.gz
|
||||||
gunzip package_requests.csv.gz
|
gunzip package_requests.csv.gz
|
||||||
ls -lh
|
|
||||||
cp package_requests.csv $out
|
cp package_requests.csv $out
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -76,7 +76,6 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
# Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
|
# Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
|
||||||
ls -la "$out/share/doc"
|
|
||||||
moveToOutput "share/doc" "$devdoc"
|
moveToOutput "share/doc" "$devdoc"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -14,13 +14,13 @@
|
|||||||
}:
|
}:
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "wolfssl-${variant}";
|
pname = "wolfssl-${variant}";
|
||||||
version = "5.7.0";
|
version = "5.7.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "wolfSSL";
|
owner = "wolfSSL";
|
||||||
repo = "wolfssl";
|
repo = "wolfssl";
|
||||||
rev = "refs/tags/v${finalAttrs.version}-stable";
|
rev = "refs/tags/v${finalAttrs.version}-stable";
|
||||||
hash = "sha256-4j1GqeZJn5UWx56DjGjge05jlzBbIGn4IXxcaIBxON4=";
|
hash = "sha256-VTMVgBSDL6pw1eEKnxGzTdyQYWVbMd3mAnOnpAOKVhk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
39
pkgs/development/python-modules/brainflow/default.nix
Normal file
39
pkgs/development/python-modules/brainflow/default.nix
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
buildPythonPackage,
|
||||||
|
brainflow,
|
||||||
|
nptyping,
|
||||||
|
numpy,
|
||||||
|
python,
|
||||||
|
setuptools,
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage {
|
||||||
|
inherit (brainflow)
|
||||||
|
pname
|
||||||
|
version
|
||||||
|
src
|
||||||
|
patches
|
||||||
|
meta
|
||||||
|
;
|
||||||
|
|
||||||
|
pyproject = true;
|
||||||
|
build-system = [ setuptools ];
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
numpy
|
||||||
|
nptyping
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [ brainflow ];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
cd python_package
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
mkdir -p "$out/${python.sitePackages}/brainflow/lib/"
|
||||||
|
cp -Tr "${brainflow}/lib" "$out/${python.sitePackages}/brainflow/lib/"
|
||||||
|
'';
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "brainflow" ];
|
||||||
|
}
|
@ -9,7 +9,7 @@
|
|||||||
find-libpython,
|
find-libpython,
|
||||||
pytestCheckHook,
|
pytestCheckHook,
|
||||||
swig,
|
swig,
|
||||||
verilog,
|
iverilog,
|
||||||
ghdl,
|
ghdl,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -65,7 +65,7 @@ buildPythonPackage rec {
|
|||||||
cocotb-bus
|
cocotb-bus
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
swig
|
swig
|
||||||
verilog
|
iverilog
|
||||||
ghdl
|
ghdl
|
||||||
];
|
];
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
let
|
let
|
||||||
# 0.18.12 was yanked from PyPI, it refers to this issue:
|
# 0.18.12 was yanked from PyPI, it refers to this issue:
|
||||||
# https://github.com/deschler/django-modeltranslation/issues/701
|
# https://github.com/deschler/django-modeltranslation/issues/701
|
||||||
version = "0.19.3";
|
version = "0.19.5";
|
||||||
in
|
in
|
||||||
buildPythonPackage {
|
buildPythonPackage {
|
||||||
pname = "django-modeltranslation";
|
pname = "django-modeltranslation";
|
||||||
@ -22,7 +22,7 @@ buildPythonPackage {
|
|||||||
owner = "deschler";
|
owner = "deschler";
|
||||||
repo = "django-modeltranslation";
|
repo = "django-modeltranslation";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-tCj3+9iQ5DBf0fxAHgHkgcARFDfZTV/o6wvQ7ASUJWQ=";
|
hash = "sha256-wIvX9m3AGa6rLAWI56B7sEyj04g8cPIF37JWgVzbtig=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Remove all references to pytest-cov
|
# Remove all references to pytest-cov
|
||||||
|
@ -11,14 +11,14 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "ihm";
|
pname = "ihm";
|
||||||
version = "1.2";
|
version = "1.3";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ihmwg";
|
owner = "ihmwg";
|
||||||
repo = "python-ihm";
|
repo = "python-ihm";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-lQ7/A/RT8/5gLozsToti+4g1Jc++GtjzOU4XZ+feqDs=";
|
hash = "sha256-ywZdhumFFeImODeFn8VYD0CR1DZMlAg52wMNRjEItec=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "m3u8";
|
pname = "m3u8";
|
||||||
version = "5.0.0";
|
version = "5.1.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.7";
|
disabled = pythonOlder "3.7";
|
||||||
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
|||||||
owner = "globocom";
|
owner = "globocom";
|
||||||
repo = "m3u8";
|
repo = "m3u8";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-sI260BR22Ft5y/2lKn1ihu52y6soyk+yzj24TEOKJlA=";
|
hash = "sha256-dvRs1FoyQz6D/G0mTC2SCUaCWP3UpxQpNw/oiaauaOE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ setuptools ];
|
build-system = [ setuptools ];
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "mdformat-admon";
|
pname = "mdformat-admon";
|
||||||
version = "2.0.3";
|
version = "2.0.6";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
|||||||
owner = "KyleKing";
|
owner = "KyleKing";
|
||||||
repo = "mdformat-admon";
|
repo = "mdformat-admon";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
hash = "sha256-zKc0kKap4ipZ+P+RYDXcwqyzq9NKcTnCmx64cApFxFg=";
|
hash = "sha256-YyEiqry1dAm/2EEuQjPFEfdpLI+NiLhVcyx4jAyXs4E=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ flit-core ];
|
nativeBuildInputs = [ flit-core ];
|
||||||
|
42
pkgs/development/python-modules/memory-tempfile/default.nix
Normal file
42
pkgs/development/python-modules/memory-tempfile/default.nix
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, fetchpatch2
|
||||||
|
, poetry-core
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "memory-tempfile";
|
||||||
|
version = "2.2.3";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "mbello";
|
||||||
|
repo = "memory-tempfile";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-4fz2CLkZdy2e1GwGw/afG54LkUVJ4cza70jcbX3rVlQ=";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(fetchpatch2 {
|
||||||
|
# Migrate to poetry-core build backend
|
||||||
|
# https://github.com/mbello/memory-tempfile/pull/13
|
||||||
|
name = "poetry-core.patch";
|
||||||
|
url = "https://github.com/mbello/memory-tempfile/commit/938a3a3abf01756b1629eca6c69e970021bbc7c0.patch";
|
||||||
|
hash = "sha256-q3027MwKXtX09MH7T2UrX19BImK1FJo+YxADfxcdTME=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
build-system = [ poetry-core ];
|
||||||
|
|
||||||
|
doCheck = false; # constrained selection of memory backed filesystems due to build sandbox
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "memory_tempfile" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Create temporary files and temporary dirs in memory-based filesystems on Linux";
|
||||||
|
homepage = "https://github.com/mbello/memory-tempfile";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ hexa ];
|
||||||
|
};
|
||||||
|
}
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "model-bakery";
|
pname = "model-bakery";
|
||||||
version = "1.18.1";
|
version = "1.18.2";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
disabled = pythonOlder "3.8";
|
disabled = pythonOlder "3.8";
|
||||||
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
|||||||
owner = "model-bakers";
|
owner = "model-bakers";
|
||||||
repo = "model_bakery";
|
repo = "model_bakery";
|
||||||
rev = "refs/tags/${version}";
|
rev = "refs/tags/${version}";
|
||||||
hash = "sha256-QsfVKPasGFzcLIwx7t9H9I2o2JNUFLKbKc86tntltg8=";
|
hash = "sha256-X+P4ajTtjzIUFlOGM5D87oEb8nN1MFUyKtNy8RKAvB0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ hatchling ];
|
build-system = [ hatchling ];
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
lib,
|
lib,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
buildPythonPackage,
|
buildPythonPackage,
|
||||||
verilog,
|
iverilog,
|
||||||
ghdl,
|
ghdl,
|
||||||
pytest,
|
pytest,
|
||||||
pytest-xdist,
|
pytest-xdist,
|
||||||
@ -24,13 +24,13 @@ buildPythonPackage rec {
|
|||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
pytest
|
pytest
|
||||||
pytest-xdist
|
pytest-xdist
|
||||||
verilog
|
iverilog
|
||||||
ghdl
|
ghdl
|
||||||
];
|
];
|
||||||
passthru = {
|
passthru = {
|
||||||
# If using myhdl as a dependency, use these if needed and not ghdl and
|
# If using myhdl as a dependency, use these if needed and not ghdl and
|
||||||
# verlog from all-packages.nix
|
# verlog from all-packages.nix
|
||||||
inherit ghdl verilog;
|
inherit ghdl iverilog;
|
||||||
};
|
};
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
runHook preCheck
|
runHook preCheck
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user