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

Conflicts:
- pkgs/development/python-modules/langsmith/default.nix
- pkgs/development/python-modules/rich-pixels/default.nix
- pkgs/servers/teleport/generic.nix
This commit is contained in:
Martin Weinelt
2024-06-18 20:16:19 +02:00
725 changed files with 13866 additions and 8620 deletions
+3
View File
@@ -39,6 +39,9 @@ jobs:
pkgs/development/cuda-modules
pkgs/test/cuda
pkgs/top-level/cuda-packages.nix
NIX_FMT_PATHS_MAINTAINERS: |
maintainers/maintainer-list.nix
maintainers/team-list.nix
NIX_FMT_PATHS_K3S: |
nixos/modules/services/cluster/k3s
nixos/tests/k3s
+73 -49
View File
@@ -3,10 +3,36 @@
The Android build environment provides three major features and a number of
supporting features.
## Using androidenv with Android Studio {#using-androidenv-with-android-studio}
Use the `android-studio-full` attribute for a very complete Android SDK, including system images:
```nix
buildInputs = [ android-studio-full ];
```
This is identical to:
```nix
buildInputs = [ androidStudioPackages.stable.full ];
```
Alternatively, you can pass composeAndroidPackages to the `withSdk` passthru:
```nix
buildInputs = [
(android-studio.withSdk (androidenv.composeAndroidPackages {
includeNDK = true;
}).androidsdk)
];
```
These will export ANDROID_SDK_ROOT and ANDROID_NDK_ROOT to the SDK and NDK directories
in the specified Android build environment.
## Deploying an Android SDK installation with plugins {#deploying-an-android-sdk-installation-with-plugins}
The first use case is deploying the SDK with a desired set of plugins or subsets
of an SDK.
Alternatively, you can deploy the SDK separately with a desired set of plugins, or subsets of an SDK.
```nix
with import <nixpkgs> {};
@@ -145,16 +171,14 @@ androidComposition.platform-tools
## Using predefined Android package compositions {#using-predefined-android-package-compositions}
In addition to composing an Android package set manually, it is also possible
to use a predefined composition that contains all basic packages for a specific
Android version, such as version 9.0 (API-level 28).
to use a predefined composition that contains a fairly complete set of Android packages:
The following Nix expression can be used to deploy the entire SDK with all basic
plugins:
The following Nix expression can be used to deploy the entire SDK:
```nix
with import <nixpkgs> {};
androidenv.androidPkgs_9_0.androidsdk
androidenv.androidPkgs.androidsdk
```
It is also possible to use one plugin only:
@@ -162,50 +186,9 @@ It is also possible to use one plugin only:
```nix
with import <nixpkgs> {};
androidenv.androidPkgs_9_0.platform-tools
androidenv.androidPkgs.platform-tools
```
## Building an Android application {#building-an-android-application}
In addition to the SDK, it is also possible to build an Ant-based Android
project and automatically deploy all the Android plugins that a project
requires.
```nix
with import <nixpkgs> {};
androidenv.buildApp {
name = "MyAndroidApp";
src = ./myappsources;
release = true;
# If release is set to true, you need to specify the following parameters
keyStore = ./keystore;
keyAlias = "myfirstapp";
keyStorePassword = "mykeystore";
keyAliasPassword = "myfirstapp";
# Any Android SDK parameters that install all the relevant plugins that a
# build requires
platformVersions = [ "24" ];
# When we include the NDK, then ndk-build is invoked before Ant gets invoked
includeNDK = true;
}
```
Aside from the app-specific build parameters (`name`, `src`, `release` and
keystore parameters), the `buildApp {}` function supports all the function
parameters that the SDK composition function (the function shown in the
previous section) supports.
This build function is particularly useful when it is desired to use
[Hydra](https://nixos.org/hydra): the Nix-based continuous integration solution
to build Android apps. An Android APK gets exposed as a build product and can be
installed on any Android device with a web browser by navigating to the build
result page.
## Spawning emulator instances {#spawning-emulator-instances}
For testing purposes, it can also be quite convenient to automatically generate
@@ -349,3 +332,44 @@ To update the expressions run the `generate.sh` script that is stored in the
```bash
./generate.sh
```
## Building an Android application with Ant {#building-an-android-application-with-ant}
In addition to the SDK, it is also possible to build an Ant-based Android
project and automatically deploy all the Android plugins that a project
requires. Most newer Android projects use Gradle, and this is included for historical
purposes.
```nix
with import <nixpkgs> {};
androidenv.buildApp {
name = "MyAndroidApp";
src = ./myappsources;
release = true;
# If release is set to true, you need to specify the following parameters
keyStore = ./keystore;
keyAlias = "myfirstapp";
keyStorePassword = "mykeystore";
keyAliasPassword = "myfirstapp";
# Any Android SDK parameters that install all the relevant plugins that a
# build requires
platformVersions = [ "24" ];
# When we include the NDK, then ndk-build is invoked before Ant gets invoked
includeNDK = true;
}
```
Aside from the app-specific build parameters (`name`, `src`, `release` and
keystore parameters), the `buildApp {}` function supports all the function
parameters that the SDK composition function (the function shown in the
previous section) supports.
This build function is particularly useful when it is desired to use
[Hydra](https://nixos.org/hydra): the Nix-based continuous integration solution
to build Android apps. An Android APK gets exposed as a build product and can be
installed on any Android device with a web browser by navigating to the build
result page.
+2 -1
View File
@@ -46,7 +46,8 @@
checks = forAllSystems (system: {
tarball = jobs.${system}.tarball;
} // lib.optionalAttrs (self.legacyPackages.${system}.stdenv.isLinux) {
# Exclude power64 due to "libressl is not available on the requested hostPlatform" with hostPlatform being power64
} // lib.optionalAttrs (self.legacyPackages.${system}.stdenv.isLinux && !self.legacyPackages.${system}.targetPlatform.isPower64) {
# Test that ensures that the nixosSystem function can accept a lib argument
# Note: prefer not to extend or modify `lib`, especially if you want to share reusable modules
# alternatives include: `import` a file, or put a custom library in an option or in `_module.args.<libname>`
+2 -2
View File
@@ -16,12 +16,12 @@
"armv6l-linux"
"armv7l-linux"
"i686-linux"
"mipsel-linux"
# "mipsel-linux" is excluded because it is not bootstrapped
# Other platforms with sufficient support in stdenv which is not formally
# mandated by their platform tier.
"aarch64-darwin"
"armv5tel-linux"
# "armv5tel-linux" is excluded because it is not bootstrapped
"powerpc64le-linux"
"riscv64-linux"
File diff suppressed because it is too large Load Diff
+7 -2
View File
@@ -27,8 +27,13 @@ import utils
),
default=pathlib.Path(__file__).parent.parent.parent.parent
)
def main(repo_metadata: pathlib.Path, nixpkgs: pathlib.Path):
metadata = utils.KDERepoMetadata.from_repo_metadata_checkout(repo_metadata)
@click.option(
"--unstable",
default=False,
is_flag=True
)
def main(repo_metadata: pathlib.Path, nixpkgs: pathlib.Path, unstable: bool):
metadata = utils.KDERepoMetadata.from_repo_metadata_checkout(repo_metadata, unstable)
out_dir = nixpkgs / "pkgs/kde/generated"
metadata.write_json(out_dir)
+21 -18
View File
@@ -104,7 +104,7 @@ class KDERepoMetadata:
return project
@classmethod
def from_repo_metadata_checkout(cls, repo_metadata: pathlib.Path):
def from_repo_metadata_checkout(cls, repo_metadata: pathlib.Path, unstable=False):
projects = [
Project.from_yaml(metadata_file)
for metadata_file in repo_metadata.glob("projects-invent/**/metadata.yaml")
@@ -122,29 +122,32 @@ class KDERepoMetadata:
dep_graph={},
)
dep_specs = ["dependency-data-stable-kf6-qt6"]
dep_graph = collections.defaultdict(set)
for spec in dep_specs:
spec_path = repo_metadata / "dependencies" / spec
for line in spec_path.open():
line = line.strip()
if line.startswith("#"):
continue
if not line:
continue
if unstable:
spec_name = "dependency-data-kf6-qt6"
else:
spec_name = "dependency-data-stable-kf6-qt6"
dependent, dependency = line.split(": ")
spec_path = repo_metadata / "dependencies" / spec_name
for line in spec_path.open():
line = line.strip()
if line.startswith("#"):
continue
if not line:
continue
dependent = self.try_lookup_package(dependent)
if dependent is None:
continue
dependent, dependency = line.split(": ")
dependency = self.try_lookup_package(dependency)
if dependency is None:
continue
dependent = self.try_lookup_package(dependent)
if dependent is None:
continue
dep_graph[dependent].add(dependency)
dependency = self.try_lookup_package(dependency)
if dependency is None:
continue
dep_graph[dependent].add(dependency)
self.dep_graph = dep_graph
@@ -100,6 +100,7 @@ luuid,,,,20120509-2,,
luv,,,,1.48.0-2,,
lush.nvim,,,https://luarocks.org/dev,,,teto
lyaml,,,,,,lblasc
lz.n,,,,,,mrcjkb
magick,,,,,5.1,donovanglover
markdown,,,,,,
mediator_lua,,,,,,
1 name rockspec ref server version luaversion maintainers
100 luv 1.48.0-2
101 lush.nvim https://luarocks.org/dev teto
102 lyaml lblasc
103 lz.n mrcjkb
104 magick 5.1 donovanglover
105 markdown
106 mediator_lua
+53 -127
View File
@@ -1,4 +1,5 @@
/* List of maintainer teams.
/*
List of maintainer teams.
name = {
# Required
members = [ maintainer1 maintainer2 ];
@@ -25,10 +26,11 @@
* keep the list alphabetically sorted
* test the validity of the format with:
nix-build lib/tests/teams.nix
*/
*/
{ lib }:
with lib.maintainers; {
with lib.maintainers;
{
acme = {
members = [
aanderse
@@ -67,9 +69,7 @@ with lib.maintainers; {
minijackson
yurrriq
];
githubTeams = [
"beam"
];
githubTeams = [ "beam" ];
scope = "Maintain BEAM-related packages and modules.";
shortName = "BEAM";
enableFeatureFreezePing = true;
@@ -95,9 +95,7 @@ with lib.maintainers; {
};
budgie = {
members = [
bobby285271
];
members = [ bobby285271 ];
scope = "Maintain Budgie desktop environment";
shortName = "Budgie";
};
@@ -144,9 +142,7 @@ with lib.maintainers; {
};
cloudposse = {
members = [
dudymas
];
members = [ dudymas ];
scope = "Maintain atmos and applications made by the Cloud Posse team.";
shortName = "CloudPosse";
enableFeatureFreezePing = true;
@@ -178,12 +174,8 @@ with lib.maintainers; {
};
darwin = {
members = [
toonn
];
githubTeams = [
"darwin-maintainers"
];
members = [ toonn ];
githubTeams = [ "darwin-maintainers" ];
scope = "Maintain Darwin compatibility of packages and Darwin-only packages.";
shortName = "Darwin";
enableFeatureFreezePing = true;
@@ -213,9 +205,7 @@ with lib.maintainers; {
};
deepin = {
members = [
rewine
];
members = [ rewine ];
scope = "Maintain deepin desktop environment and related packages.";
shortName = "DDE";
enableFeatureFreezePing = true;
@@ -262,29 +252,21 @@ with lib.maintainers; {
docs = {
members = [ ];
githubTeams = [
"documentation-team"
];
githubTeams = [ "documentation-team" ];
scope = "Maintain nixpkgs/NixOS documentation and tools for building it.";
shortName = "Docs";
enableFeatureFreezePing = true;
};
emacs = {
members = [
adisbladis
];
members = [ adisbladis ];
scope = "Maintain the Emacs editor and packages.";
shortName = "Emacs";
};
enlightenment = {
members = [
romildo
];
githubTeams = [
"enlightenment"
];
members = [ romildo ];
githubTeams = [ "enlightenment" ];
scope = "Maintain Enlightenment desktop environment and related packages.";
shortName = "Enlightenment";
enableFeatureFreezePing = true;
@@ -303,7 +285,12 @@ with lib.maintainers; {
};
flutter = {
members = [ mkg20001 RossComputerGuy FlafyDev hacker1024 ];
members = [
mkg20001
RossComputerGuy
FlafyDev
hacker1024
];
scope = "Maintain Flutter and Dart-related packages and build tools";
shortName = "flutter";
enableFeatureFreezePing = false;
@@ -373,9 +360,7 @@ with lib.maintainers; {
sikmir
willcohen
];
githubTeams = [
"geospatial"
];
githubTeams = [ "geospatial" ];
scope = "Maintain geospatial packages.";
shortName = "Geospatial";
enableFeatureFreezePing = true;
@@ -400,9 +385,7 @@ with lib.maintainers; {
qbit
mfrw
];
githubTeams = [
"golang"
];
githubTeams = [ "golang" ];
scope = "Maintain Golang compilers.";
shortName = "Go";
enableFeatureFreezePing = true;
@@ -415,9 +398,7 @@ with lib.maintainers; {
jtojnar
dasj19
];
githubTeams = [
"gnome"
];
githubTeams = [ "gnome" ];
scope = "Maintain GNOME desktop environment and platform.";
shortName = "GNOME";
enableFeatureFreezePing = true;
@@ -443,9 +424,7 @@ with lib.maintainers; {
ncfavier
sternenseemann
];
githubTeams = [
"haskell"
];
githubTeams = [ "haskell" ];
scope = "Maintain Haskell packages and infrastructure.";
shortName = "Haskell";
enableFeatureFreezePing = true;
@@ -472,9 +451,7 @@ with lib.maintainers; {
};
infisical = {
members = [
akhilmhdh
];
members = [ akhilmhdh ];
scope = "Maintain Infisical";
shortName = "Infisical";
};
@@ -568,9 +545,7 @@ with lib.maintainers; {
uthar
hraban
];
githubTeams = [
"lisp"
];
githubTeams = [ "lisp" ];
scope = "Maintain the Lisp ecosystem.";
shortName = "lisp";
enableFeatureFreezePing = true;
@@ -586,18 +561,14 @@ with lib.maintainers; {
rrbutani
sternenseemann
];
githubTeams = [
"llvm"
];
githubTeams = [ "llvm" ];
scope = "Maintain LLVM package sets and related packages";
shortName = "LLVM";
enableFeatureFreezePing = true;
};
lomiri = {
members = [
OPNA2608
];
members = [ OPNA2608 ];
scope = "Maintain Lomiri desktop environment and related packages.";
shortName = "Lomiri";
enableFeatureFreezePing = true;
@@ -614,21 +585,15 @@ with lib.maintainers; {
};
lua = {
githubTeams = [
"lua"
];
githubTeams = [ "lua" ];
scope = "Maintain the lua ecosystem.";
shortName = "lua";
enableFeatureFreezePing = true;
};
lumina = {
members = [
romildo
];
githubTeams = [
"lumina"
];
members = [ romildo ];
githubTeams = [ "lumina" ];
scope = "Maintain lumina desktop environment and related packages.";
shortName = "Lumina";
enableFeatureFreezePing = true;
@@ -647,12 +612,8 @@ with lib.maintainers; {
};
lxqt = {
members = [
romildo
];
githubTeams = [
"lxqt"
];
members = [ romildo ];
githubTeams = [ "lxqt" ];
scope = "Maintain LXQt desktop environment and related packages.";
shortName = "LXQt";
enableFeatureFreezePing = true;
@@ -717,9 +678,7 @@ with lib.maintainers; {
};
mobile = {
members = [
samueldr
];
members = [ samueldr ];
scope = "Maintain Mobile NixOS.";
shortName = "Mobile";
};
@@ -766,21 +725,15 @@ with lib.maintainers; {
};
ocaml = {
members = [
alizter
];
githubTeams = [
"ocaml"
];
members = [ alizter ];
githubTeams = [ "ocaml" ];
scope = "Maintain the OCaml compiler and package set.";
shortName = "OCaml";
enableFeatureFreezePing = true;
};
openstack = {
members = [
SuperSandro2000
];
members = [ SuperSandro2000 ];
scope = "Maintain the ecosystem around OpenStack";
shortName = "OpenStack";
};
@@ -801,18 +754,14 @@ with lib.maintainers; {
davidak
bobby285271
];
githubTeams = [
"pantheon"
];
githubTeams = [ "pantheon" ];
scope = "Maintain Pantheon desktop environment and platform.";
shortName = "Pantheon";
enableFeatureFreezePing = true;
};
perl = {
members = [
sgo
];
members = [ sgo ];
scope = "Maintain the Perl interpreter and Perl packages.";
shortName = "Perl";
enableFeatureFreezePing = true;
@@ -826,9 +775,7 @@ with lib.maintainers; {
patka
talyz
];
githubTeams = [
"php"
];
githubTeams = [ "php" ];
scope = "Maintain PHP related packages and extensions.";
shortName = "PHP";
enableFeatureFreezePing = true;
@@ -839,17 +786,13 @@ with lib.maintainers; {
saschagrunert
vdemeester
];
githubTeams = [
"podman"
];
githubTeams = [ "podman" ];
scope = "Maintain Podman and CRI-O related packages and modules.";
shortName = "Podman";
};
postgres = {
members = [
thoughtpolice
];
members = [ thoughtpolice ];
scope = "Maintain the PostgreSQL package and plugins along with the NixOS module.";
shortName = "PostgreSQL";
};
@@ -858,7 +801,7 @@ with lib.maintainers; {
members = [
hexa
jonringer
tjni
natsukium
];
scope = "Maintain the Python interpreter and related packages.";
shortName = "Python";
@@ -875,9 +818,7 @@ with lib.maintainers; {
SuperSandro2000
ttuegel
];
githubTeams = [
"qt-kde"
];
githubTeams = [ "qt-kde" ];
scope = "Maintain the Qt framework, KDE application suite, Plasma desktop environment and related projects.";
shortName = "Qt / KDE";
enableFeatureFreezePing = true;
@@ -907,9 +848,7 @@ with lib.maintainers; {
release = {
members = [ ];
githubTeams = [
"nixos-release-managers"
];
githubTeams = [ "nixos-release-managers" ];
scope = "Manage the current nixpkgs/NixOS release.";
shortName = "Release";
};
@@ -920,16 +859,13 @@ with lib.maintainers; {
Flakebi
mschwaig
];
githubTeams = [
"rocm-maintainers"
];
githubTeams = [ "rocm-maintainers" ];
scope = "Maintain ROCm and related packages.";
shortName = "ROCm";
};
ruby = {
members = [
];
members = [ ];
scope = "Maintain the Ruby interpreter and related packages.";
shortName = "Ruby";
enableFeatureFreezePing = true;
@@ -943,9 +879,7 @@ with lib.maintainers; {
winter
zowoq
];
githubTeams = [
"rust"
];
githubTeams = [ "rust" ];
scope = "Maintain the Rust compiler toolchain and nixpkgs integration.";
shortName = "Rust";
enableFeatureFreezePing = true;
@@ -976,9 +910,7 @@ with lib.maintainers; {
serokell = {
# Verify additions by approval of an already existing member of the team.
members = [
balsoft
];
members = [ balsoft ];
scope = "Group registration for Serokell employees who collectively maintain packages.";
shortName = "Serokell employees";
};
@@ -997,27 +929,21 @@ with lib.maintainers; {
systemd = {
members = [ ];
githubTeams = [
"systemd"
];
githubTeams = [ "systemd" ];
scope = "Maintain systemd for NixOS.";
shortName = "systemd";
enableFeatureFreezePing = true;
};
tests = {
members = [
tfc
];
members = [ tfc ];
scope = "Maintain the NixOS VM test runner.";
shortName = "NixOS tests";
enableFeatureFreezePing = true;
};
tts = {
members = [
mic92
];
members = [ mic92 ];
scope = "coqui-ai TTS (formerly Mozilla TTS) and leaf packages";
shortName = "coqui-ai TTS";
};
@@ -19,6 +19,8 @@
## Backward Incompatibilities {#sec-release-24.11-incompatibilities}
- `androidenv.androidPkgs_9_0` has been removed, and replaced with `androidenv.androidPkgs` for a more complete Android SDK including support for Android 9 and later.
- `nginx` package no longer includes `gd` and `geoip` dependencies. For enabling it, override `nginx` package with the optionals `withImageFilter` and `withGeoIP`.
- `openssh` and `openssh_hpn` are now compiled without Kerberos 5 / GSSAPI support in an effort to reduce the attack surface of the components for the majority of users. Users needing this support can
@@ -35,6 +37,10 @@
- `services.ddclient.use` has been deprecated: `ddclient` now supports separate IPv4 and IPv6 configuration. Use `services.ddclient.usev4` and `services.ddclient.usev6` instead.
- `vaultwarden` lost the capability to bind to privileged ports. If you rely on
this behavior, override the systemd unit to allow `CAP_NET_BIND_SERVICE` in
your local configuration.
- The Invoiceplane module now only accepts the structured `settings` option.
`extraConfig` is now removed.
@@ -67,6 +73,10 @@
services.portunus.ldap.package = pkgs.openldap.override { libxcrypt = pkgs.libxcrypt-legacy; };
```
- The `tracy` package no longer works on X11, since it's moved to Wayland
support, which is the intended default behavior by Tracy maintainers.
X11 users have to switch to the new package `tracy-x11`.
## Other Notable Changes {#sec-release-24.11-notable-changes}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
+1 -1
View File
@@ -39,7 +39,7 @@ with lib;
# dep of graphviz, libXpm is optional for Xpm support
gd = super.gd.override { withXorg = false; };
ghostscript = super.ghostscript.override { cupsSupport = false; x11Support = false; };
gjs = super.gjs.overrideAttrs { doCheck = false; installTests = false; }; # avoid test dependency on gtk3
gjs = (super.gjs.override { installTests = false; }).overrideAttrs { doCheck = false; }; # avoid test dependency on gtk3
gobject-introspection = super.gobject-introspection.override { x11Support = false; };
gpg-tui = super.gpg-tui.override { x11Support = false; };
gpsd = super.gpsd.override { guiSupport = false; };
+7 -11
View File
@@ -29,17 +29,13 @@ in
config =
let
shell_files = pkgs.stdenv.mkDerivation rec {
name = "kubeswitch-shell-files";
phases = [ "installPhase" ];
installPhase = ''
mkdir -p $out/share
for shell in bash zsh; do
${cfg.package}/bin/switcher init $shell | sed 's/switch(/${cfg.commandName}(/' > $out/share/${cfg.commandName}_init.$shell
${cfg.package}/bin/switcher --cmd ${cfg.commandName} completion $shell > $out/share/${cfg.commandName}_completion.$shell
done
'';
};
shell_files = pkgs.runCommand "kubeswitch-shell-files" {} ''
mkdir -p $out/share
for shell in bash zsh; do
${cfg.package}/bin/switcher init $shell | sed 's/switch(/${cfg.commandName}(/' > $out/share/${cfg.commandName}_init.$shell
${cfg.package}/bin/switcher --cmd ${cfg.commandName} completion $shell > $out/share/${cfg.commandName}_completion.$shell
done
'';
in
lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
+17 -8
View File
@@ -14,23 +14,32 @@ in
options.programs.ydotool = {
enable = lib.mkEnableOption ''
ydotoold system service and install ydotool.
Add yourself to the 'ydotool' group to be able to use it.
ydotoold system service and {command}`ydotool` for members of
{option}`programs.ydotool.group`.
'';
group = lib.mkOption {
type = lib.types.str;
default = "ydotool";
description = ''
Group which users must be in to use {command}`ydotool`.
'';
};
};
config = lib.mkIf cfg.enable {
users.groups.ydotool = { };
config = let
runtimeDirectory = "ydotoold";
in lib.mkIf cfg.enable {
users.groups."${config.programs.ydotool.group}" = { };
systemd.services.ydotoold = {
description = "ydotoold - backend for ydotool";
wantedBy = [ "multi-user.target" ];
partOf = [ "multi-user.target" ];
serviceConfig = {
Group = "ydotool";
RuntimeDirectory = "ydotoold";
Group = config.programs.ydotool.group;
RuntimeDirectory = runtimeDirectory;
RuntimeDirectoryMode = "0750";
ExecStart = "${lib.getExe' pkgs.ydotool "ydotoold"} --socket-path=/run/ydotoold/socket --socket-perm=0660";
ExecStart = "${lib.getExe' pkgs.ydotool "ydotoold"} --socket-path=${config.environment.variables.YDOTOOL_SOCKET} --socket-perm=0660";
# hardening
@@ -76,7 +85,7 @@ in
};
environment.variables = {
YDOTOOL_SOCKET = "/run/ydotoold/socket";
YDOTOOL_SOCKET = "/run/${runtimeDirectory}/socket";
};
environment.systemPackages = with pkgs; [ ydotool ];
};
@@ -244,6 +244,27 @@ The upgrade process is:
$ ./delete_old_cluster.sh
```
## Versioning and End-of-Life {#module-services-postgres-versioning}
PostgreSQL's versioning policy is described [here](https://www.postgresql.org/support/versioning/). TLDR:
- Each major version is supported for 5 years.
- Every three months there will be a new minor release, containing bug and security fixes.
- For criticial/security fixes there could be more minor releases inbetween. This happens *very* infrequently.
- After five years, a final minor version is released. This usually happens in early November.
- After that a version is considered end-of-life (EOL).
- Around February each year is the first time an EOL-release will not have received regular updates anymore.
Technically, we'd not want to have EOL'ed packages in a stable NixOS release, which is to be supported until one month after the previous release. Thus, with NixOS' release schedule in May and November, the oldest PostgreSQL version in nixpkgs would have to be supported until December. It could be argued that a soon-to-be-EOL-ed version should thus be removed in May for the .05 release already. But since new security vulnerabilities are first disclosed in Februrary of the following year, we agreed on keeping the oldest PostgreSQL major version around one more cycle in [#310580](https://github.com/NixOS/nixpkgs/pull/310580#discussion_r1597284693).
Thus:
- In September/October the new major version will be released and added to nixos-unstable.
- In November the last minor version for the oldest major will be released.
- Both the current stable .05 release and nixos-unstable should be updated to the latest minor.
- In November, before branch-off for the .11 release, the EOL-ed major will be removed from nixos-unstable.
This leaves a small gap of a couple of weeks after the latest minor release and the end of our support window for the .05 release, in which there could be an emergency release to other major versions of PostgreSQL - but not the oldest major we have in that branch. In that case: If we can't trivially patch the issue, we will mark the package/version as insecure **immediately**.
## Options {#module-services-postgres-options}
A complete list of options for the PostgreSQL module may be found [here](#opt-services.postgresql.enable).
@@ -146,6 +146,7 @@ in {
dolphin-plugins
spectacle
ffmpegthumbs
krdp
];
in
requiredPackages
@@ -196,7 +196,7 @@ in
Group = "archisteamfarm";
WorkingDirectory = cfg.dataDir;
Type = "simple";
ExecStart = "${lib.getExe cfg.package} --no-restart --process-required --service --system-required --path ${cfg.dataDir}";
ExecStart = "${lib.getExe cfg.package} --no-restart --service --system-required --path ${cfg.dataDir}";
Restart = "always";
# copied from the default systemd service at
+2 -7
View File
@@ -120,14 +120,9 @@ in {
if [ ! -e "${cfg.secretsFile}" ]; then
echo "WARNING: secrets file not found, autogenerating!"
DIR="$(dirname "${cfg.secretsFile}")"
if [ ! -d "$DIR" ]; then
mkdir -p -m750 "$DIR"
chown "${cfg.user}:${cfg.group}" "$DIR"
fi
dd if=/dev/random bs=18 count=1 | base64 > "${cfg.secretsFile}"
chmod 600 "${cfg.secretsFile}"
install -m 750 -o ${cfg.user} -g ${cfg.group} -d "$DIR"
install -m 600 -o ${cfg.user} -g ${cfg.group} <(dd if=/dev/random bs=18 count=1 | base64) "${cfg.secretsFile}"
fi
chown "${cfg.user}:${cfg.group}" "${cfg.secretsFile}"
'';
};
@@ -28,13 +28,7 @@ in {
options.services.amazon-ssm-agent = {
enable = mkEnableOption "Amazon SSM agent";
package = mkOption {
type = types.path;
description = "The Amazon SSM agent package to use";
default = pkgs.amazon-ssm-agent.override { overrideEtc = false; };
defaultText = literalExpression "pkgs.amazon-ssm-agent.override { overrideEtc = false; }";
};
package = mkPackageOption pkgs "amazon-ssm-agent" {};
};
config = mkIf cfg.enable {
@@ -73,6 +73,7 @@ in
virtualHosts.${cfg.domain}.locations."/oauth2/" = {
proxyPass = cfg.proxy;
extraConfig = ''
auth_request off;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Auth-Request-Redirect $scheme://$host$request_uri;
'';
@@ -586,11 +586,11 @@ in
wantedBy = [ "multi-user.target" ];
wants = [ "network-online.target" ] ++ lib.optionals needsKeycloak [ "keycloak.service" ];
after = [ "network-online.target" ] ++ lib.optionals needsKeycloak [ "keycloak.service" ];
restartTriggers = [ cfg.keyFile ];
serviceConfig = {
User = "oauth2-proxy";
Restart = "always";
ExecStart = "${cfg.package}/bin/oauth2-proxy ${configString}";
ExecStart = "${lib.getExe cfg.package} ${configString}";
EnvironmentFile = lib.mkIf (cfg.keyFile != null) cfg.keyFile;
};
};
@@ -5,6 +5,8 @@ let
user = config.users.users.vaultwarden.name;
group = config.users.groups.vaultwarden.name;
StateDirectory = if lib.versionOlder config.system.stateVersion "24.11" then "bitwarden_rs" else "vaultwarden";
# Convert name from camel case (e.g. disable2FARemember) to upper case snake case (e.g. DISABLE_2FA_REMEMBER).
nameToEnvVar = name:
let
@@ -23,7 +25,7 @@ let
configEnv = lib.concatMapAttrs (name: value: lib.optionalAttrs (value != null) {
${nameToEnvVar name} = if lib.isBool value then lib.boolToString value else toString value;
}) cfg.config;
in { DATA_FOLDER = "/var/lib/bitwarden_rs"; } // lib.optionalAttrs (!(configEnv ? WEB_VAULT_ENABLED) || configEnv.WEB_VAULT_ENABLED == "true") {
in { DATA_FOLDER = "/var/lib/${StateDirectory}"; } // lib.optionalAttrs (!(configEnv ? WEB_VAULT_ENABLED) || configEnv.WEB_VAULT_ENABLED == "true") {
WEB_VAULT_FOLDER = "${cfg.webVaultPackage}/share/vaultwarden/vault";
} // configEnv;
@@ -176,16 +178,45 @@ in {
User = user;
Group = group;
EnvironmentFile = [ configFile ] ++ lib.optional (cfg.environmentFile != null) cfg.environmentFile;
ExecStart = "${vaultwarden}/bin/vaultwarden";
ExecStart = lib.getExe vaultwarden;
LimitNOFILE = "1048576";
PrivateTmp = "true";
PrivateDevices = "true";
ProtectHome = "true";
CapabilityBoundingSet = [ "" ];
DeviceAllow = [ "" ];
DevicePolicy = "closed";
LockPersonality = true;
MemoryDenyWriteExecute = true;
NoNewPrivileges = true;
PrivateDevices = true;
PrivateTmp = true;
PrivateUsers = true;
ProcSubset = "pid";
ProtectClock = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectProc = "noaccess";
ProtectSystem = "strict";
AmbientCapabilities = "CAP_NET_BIND_SERVICE";
StateDirectory = "bitwarden_rs";
RemoveIPC = true;
RestrictAddressFamilies = [
"AF_INET"
"AF_INET6"
"AF_UNIX"
];
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
inherit StateDirectory;
StateDirectoryMode = "0700";
SystemCallArchitectures = "native";
SystemCallFilter = [
"@system-service"
"~@privileged"
];
Restart = "always";
UMask = "0077";
};
wantedBy = [ "multi-user.target" ];
};
@@ -193,7 +224,7 @@ in {
systemd.services.backup-vaultwarden = lib.mkIf (cfg.backupDir != null) {
description = "Backup vaultwarden";
environment = {
DATA_FOLDER = "/var/lib/bitwarden_rs";
DATA_FOLDER = "/var/lib/${StateDirectory}";
BACKUP_FOLDER = cfg.backupDir;
};
path = with pkgs; [ sqlite ];
@@ -46,7 +46,8 @@ let
Type = "oneshot";
User = user;
Group = group;
StateDirectory = "${removePrefix "/var/lib/" cfg.dataDir}";
StateDirectory = "firefly-iii";
ReadWritePaths = [cfg.dataDir];
WorkingDirectory = cfg.package;
PrivateTmp = true;
PrivateDevices = true;
+2 -2
View File
@@ -10,7 +10,7 @@ in
meta.maintainers = with maintainers; [ etu stunkymonkey mattchrist ];
options.services.freshrss = {
enable = mkEnableOption "FreshRSS feed reader";
enable = mkEnableOption "FreshRSS RSS aggregator and reader with php-fpm backend.";
package = mkPackageOption pkgs "freshrss" { };
@@ -108,7 +108,7 @@ in
type = types.str;
default = poolName;
description = ''
Name of the phpfpm pool to use and setup. If not specified, a pool will be created
Name of the php-fpm pool to use and setup. If not specified, a pool will be created
with default values.
'';
};
@@ -46,10 +46,10 @@ let
version = src.version;
src = pkgs.invoiceplane;
postPhase = ''
postPatch = ''
# Patch index.php file to load additional config file
substituteInPlace index.php \
--replace "require('vendor/autoload.php');" "require('vendor/autoload.php'); \$dotenv = Dotenv\Dotenv::createImmutable(__DIR__, 'extraConfig.php'); \$dotenv->load();";
--replace-fail "require('vendor/autoload.php');" "require('vendor/autoload.php'); \$dotenv = Dotenv\Dotenv::createImmutable(__DIR__, 'extraConfig.php'); \$dotenv->load();";
'';
installPhase = ''
@@ -7,7 +7,7 @@
let
cfg = config.services.nextjs-ollama-llm-ui;
# we have to override the URL to a Ollama service here, because it gets baked into the web app.
nextjs-ollama-llm-ui = cfg.package.override { ollamaUrl = "https://ollama.lambdablob.com"; };
nextjs-ollama-llm-ui = cfg.package.override { inherit (cfg) ollamaUrl; };
in
{
options = {
+2 -2
View File
@@ -310,7 +310,7 @@ in
type = types.str;
default = "redis+socket://${config.services.redis.servers.pretix.unixSocket}?virtual_host=1";
defaultText = literalExpression ''
optionalString config.services.pretix.celery.enable "redis+socket://''${config.services.redis.servers.pretix.unixSocket}?virtual_host=1"
redis+socket://''${config.services.redis.servers.pretix.unixSocket}?virtual_host=1
'';
description = ''
URI to the celery backend used for the asynchronous job queue.
@@ -321,7 +321,7 @@ in
type = types.str;
default = "redis+socket://${config.services.redis.servers.pretix.unixSocket}?virtual_host=2";
defaultText = literalExpression ''
optionalString config.services.pretix.celery.enable "redis+socket://''${config.services.redis.servers.pretix.unixSocket}?virtual_host=2"
redis+socket://''${config.services.redis.servers.pretix.unixSocket}?virtual_host=2
'';
description = ''
URI to the celery broker used for the asynchronous job queue.
+30 -74
View File
@@ -1,27 +1,27 @@
args@{ pkgs, nextcloudVersion ? 22, ... }:
{ name, pkgs, testBase, system,... }:
(import ../make-test-python.nix ({ pkgs, ...}: let
adminpass = "notproduction";
adminuser = "root";
in {
name = "nextcloud-basic";
with import ../../lib/testing-python.nix { inherit system pkgs; };
runTest ({ config, ... }: {
inherit name;
meta = with pkgs.lib.maintainers; {
maintainers = [ globin eqyiel ];
maintainers = [ globin eqyiel ma27 ];
};
nodes = rec {
imports = [ testBase ];
nodes = {
# The only thing the client needs to do is download a file.
client = { ... }: {
services.davfs2.enable = true;
systemd.tmpfiles.settings.nextcloud = {
"/tmp/davfs2-secrets"."f+" = {
mode = "0600";
argument = "http://nextcloud/remote.php/dav/files/${adminuser} ${adminuser} ${adminpass}";
argument = "http://nextcloud/remote.php/dav/files/${config.adminuser} ${config.adminuser} ${config.adminpass}";
};
};
virtualisation.fileSystems = {
"/mnt/dav" = {
device = "http://nextcloud/remote.php/dav/files/${adminuser}";
device = "http://nextcloud/remote.php/dav/files/${config.adminuser}";
fsType = "davfs";
options = let
davfs2Conf = (pkgs.writeText "davfs2.conf" "secrets /tmp/davfs2-secrets");
@@ -30,11 +30,7 @@ in {
};
};
nextcloud = { config, pkgs, ... }: let
cfg = config;
in {
networking.firewall.allowedTCPPorts = [ 80 ];
nextcloud = { config, pkgs, ... }: {
systemd.tmpfiles.rules = [
"d /var/lib/nextcloud-data 0750 nextcloud nginx - -"
];
@@ -42,14 +38,7 @@ in {
services.nextcloud = {
enable = true;
datadir = "/var/lib/nextcloud-data";
hostName = "nextcloud";
database.createLocally = true;
config = {
# Don't inherit adminuser since "root" is supposed to be the default
adminpassFile = "${pkgs.writeText "adminpass" adminpass}"; # Don't try this at home!
dbtableprefix = "nixos_";
};
package = pkgs.${"nextcloud" + (toString nextcloudVersion)};
config.dbtableprefix = "nixos_";
autoUpdateApps = {
enable = true;
startAt = "20:00";
@@ -57,64 +46,31 @@ in {
phpExtraExtensions = all: [ all.bz2 ];
};
environment.systemPackages = [ cfg.services.nextcloud.occ ];
specialisation.withoutMagick.configuration = {
services.nextcloud.enableImagemagick = false;
};
};
nextcloudWithoutMagick = args@{ config, pkgs, lib, ... }:
lib.mkMerge
[ (nextcloud args)
{ services.nextcloud.enableImagemagick = false; } ];
};
testScript = { nodes, ... }: let
withRcloneEnv = pkgs.writeScript "with-rclone-env" ''
#!${pkgs.runtimeShell}
export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/dav/files/${adminuser}"
export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
export RCLONE_CONFIG_NEXTCLOUD_USER="${adminuser}"
export RCLONE_CONFIG_NEXTCLOUD_PASS="$(${pkgs.rclone}/bin/rclone obscure ${adminpass})"
"''${@}"
'';
copySharedFile = pkgs.writeScript "copy-shared-file" ''
#!${pkgs.runtimeShell}
echo 'hi' | ${withRcloneEnv} ${pkgs.rclone}/bin/rclone rcat nextcloud:test-shared-file
'';
diffSharedFile = pkgs.writeScript "diff-shared-file" ''
#!${pkgs.runtimeShell}
diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file)
'';
test-helpers.extraTests = { nodes, ... }: let
findInClosure = what: drv: pkgs.runCommand "find-in-closure" { exportReferencesGraph = [ "graph" drv ]; inherit what; } ''
test -e graph
grep "$what" graph >$out || true
'';
nextcloudUsesImagick = findInClosure "imagick" nodes.nextcloud.system.build.vm;
nextcloudWithoutDoesntUseIt = findInClosure "imagick" nodes.nextcloudWithoutMagick.system.build.vm;
nexcloudWithImagick = findInClosure "imagick" nodes.nextcloud.system.build.vm;
nextcloudWithoutImagick = findInClosure "imagick" nodes.nextcloud.specialisation.withoutMagick.configuration.system.build.vm;
in ''
assert open("${nextcloudUsesImagick}").read() != ""
assert open("${nextcloudWithoutDoesntUseIt}").read() == ""
with subtest("File is in proper nextcloud home"):
nextcloud.succeed("test -f ${nodes.nextcloud.services.nextcloud.datadir}/data/root/files/test-shared-file")
nextcloud.start()
client.start()
nextcloud.wait_for_unit("multi-user.target")
# This is just to ensure the nextcloud-occ program is working
nextcloud.succeed("nextcloud-occ status")
nextcloud.succeed("curl -sSf http://nextcloud/login")
# Ensure that no OpenSSL 1.1 is used.
nextcloud.succeed(
"${nodes.nextcloud.services.phpfpm.pools.nextcloud.phpPackage}/bin/php -i | grep 'OpenSSL Library Version' | awk -F'=>' '{ print $2 }' | awk '{ print $2 }' | grep -v 1.1"
)
nextcloud.succeed(
"${withRcloneEnv} ${copySharedFile}"
)
client.wait_for_unit("multi-user.target")
nextcloud.succeed("test -f /var/lib/nextcloud-data/data/root/files/test-shared-file")
client.succeed(
"${withRcloneEnv} ${diffSharedFile}"
)
assert "hi" in client.succeed("cat /mnt/dav/test-shared-file")
nextcloud.succeed("grep -vE '^HBEGIN:oc_encryption_module' /var/lib/nextcloud-data/data/root/files/test-shared-file")
with subtest("Closure checks"):
assert open("${nexcloudWithImagick}").read() != ""
assert open("${nextcloudWithoutImagick}").read() == ""
with subtest("Davfs2"):
assert "hi" in client.succeed("cat /mnt/dav/test-shared-file")
with subtest("Ensure SSE is disabled by default"):
nextcloud.succeed("grep -vE '^HBEGIN:oc_encryption_module' /var/lib/nextcloud-data/data/root/files/test-shared-file")
'';
})) args
})
+104 -17
View File
@@ -5,21 +5,108 @@
with pkgs.lib;
foldl
(matrix: ver: matrix // {
"basic${toString ver}" = import ./basic.nix { inherit system pkgs; nextcloudVersion = ver; };
"with-postgresql-and-redis${toString ver}" = import ./with-postgresql-and-redis.nix {
inherit system pkgs;
nextcloudVersion = ver;
let
baseModule = { config, ... }: {
imports = [
{
options.test-helpers = {
rclone = mkOption { type = types.str; };
upload-sample = mkOption { type = types.str; };
check-sample = mkOption { type = types.str; };
init = mkOption { type = types.str; default = ""; };
extraTests = mkOption { type = types.either types.str (types.functionTo types.str); default = ""; };
};
options.adminuser = mkOption { type = types.str; };
options.adminpass = mkOption { type = types.str; };
}
];
adminuser = "root";
adminpass = "hunter2";
test-helpers.rclone = "${pkgs.writeShellScript "rclone" ''
set -euo pipefail
export PATH="${pkgs.rclone}/bin:$PATH"
export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/dav/files/${config.adminuser}"
export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
export RCLONE_CONFIG_NEXTCLOUD_USER="${config.adminuser}"
export RCLONE_CONFIG_NEXTCLOUD_PASS="$(rclone obscure ${config.adminpass})"
exec "$@"
''}";
test-helpers.upload-sample = "${pkgs.writeShellScript "rclone-upload" ''
<<<'hi' rclone rcat nextcloud:test-shared-file
''}";
test-helpers.check-sample = "${pkgs.writeShellScript "check-sample" ''
set -e
diff <(echo 'hi') <(rclone cat nextcloud:test-shared-file)
''}";
nodes = {
client = { ... }: {};
nextcloud = {
networking.firewall.allowedTCPPorts = [ 80 ];
services.nextcloud = {
enable = true;
hostName = "nextcloud";
https = false;
database.createLocally = true;
config = {
adminpassFile = "${pkgs.writeText "adminpass" config.adminpass}"; # Don't try this at home!
};
};
};
};
"with-mysql-and-memcached${toString ver}" = import ./with-mysql-and-memcached.nix {
inherit system pkgs;
nextcloudVersion = ver;
};
"with-declarative-redis-and-secrets${toString ver}" = import ./with-declarative-redis-and-secrets.nix {
inherit system pkgs;
nextcloudVersion = ver;
};
})
{ }
[ 27 28 29 ]
testScript = args@{ nodes, ... }: let
inherit (config) test-helpers;
in mkBefore ''
nextcloud.start()
client.start()
nextcloud.wait_for_unit("multi-user.target")
${test-helpers.init}
with subtest("Ensure nextcloud-occ is working"):
nextcloud.succeed("nextcloud-occ status")
nextcloud.succeed("curl -sSf http://nextcloud/login")
with subtest("Upload/Download test"):
nextcloud.succeed(
"${test-helpers.rclone} ${test-helpers.upload-sample}"
)
client.wait_for_unit("multi-user.target")
client.succeed(
"${test-helpers.rclone} ${test-helpers.check-sample}"
)
${if builtins.isFunction test-helpers.extraTests then test-helpers.extraTests args else test-helpers.extraTests}
'';
};
genTests = version:
let
testBase.imports = [
baseModule
{
nodes.nextcloud = { pkgs, ... }: {
services.nextcloud.package = pkgs.${"nextcloud${toString version}"};
};
}
];
callNextcloudTest = path:
let
name = "${removeSuffix ".nix" (baseNameOf path)}${toString version}";
in nameValuePair name (import path {
inherit system pkgs testBase;
name = "nextcloud-${name}";
});
in map callNextcloudTest [
./basic.nix
./with-mysql-and-memcached.nix
./with-postgresql-and-redis.nix
./with-objectstore.nix
];
in
listToAttrs (concatMap genTests [ 27 28 29 ])
@@ -1,79 +1,37 @@
args@{ pkgs, nextcloudVersion ? 22, ... }:
{ pkgs, testBase, system, ... }:
(import ../make-test-python.nix ({ pkgs, ...}: let
adminpass = "hunter2";
adminuser = "root";
in {
with import ../../lib/testing-python.nix { inherit system pkgs; };
runTest ({ config, ... }: {
name = "nextcloud-with-mysql-and-memcached";
meta = with pkgs.lib.maintainers; {
maintainers = [ eqyiel ];
};
imports = [ testBase ];
nodes = {
# The only thing the client needs to do is download a file.
client = { ... }: {};
nextcloud = { config, pkgs, ... }: {
networking.firewall.allowedTCPPorts = [ 80 ];
services.nextcloud = {
enable = true;
hostName = "nextcloud";
https = true;
package = pkgs.${"nextcloud" + (toString nextcloudVersion)};
caching = {
apcu = true;
redis = false;
memcached = true;
};
database.createLocally = true;
config = {
dbtype = "mysql";
# Don't inherit adminuser since "root" is supposed to be the default
adminpassFile = "${pkgs.writeText "adminpass" adminpass}"; # Don't try this at home!
};
config.dbtype = "mysql";
};
services.memcached.enable = true;
};
};
testScript = let
test-helpers.init = let
configureMemcached = pkgs.writeScript "configure-memcached" ''
#!${pkgs.runtimeShell}
nextcloud-occ config:system:set memcached_servers 0 0 --value 127.0.0.1 --type string
nextcloud-occ config:system:set memcached_servers 0 1 --value 11211 --type integer
nextcloud-occ config:system:set memcache.local --value '\OC\Memcache\APCu' --type string
nextcloud-occ config:system:set memcache.distributed --value '\OC\Memcache\Memcached' --type string
'';
withRcloneEnv = pkgs.writeScript "with-rclone-env" ''
#!${pkgs.runtimeShell}
export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/dav/files/${adminuser}"
export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
export RCLONE_CONFIG_NEXTCLOUD_USER="${adminuser}"
export RCLONE_CONFIG_NEXTCLOUD_PASS="$(${pkgs.rclone}/bin/rclone obscure ${adminpass})"
'';
copySharedFile = pkgs.writeScript "copy-shared-file" ''
#!${pkgs.runtimeShell}
echo 'hi' | ${pkgs.rclone}/bin/rclone rcat nextcloud:test-shared-file
'';
diffSharedFile = pkgs.writeScript "diff-shared-file" ''
#!${pkgs.runtimeShell}
diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file)
'';
in ''
start_all()
nextcloud.wait_for_unit("multi-user.target")
nextcloud.succeed("${configureMemcached}")
nextcloud.succeed("curl -sSf http://nextcloud/login")
nextcloud.succeed(
"${withRcloneEnv} ${copySharedFile}"
)
client.wait_for_unit("multi-user.target")
client.succeed(
"${withRcloneEnv} ${diffSharedFile}"
)
'';
})) args
})
@@ -0,0 +1,96 @@
{ name, pkgs, testBase, system, ... }:
with import ../../lib/testing-python.nix { inherit system pkgs; };
runTest ({ config, lib, ... }: let
accessKey = "BKIKJAA5BMMU2RHO6IBB";
secretKey = "V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12";
rootCredentialsFile = pkgs.writeText "minio-credentials-full" ''
MINIO_ROOT_USER=${accessKey}
MINIO_ROOT_PASSWORD=${secretKey}
'';
in {
inherit name;
meta = with pkgs.lib.maintainers; {
maintainers = [ onny ma27 ];
};
imports = [ testBase ];
nodes = {
nextcloud = { config, pkgs, ... }: {
networking.firewall.allowedTCPPorts = [ 9000 ];
environment.systemPackages = [ pkgs.minio-client ];
services.nextcloud.config.objectstore.s3 = {
enable = true;
bucket = "nextcloud";
autocreate = true;
key = accessKey;
secretFile = "${pkgs.writeText "secretKey" secretKey}";
hostname = "nextcloud";
useSsl = false;
port = 9000;
usePathStyle = true;
region = "us-east-1";
};
services.minio = {
enable = true;
listenAddress = "0.0.0.0:9000";
consoleAddress = "0.0.0.0:9001";
inherit rootCredentialsFile;
};
};
};
test-helpers.init = ''
nextcloud.wait_for_open_port(9000)
'';
test-helpers.extraTests = { nodes, ... }: ''
with subtest("File is not on the filesystem"):
nextcloud.succeed("test ! -e ${nodes.nextcloud.services.nextcloud.home}/data/root/files/test-shared-file")
with subtest("Check if file is in S3"):
nextcloud.succeed(
"mc config host add minio http://localhost:9000 ${accessKey} ${secretKey} --api s3v4"
)
files = nextcloud.succeed('mc ls minio/nextcloud|sort').strip().split('\n')
# Cannot assert an exact number here, nc27 writes more stuff initially into S3.
# For now let's assume it's always the most recently added file.
assert len(files) > 0, f"""
Expected to have at least one object in minio/nextcloud. But `mc ls` gave output:
'{files}'
"""
import re
ptrn = re.compile("^\[[A-Z0-9 :-]+\] +(?P<details>[A-Za-z0-9 :]+)$")
match = ptrn.match(files[-1].strip())
assert match, "Cannot match mc client output!"
size, type_, file = tuple(match.group('details').split(' '))
assert size == "3B", f"""
Expected size of uploaded file to be 3 bytes, got {size}
"""
assert type_ == 'STANDARD', f"""
Expected type of bucket entry to be a file, i.e. 'STANDARD'. Got {type_}
"""
assert file.startswith('urn:oid'), """
Expected filename to start with 'urn:oid', instead got '{file}.
"""
with subtest("Test download from S3"):
client.succeed(
"env AWS_ACCESS_KEY_ID=${accessKey} AWS_SECRET_ACCESS_KEY=${secretKey} "
+ f"${lib.getExe pkgs.awscli2} s3 cp s3://nextcloud/{file} test --endpoint-url http://nextcloud:9000 "
+ "--region us-east-1"
)
client.succeed("test hi = $(cat test)")
'';
})
@@ -1,45 +1,30 @@
args@{ pkgs, nextcloudVersion ? 22, ... }:
{ name, pkgs, testBase, system, ... }:
(import ../make-test-python.nix ({ pkgs, ...}: let
adminpass = "hunter2";
adminuser = "custom-admin-username";
in {
name = "nextcloud-with-postgresql-and-redis";
with import ../../lib/testing-python.nix { inherit system pkgs; };
runTest ({ config, ... }: {
inherit name;
meta = with pkgs.lib.maintainers; {
maintainers = [ eqyiel ];
maintainers = [ eqyiel ma27 ];
};
imports = [ testBase ];
nodes = {
# The only thing the client needs to do is download a file.
client = { ... }: {};
nextcloud = { config, pkgs, lib, ... }: {
networking.firewall.allowedTCPPorts = [ 80 ];
services.nextcloud = {
enable = true;
hostName = "nextcloud";
package = pkgs.${"nextcloud" + (toString nextcloudVersion)};
caching = {
apcu = false;
redis = true;
memcached = false;
};
database.createLocally = true;
config = {
dbtype = "pgsql";
inherit adminuser;
adminpassFile = toString (pkgs.writeText "admin-pass-file" ''
${adminpass}
'');
};
config.dbtype = "pgsql";
notify_push = {
enable = true;
logLevel = "debug";
};
extraAppsEnable = true;
extraApps = {
inherit (pkgs."nextcloud${lib.versions.major config.services.nextcloud.package.version}Packages".apps) notify_push notes;
extraApps = with config.services.nextcloud.package.packages.apps; {
inherit notify_push notes;
};
settings.trusted_proxies = [ "::1" ];
};
@@ -49,50 +34,27 @@ in {
};
};
testScript = let
test-helpers.init = let
configureRedis = pkgs.writeScript "configure-redis" ''
#!${pkgs.runtimeShell}
nextcloud-occ config:system:set redis 'host' --value 'localhost' --type string
nextcloud-occ config:system:set redis 'port' --value 6379 --type integer
nextcloud-occ config:system:set memcache.local --value '\OC\Memcache\Redis' --type string
nextcloud-occ config:system:set memcache.locking --value '\OC\Memcache\Redis' --type string
'';
withRcloneEnv = pkgs.writeScript "with-rclone-env" ''
#!${pkgs.runtimeShell}
export RCLONE_CONFIG_NEXTCLOUD_TYPE=webdav
export RCLONE_CONFIG_NEXTCLOUD_URL="http://nextcloud/remote.php/dav/files/${adminuser}"
export RCLONE_CONFIG_NEXTCLOUD_VENDOR="nextcloud"
export RCLONE_CONFIG_NEXTCLOUD_USER="${adminuser}"
export RCLONE_CONFIG_NEXTCLOUD_PASS="$(${pkgs.rclone}/bin/rclone obscure ${adminpass})"
"''${@}"
'';
copySharedFile = pkgs.writeScript "copy-shared-file" ''
#!${pkgs.runtimeShell}
echo 'hi' | ${pkgs.rclone}/bin/rclone rcat nextcloud:test-shared-file
'';
diffSharedFile = pkgs.writeScript "diff-shared-file" ''
#!${pkgs.runtimeShell}
diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file)
'';
in ''
start_all()
nextcloud.wait_for_unit("multi-user.target")
nextcloud.succeed("${configureRedis}")
nextcloud.succeed("curl -sSf http://nextcloud/login")
nextcloud.succeed(
"${withRcloneEnv} ${copySharedFile}"
)
client.wait_for_unit("multi-user.target")
client.execute("${pkgs.lib.getExe pkgs.nextcloud-notify_push.passthru.test_client} http://nextcloud ${adminuser} ${adminpass} >&2 &")
client.succeed(
"${withRcloneEnv} ${diffSharedFile}"
)
nextcloud.wait_until_succeeds("journalctl -u nextcloud-notify_push | grep -q \"Sending ping to ${adminuser}\"")
# redis cache should not be empty
nextcloud.fail('test "[]" = "$(redis-cli --json KEYS "*")"')
nextcloud.fail("curl -f http://nextcloud/nix-apps/notes/lib/AppInfo/Application.php")
'';
})) args
test-helpers.extraTests = ''
with subtest("notify-push"):
client.execute("${pkgs.lib.getExe pkgs.nextcloud-notify_push.passthru.test_client} http://nextcloud ${config.adminuser} ${config.adminpass} >&2 &")
nextcloud.wait_until_succeeds("journalctl -u nextcloud-notify_push | grep -q \"Sending ping to ${config.adminuser}\"")
with subtest("Redis is used for caching"):
# redis cache should not be empty
nextcloud.fail('test "[]" = "$(redis-cli --json KEYS "*")"')
with subtest("No code is returned when requesting PHP files (regression test)"):
nextcloud.fail("curl -f http://nextcloud/nix-apps/notes/lib/AppInfo/Application.php")
'';
})
+72
View File
@@ -1,5 +1,54 @@
import ./make-test-python.nix ({ lib, pkgs, ... }:
let
# Define an example Quickwit index schema,
# and some `exampleDocs` below, to test if ingesting
# and querying works as expected.
index_yaml = ''
version: 0.7
index_id: example_server_logs
doc_mapping:
mode: dynamic
field_mappings:
- name: datetime
type: datetime
fast: true
input_formats:
- iso8601
output_format: iso8601
fast_precision: seconds
fast: true
- name: git
type: text
tokenizer: raw
- name: hostname
type: text
tokenizer: raw
- name: level
type: text
tokenizer: raw
- name: message
type: text
- name: location
type: text
- name: source
type: text
timestamp_field: datetime
search_settings:
default_search_fields: [message]
indexing_settings:
commit_timeout_secs: 10
'';
exampleDocs = ''
{"datetime":"2024-05-03T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-1","level":"Info","message":"Processing request done","location":"path/to/server.c:6442:32","source":""}
{"datetime":"2024-05-04T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-1","level":"Info","message":"Got exception processing request: HTTP 404","location":"path/to/server.c:6444:32","source":""}
{"datetime":"2024-05-05T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-1","level":"Info","message":"Got exception processing request: HTTP 404","location":"path/to/server.c:6444:32","source":""}
{"datetime":"2024-05-06T02:36:41.017674444Z","git":"e6e1f087ce12065e44ed3b87b50784e6f9bcc2f9","hostname":"machine-2","level":"Info","message":"Got exception processing request: HTTP 404","location":"path/to/server.c:6444:32","source":""}
'';
in
{
name = "quickwit";
meta.maintainers = [ pkgs.lib.maintainers.happysalada ];
@@ -24,6 +73,29 @@ import ./make-test-python.nix ({ lib, pkgs, ... }:
"journalctl -o cat -u quickwit.service | grep 'transitioned to ready state'"
)
with subtest("verify UI installed"):
machine.succeed("curl -sSf http://127.0.0.1:7280/ui/")
with subtest("injest and query data"):
import json
# Test CLI ingestion
print(machine.succeed('${pkgs.quickwit}/bin/quickwit index create --index-config ${pkgs.writeText "index.yaml" index_yaml}'))
# Important to use `--wait`, otherwise the queries below race with index processing.
print(machine.succeed('${pkgs.quickwit}/bin/quickwit index ingest --index example_server_logs --input-path ${pkgs.writeText "exampleDocs.json" exampleDocs} --wait'))
# Test CLI query
cli_query_output = machine.succeed('${pkgs.quickwit}/bin/quickwit index search --index example_server_logs --query "exception"')
print(cli_query_output)
# Assert query result is as expected.
num_hits = len(json.loads(cli_query_output)["hits"])
assert num_hits == 3, f"cli_query_output contains unexpected number of results: {num_hits}"
# Test API query
api_query_output = machine.succeed('curl --fail http://127.0.0.1:7280/api/v1/example_server_logs/search?query=exception')
print(api_query_output)
quickwit.log(quickwit.succeed(
"systemd-analyze security quickwit.service | grep -v ''"
))
+9 -6
View File
@@ -34,7 +34,7 @@ let
driver = Firefox(options=options)
driver.implicitly_wait(20)
driver.get('http://localhost/#/register')
driver.get('http://localhost:8080/#/register')
wait = WebDriverWait(driver, 10)
@@ -134,11 +134,11 @@ let
dbBackend = backend;
config = {
rocketAddress = "0.0.0.0";
rocketPort = 80;
rocketPort = 8080;
};
};
networking.firewall.allowedTCPPorts = [ 80 ];
networking.firewall.allowedTCPPorts = [ 8080 ];
environment.systemPackages = [ pkgs.firefox-unwrapped pkgs.geckodriver testRunner ];
}
@@ -152,10 +152,10 @@ let
testScript = if testScript != null then testScript else ''
start_all()
server.wait_for_unit("vaultwarden.service")
server.wait_for_open_port(80)
server.wait_for_open_port(8080)
with subtest("configure the cli"):
client.succeed("bw --nointeraction config server http://server")
client.succeed("bw --nointeraction config server http://server:8080")
with subtest("can't login to nonexistent account"):
client.fail(
@@ -179,6 +179,9 @@ let
timeout=60
)
assert password.strip() == "${storedPassword}"
with subtest("Check systemd unit hardening"):
server.log(server.succeed("systemd-analyze security vaultwarden.service | grep -v "))
'';
});
in
@@ -193,7 +196,7 @@ builtins.mapAttrs (k: v: makeVaultwardenTest k v) {
testScript = ''
start_all()
server.wait_for_unit("vaultwarden.service")
server.wait_for_open_port(80)
server.wait_for_open_port(8080)
with subtest("Set up vaultwarden"):
server.succeed("PYTHONUNBUFFERED=1 test-runner | systemd-cat -t test-runner")
+177 -108
View File
@@ -1,115 +1,184 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
let
textInput = "This works.";
inputBoxText = "Enter input";
inputBox = pkgs.writeShellScript "zenity-input" ''
${lib.getExe pkgs.gnome.zenity} --entry --text '${inputBoxText}:' > /tmp/output &
'';
in
{
name = "ydotool";
meta = {
maintainers = with lib.maintainers; [
OPNA2608
quantenzitrone
];
};
nodes = {
headless =
{ config, ... }:
{
imports = [ ./common/user-account.nix ];
users.users.alice.extraGroups = [ "ydotool" ];
programs.ydotool.enable = true;
services.getty.autologinUser = "alice";
};
x11 =
{ config, ... }:
{
imports = [
./common/user-account.nix
./common/auto.nix
./common/x11.nix
];
users.users.alice.extraGroups = [ "ydotool" ];
programs.ydotool.enable = true;
test-support.displayManager.auto = {
enable = true;
user = "alice";
};
services.xserver.windowManager.dwm.enable = true;
services.displayManager.defaultSession = lib.mkForce "none+dwm";
};
wayland =
{ config, ... }:
{
imports = [ ./common/user-account.nix ];
services.cage = {
enable = true;
user = "alice";
};
programs.ydotool.enable = true;
services.cage.program = inputBox;
};
};
{
system ? builtins.currentSystem,
config ? { },
pkgs ? import ../.. { inherit system config; },
lib ? pkgs.lib,
}:
let
makeTest = import ./make-test-python.nix;
textInput = "This works.";
inputBoxText = "Enter input";
inputBox = pkgs.writeShellScript "zenity-input" ''
${lib.getExe pkgs.gnome.zenity} --entry --text '${inputBoxText}:' > /tmp/output &
'';
asUser = ''
def as_user(cmd: str):
"""
Return a shell command for running a shell command as a specific user.
"""
return f"sudo -u alice -i {cmd}"
'';
in
{
headless = makeTest {
name = "headless";
enableOCR = true;
testScript =
{ nodes, ... }:
''
def as_user(cmd: str):
"""
Return a shell command for running a shell command as a specific user.
"""
return f"sudo -u alice -i {cmd}"
nodes.machine = {
imports = [ ./common/user-account.nix ];
users.users.alice.extraGroups = [ "ydotool" ];
programs.ydotool.enable = true;
services.getty.autologinUser = "alice";
};
testScript =
asUser
+ ''
start_all()
# Headless
headless.wait_for_unit("multi-user.target")
headless.wait_for_text("alice")
headless.succeed(as_user("ydotool type 'echo ${textInput} > /tmp/output'")) # text input
headless.succeed(as_user("ydotool key 28:1 28:0")) # text input
headless.screenshot("headless_input")
headless.wait_for_file("/tmp/output")
headless.wait_until_succeeds("grep '${textInput}' /tmp/output") # text input
# X11
x11.wait_for_x()
x11.execute(as_user("${inputBox}"))
x11.wait_for_text("${inputBoxText}")
x11.succeed(as_user("ydotool type '${textInput}'")) # text input
x11.screenshot("x11_input")
x11.succeed(as_user("ydotool mousemove -a 400 110")) # mouse input
x11.succeed(as_user("ydotool click 0xC0")) # mouse input
x11.wait_for_file("/tmp/output")
x11.wait_until_succeeds("grep '${textInput}' /tmp/output") # text input
# Wayland
wayland.wait_for_unit("graphical.target")
wayland.wait_for_text("${inputBoxText}")
wayland.succeed("ydotool type '${textInput}'") # text input
wayland.screenshot("wayland_input")
wayland.succeed("ydotool mousemove -a 100 100") # mouse input
wayland.succeed("ydotool click 0xC0") # mouse input
wayland.wait_for_file("/tmp/output")
wayland.wait_until_succeeds("grep '${textInput}' /tmp/output") # text input
machine.wait_for_unit("multi-user.target")
machine.wait_for_text("alice")
machine.succeed(as_user("ydotool type 'echo ${textInput} > /tmp/output'")) # text input
machine.succeed(as_user("ydotool key 28:1 28:0")) # text input
machine.screenshot("headless_input")
machine.wait_for_file("/tmp/output")
machine.wait_until_succeeds("grep '${textInput}' /tmp/output") # text input
'';
}
)
meta.maintainers = with lib.maintainers; [
OPNA2608
quantenzitrone
];
};
x11 = makeTest {
name = "x11";
enableOCR = true;
nodes.machine = {
imports = [
./common/user-account.nix
./common/auto.nix
./common/x11.nix
];
users.users.alice.extraGroups = [ "ydotool" ];
programs.ydotool.enable = true;
test-support.displayManager.auto = {
enable = true;
user = "alice";
};
services.xserver.windowManager.dwm.enable = true;
services.displayManager.defaultSession = lib.mkForce "none+dwm";
};
testScript =
asUser
+ ''
start_all()
machine.wait_for_x()
machine.execute(as_user("${inputBox}"))
machine.wait_for_text("${inputBoxText}")
machine.succeed(as_user("ydotool type '${textInput}'")) # text input
machine.screenshot("x11_input")
machine.succeed(as_user("ydotool mousemove -a 400 110")) # mouse input
machine.succeed(as_user("ydotool click 0xC0")) # mouse input
machine.wait_for_file("/tmp/output")
machine.wait_until_succeeds("grep '${textInput}' /tmp/output") # text input
'';
meta.maintainers = with lib.maintainers; [
OPNA2608
quantenzitrone
];
};
wayland = makeTest {
name = "wayland";
enableOCR = true;
nodes.machine = {
imports = [ ./common/user-account.nix ];
services.cage = {
enable = true;
user = "alice";
};
programs.ydotool.enable = true;
services.cage.program = inputBox;
};
testScript = ''
start_all()
machine.wait_for_unit("graphical.target")
machine.wait_for_text("${inputBoxText}")
machine.succeed("ydotool type '${textInput}'") # text input
machine.screenshot("wayland_input")
machine.succeed("ydotool mousemove -a 100 100") # mouse input
machine.succeed("ydotool click 0xC0") # mouse input
machine.wait_for_file("/tmp/output")
machine.wait_until_succeeds("grep '${textInput}' /tmp/output") # text input
'';
meta.maintainers = with lib.maintainers; [
OPNA2608
quantenzitrone
];
};
customGroup =
let
name = "customGroup";
nodeName = "${name}Node";
insideGroupUsername = "ydotool-user";
outsideGroupUsername = "other-user";
groupName = "custom-group";
in
makeTest {
inherit name;
nodes."${nodeName}" = {
programs.ydotool = {
enable = true;
group = groupName;
};
users.users = {
"${insideGroupUsername}" = {
isNormalUser = true;
extraGroups = [ groupName ];
};
"${outsideGroupUsername}".isNormalUser = true;
};
};
testScript = ''
start_all()
# Wait for service to start
${nodeName}.wait_for_unit("multi-user.target")
${nodeName}.wait_for_unit("ydotoold.service")
# Verify that user with the configured group can use the service
${nodeName}.succeed("sudo --login --user=${insideGroupUsername} ydotool type 'Hello, World!'")
# Verify that user without the configured group can't use the service
${nodeName}.fail("sudo --login --user=${outsideGroupUsername} ydotool type 'Hello, World!'")
'';
meta.maintainers = with lib.maintainers; [ l0b0 ];
};
}
+1
View File
@@ -32,6 +32,7 @@ Before adding a new package, please consider the following questions:
* Does the project have a clear license statement? Remember that software is unfree by default (all rights reserved), and merely providing access to the source code does not imply its redistribution. In case of doubt, ask upstream.
* How realistic is it that it will be used by other people? It's good that nixpkgs caters to various niches, but if it's a niche of 5 people it's probably too small.
* Are you willing to maintain the package? You should care enough about the package to be willing to keep it up and running for at least one complete Nixpkgs' release life-cycle.
* In case you are not able to maintain the package you wrote, you can seek someone to fill that role, effectively adopting the package.
If any of these questions' answer is no, then you should probably not add the package.
@@ -44,7 +44,6 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "https://github.com/jjsullivan5196/wvkbd";
description = "On-screen keyboard for wlroots";
maintainers = [ maintainers.elohmeier ];
platforms = platforms.linux;
license = licenses.gpl3Plus;
mainProgram = "wvkbd-mobintl";
@@ -6,6 +6,7 @@
, fetchFromGitHub
, ffmpeg
, glfw
, libglvnd
, libogg
, libvorbis
, makeWrapper
@@ -23,13 +24,13 @@ let
in
buildDotnetModule rec {
pname = "famistudio";
version = "4.2.0";
version = "4.2.1";
src = fetchFromGitHub {
owner = "BleuBleu";
repo = "FamiStudio";
rev = "refs/tags/${version}";
hash = "sha256-ydEWLL05B86672j3MVo/90tgDHg8FJ2EZaesqrBZy4A=";
hash = "sha256-WYy/6cWQg3Ayok/eAdnvlWAvdcuhy/sdlWOVvaYcPkc=";
};
postPatch = let
@@ -89,6 +90,10 @@ buildDotnetModule rec {
dotnet-sdk = dotnetCorePackages.sdk_7_0;
dotnet-runtime = dotnetCorePackages.runtime_7_0;
runtimeDeps = lib.optionals stdenv.hostPlatform.isLinux [
libglvnd
];
executables = [ "FamiStudio" ];
postInstall = ''
@@ -20,14 +20,14 @@
, Kernel
}:
stdenv.mkDerivation rec {
pname = "MIDIVisualizer";
stdenv.mkDerivation (finalAttrs: {
pname = "midivisualizer";
version = "7.0";
src = fetchFromGitHub {
owner = "kosua20";
repo = pname;
rev = "v${version}";
repo = "MIDIVisualizer";
rev = "v${finalAttrs.version}";
sha256 = "sha256-wfPSPH+E9cErVvfJZqHttFtjiUYJopM/u6w6NpRHifE=";
};
@@ -72,4 +72,4 @@ stdenv.mkDerivation rec {
platforms = platforms.unix;
maintainers = [ maintainers.ericdallo ];
};
}
})
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "x42-avldrums";
version = "0.7.2";
version = "0.7.3";
src = fetchFromGitHub {
owner = "x42";
repo = "avldrums.lv2";
rev = "v${version}";
hash = "sha256-NNqBZTWjIM97qsXTW/+6T7eOAELi/OwXh4mCYPD/C6I=";
hash = "sha256-AZKHjzgw0TtLHh4TF+yOUSa+GlNVwyHCpJWAZikXTy4=";
fetchSubmodules = true;
};
@@ -33,14 +33,14 @@ let
in
stdenv.mkDerivation rec {
pname = if withGui then "bitcoin" else "bitcoind";
version = "27.0";
version = "27.1";
src = fetchurl {
urls = [
"https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
];
# hash retrieved from signed SHA256SUMS
sha256 = "9c1ee651d3b157baccc3388be28b8cf3bfcefcd2493b943725ad6040ca6b146b";
sha256 = "0c1051fd921b8fae912f5c2dfd86b085ab45baa05cd7be4585b10b4d1818f3da";
};
nativeBuildInputs =
@@ -5,16 +5,16 @@
buildGoModule rec {
pname = "lndhub-go";
version = "0.14.0";
version = "1.0.0";
src = fetchFromGitHub {
owner = "getAlby";
repo = "lndhub.go";
rev = version;
sha256 = "sha256-m+Sc/rsYIbvd1oOqG4OT+wPtSxlgFq8m03n28eZIWJU=";
sha256 = "sha256-PHBzM/lYYu6hXa5jiFQR/K5j+vmxaYH7xuoxOhFbhMk=";
};
vendorHash = "sha256-a4yVuEfhLNM8IEYnafWf///SNLqQL5XZfGgJ5AZLx3c=";
vendorHash = "sha256-Vo29w04cRW0syD2tjieKVeZ3srFNuEC3T17birVWn6k=";
doCheck = false; # tests require networking
File diff suppressed because it is too large Load Diff
@@ -17,13 +17,13 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "polkadot";
version = "1.12.0";
version = "1.13.0";
src = fetchFromGitHub {
owner = "paritytech";
repo = "polkadot-sdk";
rev = "polkadot-v${version}";
hash = "sha256-/m7Tg+9JHbnwKwWPY8gWIJkIHktGFlqcrbLLgNWjfwU=";
hash = "sha256-9ZjiKv+05//Kf6q3mL1P5kOCOm1KCGmQIZkrD54pyeI=";
# the build process of polkadot requires a .git folder in order to determine
# the git commit hash that is being built and add it to the version string.
@@ -48,10 +48,9 @@ rustPlatform.buildRustPackage rec {
lockFile = ./Cargo.lock;
outputHashes = {
"ark-secret-scalar-0.0.2" = "sha256-91sODxaj0psMw0WqigMCGO5a7+NenAsRj5ZmW6C7lvc=";
"ckb-merkle-mountain-range-0.6.0" = "sha256-oTe1l406lTpgOefPai664JYwzezLjkIDXpiZTfjbd28=";
"common-0.1.0" = "sha256-LHz2dK1p8GwyMimlR7AxHLz1tjTYolPwdjP7pxork1o=";
"fflonk-0.1.0" = "sha256-+BvZ03AhYNP0D8Wq9EMsP+lSgPA6BBlnWkoxTffVLwo=";
"litep2p-0.3.0" = "sha256-y0my2vi0+2CWNOtCh/vtsUbIcU1iNSFAJbLiCktEcOc=";
"simple-mermaid-0.1.0" = "sha256-IekTldxYq+uoXwGvbpkVTXv2xrcZ0TQfyyE2i2zH+6w=";
"sp-ark-bls12-381-0.4.2" = "sha256-nNr0amKhSvvI9BlsoP+8v6Xppx/s7zkf0l9Lm3DW8w8=";
"sp-crypto-ec-utils-0.4.1" = "sha256-/Sw1ZM/JcJBokFE4y2mv/P43ciTL5DEm0PDG0jZvMkI=";
};
@@ -17,13 +17,13 @@
stdenv.mkDerivation rec {
pname = "ton";
version = "2024.04";
version = "2024.06";
src = fetchFromGitHub {
owner = "ton-blockchain";
repo = "ton";
rev = "v${version}";
hash = "sha256-hh8D4IZX6RS/RXdhVONhgetqp89kpTC2IwDQ2KHdKsE=";
hash = "sha256-5fuRdVayvmM+yK1WsdtWlCZpxz7KKBs+ZRfnueP0Ny0=";
fetchSubmodules = true;
};
@@ -1,7 +1,7 @@
{ channel, pname, version, sha256Hash }:
{ alsa-lib
, bash
, runtimeShell
, buildFHSEnv
, cacert
, coreutils
@@ -65,6 +65,7 @@
, zlib
, makeDesktopItem
, tiling_wm # if we are using a tiling wm, need to set _JAVA_AWT_WM_NONREPARENTING in wrapper
, androidenv
}:
let
@@ -214,17 +215,52 @@ let
'')
];
};
in runCommand
drvName
{
startScript = ''
#!${bash}/bin/bash
${fhsEnv}/bin/${drvName}-fhs-env ${androidStudio}/bin/studio.sh "$@"
mkAndroidStudioWrapper = {androidStudio, androidSdk ? null}: runCommand drvName {
startScript = let
hasAndroidSdk = androidSdk != null;
androidSdkRoot = lib.optionalString hasAndroidSdk "${androidSdk}/libexec/android-sdk";
in ''
#!${runtimeShell}
${lib.optionalString hasAndroidSdk ''
echo "=== nixpkgs Android Studio wrapper" >&2
# Default ANDROID_SDK_ROOT to the packaged one, if not provided.
ANDROID_SDK_ROOT="''${ANDROID_SDK_ROOT-${androidSdkRoot}}"
if [ -d "$ANDROID_SDK_ROOT" ]; then
export ANDROID_SDK_ROOT
# Legacy compatibility.
export ANDROID_HOME="$ANDROID_SDK_ROOT"
echo " - ANDROID_SDK_ROOT=$ANDROID_SDK_ROOT" >&2
# See if we can export ANDROID_NDK_ROOT too.
ANDROID_NDK_ROOT="$ANDROID_SDK_ROOT/ndk-bundle"
if [ ! -d "$ANDROID_NDK_ROOT" ]; then
ANDROID_NDK_ROOT="$(ls "$ANDROID_SDK_ROOT/ndk/"* 2>/dev/null | head -n1)"
fi
if [ -d "$ANDROID_NDK_ROOT" ]; then
export ANDROID_NDK_ROOT
echo " - ANDROID_NDK_ROOT=$ANDROID_NDK_ROOT" >&2
else
unset ANDROID_NDK_ROOT
fi
else
unset ANDROID_SDK_ROOT
unset ANDROID_HOME
fi
''}
exec ${fhsEnv}/bin/${drvName}-fhs-env ${androidStudio}/bin/studio.sh "$@"
'';
preferLocalBuild = true;
allowSubstitutes = false;
passthru = {
passthru = let
withSdk = androidSdk: mkAndroidStudioWrapper { inherit androidStudio androidSdk; };
in {
unwrapped = androidStudio;
full = withSdk androidenv.androidPkgs.androidsdk;
inherit withSdk;
sdk = androidSdk;
};
meta = with lib; {
description = "Official IDE for Android (${channel} channel)";
@@ -245,9 +281,9 @@ in runCommand
# source-code itself).
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; rec {
stable = [ alapshin ];
beta = [ alapshin ];
canary = [ alapshin ];
stable = [ alapshin numinit ];
beta = [ alapshin numinit ];
canary = [ alapshin numinit ];
dev = canary;
}."${channel}";
mainProgram = pname;
@@ -261,4 +297,5 @@ in runCommand
ln -s ${androidStudio}/bin/studio.png $out/share/pixmaps/${pname}.png
ln -s ${desktopItem}/share/applications $out/share/applications
''
'';
in mkAndroidStudioWrapper { inherit androidStudio; }
@@ -1,112 +0,0 @@
{ stdenv, lib, callPackage, fetchFromGitHub, cmake, ninja, pkg-config
, curl, freetype, giflib, libjpeg, libpng, libwebp, pixman, tinyxml, zlib
, harfbuzzFull, glib, fontconfig, pcre
, libX11, libXext, libXcursor, libXxf86vm, libGL, libXi
, cmark
}:
# Unfree version is not redistributable:
# https://dev.aseprite.org/2016/09/01/new-source-code-license/
# Consider supporting the developer: https://aseprite.org/#buy
let
skia = callPackage ./skia.nix {};
in
stdenv.mkDerivation rec {
pname = "aseprite";
version = "1.3.6";
src = fetchFromGitHub {
owner = "aseprite";
repo = "aseprite";
rev = "v${version}";
fetchSubmodules = true;
hash = "sha256-17f6pIGsOIswnyY63pjHKEEYuCo43kf25mPLBv4vQAs=";
};
nativeBuildInputs = [
cmake pkg-config ninja
];
buildInputs = [
curl freetype giflib libjpeg libpng libwebp pixman tinyxml zlib
libX11 libXext libXcursor libXxf86vm
cmark
harfbuzzFull glib fontconfig pcre
skia libGL libXi
];
patches = [
./shared-libwebp.patch
./shared-skia-deps.patch
];
postPatch = ''
sed -i src/ver/CMakeLists.txt -e "s-set(VERSION \".*\")-set(VERSION \"$version\")-"
'';
cmakeFlags = [
"-DENABLE_UPDATER=OFF"
"-DUSE_SHARED_CURL=ON"
"-DUSE_SHARED_FREETYPE=ON"
"-DUSE_SHARED_GIFLIB=ON"
"-DUSE_SHARED_JPEGLIB=ON"
"-DUSE_SHARED_LIBPNG=ON"
"-DUSE_SHARED_LIBWEBP=ON"
"-DUSE_SHARED_PIXMAN=ON"
"-DUSE_SHARED_TINYXML=ON"
"-DUSE_SHARED_ZLIB=ON"
"-DUSE_SHARED_CMARK=ON"
"-DUSE_SHARED_HARFBUZZ=ON"
"-DUSE_SHARED_WEBP=ON"
# Disable libarchive programs.
"-DENABLE_CAT=OFF"
"-DENABLE_CPIO=OFF"
"-DENABLE_TAR=OFF"
# UI backend.
"-DLAF_WITH_EXAMPLES=OFF"
"-DLAF_OS_BACKEND=skia"
"-DENABLE_DESKTOP_INTEGRATION=ON"
"-DSKIA_DIR=${skia}"
"-DSKIA_LIBRARY_DIR=${skia}/out/Release"
];
postInstall = ''
# Install desktop icons.
src="$out/share/aseprite/data/icons"
for size in 16 32 48 64; do
dst="$out"/share/icons/hicolor/"$size"x"$size"
install -Dm644 "$src"/ase"$size".png "$dst"/apps/aseprite.png
install -Dm644 "$src"/doc"$size".png "$dst"/mimetypes/aseprite.png
done
# Delete unneeded artifacts of bundled libraries.
rm -rf "$out"/include "$out"/lib
'';
passthru = { inherit skia; };
meta = with lib; {
homepage = "https://www.aseprite.org/";
description = "Animated sprite editor & pixel art tool";
license = licenses.unfree;
longDescription =
''Aseprite is a program to create animated sprites. Its main features are:
- Sprites are composed by layers & frames (as separated concepts).
- Supported color modes: RGBA, Indexed (palettes up to 256 colors), and Grayscale.
- Load/save sequence of PNG files and GIF animations (and FLC, FLI, JPG, BMP, PCX, TGA).
- Export/import animations to/from Sprite Sheets.
- Tiled drawing mode, useful to draw patterns and textures.
- Undo/Redo for every operation.
- Real-time animation preview.
- Multiple editors support.
- Pixel-art specific tools like filled Contour, Polygon, Shading mode, etc.
- Onion skinning.
This version is not redistributable: https://dev.aseprite.org/2016/09/01/new-source-code-license/
Consider supporting the developer: https://aseprite.org/#buy
'';
maintainers = with maintainers; [ orivej ];
platforms = platforms.linux;
};
}
@@ -1,37 +0,0 @@
#!/usr/bin/env bash
FILTER=$1
OUT=skia-deps.nix
REVISION=861e4743af6d9bf6077ae6dda7274e5a136ee4e2
DEPS=$(curl -s https://raw.githubusercontent.com/aseprite/skia/$REVISION/DEPS)
THIRD_PARTY_DEPS=$(echo "$DEPS" | grep third_party | grep "#" -v | sed 's/"//g')
function write_fetch_defs ()
{
while read -r DEP; do
NAME=$(echo "$DEP" | cut -d: -f1 | cut -d/ -f3 | sed 's/ //g')
URL=$(echo "$DEP" | cut -d: -f2- | cut -d@ -f1 | sed 's/ //g')
REV=$(echo "$DEP" | cut -d: -f2- | cut -d@ -f2 | sed 's/[ ,]//g')
echo "Fetching $NAME@$REV"
PREFETCH=$(nix-prefetch-git --rev "$REV" "$URL")
(
cat <<EOF
$NAME = fetchgit {
url = "$URL";
rev = "$REV";
sha256 = $(echo $PREFETCH | jq '.sha256');
};
EOF
) >> "$OUT"
echo "----------"
echo
done <<< "$1"
}
echo "{ fetchgit }:" > "$OUT"
echo "{" >> "$OUT"
write_fetch_defs "$(echo "$THIRD_PARTY_DEPS" | grep -E "$FILTER")"
echo "}" >> "$OUT"
@@ -1,80 +0,0 @@
{ stdenv, lib, fetchFromGitHub, fetchgit, python3, gn, ninja
, fontconfig, expat, icu, libglvnd, libjpeg, libpng, libwebp, zlib
, mesa, libX11, harfbuzzFull
}:
let
# skia-deps.nix is generated by: ./skia-make-deps.sh 'angle2|dng_sdk|piex|sfntly'
depSrcs = import ./skia-deps.nix { inherit fetchgit; };
in
stdenv.mkDerivation {
pname = "skia";
version = "aseprite-m102";
src = fetchFromGitHub {
owner = "aseprite";
repo = "skia";
# latest commit from aseprite-m102 branch
rev = "861e4743af6d9bf6077ae6dda7274e5a136ee4e2";
hash = "sha256-IlZbalmHl549uDUfPG8hlzub8TLWhG0EsV6HVAPdsl0=";
};
nativeBuildInputs = [ python3 gn ninja ];
buildInputs = [
fontconfig expat icu libglvnd libjpeg libpng libwebp zlib
mesa libX11 harfbuzzFull
];
preConfigure = with depSrcs; ''
mkdir -p third_party/externals
ln -s ${angle2} third_party/externals/angle2
ln -s ${dng_sdk} third_party/externals/dng_sdk
ln -s ${piex} third_party/externals/piex
ln -s ${sfntly} third_party/externals/sfntly
'';
configurePhase = ''
runHook preConfigure
gn gen out/Release --args="is_debug=false is_official_build=true extra_cflags=[\"-I${harfbuzzFull.dev}/include/harfbuzz\"]"
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
ninja -C out/Release skia modules
runHook postBuild
'';
installPhase = ''
mkdir -p $out
# Glob will match all subdirs.
shopt -s globstar
# All these paths are used in some way when building aseprite.
cp -r --parents -t $out/ \
include/codec \
include/config \
include/core \
include/effects \
include/gpu \
include/private \
include/utils \
include/third_party/skcms/*.h \
out/Release/*.a \
src/gpu/**/*.h \
src/core/*.h \
modules/skshaper/include/*.h \
third_party/externals/angle2/include \
third_party/skcms/**/*.h
'';
meta = with lib; {
description = "Skia is a complete 2D graphic library for drawing Text, Geometries, and Images";
homepage = "https://skia.org/";
license = licenses.bsd3;
maintainers = with maintainers; [ ];
platforms = platforms.all;
};
}
@@ -16,7 +16,7 @@
}:
let
rev = "e5cf0b704274d3deae8f4a3b6a3d0664a176bc8b";
rev = "152431c0b1d731d0302e1849690e2361f3caf7c1";
python = python3.withPackages (ps: with ps; [
epc
orjson
@@ -28,13 +28,13 @@ let
in
melpaBuild {
pname = "lsp-bridge";
version = "20240609.1553";
version = "20240615.2321";
src = fetchFromGitHub {
owner = "manateelazycat";
repo = "lsp-bridge";
inherit rev;
hash = "sha256-96GgMJPLFoabhlvjTMWKtEpGuctjlcRuChvzDziaq8g=";
hash = "sha256-LIjqr1IntQ6WTFOO3b6cAuB6LslG1HzVa9C+GYUyQOU=";
};
commit = rev;
@@ -5915,6 +5915,18 @@ final: prev:
meta.homepage = "https://github.com/mkasa/lushtags/";
};
lz-n = buildNeovimPlugin {
pname = "lz.n";
version = "2024-06-16";
src = fetchFromGitHub {
owner = "nvim-neorocks";
repo = "lz.n";
rev = "ffd6633cbe2145177bd522fa340104fa44afbc1c";
sha256 = "sha256-aV+m4+8oWwIPTQhilXfHOUyYqQGl4NRnk7HvEQYMp0Y=";
};
meta.homepage = "https://github.com/nvim-neorocks/lz.n/";
};
magma-nvim-goose = buildVimPlugin {
pname = "magma-nvim-goose";
version = "2023-07-04";
@@ -457,15 +457,17 @@
dependencies = with self; [ copilot-lua plenary-nvim ];
};
copilot-vim = super.copilot-vim.overrideAttrs {
copilot-vim = super.copilot-vim.overrideAttrs (old: {
postInstall = ''
substituteInPlace $out/autoload/copilot/client.vim \
--replace " let node = get(g:, 'copilot_node_command', ''\'''\')" \
" let node = get(g:, 'copilot_node_command', '${nodejs}/bin/node')"
'';
meta.license = lib.licenses.unfree;
};
meta = old.meta // {
license = lib.licenses.unfree;
};
});
coq_nvim = super.coq_nvim.overrideAttrs {
passthru.python3Dependencies = ps:
@@ -1,5 +1,4 @@
repo,branch,alias
https://codeberg.org/FelipeLema/cmp-async-path/,,
https://github.com/euclidianAce/BetterLua.vim/,,
https://github.com/vim-scripts/BufOnly.vim/,,
https://github.com/jackMort/ChatGPT.nvim/,HEAD,
@@ -132,11 +131,8 @@ https://github.com/laytan/cloak.nvim/,HEAD,
https://github.com/asheq/close-buffers.vim/,HEAD,
https://github.com/Civitasv/cmake-tools.nvim/,,
https://github.com/winston0410/cmd-parser.nvim/,,
<<<<<<< HEAD
https://github.com/tzachar/cmp-ai/,HEAD,
https://codeberg.org/FelipeLema/cmp-async-path/,,
=======
>>>>>>> 8c49439301ad (vimPlugins.nvim-genghis: init at 2024-05-21)
https://github.com/crispgm/cmp-beancount/,HEAD,
https://github.com/hrsh7th/cmp-buffer/,,
https://github.com/hrsh7th/cmp-calc/,,
@@ -500,6 +496,7 @@ https://github.com/l3mon4d3/luasnip/,,
https://github.com/alvarosevilla95/luatab.nvim/,,
https://github.com/rktjmp/lush.nvim/,,
https://github.com/mkasa/lushtags/,,
https://github.com/nvim-neorocks/lz.n/,,
https://github.com/WhiteBlackGoose/magma-nvim-goose/,HEAD,
https://github.com/winston0410/mark-radar.nvim/,HEAD,
https://github.com/iamcco/markdown-preview.nvim/,,
@@ -20,6 +20,11 @@
- `description` should mention it is a Visual Studio Code extension.
- `downloadPage` is the VSCode marketplace URL.
- `homepage` is the source-code URL.
- `maintainers`:
- optionally consider adding yourself as a maintainer to be notified of updates, breakages and help with upkeep.
- recommended format is:
- a `non-nested with`, such as: `with lib.maintainers; [ your-username ];`.
- maintainers are listed in alphabetical order.
- verify `license` in upstream.
* On commit messages:
@@ -5,7 +5,7 @@
callPackage,
}:
let
version = "1.52.0";
version = "1.54.0";
rescript-editor-analysis = callPackage ./rescript-editor-analysis.nix { inherit version; };
arch =
if stdenv.isLinux then
@@ -21,7 +21,7 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
name = "rescript-vscode";
publisher = "chenglou92";
inherit version;
hash = "sha256-3H7JgdmrGMdirVpT08wmwy4G6QLt0H65d3l7o/DuvpI=";
hash = "sha256-c7TJED5YpHRwn7Ooq8sG+N99b7tH6TOgeC9TTYdb4JA=";
};
postPatch = ''
rm -r ${analysisDir}
@@ -406,8 +406,8 @@ let
mktplcRef = {
name = "vscode-neovim";
publisher = "asvetliakov";
version = "1.15.2";
hash = "sha256-gurh2DSLH/gM/EZCUACHGlzOf0LPwkc+zYxw7AOcb1E=";
version = "1.17.2";
hash = "sha256-IA09vUleY7hazu65kadES4iq3XojyJ3sXOOGaw0vJnU=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/asvetliakov.vscode-neovim/changelog";
@@ -542,6 +542,22 @@ let
betterthantomorrow.calva = callPackage ./betterthantomorrow.calva { };
bierner.comment-tagged-templates = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "comment-tagged-templates";
publisher = "bierner";
version = "0.3.3";
hash = "sha256-M2XdMQ2l6oMYiHTdfRJ/n/Ys3LecEPwAozQtLBcn7FY=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/bierner.comment-tagged-templates/changelog";
description = "VS Code extension that adds basic syntax highlighting for JavaScript and TypeScript tagged template strings using language identifier comments";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=bierner.comment-tagged-templates";
homepage = "https://github.com/mjbvz/vscode-comment-tagged-templates";
license = lib.licenses.mit;
};
};
bierner.docs-view = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "docs-view";
@@ -570,6 +586,22 @@ let
};
};
bierner.github-markdown-preview = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "github-markdown-preview";
publisher = "bierner";
version = "0.3.0";
hash = "sha256-7pbl5OgvJ6S0mtZWsEyUzlg+lkUhdq3rkCCpLsvTm4g=";
};
meta = {
description = "A VSCode extension that changes the markdown preview to support GitHub markdown features";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=bierner.github-markdown-preview";
homepage = "https://github.com/mjbvz/vscode-github-markdown-preview";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.pandapip1 ];
};
};
bierner.markdown-checkbox = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "markdown-checkbox";
@@ -594,6 +626,23 @@ let
};
};
bierner.markdown-footnotes = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "markdown-footnotes";
publisher = "bierner";
version = "0.1.1";
hash = "sha256-h/Iyk8CKFr0M5ULXbEbjFsqplnlN7F+ZvnUTy1An5t4=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/bierner.markdown-footnotes/changelog";
description = "Adds [^1] footnote syntax support to VS Code's built-in Markdown preview";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=bierner.markdown-footnotes";
homepage = "https://github.com/mjbvz/vscode-markdown-footnotes";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
};
bierner.markdown-mermaid = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "markdown-mermaid";
@@ -606,14 +655,59 @@ let
};
};
bierner.markdown-preview-github-styles = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "markdown-preview-github-styles";
publisher = "bierner";
version = "2.0.4";
hash = "sha256-jJulxvjMNsqQqmsb5szQIAUuLWuHw824Caa0KArjUVw=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/bierner.markdown-preview-github-styles/changelog";
description = "Changes VS Code's built-in markdown preview to match GitHub's styling";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=bierner.markdown-preview-github-styles";
homepage = "https://github.com/mjbvz/vscode-github-markdown-preview-style";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
};
biomejs.biome = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "biome";
publisher = "biomejs";
version = "2024.5.251958";
hash = "sha256-Pxbvj6e3nRwuLKmPEtE02JdHmZbyuXNh4T+FZKjBkWo=";
};
meta = {
changelog = "https://github.com/biomejs/biome-vscode/blob/main/CHANGELOG.md";
description = "Biome LSP extension for Visual Studio Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=biomejs.biome";
homepage = "https://github.com/biomejs/biome-vscode";
license = with lib.licenses; [
mit
# or
asl20
];
maintainers = [ lib.maintainers.uncenter ];
};
};
bmalehorn.vscode-fish = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-fish";
publisher = "bmalehorn";
version = "1.0.35";
hash = "sha256-V51Qe6M1CMm9fLOSFEwqeZiC8tWCbVH0AzkLe7kR2vY=";
version = "1.0.38";
hash = "sha256-QEifCTlzYMX+5H6+k2o1lsQrhW3vxVpn+KFg/3WVVFo=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/bmalehorn.vscode-fish/changelog";
description = "Fish syntax highlighting and formatting for VS Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=bmalehorn.vscode-fish";
homepage = "https://github.com/bmalehorn/vscode-fish";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
meta.license = lib.licenses.mit;
};
bmewburn.vscode-intelephense-client = buildVscodeMarketplaceExtension {
@@ -948,26 +1042,26 @@ let
sources = {
"x86_64-linux" = {
arch = "linux-x64";
hash = "sha256-GQH+KKteWbCz18AlTWjLWrVpPRxumi+iDPS5n+5xy/0=";
hash = "sha256-ZlbPRFQwvZNCp8K/rbHqVa3coXa2dT4nOrNChC9naC8=";
};
"x86_64-darwin" = {
arch = "darwin-x64";
hash = "sha256-xBwuAtvRdOgYkfxP0JaxhAQZx5AJWymDVQ50piTx608=";
hash = "sha256-hSRdvno8VZNi48rckaqWbAgDXT6RXEcPnkNOT8DV1wA=";
};
"aarch64-linux" = {
arch = "linux-arm64";
hash = "sha256-oLLKnNZ+E06PbUrhj5Y0HOdHhUs/fXd+3lZXX/P2C10=";
hash = "sha256-rimE7dKT6zajHo6E42z7IyfP35xBXThIwMHhZjaZwHk=";
};
"aarch64-darwin" = {
arch = "darwin-arm64";
hash = "sha256-nWuyqOIELp8MrjzCFH3yu4pWm5KsNxmx3eacgStWKG0=";
hash = "sha256-7TeUAZLiEnqi5i5nHLhtv5aMxIcw7iiABOAkwP1YYqM=";
};
};
in
{
name = "continue";
publisher = "Continue";
version = "0.8.25";
version = "0.8.40";
}
// sources.${stdenv.system};
nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ];
@@ -1628,6 +1722,23 @@ let
};
};
fabiospampinato.vscode-open-in-github = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-open-in-github";
publisher = "fabiospampinato";
version = "2.3.0";
hash = "sha256-vrW6uZyeEJipGtfz7BEeeAwiwtBlfQLjC7jAP1v5GoE=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/fabiospampinato.vscode-open-in-github/changelog";
description = "VS Code extension to open the current project or file in github.com";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=fabiospampinato.vscode-open-in-github";
homepage = "https://github.com/fabiospampinato/vscode-open-in-github";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
};
file-icons.file-icons = buildVscodeMarketplaceExtension {
meta = {
changelog = "https://marketplace.visualstudio.com/items/file-icons.file-icons/changelog";
@@ -1731,6 +1842,23 @@ let
};
};
fortran-lang.linter-gfortran = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "linter-gfortran";
publisher = "fortran-lang";
version = "3.4.2024061701";
hash = "sha256-i357EzQ8cm8NPsMBbsV5ToMoBDa59Bh6ylC9tNjMY6s=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/fortran-lang.linter-gfortran/changelog";
description = "Fortran language support for Visual Studio Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=fortran-lang.linter-gfortran";
homepage = "https://github.com/fortran-lang/vscode-fortran-support";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
};
foxundermoon.shell-format = callPackage ./foxundermoon.shell-format { };
freebroccolo.reasonml = buildVscodeMarketplaceExtension {
@@ -1767,6 +1895,22 @@ let
};
};
garlicbreadcleric.pandoc-markdown-syntax = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "pandoc-markdown-syntax";
publisher = "garlicbreadcleric";
version = "0.0.2";
hash = "sha256-YAMH5smLyBuoTdlxSCTPyMIKOWTSIdf2MQVZuOO2V1w=";
};
meta = {
description = "A VSCode extension that adds syntax highlighting for Pandoc-flavored Markdown";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=garlicbreadcleric.pandoc-markdown-syntax";
homepage = "https://github.com/garlicbreadcleric/vscode-pandoc-markdown";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.pandapip1 ];
};
};
gencer.html-slim-scss-css-class-completion = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "html-slim-scss-css-class-completion";
@@ -2564,6 +2708,23 @@ let
};
};
kravets.vscode-publint = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-publint";
publisher = "Kravets";
version = "0.0.1";
hash = "sha256-6nG5Yqi8liumQ2K9ynV8mNXiXGaGo/cp4Cib1kqdp1c=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/Kravets.vscode-publint/changelog";
description = "Lint packaging errors in VS Code with publint";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=Kravets.vscode-publint";
homepage = "https://github.com/kravetsone/vscode-publint";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
};
kubukoz.nickel-syntax = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "nickel-syntax";
@@ -2576,6 +2737,22 @@ let
};
};
lapo.asn1js = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "asn1js";
publisher = "lapo";
version = "0.1.4";
hash = "sha256-utbIKlwNHnJZj/51f8hEDmUA/A26De/gY73iT4tXKRU=";
};
meta = {
description = "Decode ASN.1 content inside VSCode";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=lapo.asn1js";
homepage = "https://github.com/lapo-luchini/vscode-asn1js";
maintainers = with lib.maintainers; [ katexochen ];
license = lib.licenses.isc;
};
};
llvm-org.lldb-vscode = llvmPackages.lldb;
llvm-vs-code-extensions.vscode-clangd = buildVscodeMarketplaceExtension {
@@ -2736,6 +2913,23 @@ let
};
};
meganrogge.template-string-converter = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "template-string-converter";
publisher = "meganrogge";
version = "0.6.1";
hash = "sha256-w0ppzh0m/9Hw3BPJbAKsNcMStdzoH9ODf3zweRcCG5k=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/meganrogge.template-string-converter/changelog";
description = "VS Code extension to autocorrect from quotes to backticks";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=meganrogge.template-string-converter";
homepage = "https://github.com/meganrogge/template-string-converter";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
};
mgt19937.typst-preview = callPackage ./mgt19937.typst-preview { };
mhutchie.git-graph = buildVscodeMarketplaceExtension {
@@ -3118,6 +3312,22 @@ let
ms-vscode-remote.remote-ssh = callPackage ./ms-vscode-remote.remote-ssh { };
ms-vscode-remote.remote-ssh-edit = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "remote-ssh-edit";
publisher = "ms-vscode-remote";
version = "0.86.0";
hash = "sha256-JsbaoIekUo2nKCu+fNbGlh5d1Tt/QJGUuXUGP04TsDI=";
};
meta = {
description = "A Visual Studio Code extension that complements the Remote SSH extension with syntax colorization, keyword intellisense, and simple snippets when editing SSH configuration files";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh-edit";
homepage = "https://code.visualstudio.com/docs/remote/ssh";
license = lib.licenses.unfree;
maintainers = [ lib.maintainers.pandapip1 ];
};
};
ms-vsliveshare.vsliveshare = callPackage ./ms-vsliveshare.vsliveshare { };
mshr-h.veriloghdl = buildVscodeMarketplaceExtension {
@@ -3212,6 +3422,23 @@ let
};
};
nefrob.vscode-just-syntax = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-just-syntax";
publisher = "nefrob";
version = "0.3.0";
hash = "sha256-WBoqH9TNco9lyjOJfP54DynjmYZmPUY+YrZ1rQlC518=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/nefrob.vscode-just-syntax/changelog";
description = "Justfile syntax support for Visual Studio Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=nefrob.vscode-just-syntax";
homepage = "https://github.com/nefrob/vscode-just";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
};
njpwerner.autodocstring = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "autodocstring";
@@ -3943,8 +4170,8 @@ let
mktplcRef = {
name = "code-spell-checker";
publisher = "streetsidesoftware";
version = "4.0.2";
hash = "sha256-k3FxRAtW9Fdhm7jD3ingFXONiBsOia1Whs7OPeDmlSw=";
version = "4.0.3";
hash = "sha256-CEGwbw5RpFsfB/g2inScIqWB7/3oxgxz7Yuc6V3OiHg=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/streetsidesoftware.code-spell-checker/changelog";
@@ -4476,6 +4703,23 @@ let
};
};
vitaliymaz.vscode-svg-previewer = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-svg-previewer";
publisher = "vitaliymaz";
version = "0.7.0";
hash = "sha256-iX+Js2Pqz1gLDwrihuYtDwQG4ek7GiOhL3M0j3jHF/Y=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/vitaliymaz.vscode-svg-previewer/changelog";
description = "Preview SVGs in VS Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=vitaliymaz.vscode-svg-previewer";
homepage = "https://github.com/vitaliymaz/vscode-svg-previewer";
license = lib.licenses.unfree;
maintainers = [ lib.maintainers.uncenter ];
};
};
vlanguage.vscode-vlang = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-vlang";
@@ -4590,8 +4834,8 @@ let
mktplcRef = {
name = "vscode-icons";
publisher = "vscode-icons-team";
version = "12.2.0";
sha256 = "12s5br0s9n99vjn6chivzdsjb71p0lai6vnif7lv13x497dkw4rz";
version = "12.8.0";
hash = "sha256-2+Wf0AL9C5xOQCjA9maMt/W/kviNuiyMfaOFDU82KxM=";
};
meta = {
description = "Bring real icons to your Visual Studio Code";
@@ -4792,6 +5036,22 @@ let
};
};
yoavbls.pretty-ts-errors = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "pretty-ts-errors";
publisher = "yoavbls";
version = "0.5.3";
hash = "sha256-JSCyTzz10eoUNu76wNUuvPVVKq4KaVKobS1CAPqgXUA=";
};
meta = {
description = "Make TypeScript errors prettier and human-readable in VSCode";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=yoavbls.pretty-ts-errors";
homepage = "https://github.com/yoavbls/pretty-ts-errors";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
};
yzhang.dictionary-completion = buildVscodeMarketplaceExtension {
mktplcRef = {
publisher = "yzhang";
@@ -4829,6 +5089,22 @@ let
};
};
zaaack.markdown-editor = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "markdown-editor";
publisher = "zaaack";
version = "0.1.10";
hash = "sha256-K1nczR059BsiHpT1xdtJjpFLl5krt4H9+CrEsIycq9U=";
};
meta = {
description = "Visual Studio Code extension for WYSIWYG markdown editing";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=zaaack.markdown-editor";
homepage = "https://github.com/zaaack/vscode-markdown-editor";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.pandapip1 ];
};
};
zainchen.json = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "json";
@@ -4845,6 +5121,22 @@ let
};
};
zguolee.tabler-icons = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "tabler-icons";
publisher = "zguolee";
version = "0.3.4";
hash = "sha256-0XvB9UXqKHbL/ejUfciSvFzZ3GacaQ7pq6hJqRaxq+8=";
};
meta = {
description = "Tabler product icon theme for Visual Studio Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=zguolee.tabler-icons";
homepage = "https://github.com/zguolee/vscode-tabler-icons";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.uncenter ];
};
};
zhuangtongfa.material-theme = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "material-theme";
@@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-pylance";
publisher = "MS-python";
version = "2024.5.1";
hash = "sha256-w+T4dySTt2RpdBYd1Nnxh8RR9wqEu9pkS4R1Ay7Fn+8=";
version = "2024.6.1";
hash = "sha256-NOx0WJC32MUm6TmLkiN67FHKwBmB0S3feFVIQNxR2PQ=";
};
buildInputs = [ pyright ];
@@ -11,7 +11,7 @@ vscode-utils.buildVscodeMarketplaceExtension {
name = "tinymist";
publisher = "myriad-dreamin";
inherit (tinymist) version;
hash = "sha256-etPjbmcBhS1dgq5wEoRIekZlRxYoC6KrsV/+owjHu4I=";
hash = "sha256-Oama8FkRhEY4yza77RpWHg0Aeo9WFhveucJqJvCYMJQ=";
};
nativeBuildInputs = [
@@ -3,15 +3,15 @@
stdenv,
vscode-utils,
autoPatchelfHook,
libxcrypt-legacy,
zlib,
}:
vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "sourcery";
publisher = "sourcery";
version = "1.16.0";
hash = "sha256-SHgS2C+ElTJW4v90Wg0QcsSL2FoSz+SxZQpgq2J4JiU=";
version = "1.19.0";
hash = "sha256-Wit2ozgaVwINL3PvPfmZWQ4WN7seQMWfXwXGgEKecn0=";
};
postPatch = ''
@@ -24,7 +24,7 @@ vscode-utils.buildVscodeMarketplaceExtension {
buildInputs = [
stdenv.cc.cc.lib
libxcrypt-legacy
zlib
];
meta = {
@@ -13,19 +13,19 @@ let
{
x86_64-linux = {
arch = "linux-x64";
hash = "sha256-CPUlJ1QzGiZKd4r46Iioc5svw0oLsMsYnc0KxT1p0zM=";
hash = "sha256-fvDzsFOG1pdmpC3RDY8zGP0yL/TzX6i00LnIX+yceVU=";
};
aarch64-linux = {
arch = "linux-arm64";
hash = "sha256-qSTCZHL7nfB300qwuqgl/4u+SYNMA2BFCrD+yQEgN/c=";
hash = "sha256-3yRZzOTuiTbkUUz1D3mZo7G5vayM6W9YBbJxTiVou9g=";
};
x86_64-darwin = {
arch = "darwin-x64";
hash = "sha256-FcZH2bB5B3wnu6F76kGp9FBdD3yZtr57TQ5xaUfRcmY=";
hash = "sha256-fKvR2bea4UxvnZ+LlWR/ahpKe8mk5f4mZrjqTFpsC5A=";
};
aarch64-darwin = {
arch = "darwin-arm64";
hash = "sha256-3HdK4x2WNdb9Zxqjtn9lmbgrMOzz14rH0ZF0x9B0BHY=";
hash = "sha256-nkK3BH+MRi6KdThq4kYR9ZAfnuSkC2r/lKWpEtmD7Ak=";
};
}
.${system} or (throw "Unsupported system: ${system}");
@@ -37,7 +37,7 @@ vscode-utils.buildVscodeMarketplaceExtension {
# Please update the corresponding binary (typos-lsp)
# when updating this extension.
# See pkgs/by-name/ty/typos-lsp/package.nix
version = "0.1.18";
version = "0.1.19";
inherit (extInfo) hash arch;
};
@@ -15,11 +15,11 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "1zmgvadhsnsbmqb559kvf66i7h6iq7vw99m7vdxcfmdl6c1pwyvb";
x86_64-darwin = "061h423vay3d28d2015llz7pwlqcrjy0lmw47xgy3iy6hfadrra2";
aarch64-linux = "0n288h6369bazykp6jyapi6yz0k7nivql6wz68fgkagfdyxzl1yb";
aarch64-darwin = "13k9hvbzj8xyfi29g0x4nz80gmjq3s693zi5fi4lbf4bj7jmcamq";
armv7l-linux = "19p6k1rgy83vs76hksjx5d4v32jq31r6aw5kzcc8gsq114xj9c2a";
x86_64-linux = "1r76ikfikagg9v278pgiqhnjsv7pqn0xi372y1l0wsashlxl7kb0";
x86_64-darwin = "156604xzazmb54p0rdkv5wy9livg0xz2jviycdizablmvsxybs57";
aarch64-linux = "0cp120pcjpgf9qvmks9f8l2caxqlvnqvmxa7fh9mf83zpkdmnsnl";
aarch64-darwin = "1k06648jx64irshs0v4qy6xlkd9mk514xf21dlfhvic4aj89kcx9";
armv7l-linux = "0jy8hkbxh1969kskggg2y86cphly9l9gs7y4plj90jmlvlzjjjxm";
}.${system} or throwSystem;
sourceRoot = lib.optionalString (!stdenv.isDarwin) ".";
@@ -29,7 +29,7 @@ in
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.90.0.24158";
version = "1.90.1.24165";
pname = "vscodium";
executableName = "codium";
@@ -12,7 +12,7 @@
}:
stdenv.mkDerivation {
name = "c64-debugger";
pname = "c64-debugger";
version = "0.64.58.6";
src = fetchgit {
@@ -55,20 +55,20 @@
"src": {
"owner": "libretro",
"repo": "beetle-pce-libretro",
"rev": "0eb4b423452da40dbf4393e09d4126c3090a1210",
"hash": "sha256-PhhItDKvlvx3uBDx+xEUVr0sW2Y9HiTR/IvsnXVNAqo="
"rev": "3d91a940b3a48254152a8789b79616ceefe4067f",
"hash": "sha256-6zXl49Rns6wCZmcEUWkWqYeSH6W1+qs6Sb998pQ/+Lo="
},
"version": "unstable-2024-05-17"
"version": "unstable-2024-06-14"
},
"beetle-pce-fast": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "libretro",
"repo": "beetle-pce-fast-libretro",
"rev": "414149d335ce2a3284db6cdffbb8ed2ce42dbe5f",
"hash": "sha256-sta71o4NJIPDZlQkAFLzx+XlHVA8MmUjuZ17MuCKhOY="
"rev": "a653bbbdc5cf2bf960e614efdcf9446a9aa8cdf9",
"hash": "sha256-ty4Uluo8D8x+jB7fOqI/AgpTxdttzpbeARiICd3oh9c="
},
"version": "unstable-2024-05-17"
"version": "unstable-2024-06-14"
},
"beetle-pcfx": {
"fetcher": "fetchFromGitHub",
@@ -85,10 +85,10 @@
"src": {
"owner": "libretro",
"repo": "beetle-psx-libretro",
"rev": "b8e10a3039391db6e4fbdc96720d3428a2dbd039",
"hash": "sha256-F38lUBhe9JR3dPwkLqhAAlvLtAeas8bnPuiK6eOpUuU="
"rev": "6e881f9939dd9b33fb5f5587745524a0828c9ef4",
"hash": "sha256-mFIqsybkpSF17HmrfReazYUqVLzuDGwCjzaV7BTLKJ8="
},
"version": "unstable-2024-06-07"
"version": "unstable-2024-06-14"
},
"beetle-saturn": {
"fetcher": "fetchFromGitHub",
@@ -115,10 +115,10 @@
"src": {
"owner": "libretro",
"repo": "beetle-supergrafx-libretro",
"rev": "e3f68c1311d4684a5a59d3d1662d5c4f32662c02",
"hash": "sha256-jTO2SDOefpB+cfahiPkReYID0pjP437h53hZElSLsdY="
"rev": "29b2a6e12c13d623ad94dcb64e1cb341d93ff02d",
"hash": "sha256-sbpCG3QsSn8NOjWC0snvsd7jZYClSbKI79QUnigQwzc="
},
"version": "unstable-2024-06-07"
"version": "unstable-2024-06-14"
},
"beetle-vb": {
"fetcher": "fetchFromGitHub",
@@ -165,10 +165,10 @@
"src": {
"owner": "libretro",
"repo": "bsnes-libretro",
"rev": "44f6ce5dedb138ded8e59d71df18cae5b0655eba",
"hash": "sha256-7iB2VQ3f8YVOV3C+Rkviaj7USoZdO/riDnT9kCdzc8k="
"rev": "9131a4c705e18f7b96e7dbfcfe70b158d10afed1",
"hash": "sha256-NotqQMBHV6E3LSXJHQ5FqIbq2OQbXx6xCbLYV9g12kQ="
},
"version": "unstable-2024-05-31"
"version": "unstable-2024-06-16"
},
"bsnes-hd": {
"fetcher": "fetchFromGitHub",
@@ -297,21 +297,21 @@
"src": {
"owner": "libretro",
"repo": "libretro-fceumm",
"rev": "bc9d865f9427384e40084cb090d94d72d4970e78",
"hash": "sha256-/g7gRNWDbW5LFZ+uBkIf5DMELas0/ilqbmUbvq8YSsE="
"rev": "fe4a4f8a53cc7f91278f393710abb4f32c4e0a8f",
"hash": "sha256-/rZoARZf3SfN8E0o0qm34FYCYscqeEcLg3eYSXenK8s="
},
"version": "unstable-2024-06-09"
"version": "unstable-2024-06-15"
},
"flycast": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "flyinghead",
"repo": "flycast",
"rev": "4cd62781043cd9193c6c5ec04f6a8084375bed0d",
"hash": "sha256-EKK9PNFHWm1Jakq0E6fIqmcDiiiOSgHEbixB3X/H77g=",
"rev": "ca613db70d8897e06562fe089e3e9543b41526a0",
"hash": "sha256-wYKHC+EvLnq+PnL1/hNcrhDyCY+4kaiSjIUKJ9SGPHc=",
"fetchSubmodules": true
},
"version": "unstable-2024-06-08"
"version": "unstable-2024-06-11"
},
"fmsx": {
"fetcher": "fetchFromGitHub",
@@ -338,30 +338,30 @@
"src": {
"owner": "libretro",
"repo": "fuse-libretro",
"rev": "847dbbd6f787823ac9a5dfacdd68ab181063374e",
"hash": "sha256-jzS7SFALV/YjI77ST+IWHwUsuhT+Zr5w4t6C7O8yzFM="
"rev": "9fc41a5f153e1f2fa2dbcfdd215c7ec97d98a29c",
"hash": "sha256-eEgPnSIpKC7s+4JoEHDGPlwYPa5Y8EpoxmNhyOIIcU8="
},
"version": "unstable-2023-06-23"
"version": "unstable-2024-06-16"
},
"gambatte": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "libretro",
"repo": "gambatte-libretro",
"rev": "e2031a4010463adcd00ce3f34acbbb6db2ad1266",
"hash": "sha256-yFj9ZkvDliaTO43l0fjg8FwD17MxjV4wszY7AVjTiNY="
"rev": "863002046a812758da6064daaf579fef1cec19a3",
"hash": "sha256-7rkyMcaKDNOESNrmwYCKM71x3WM8eSN9LBX0xOQRhJ0="
},
"version": "unstable-2024-06-07"
"version": "unstable-2024-06-14"
},
"genesis-plus-gx": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "libretro",
"repo": "Genesis-Plus-GX",
"rev": "60955a01f601ef73c02b07581dd7d5aa3b6a4788",
"hash": "sha256-h0T6i1kiN58TagFo5XHzXMLaEwkGGTyuZpyS1QGNrb8="
"rev": "4e54d585d540d461ecc412c91ca4a79e2338f3b6",
"hash": "sha256-7P6w6pXplOfpP7w+JztNd49FdKBPM8eQeSh93YAG0Y4="
},
"version": "unstable-2024-06-07"
"version": "unstable-2024-06-14"
},
"gpsp": {
"fetcher": "fetchFromGitHub",
@@ -408,11 +408,11 @@
"src": {
"owner": "libretro",
"repo": "mame",
"rev": "4ee35952a8fdb1332e970fa14c3e79c8c968050c",
"hash": "sha256-UIAMq8AIdLKX8SIF2V0+Vc6kHPJ0rmdx4BeqoSrCfFE=",
"rev": "db65a583bd2da39514a544c58362a6ac170179ac",
"hash": "sha256-FTsoLsx7IhyAw/pdaGAeNzysc7vZ3CcyXKWcBJ0pOb8=",
"fetchSubmodules": true
},
"version": "unstable-2024-05-21"
"version": "unstable-2024-06-13"
},
"mame2000": {
"fetcher": "fetchFromGitHub",
@@ -550,10 +550,10 @@
"src": {
"owner": "libretro",
"repo": "neocd_libretro",
"rev": "71ebe5044639b825e5bd1bd590fef3e918133b80",
"hash": "sha256-YVxt3bJ54DD91VHkeQyYdo/BEq//lnBKd9Y42Vby3qc="
"rev": "c5a266254ffbaa2730d2814195f60e7be153fc86",
"hash": "sha256-MJhUYFNrtt2SSLun75OXKrT7nZzLBtyslqG9mziQuRk="
},
"version": "unstable-2024-02-01"
"version": "unstable-2024-06-16"
},
"nestopia": {
"fetcher": "fetchFromGitHub",
@@ -611,10 +611,10 @@
"src": {
"owner": "libretro",
"repo": "parallel-n64",
"rev": "1b57f9199b1f8a4510f7f89f14afa9cabf9b3bdd",
"hash": "sha256-L20RGav0FJfydOICCNhAMGxIuIvPABDtCs5tWzrh768="
"rev": "330fa5efd306ad116c44faf6833a8108ed4144b0",
"hash": "sha256-pltPoWfXFh9OhWnQ+XMhHVZCo6BCGr6jCDhiL5T7LNM="
},
"version": "unstable-2024-01-15"
"version": "unstable-2024-06-10"
},
"pcsx2": {
"fetcher": "fetchFromGitHub",
@@ -631,43 +631,43 @@
"src": {
"owner": "libretro",
"repo": "pcsx_rearmed",
"rev": "1f8c6be323aa8fad329e38682158197e822d27c1",
"hash": "sha256-f1U7hmSywECmXwRi6vhAFjG971XsDXhsYzSAKMa2ZVY="
"rev": "1cdeae2b66fc3ef486ec8016ed5fad437f1a4409",
"hash": "sha256-Zw5CWDeAy3pUV4qXFIfs6kFlEaYhNhl+6pu5fOx34j0="
},
"version": "unstable-2024-05-30"
"version": "unstable-2024-06-17"
},
"picodrive": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "libretro",
"repo": "picodrive",
"rev": "ad93670449a28825d4b2cebf2eeff72cf03377a9",
"hash": "sha256-AGupXJVUkOt7XjXE1s5Y3SzZjZBAujaAAsR0CgxfKe0=",
"rev": "535217f16bc2848ec70985c41e1d131709352641",
"hash": "sha256-K96eN3Erw1G+vQa8pag72hrtgf+tttoNIMXdgCGNy6k=",
"fetchSubmodules": true
},
"version": "unstable-2024-03-26"
"version": "unstable-2024-06-15"
},
"play": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "jpd002",
"repo": "Play-",
"rev": "2f3d8252a2ba398078538abfe8a633b667a858a4",
"hash": "sha256-Trr+xJWcWfQW5TnSTxqAsUK3HSMsoLaAkz7UIwp6L4c=",
"rev": "a5753e582963e8555985abdfe6b5692bac52d701",
"hash": "sha256-OabW7OYitDzMh2bbAokfM+HwMaLo2cY3/FB78/ouvrY=",
"fetchSubmodules": true
},
"version": "unstable-2024-06-04"
"version": "unstable-2024-06-10"
},
"ppsspp": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "hrydgard",
"repo": "ppsspp",
"rev": "5dec3ca2db10943dcdf5e483cc8c28e0524d1a43",
"hash": "sha256-B9/0uGpBrM+qndvO2BC9sQCNkSK3qR2fUtWx5Vx16xU=",
"rev": "cfcca0ed13ca86eb6e1ee7bb4161aabee6c2af06",
"hash": "sha256-K96Ajh/jXxILiKXBaTiNh6FwptPQQG39jGq45aQ7veY=",
"fetchSubmodules": true
},
"version": "unstable-2024-06-09"
"version": "unstable-2024-06-16"
},
"prboom": {
"fetcher": "fetchFromGitHub",
@@ -754,10 +754,10 @@
"src": {
"owner": "snes9xgit",
"repo": "snes9x",
"rev": "c7b77d4a763e8fa3ee2c4ef63b3974527056b7ad",
"hash": "sha256-a9IKbuSrlzrhrRrLRFAnhHWBhaYIf58oRFYjWSqbNTU="
"rev": "a9e64edf73f36fb1a4ac616b11131f6380d8e968",
"hash": "sha256-3m2YTy1Y/ENhI4qmH3FQBZMEKNHsDJVZeOOLRrLj8lw="
},
"version": "unstable-2024-06-07"
"version": "unstable-2024-06-13"
},
"snes9x2002": {
"fetcher": "fetchFromGitHub",
@@ -794,10 +794,10 @@
"src": {
"owner": "stella-emu",
"repo": "stella",
"rev": "1c2dceab2b74980effb8d6497ea64fc3bd6b0be3",
"hash": "sha256-UeuSHHAZV798sSws32PhcBq9q2bGfX758mR+mIEnX+I="
"rev": "b477cb56bc6fd8b6977dcee279f16de01348bdae",
"hash": "sha256-jGyEah9eBEvNB4HewL60yXZvpHseeScYrHsRtzUtjN8="
},
"version": "unstable-2024-06-08"
"version": "unstable-2024-06-15"
},
"stella2014": {
"fetcher": "fetchFromGitHub",
+3 -3
View File
@@ -69,9 +69,9 @@ in rec {
unstable = fetchurl rec {
# NOTE: Don't forget to change the hash for staging as well.
version = "9.10";
version = "9.11";
url = "https://dl.winehq.org/wine/source/9.x/wine-${version}.tar.xz";
hash = "sha256-r8NLSRv6FMYsP99ifdK13Kxefp8/FFrbFDMleK+M8cA=";
hash = "sha256-36AMJk6nEWnQKoSagz5Iyudh+whCKgDfhkTr1nv4ckA=";
inherit (stable) patches;
## see http://wiki.winehq.org/Gecko
@@ -117,7 +117,7 @@ in rec {
staging = fetchFromGitLab rec {
# https://gitlab.winehq.org/wine/wine-staging
inherit (unstable) version;
hash = "sha256-ZqajfgPSKTcNBiDWEc9UgZWWmvkJvTA0S+j98Qz/y08=";
hash = "sha256-vqlikMatRlGxvWJ6BJu2HyBclV4x+vzNPNe8py7jKqo=";
domain = "gitlab.winehq.org";
owner = "wine";
repo = "wine-staging";
+22 -3
View File
@@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, cmake
, fontconfig
, libX11
@@ -11,15 +12,25 @@
stdenv.mkDerivation rec {
pname = "brlcad";
version = "7.34.2";
version = "7.38.2";
src = fetchFromGitHub {
owner = "BRL-CAD";
repo = pname;
repo = "brlcad";
rev = "refs/tags/rel-${lib.replaceStrings [ "." ] [ "-" ] version}";
hash = "sha256-oafu255xElEIk8p4yvNyR2maykUfxQui/L5MkicA+JA=";
hash = "sha256-23UTeH4gY2x/QGYZ64glAkf6LmsXBAppIOHgoUdxgpo=";
};
patches = [
# This commit was bringing an impurity in the rpath resulting in:
# RPATH of binary /nix/store/rq2hjvfgq2nvh5zxch51ij34rqqdpark-brlcad-7.38.0/bin/tclsh contains a forbidden reference to /build/
(fetchpatch {
url = "https://github.com/BRL-CAD/brlcad/commit/fbdbf042b2db4c7d46839a17bbf4985cdb81f0ae.patch";
revert = true;
hash = "sha256-Wfihd7TLkE8aOpLdDtYmhhd7nZijiVGh1nbUjWr/BjQ=";
})
];
nativeBuildInputs = [
cmake
];
@@ -36,11 +47,19 @@ stdenv.mkDerivation rec {
"-DBRLCAD_ENABLE_STRICT=OFF"
];
env.NIX_CFLAGS_COMPILE = toString [
# Needed with GCC 12
"-Wno-error=array-bounds"
];
meta = with lib; {
homepage = "https://brlcad.org";
description = "BRL-CAD is a powerful cross-platform open source combinatorial solid modeling system";
changelog = "https://github.com/BRL-CAD/brlcad/releases/tag/${src.rev}";
license = with licenses; [ lgpl21 bsd2 ];
maintainers = with maintainers; [ GaetanLepage ];
platforms = platforms.linux;
# error Exactly one of ON_LITTLE_ENDIAN or ON_BIG_ENDIAN should be defined.
broken = stdenv.system == "aarch64-linux";
};
}
+16 -8
View File
@@ -1,6 +1,9 @@
{ lib, stdenv
, mkDerivation
, fetchurl
, autoconf
, automake
, libtool
, pkg-config
, djvulibre
, qtbase
@@ -12,14 +15,19 @@
mkDerivation rec {
pname = "djview";
version = "4.10.6";
version = "4.12";
outputs = [ "out" "man" ];
src = fetchurl {
url = "mirror://sourceforge/djvu/${pname}-${version}.tar.gz";
sha256 = "08bwv8ppdzhryfcnifgzgdilb12jcnivl4ig6hd44f12d76z6il4";
hash = "sha256-VnPGqLfhlbkaFyCyQJGRW4FF3jSHnbEVi8k2sQDq8+M=";
};
nativeBuildInputs = [
autoconf
automake
libtool
pkg-config
qttools
];
@@ -31,24 +39,24 @@ mkDerivation rec {
libtiff
] ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.AGL;
preConfigure = ''
NOCONFIGURE=1 ./autogen.sh
'';
configureFlags = [
"--disable-silent-rules"
"--disable-dependency-tracking"
"--with-x"
"--with-tiff"
# NOTE: 2019-09-19: experimental "--enable-npdjvu" fails
"--disable-nsdejavu" # 2023-11-14: modern browsers have dropped support for NPAPI
] ++ lib.optional stdenv.isDarwin "--enable-mac";
passthru = {
mozillaPlugin = "/lib/mozilla/plugins";
};
meta = with lib; {
broken = stdenv.isDarwin;
description = "Portable DjVu viewer (Qt5) and browser (nsdejavu) plugin";
mainProgram = "djview";
homepage = "https://djvu.sourceforge.net/djview4.html";
license = licenses.gpl2;
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ Anton-Latukha ];
longDescription = ''
@@ -11,13 +11,13 @@
buildDotnetModule rec {
pname = "ArchiSteamFarm";
# nixpkgs-update: no auto update
version = "6.0.1.24";
version = "6.0.3.4";
src = fetchFromGitHub {
owner = "JustArchiNET";
repo = "ArchiSteamFarm";
rev = version;
hash = "sha256-IgsiL5YUeOWQ/WIaTfs0Kmv2XFori8ntGZhrx7xeMkg=";
hash = "sha256-qYB94SJYCwcUrXdKtD+ZdiPRpwXg3rOHVmFWD+Y1ZXg=";
};
dotnet-runtime = dotnetCorePackages.aspnetcore_8_0;
@@ -26,22 +26,20 @@ buildDotnetModule rec {
nugetDeps = ./deps.nix;
projectFile = "ArchiSteamFarm.sln";
executables = [ "ArchiSteamFarm" ];
executable = "ArchiSteamFarm";
dotnetFlags = [
"-p:PublishSingleFile=true"
"-p:PublishTrimmed=true"
"-p:UseAppHost=false"
];
dotnetInstallFlags = [
"--framework=net8.0"
];
selfContainedBuild = true;
runtimeDeps = [ libkrb5 zlib openssl ];
doCheck = true;
preBuild = ''
export projectFile=(ArchiSteamFarm)
dotnetProjectFiles=(ArchiSteamFarm)
'';
preInstall = ''
@@ -58,11 +56,17 @@ buildDotnetModule rec {
dotnet publish $1 -p:ContinuousIntegrationBuild=true -p:Deterministic=true \
--output $out/lib/ArchiSteamFarm/plugins/$1 --configuration Release \
-p:UseAppHost=false
}
}
buildPlugin ArchiSteamFarm.OfficialPlugins.ItemsMatcher
buildPlugin ArchiSteamFarm.OfficialPlugins.MobileAuthenticator
buildPlugin ArchiSteamFarm.OfficialPlugins.SteamTokenDumper
buildPlugin ArchiSteamFarm.OfficialPlugins.ItemsMatcher
buildPlugin ArchiSteamFarm.OfficialPlugins.MobileAuthenticator
buildPlugin ArchiSteamFarm.OfficialPlugins.Monitoring
buildPlugin ArchiSteamFarm.OfficialPlugins.SteamTokenDumper
chmod +x $out/lib/ArchiSteamFarm/ArchiSteamFarm.dll
wrapDotnetProgram $out/lib/ArchiSteamFarm/ArchiSteamFarm.dll $out/bin/ArchiSteamFarm
substituteInPlace $out/bin/ArchiSteamFarm \
--replace-fail "exec " "exec dotnet "
'';
passthru = {
+49 -40
View File
@@ -57,10 +57,14 @@
(fetchNuGet { pname = "Humanizer.Core.zh-Hans"; version = "2.14.1"; sha256 = "0zn99311zfn602phxyskfjq9vly0w5712z6fly8r4q0h94qa8c85"; })
(fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "2.14.1"; sha256 = "0qxjnbdj645l5sd6y3100yyrq1jy5misswg6xcch06x8jv7zaw1p"; })
(fetchNuGet { pname = "JetBrains.Annotations"; version = "2023.3.0"; sha256 = "0vp4mpn6gfckn8grzjm1jxlbqiq2fglm2rk9wq787adw7rxs8k7w"; })
(fetchNuGet { pname = "Markdig.Signed"; version = "0.36.2"; sha256 = "02d658sjxd853lmqhhh13yhycm9nlmghl3p3fdn6iwmwhkly9qvy"; })
(fetchNuGet { pname = "Microsoft.ApplicationInsights"; version = "2.21.0"; sha256 = "1q034jbqkxb8lddkd0ijp0wp0ymnnf3bg2mjpay027zv7jswnc4x"; })
(fetchNuGet { pname = "Markdig.Signed"; version = "0.37.0"; sha256 = "0pcysg74pvhqs13087dh5r90xnixklmnz7bwv02304927mkv5345"; })
(fetchNuGet { pname = "Microsoft.ApplicationInsights"; version = "2.22.0"; sha256 = "0h5qkhmazlvwvjmxxj9pp2404rmvk55yf6npwcmlskv9mgfkli4r"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "8.0.0"; sha256 = "05y1xb5fw8lzvb4si77a5qwfwfz1855crqbphrwky6x9llivbhkx"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "8.0.0"; sha256 = "18zdbcb2bn7wy1dp14z5jyqiiwr9rkad1lcb158r5ikjfq1rg5iw"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "8.0.0"; sha256 = "1nbxzmj6cnccylxis67c54c0ik38ma4rwdvgg6sxd6r04219maqm"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "8.0.0"; sha256 = "1wqkbjd1ywv9w397l7rsb89mijc5n0hv7jq9h09xfz6wn9qsp152"; })
(fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; sha256 = "15gqy2m14fdlvy1g59207h5kisznm355kbw010gy19vh47z8gpz3"; })
(fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.8.0"; sha256 = "173wjadp3gan4x2jfjchngnc4ca4mb95h1sbb28jydfkfw0z1zvj"; })
(fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.10.0"; sha256 = "0s0v7jmrq85n356xv7zixvwa4z94fszjcr5vll8x4im1a2lp00f9"; })
(fetchNuGet { pname = "Microsoft.Extensions.ApiDescription.Server"; version = "6.0.5"; sha256 = "1pi2bm3cm0a7jzqzmfc2r7bpcdkmk3hhjfvb2c81j7wl7xdw3624"; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration"; version = "8.0.0"; sha256 = "080kab87qgq2kh0ijry5kfdiq9afyzb8s0k3jqi5zbbi540yq4zl"; })
(fetchNuGet { pname = "Microsoft.Extensions.Configuration.Abstractions"; version = "8.0.0"; sha256 = "1jlpa4ggl1gr5fs7fdcw04li3y3iy05w3klr9lrrlc7v8w76kq71"; })
@@ -76,54 +80,60 @@
(fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "8.0.0"; sha256 = "0p50qn6zhinzyhq9sy5svnmqqwhw2jajs2pbjh9sah504wjvhscz"; })
(fetchNuGet { pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; version = "8.0.0"; sha256 = "04nm8v5a3zp0ill7hjnwnja3s2676b4wffdri8hdk2341p7mp403"; })
(fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "8.0.0"; sha256 = "0aldaz5aapngchgdr7dax9jw5wy7k7hmjgjpfgfv1wfif27jlkqm"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Abstractions"; version = "7.5.0"; sha256 = "0nigij1vz1biw1sl64mflx68fgm34lmnvq47z2n5p0qs534kvkhb"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "7.5.0"; sha256 = "025ixbv7jq294n8yw4y1bbd92iz08q4jqnnzqp0s8lgi49sk9dad"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "7.5.0"; sha256 = "1qyyfxww980s7xzw048kc8iqzarzbaj11cb5lrsisv777ccipma5"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "7.5.0"; sha256 = "0ns56pws3zlwjk8mjyfr02zl3nnhzka76wabfabplfci62bgi3h0"; })
(fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.8.0"; sha256 = "1syvl3g0hbrcgfi9rq6pld8s8hqqww4dflf1lxn59ccddyyx0gmv"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Abstractions"; version = "7.6.0"; sha256 = "18g4j9n47387k4ym3kl2dzhhhs6fs5rq96757fc4lcdql2rpkmp0"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.JsonWebTokens"; version = "7.6.0"; sha256 = "11znwbbg44hhz3ly6j6q81qz83yqf97jj5zhpldng5zq0h791srl"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "7.6.0"; sha256 = "1slkzygcn4abpqip4rmi73h9096ihjkkaiwgmkaiba9pidn9lzlx"; })
(fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "7.6.0"; sha256 = "1blj1ayw9qpjpsnb4k95s03pdkin0032mxgznfaw1z1qhhiqdnsi"; })
(fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.10.0"; sha256 = "13g8fwl09li8fc71nk13dgkb7gahd4qhamyg2xby7am63nlchhdf"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "8.0.0"; sha256 = "0gwqmkmr7jy3sjh9gha82amlry41gp8nwswy2iqfw54f28db63n7"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "8.0.0"; sha256 = "042cjvnwrrjs3mw5q8q5kinh0cwkks33i3n1vyifaid2jbr3wlc0"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "8.0.0"; sha256 = "06ndp4wh1cap01dql3nixka4g56bf6ipmqys7xaxvg4xisf79x8d"; })
(fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "8.0.0"; sha256 = "1kh5bnaf6h9mr4swcalrp304625frjiw6mlz1052rxwzsdq98a96"; })
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
(fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.2.3"; sha256 = "07b19k89whj69j87afkz86gp9b3iybw8jqwvlgcn43m7fb2y99rr"; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.Telemetry"; version = "1.0.2"; sha256 = "00psv2mvynd2bz8xnzvqvb32qr33glqxg4ni5j91b93k84yjy5ma"; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.TrxReport.Abstractions"; version = "1.0.2"; sha256 = "09yn3hi9npgi8rs2vyfyzcl8vbfa1lqcl6lgpymw5d7lg0hc511w"; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.VSTestBridge"; version = "1.0.2"; sha256 = "0c65fsc23xxw648xh83sjcmrn9hvs9q58l5lb36wflvaajbsjf2r"; })
(fetchNuGet { pname = "Microsoft.Testing.Platform"; version = "1.0.2"; sha256 = "0bq46f4v2r4nzwly7g0dsakyc1lcql9nh85sp59d1fwzaknf1n94"; })
(fetchNuGet { pname = "Microsoft.Testing.Platform.MSBuild"; version = "1.0.2"; sha256 = "1vjqrpqjx3z1irqgy0ckmkgyvrzqqqcikxs36q6gadyj643ra1c5"; })
(fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.6.14"; sha256 = "1wr8crmjg4gznm3jqgz9s9p285vrwb8a6baqc6gz3b58rn4m88km"; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.Telemetry"; version = "1.2.1"; sha256 = "1a6hyd3szjjpjkbr0ncfria0x2qijv3lwr4drhxm15xamfy23azw"; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.TrxReport.Abstractions"; version = "1.2.1"; sha256 = "19309m0b9cjy1642m99ipjvr6gxq6qb008bam3l10m1mz8m81j31"; })
(fetchNuGet { pname = "Microsoft.Testing.Extensions.VSTestBridge"; version = "1.2.1"; sha256 = "1bly8375zng21yjbfdi08c14lgapngv06p1dlzbryimxicqzxixx"; })
(fetchNuGet { pname = "Microsoft.Testing.Platform"; version = "1.2.1"; sha256 = "0zlbqmvdb1vxnvmxh6lk65mz57c7mz6dqb1s8in0cfww8kxg058k"; })
(fetchNuGet { pname = "Microsoft.Testing.Platform.MSBuild"; version = "1.2.1"; sha256 = "07674xnhc84h36pvzswx6ibjy0bgfi2bxhqm1zyq9fidmim0ch07"; })
(fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.10.0"; sha256 = "07j69cw8r39533w4p39mnj00kahazz38760in3jfc45kmlcdb26x"; })
(fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.5.0"; sha256 = "0qkjyf3ky6xpjg5is2sdsawm99ka7fzgid2bvpglwmmawqgm8gls"; })
(fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.8.0"; sha256 = "0b0i7lmkrcfvim8i3l93gwqvkhhhfzd53fqfnygdqvkg6np0cg7m"; })
(fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.8.0"; sha256 = "0f5jah93kjkvxwmhwb78lw11m9pkkq9fvf135hpymmmpxqbdh97q"; })
(fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.10.0"; sha256 = "1bl471s7fx9jycr0cc8rylwf34mrvlg9qn1an6l86nisavfcyb7v"; })
(fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "5.0.0"; sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; })
(fetchNuGet { pname = "MSTest"; version = "3.2.2"; sha256 = "19pkywdlmgccv2ri52gbpb3pgci1ymb2ba5qhyp9j19vks6gf6cj"; })
(fetchNuGet { pname = "MSTest.Analyzers"; version = "3.2.2"; sha256 = "1ap7imbqxmz2namgli796pxj91gyn01k6xxnllldpwwbxpd0ijgd"; })
(fetchNuGet { pname = "MSTest.TestAdapter"; version = "3.2.2"; sha256 = "14nrxg1cd3lzaxw7zz8z91168sgnsf1xxnrpdy7wkd6ggk22hi19"; })
(fetchNuGet { pname = "MSTest.TestFramework"; version = "3.2.2"; sha256 = "0igdrjr300bqz5lnibf9vl8pkaky1l27f889gza3a9xs83mpd06p"; })
(fetchNuGet { pname = "MSTest"; version = "3.4.3"; sha256 = "070avma2zdxdpn23a9chgz9n1kglxh8nbb1g2ggzk3xxi5sdjj0n"; })
(fetchNuGet { pname = "MSTest.Analyzers"; version = "3.4.3"; sha256 = "14a6rzh4cvaf9bw63qlxw242fbmk4agyx9qgl19swpciqcaq7pxi"; })
(fetchNuGet { pname = "MSTest.TestAdapter"; version = "3.4.3"; sha256 = "0hsslndnfyb6shgkmgy10f1c9p6b47ry20zr2l1msagmkrk49s5q"; })
(fetchNuGet { pname = "MSTest.TestFramework"; version = "3.4.3"; sha256 = "0hviglzfv16dd3aczny455sy1k0rikzd5w34smfpjyxc0wqx6xvp"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; })
(fetchNuGet { pname = "Nito.AsyncEx.Coordination"; version = "5.1.2"; sha256 = "0sxvmqnv8a94k3pq1w3lh1vgjb8l62h1qamxcjl3pkq634h2fwrl"; })
(fetchNuGet { pname = "Nito.AsyncEx.Tasks"; version = "5.1.2"; sha256 = "11wp47kc69sjdxrbg5pgx0wlffqlp0x5kr54ggnz2v19kmjz362v"; })
(fetchNuGet { pname = "Nito.Collections.Deque"; version = "1.1.1"; sha256 = "152564q3s0n5swfv5p5rx0ghn2sm0g2xsnbd7gv8vb9yfklv7yg8"; })
(fetchNuGet { pname = "Nito.Disposables"; version = "2.2.1"; sha256 = "1hx5k8497j34kxxgh060bvij0vfnraw90dmm3h9bmamcdi8wp80l"; })
(fetchNuGet { pname = "NLog"; version = "5.2.8"; sha256 = "1z3h20m5rjnizm1jbf5j0vpdc1f373rzzkg6478p1lxv5j385c12"; })
(fetchNuGet { pname = "NLog.Extensions.Logging"; version = "5.3.8"; sha256 = "1qnz91099f51vk7f5g2ig0041maw5hcbyqllxvj5zj7zkp0qw9b8"; })
(fetchNuGet { pname = "NLog.Web.AspNetCore"; version = "5.3.8"; sha256 = "05a6bzvdf63lbnn6sj3yfggxcgv96j91kdbcw0ac5hxl58df58r6"; })
(fetchNuGet { pname = "NLog"; version = "5.3.2"; sha256 = "01qnzmwvc93yywhvy5g29fb8jnalfi82az7296nblyqjalhbzz3g"; })
(fetchNuGet { pname = "NLog.Extensions.Logging"; version = "5.3.11"; sha256 = "0j276q0a14qk9nc3f03265jl5wp38bnm7dyyx0s4kxkyb3kx3z8c"; })
(fetchNuGet { pname = "NLog.Web.AspNetCore"; version = "5.3.11"; sha256 = "17xvaj54liyk9zq0f80z1ai6wq4rgj6xy93znvsdcnldmin1icz9"; })
(fetchNuGet { pname = "NuGet.Frameworks"; version = "5.11.0"; sha256 = "0wv26gq39hfqw9md32amr5771s73f5zn1z9vs4y77cgynxr73s4z"; })
(fetchNuGet { pname = "NuGet.Frameworks"; version = "6.5.0"; sha256 = "0s37d1p4md0k6d4cy6sq36f2dgkd9qfbzapxhkvi8awwh0vrynhj"; })
(fetchNuGet { pname = "OpenTelemetry"; version = "1.8.0-rc.1"; sha256 = "0scpylqwqmp7lpmixci88v6zf7jzf3zrcbrhl30bd4p7r4alw2lp"; })
(fetchNuGet { pname = "OpenTelemetry.Api"; version = "1.7.0"; sha256 = "099yivazj5078076xydssf38r71c5nk3n7hy0lr51p80gln1vdha"; })
(fetchNuGet { pname = "OpenTelemetry.Api"; version = "1.8.0-rc.1"; sha256 = "0rnl9pkwbz2srkss3ay05jjrfkyzibxa6vx0hg7rzfpyjinhaycs"; })
(fetchNuGet { pname = "OpenTelemetry.Api.ProviderBuilderExtensions"; version = "1.7.0"; sha256 = "1j7bxhpwpcrjr4am7s4mavjjpasikv4kp8glmxiw5x9zvc0x0ix7"; })
(fetchNuGet { pname = "OpenTelemetry.Api.ProviderBuilderExtensions"; version = "1.8.0-rc.1"; sha256 = "18r7m4zjimkkwjqw8hd9xa85lnj1fy45xyd338fbpp9nm73j9r2g"; })
(fetchNuGet { pname = "OpenTelemetry.Exporter.Prometheus.AspNetCore"; version = "1.8.0-rc.1"; sha256 = "0fiz7qpzn64by4dlc5r9ha2qrp1j9w9lm6c7bzpvshzwz8ifamv7"; })
(fetchNuGet { pname = "OpenTelemetry.Extensions.Hosting"; version = "1.8.0-rc.1"; sha256 = "0p5sybp1b8fkccibhlmjlvdnhryscqh9f435c34bwp6vvllxf17z"; })
(fetchNuGet { pname = "OpenTelemetry.Instrumentation.AspNetCore"; version = "1.7.1"; sha256 = "19r12csxwdrvl5yx88mv68rzj2cy43004pwldy6q89v42sr01kyi"; })
(fetchNuGet { pname = "OpenTelemetry.Instrumentation.Http"; version = "1.7.1"; sha256 = "0mvrcz2mg3caf4lcwi1ai7i7ldb27p4y2qx9vckfjal203bps352"; })
(fetchNuGet { pname = "OpenTelemetry.Instrumentation.Runtime"; version = "1.7.0"; sha256 = "0klyd24akymj2hpjlnzmz7x9kggj4amhaqx1zh9nxjvlmmy64gxy"; })
(fetchNuGet { pname = "OpenTelemetry"; version = "1.7.0-rc.1"; sha256 = "0y16qp3xrypk48f27pfvccic47p9wpl4qx8mar4rf2b78ca21c9p"; })
(fetchNuGet { pname = "OpenTelemetry"; version = "1.8.1"; sha256 = "1slyjdzbiv179sq91bq6bhbqw20jmk6j9x1g5fhvnqsymfqmnmq2"; })
(fetchNuGet { pname = "OpenTelemetry.Api"; version = "1.7.0-rc.1"; sha256 = "1i09vjjrimg0bwraamsjdqx886apscwj72skds3ysvc9c7n0hpl2"; })
(fetchNuGet { pname = "OpenTelemetry.Api"; version = "1.8.0"; sha256 = "0s402mz4gz1chlg29159awawpi6ms4ln5gdds01y38wx6cia6lb9"; })
(fetchNuGet { pname = "OpenTelemetry.Api"; version = "1.8.1"; sha256 = "0c2dvnnnizn5g50js336lkgfxh6klcdb0h8pppf68v3liwlhxly5"; })
(fetchNuGet { pname = "OpenTelemetry.Api.ProviderBuilderExtensions"; version = "1.7.0-rc.1"; sha256 = "1ayy2q9cg6482ahvz3cx7a3cikjrnmr5kr7yk9qnbbwy0wfmb6gw"; })
(fetchNuGet { pname = "OpenTelemetry.Api.ProviderBuilderExtensions"; version = "1.8.0"; sha256 = "1vhl02w068ynhpak0pyjn2xmrnisl9m73lmsckwkncrhinplw7hz"; })
(fetchNuGet { pname = "OpenTelemetry.Api.ProviderBuilderExtensions"; version = "1.8.1"; sha256 = "0lys1l0qsna2h82j2rbxi5fc8barrq43fs0lradr85r7sy3x91cg"; })
(fetchNuGet { pname = "OpenTelemetry.Exporter.Prometheus.AspNetCore"; version = "1.7.0-rc.1"; sha256 = "1777nbj78yppmqmwvv0bsl4l0vp8lfc5fpsdmknf6wl354f0z1f8"; })
(fetchNuGet { pname = "OpenTelemetry.Extensions.Hosting"; version = "1.8.1"; sha256 = "01vi9sqb2j25i6926c581w067nadf4q4hs0hkwjg8wpzhxz0n3xq"; })
(fetchNuGet { pname = "OpenTelemetry.Instrumentation.AspNetCore"; version = "1.8.1"; sha256 = "0s5kxqjhmwm2p2sblmmsavvmknqb8yr0b07ngq8hk0w8b48kyc0h"; })
(fetchNuGet { pname = "OpenTelemetry.Instrumentation.Http"; version = "1.8.1"; sha256 = "0p3mw08vi9ljf06239n8b1hfj0cqqb198qn89sf39mdjsy13ca95"; })
(fetchNuGet { pname = "OpenTelemetry.Instrumentation.Runtime"; version = "1.8.1"; sha256 = "0j2i01378848nvib1krk948lp74x8ykgspka05g37a3s284p1nyd"; })
(fetchNuGet { pname = "protobuf-net"; version = "3.2.30"; sha256 = "08bjdn8dbqpzn5c9fw89y5766irwplgyzhyxcrjzpywkwpj75r4i"; })
(fetchNuGet { pname = "protobuf-net.Core"; version = "3.2.30"; sha256 = "01mgw4s0b2vxf55v6fa3n5l9jwk6bkl60aaqv7azl198wwslkjhq"; })
(fetchNuGet { pname = "SteamKit2"; version = "3.0.0-alpha.1"; sha256 = "01lrbkbpfqdkhba9hsfg9fqyh1sa9r2cp54r2wlb83zfr3f5q8l8"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "6.5.0"; sha256 = "0k61chpz5j59s1yax28vx0mppx20ff8vg8grwja112hfrzj1f45n"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.Annotations"; version = "6.5.0"; sha256 = "00n8s45xwbayj3p6x3awvs87vqvmzypny21nqc61m7a38d1asijv"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "6.5.0"; sha256 = "1s6axf6fin8sss3bvzp0s039rxrx71vx4rl559miw12bz3lld8kc"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "6.5.0"; sha256 = "0hq93gy5vyrigpdk9lhqwxglxwkbxa8ydllwcqs4bwfcsspzrs83"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "6.5.0"; sha256 = "17hx7kc187higm0gk67dndng3n7932sn3fwyj48l45cvyr3025h7"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "6.6.2"; sha256 = "0lq774iggpvsmykbrplvv2a5z2ylsslv5wynmvpnlznd4lvgxb4h"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.Annotations"; version = "6.6.2"; sha256 = "1snz71ws87kr8pz4c3zcla51mqbly015ib6b0y20xvkj25qx7gl8"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "6.6.2"; sha256 = "0j93y0krn5fzvji0k7g4cxi22b7j8n3brxw4698pjq2pqqf2d8qy"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "6.6.2"; sha256 = "00lar7246mncidflm15xz5b9hpni9bf8wj37dc0l2sj3hhv9nvwj"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "6.6.2"; sha256 = "0w0h2cs8n5avczzm5plzmkvkc6xn0pj425f4400fk21h8ysvhg8h"; })
(fetchNuGet { pname = "System.Collections.Immutable"; version = "1.7.1"; sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq"; })
(fetchNuGet { pname = "System.Collections.Immutable"; version = "7.0.0"; sha256 = "1n9122cy6v3qhsisc9lzwa1m1j62b8pi2678nsmnlyvfpk0zdagm"; })
(fetchNuGet { pname = "System.Composition"; version = "8.0.0"; sha256 = "0y7rp5qwwvh430nr0r15zljw01gny8yvr0gg6w5cmsk3q7q7a3dc"; })
@@ -141,5 +151,4 @@
(fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "8.0.0"; sha256 = "1ysjx3b5ips41s32zacf4vs7ig41906mxrsbmykdzi0hvdmjkgbx"; })
(fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; })
(fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "8.0.0"; sha256 = "1lgdd78cik4qyvp2fggaa0kzxasw6kc9a6cjqw46siagrm0qnc3y"; })
(fetchNuGet { pname = "zxcvbn-core"; version = "7.0.92"; sha256 = "1pbi0n3za8zsnkbvq19njy4h4hy12a6rv4rknf4a2m1kdhxb3cgx"; })
]
@@ -2,7 +2,7 @@
buildNpmPackage rec {
pname = "asf-ui";
version = "f70253c96e76fff5c5537c7be57a57de4e273eb8";
version = "78188871dfce90fb04096e9fd0b6ce2411312dae";
src = fetchFromGitHub {
owner = "JustArchiNET";
@@ -10,10 +10,10 @@ buildNpmPackage rec {
# updated by the update script
# this is always the commit that should be used with asf-ui from the latest asf version
rev = version;
hash = "sha256-hw6M8O486vnWqdO4DqljOoGEevykpxhez3QL745VfIk=";
hash = "sha256-NBxN3pQFiDsRYp2Ro0WwWdGzKVjPTKx4/xWQrMNuv0M=";
};
npmDepsHash = "sha256-GpGVM9c5yaLHi77qpShm30/uObg1TdLFCIhmFvLEhaU=";
npmDepsHash = "sha256-9pLbSOMfKwkWtzmKNmeKNrgdtzh3riWWJlrbuoDRUrw=";
installPhase = ''
runHook preInstall
@@ -118,7 +118,7 @@ mkDerivation rec {
homepage = "https://www.google.com/earth/";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ friedelino shamilton ];
maintainers = with maintainers; [ shamilton ];
platforms = platforms.linux;
knownVulnerabilities = [ "Includes vulnerable versions of bundled libraries: openssl, ffmpeg, gdal, and proj." ];
};
@@ -39,7 +39,6 @@ stdenv.mkDerivation {
homepage = "http://wili.cc/blog/gpu-burn.html";
description = "Multi-GPU CUDA stress test";
platforms = platforms.linux;
maintainers = with maintainers; [ elohmeier ];
license = licenses.bsd2;
mainProgram = "gpu_burn";
};
+2 -2
View File
@@ -18,13 +18,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "gpxsee";
version = "13.21";
version = "13.22";
src = fetchFromGitHub {
owner = "tumic0";
repo = "GPXSee";
rev = finalAttrs.version;
hash = "sha256-rg4czTni8toAwzppgNdi/lfUDudKkEqZUZziiIiyJm0=";
hash = "sha256-5YoFO1NHduV8qKZ8GPaFnKfRQRlhlG5swZo74SfOpZY=";
};
buildInputs = [
@@ -13,7 +13,7 @@
}:
stdenv.mkDerivation rec {
name = "holochain-launcher";
pname = "holochain-launcher";
version = "0.11.5";
prerelease = "beta-2";
+1 -1
View File
@@ -675,7 +675,7 @@ dependencies = [
[[package]]
name = "missioncenter"
version = "0.5.1"
version = "0.5.2"
dependencies = [
"dbus",
"errno-sys",
@@ -1,38 +1,39 @@
{ lib
, stdenv
, fetchFromGitLab
, fetchFromGitHub
, cargo
, libxml2
, meson
, ninja
, pkg-config
, python311
, rustPlatform
, symlinkJoin
, rustc
, wrapGAppsHook4
, appstream-glib
, blueprint-compiler
, cairo
, cmake
, dbus
, desktop-file-utils
, gdk-pixbuf
, gettext
, glib
, graphene
, gtk4
, libGL
, libadwaita
, libdrm
, mesa
, pango
, sqlite
, udev
, wayland
, dmidecode
, vulkan-loader
{
lib,
stdenv,
fetchFromGitLab,
fetchFromGitHub,
cargo,
libxml2,
meson,
ninja,
pkg-config,
python311,
rustPlatform,
symlinkJoin,
rustc,
wrapGAppsHook4,
appstream-glib,
blueprint-compiler,
cairo,
cmake,
dbus,
desktop-file-utils,
gdk-pixbuf,
gettext,
glib,
graphene,
gtk4,
libGL,
libadwaita,
libdrm,
mesa,
pango,
sqlite,
udev,
wayland,
dmidecode,
vulkan-loader,
}:
let
@@ -45,28 +46,23 @@ let
in
stdenv.mkDerivation rec {
pname = "mission-center";
version = "0.5.1";
version = "0.5.2";
src = fetchFromGitLab {
owner = "mission-center-devs";
repo = "mission-center";
rev = "v${version}";
hash = "sha256-I/UkHXDGbKiOcn7R0nQVKcgdvyV4ycgQGNoHA6QMAnw=";
hash = "sha256-84D+CttolY5hleCJbDiN3mlk0+nlwwJUJhGoKGVT/lw=";
};
cargoDeps = symlinkJoin {
name = "cargo-vendor-dir";
paths = [
(rustPlatform.importCargoLock {
lockFile = ./Cargo.lock;
})
(rustPlatform.importCargoLock {
lockFile = ./gatherer-Cargo.lock;
})
(rustPlatform.importCargoLock { lockFile = ./Cargo.lock; })
(rustPlatform.importCargoLock { lockFile = ./gatherer-Cargo.lock; })
];
};
nativeBuildInputs = [
blueprint-compiler
cargo
@@ -139,6 +135,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Monitor your CPU, Memory, Disk, Network and GPU usage";
homepage = "https://gitlab.com/mission-center-devs/mission-center";
changelog = "https://gitlab.com/mission-center-devs/mission-center/-/releases/v${version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ GaetanLepage ];
platforms = lib.platforms.linux;
+1 -1
View File
@@ -383,7 +383,7 @@ dependencies = [
[[package]]
name = "gatherer"
version = "0.5.1"
version = "0.5.2"
dependencies = [
"anyhow",
"arrayvec",
+2 -2
View File
@@ -16,12 +16,12 @@ let
in
stdenv.mkDerivation rec {
pname = "mkgmap";
version = "4919";
version = "4921";
src = fetchsvn {
url = "https://svn.mkgmap.org.uk/mkgmap/mkgmap/trunk";
rev = version;
sha256 = "sha256-WMFZEGTXVAaBlEKUqclmkw3pKnWSdbvulDvSi7TQn8k=";
sha256 = "sha256-s7EKHXh3UNMDzBmWUTZaLR1P21e27cWJNYRlFcpJu50=";
};
patches = [
@@ -17,7 +17,7 @@
}:
python3Packages.buildPythonApplication rec {
name = "polychromatic";
pname = "polychromatic";
version = "0.9.1";
format = "other";
+2 -2
View File
@@ -18,14 +18,14 @@
mkDerivation rec {
pname = "qcad";
version = "3.29.6.5";
version = "3.30.0.0";
src = fetchFromGitHub {
name = "qcad-${version}-src";
owner = "qcad";
repo = "qcad";
rev = "v${version}";
hash = "sha256-2x3np1cmjJ/IN/vSqKX6mTQbtFROxPzhXPjeJ6mxe9k=";
hash = "sha256-KpY/GjagRx0XkH18dDJcf6JfkT/0V8ZHJ5DHtAEUaF4=";
};
patches = [
+2 -2
View File
@@ -18,11 +18,11 @@ with python3.pkgs;
buildPythonApplication rec {
pname = "safeeyes";
version = "2.1.6";
version = "2.1.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-tvsBTf6+zKBzB5aL+LUcEvE4jmVHnnoY0L4xoKMJ0vM=";
hash = "sha256-65U/j6P6X4JzhL0aEOnzKa/Al6SYprOOxix2dtcusJQ=";
};
postPatch = ''
@@ -27,11 +27,11 @@
version = "2024-05-13";
};
ungoogled-patches = {
hash = "sha256-2Yt91vWR5SYLBTO+PIEgFswkvwxJsNpKidOwxUBgLeg=";
rev = "126.0.6478.55-1";
hash = "sha256-vQrUQMmNSw+b9nPzP1RmkncQHasmZvnxNHjfiPoMUXo=";
rev = "126.0.6478.61-1";
};
};
hash = "sha256-nXRzISkU37TIgV8rjO0qgnhq8uM37M6IpMoGHdsOGIM=";
version = "126.0.6478.55";
hash = "sha256-cB2jrasrtaFWM8tpG9leuC+jUAvoU8g5977cn4r7rbw=";
version = "126.0.6478.61";
};
}
@@ -7,7 +7,7 @@
((buildMozillaMach rec {
pname = "floorp";
packageVersion = "11.13.3";
packageVersion = "11.14.1";
applicationName = "Floorp";
binaryName = "floorp";
branding = "browser/branding/official";
@@ -15,14 +15,14 @@
allowAddonSideload = true;
# Must match the contents of `browser/config/version.txt` in the source tree
version = "115.12.0";
version = "115.13.0";
src = fetchFromGitHub {
owner = "Floorp-Projects";
repo = "Floorp";
fetchSubmodules = true;
rev = "v${packageVersion}";
hash = "sha256-9EDTVckSqv/nyDi4qjMd54I69WiqM8v6om7zQLT+pQc=";
hash = "sha256-PhI+hIypPF6W5RJIXhCAXblSJNwgYavfCgdQozDSXG0=";
};
extraConfigureFlags = [
@@ -31,6 +31,13 @@
"--with-unsigned-addon-scopes=app,system"
];
extraPostPatch = ''
# Fix .desktop files for PWAs generated by Floorp; they hardcode /usr/bin
# https://github.com/NixOS/nixpkgs/issues/314115
substituteInPlace floorp/browser/base/content/modules/ssb/LinuxSupport.mjs \
--replace-fail /usr/bin/floorp floorp
'';
updateScript = ./update.sh;
meta = {
@@ -1,20 +1,20 @@
{
beta = import ./browser.nix {
channel = "beta";
version = "126.0.2592.36";
version = "126.0.2592.53";
revision = "1";
hash = "sha256-u9gcTjener35uKt99T27+LK0A4SYNdWCW5FSHWEnaNA=";
hash = "sha256-d1zqZUhk5C/jrdZngQQlGplrSssE/LUR3/AybStNavE=";
};
dev = import ./browser.nix {
channel = "dev";
version = "127.0.2620.3";
version = "127.0.2638.2";
revision = "1";
hash = "sha256-x5reGA7XZTN3FsCHf7oXstltCDSVANR8VegIuO201qs=";
hash = "sha256-Bv0X30ilcNBI9pblnrO1QA7ElTPMO5/JmIZIjhldO7Y=";
};
stable = import ./browser.nix {
channel = "stable";
version = "125.0.2535.85";
version = "125.0.2535.92";
revision = "1";
hash = "sha256-4GD/1jAw+nIwI5AOwrkuPNF5zAnnzje9oEQnaHOapPg=";
hash = "sha256-DuVz6+BzGTWZJ4smizIK2dV1OTmv0uTIQpD+yclHDN8=";
};
}
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "argo-rollouts";
version = "1.6.0";
version = "1.7.0";
src = fetchFromGitHub {
owner = "argoproj";
repo = "argo-rollouts";
rev = "v${version}";
sha256 = "sha256-WJ5vIfQQguwjInS5p+bUYorM90MUAbH8endV/nkgQ00=";
sha256 = "sha256-b1oaLVwom06XUCjMF3/O/SdLt2s0MFuF+et6+MO2jBQ=";
};
vendorHash = "sha256-vBSS1KMfloK5pvVc8nHE5B8PsVZTS/iA9GyrLaeR6ps=";
vendorHash = "sha256-38BLPNc6en70+UxlldmrwtRTMRLh/fCPL6FtuA2ODGM=";
# Disable tests since some test fail because of missing test data
doCheck = false;
@@ -34,16 +34,16 @@ let
in
buildGoModule rec {
pname = "argo";
version = "3.5.7";
version = "3.5.8";
src = fetchFromGitHub {
owner = "argoproj";
repo = "argo";
rev = "refs/tags/v${version}";
hash = "sha256-OJkC+uqOuXA6NBpVxmQAFs+N99d4Zonh9dcZnuB26Ts=";
hash = "sha256-BYUP/Gu+N8KK9mfjRAXupXqrwfZMZlYPxxuZCmUDFfE=";
};
vendorHash = "sha256-O7Lv5RLcqB4JbdXHKXFWkg/dvids8QH619urpeACuN8=";
vendorHash = "sha256-pVOTeH6fq4Gqarjvi7w2wYJ3FSqV6yNZERmOmbVGxLM=";
doCheck = false;
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "cni";
version = "1.2.0";
version = "1.2.1";
src = fetchFromGitHub {
owner = "containernetworking";
repo = pname;
rev = "v${version}";
hash = "sha256-32rmfBjPtc9w+B8PIb8sFOIlzZ7PnS6XSZRNLreMVl4=";
hash = "sha256-aS7THDTpfNQPw+70ZgFzvurpq/vMKE6xSxJ19ERbtOA=";
};
vendorHash = "sha256-JWaQacekMQGT710U5UgiIpmEYgyUCh1uks5eSV5nhWc=";
vendorHash = "sha256-5VsJ3Osm9w09t3x0dItC2iWwbPMf/IIBOSqUfcbQKK4=";
subPackages = [
"./cnitool"
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "cni-plugins";
version = "1.5.0";
version = "1.5.1";
src = fetchFromGitHub {
owner = "containernetworking";
repo = "plugins";
rev = "v${version}";
hash = "sha256-gJp1w2H+hPSSu1Y4BY9Sa8lLnhpiZJu2Dz9OenYlQFo=";
hash = "sha256-Veuv7DwwnSUnz2p5gemqQB9pr05nLLQ6gG4JvqFbZ/U=";
};
vendorHash = null;
@@ -1,35 +0,0 @@
{ lib, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
pname = "kontemplate";
version = "1.8.0";
goPackagePath = "github.com/tazjin/kontemplate";
goDeps = ./deps.nix;
src = fetchFromGitHub {
owner = "tazjin";
repo = "kontemplate";
rev = "v${version}";
sha256 = "123mjmmm4hynraq1fpn3j5i0a1i87l265kkjraxxxbl0zacv74i1";
};
meta = with lib; {
description = "Extremely simple Kubernetes resource templates";
mainProgram = "kontemplate";
homepage = "http://kontemplate.works";
downloadPage = "https://github.com/tazjin/kontemplate/releases";
license = licenses.gpl3;
maintainers = with maintainers; [ mbode tazjin ];
platforms = platforms.unix;
longDescription = ''
Kontemplate is a simple CLI tool that can take sets of
Kubernetes resource files with placeholders and insert values
per environment.
It can be used as a simple way of deploying the same set of
resources to different Kubernetes contexts with context-specific
configuration.
'';
};
}
-111
View File
@@ -1,111 +0,0 @@
# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
[
{
goPackagePath = "github.com/Masterminds/goutils";
fetch = {
type = "git";
url = "https://github.com/Masterminds/goutils";
rev = "41ac8693c5c10a92ea1ff5ac3a7f95646f6123b0";
sha256 = "180px47gj936qyk5bkv5mbbgiil9abdjq6kwkf7sq70vyi9mcfiq";
};
}
{
goPackagePath = "github.com/Masterminds/semver";
fetch = {
type = "git";
url = "https://github.com/Masterminds/semver";
rev = "5bc3b9184d48f1412b300b87a200cf020d9254cf";
sha256 = "1vdfm653v50jf63cw0kg2hslx50cn4mk6lj3p51bi11jrg48kfng";
};
}
{
goPackagePath = "github.com/Masterminds/sprig";
fetch = {
type = "git";
url = "https://github.com/Masterminds/sprig";
rev = "6f509977777c33eae63b2136d97f7b976cb971cc";
sha256 = "05h9k6fhjxnpwlihj3z02q9kvqvnq53jix0ab84sx0666bci3cdh";
};
}
{
goPackagePath = "github.com/alecthomas/template";
fetch = {
type = "git";
url = "https://github.com/alecthomas/template";
rev = "fb15b899a75114aa79cc930e33c46b577cc664b1";
sha256 = "1vlasv4dgycydh5wx6jdcvz40zdv90zz1h7836z7lhsi2ymvii26";
};
}
{
goPackagePath = "github.com/alecthomas/units";
fetch = {
type = "git";
url = "https://github.com/alecthomas/units";
rev = "c3de453c63f4bdb4dadffab9805ec00426c505f7";
sha256 = "0js37zlgv37y61j4a2d46jh72xm5kxmpaiw0ya9v944bjpc386my";
};
}
{
goPackagePath = "github.com/ghodss/yaml";
fetch = {
type = "git";
url = "https://github.com/ghodss/yaml";
rev = "25d852aebe32c875e9c044af3eef9c7dc6bc777f";
sha256 = "1w9yq0bxzygc4qwkwwiy7k1k1yviaspcqqv18255k2xkjv5ipccz";
};
}
{
goPackagePath = "github.com/google/uuid";
fetch = {
type = "git";
url = "https://github.com/google/uuid";
rev = "c2e93f3ae59f2904160ceaab466009f965df46d6";
sha256 = "0zw8fvl6jqg0fmv6kmvhss0g4gkrbvgyvl2zgy5wdbdlgp4fja0h";
};
}
{
goPackagePath = "github.com/huandu/xstrings";
fetch = {
type = "git";
url = "https://github.com/huandu/xstrings";
rev = "8bbcf2f9ccb55755e748b7644164cd4bdce94c1d";
sha256 = "1ivvc95514z63k7cpz71l0dwlanffmsh1pijhaqmp41kfiby8rsx";
};
}
{
goPackagePath = "github.com/imdario/mergo";
fetch = {
type = "git";
url = "https://github.com/imdario/mergo";
rev = "4c317f2286be3bd0c4f1a0e622edc6398ec4656d";
sha256 = "0bihha1qsgfjk14yv1hwddv3d8dzxpbjlaxwwyys6lhgxz1cr9h9";
};
}
{
goPackagePath = "golang.org/x/crypto";
fetch = {
type = "git";
url = "https://go.googlesource.com/crypto";
rev = "9756ffdc24725223350eb3266ffb92590d28f278";
sha256 = "0q7hxaaq6lp0v8qqzifvysl47z5rfdlrxkh3d29vsl3wyby3dxl8";
};
}
{
goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
fetch = {
type = "git";
url = "https://gopkg.in/alecthomas/kingpin.v2";
rev = "947dcec5ba9c011838740e680966fd7087a71d0d";
sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
};
}
{
goPackagePath = "gopkg.in/yaml.v2";
fetch = {
type = "git";
url = "https://gopkg.in/yaml.v2";
rev = "51d6538a90f86fe93ac480b35f37b2be17fef232";
sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
};
}
]
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kubeshark";
version = "52.3.62";
version = "52.3.68";
src = fetchFromGitHub {
owner = "kubeshark";
repo = "kubeshark";
rev = "v${version}";
hash = "sha256-mYFjs/6aO7tzopOZij9rNoOu2a/UUQqpDg16gCoeR8w=";
hash = "sha256-GDK+GR3MUYUgfY3cgaxWIYSE3uiEscp9DeeY36/zOYo=";
};
vendorHash = "sha256-0WRmAqslZj63m+kCFKIBgoRX47ZyRuU7ZihmF6wmZy4=";
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kyverno";
version = "1.12.3";
version = "1.12.4";
src = fetchFromGitHub {
owner = "kyverno";
repo = "kyverno";
rev = "v${version}";
hash = "sha256-vJ9HXpvkuZWOZtsoJhcpM0KGGiyd+D5HTQBHwb8l/II=";
hash = "sha256-TVtE1mdOai2G2+KCp9r5G+E9QhGQ5TmUFCN9x5EKM7o=";
};
ldflags = [
@@ -2,7 +2,7 @@
(callPackage ./generic.nix { }) {
channel = "edge";
version = "24.5.5";
sha256 = "0lgpqx672ics998830y8qklchdmbj272xfbs5r414hqlznbbi8w1";
vendorHash = "sha256-PV0HbsIcO6FjdczCWJgR6X5THUREDht2R4NJ7HxkBNw=";
version = "24.6.2";
sha256 = "0qghp8v4lz51yv5j5k8dps4qv58hjdjdc3jzrrq3g239x8b2h6ys";
vendorHash = "sha256-7Q6V9DKROkSTxU7n511aOpaMDRfhP88p6PJ89Sr6kOQ=";
}
@@ -5,7 +5,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "flexget";
version = "3.11.36";
version = "3.11.37";
pyproject = true;
# Fetch from GitHub in order to use `requirements.in`
@@ -13,7 +13,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "Flexget";
repo = "Flexget";
rev = "refs/tags/v${version}";
hash = "sha256-6WZALdKORsa0wahPKgkpzjlktJQxnbiiJLXGv3E9MXM=";
hash = "sha256-bZd/iLEGF5+Zt4kKAvUmjHiPKA1v1FWf5/BEcsLy9MU=";
};
postPatch = ''
@@ -176,10 +176,10 @@ stdenv.mkDerivation {
# Wrap feishu and vulcan
# Feishu is the main executable, vulcan is the builtin browser
for executable in $out/opt/bytedance/feishu/{feishu,vulcan/vulcan}; do
# FIXME: Add back NIXOS_OZONE_WL support once upstream fixes the crash on native Wayland (see #318035)
wrapProgram $executable \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
--prefix LD_LIBRARY_PATH : ${rpath}:$out/opt/bytedance/feishu:${addOpenGLRunpath.driverLink}/share \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
${lib.optionalString (commandLineArgs!="") "--add-flags ${lib.escapeShellArg commandLineArgs}"}
done
@@ -1,7 +1,7 @@
{ lib
, stdenv
, fetchurl
, electron_28
, electron
, makeWrapper
}:
@@ -52,7 +52,7 @@ stdenv.mkDerivation {
substituteInPlace $out/share/applications/Mattermost.desktop \
--replace /share/mattermost-desktop/mattermost-desktop /bin/mattermost-desktop
makeWrapper '${lib.getExe electron_28}' $out/bin/${pname} \
makeWrapper '${lib.getExe electron}' $out/bin/${pname} \
--set-default ELECTRON_IS_DEV 0 \
--add-flags $out/share/${pname}/app.asar \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
@@ -2,7 +2,7 @@
callPackage ./generic.nix { } rec {
pname = "signal-desktop-beta";
dir = "Signal Beta";
version = "7.12.0-beta.2";
version = "7.13.0-beta.1";
url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop-beta/signal-desktop-beta_${version}_amd64.deb";
hash = "sha256-Hpg9pkRXbwF5uKhLzn1cfHTzlYmsZd5tndtwVFcL7iU=";
hash = "sha256-DvYRvIA+rg4RKXbqWjWj7oFnfLboEiMeP7HgGYkRBDM=";
}
@@ -9,13 +9,13 @@
stdenv.mkDerivation {
pname = "tg_owt";
version = "0-unstable-2023-12-21";
version = "0-unstable-2024-06-15";
src = fetchFromGitHub {
owner = "desktop-app";
repo = "tg_owt";
rev = "afd9d5d31798d3eacf9ed6c30601e91d0f1e4d60";
sha256 = "sha256-/1cghoxmm+6uFEUgCjh1Xhb0CTnd1XAq1M21FruDRek=";
rev = "c9cc4390ab951f2cbc103ff783a11f398b27660b";
sha256 = "sha256-FfWmSYaeryTDbsGJT3R7YK1oiyJcrR7YKKBOF+9PmpY=";
fetchSubmodules = true;
};
@@ -5,11 +5,11 @@
appimageTools.wrapType2 rec {
pname = "tutanota-desktop";
version = "229.240517.0";
version = "230.240603.0";
src = fetchurl {
url = "https://github.com/tutao/tutanota/releases/download/tutanota-desktop-release-${version}/tutanota-desktop-linux.AppImage";
hash = "sha256-NVr9OOq5YdqvCkrtjTRIfWWquxJ/sN8MhSlw3RvZVFs=";
hash = "sha256-pgRqlaUbEDEAd4frooSloeiNEX02VESPhqIzRIuQshI=";
};
extraPkgs = pkgs: [ pkgs.libsecret ];
@@ -17,7 +17,6 @@
, nodejs
, yarn
, yarn2nix-moretea
, v8
, cacert
, redis
}:
@@ -83,7 +82,7 @@ let
};
mini_racer = attrs: {
buildFlags = [
"--with-v8-dir=\"${v8}\""
"--with-v8-dir=\"${nodejs.libv8}\""
];
dontBuild = false;
postPatch = ''
@@ -46,10 +46,7 @@ stdenv.mkDerivation (finalAttrs: {
patches = [
# fix build with openssl 3.0
(fetchurl {
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/net-p2p/transmission/files/transmission-3.00-openssl-3.patch";
hash = "sha256-peVrkGck8AfbC9uYNfv1CIu1alIewpca7A6kRXjVlVs=";
})
./transmission-3.00-openssl-3.patch
];
outputs = [ "out" "apparmor" ];
@@ -0,0 +1,37 @@
From 6ee128b95bacaff20746538dc97c2b8e2b9fcc29 Mon Sep 17 00:00:00 2001
From: Mike Gilbert <floppym@gentoo.org>
Date: Sun, 15 May 2022 10:54:38 -0400
Subject: [PATCH] openssl: load "legacy" provider for RC4
---
libtransmission/crypto-utils-openssl.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/libtransmission/crypto-utils-openssl.c b/libtransmission/crypto-utils-openssl.c
index 45fd71913..14d680654 100644
--- a/libtransmission/crypto-utils-openssl.c
+++ b/libtransmission/crypto-utils-openssl.c
@@ -20,6 +20,9 @@
#include <openssl/rand.h>
#include <openssl/ssl.h>
#include <openssl/x509.h>
+#if OPENSSL_VERSION_MAJOR >= 3
+#include <openssl/provider.h>
+#endif
#include "transmission.h"
#include "crypto-utils.h"
@@ -184,6 +187,10 @@ static void openssl_evp_cipher_context_free(EVP_CIPHER_CTX* handle)
tr_rc4_ctx_t tr_rc4_new(void)
{
+#if OPENSSL_VERSION_MAJOR >= 3
+ OSSL_PROVIDER_load(NULL, "default");
+ OSSL_PROVIDER_load(NULL, "legacy");
+#endif
EVP_CIPHER_CTX* handle = EVP_CIPHER_CTX_new();
if (check_result(EVP_CipherInit_ex(handle, EVP_rc4(), NULL, NULL, NULL, -1)))
--
2.35.1

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