Merge remote-tracking branch 'origin/staging-next' into staging
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
writeShellScriptBin,
|
||||
nixpkgs ? { },
|
||||
markdown-code-runner,
|
||||
roboto,
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (
|
||||
@@ -98,6 +99,8 @@ stdenvNoCC.mkDerivation (
|
||||
mv out "$dest"
|
||||
mv "$dest/index.html" "$dest/manual.html"
|
||||
|
||||
cp ${roboto.src}/web/Roboto\[ital\,wdth\,wght\].ttf "$dest/Roboto.ttf"
|
||||
|
||||
cp ${epub} "$dest/nixpkgs-manual.epub"
|
||||
|
||||
mkdir -p $out/nix-support/
|
||||
|
||||
@@ -209,6 +209,8 @@
|
||||
|
||||
- `pnpm` was updated to version 10. If your project is incompatible, you can install the previous version from the package attribute `pnpm_9`.
|
||||
|
||||
- `dwarf-fortress-packages` now only contains one minor version for each major version since version 0.44. Saves should still be compatible, but you may have to change which minor version you were using if it was one other than the newest.
|
||||
|
||||
- `zig_0_9` and `zig_0_10` have been removed, you should upgrade to `zig_0_13` (also available as just `zig`), `zig_0_12` or `zig_0_11` instead.
|
||||
|
||||
- `webpack-cli` was updated to major version 6, which has breaking changes from the previous version 5.1.4. See the [upstream release notes](https://github.com/webpack/webpack-cli/releases/tag/webpack-cli%406.0.0) for details on these changes.
|
||||
@@ -349,6 +351,8 @@
|
||||
- Many androidenv packages are now searchable on [search.nixos.org](https://search.nixos.org).
|
||||
- We now use the latest Google repositories, which should improve aarch64-darwin compatibility. The SDK now additionally evaluates on aarch64-linux, though not all packages are functional.
|
||||
|
||||
- `dwarf-fortress` audio now works again. Additionally, the `dfhack` and `dwarf-fortress-full` packages are now exposed at toplevel, making it easier to install and play Dwarf Fortress. Note that `dwarf-fortress-full` is the Nixpkgs equivalent of the Dwarf Fortress Lazy Pack.
|
||||
|
||||
- `gerbera` now has wavpack support.
|
||||
|
||||
- GOverlay has been updated to 1.2, please check the [upstream changelog](https://github.com/benjamimgois/goverlay/releases) for more details.
|
||||
|
||||
+108
-61
@@ -7,25 +7,29 @@ body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.book {
|
||||
.book,
|
||||
.appendix {
|
||||
margin: auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 768px) {
|
||||
.book {
|
||||
.book,
|
||||
.appendix {
|
||||
max-width: 46rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 992px) {
|
||||
.book {
|
||||
.book,
|
||||
.appendix {
|
||||
max-width: 60rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1200px) {
|
||||
.book {
|
||||
.book,
|
||||
.appendix {
|
||||
max-width: 73rem;
|
||||
}
|
||||
}
|
||||
@@ -113,10 +117,10 @@ html {
|
||||
|
||||
body {
|
||||
font-size: 1rem;
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-family: "Roboto", sans-serif;
|
||||
font-weight: 300;
|
||||
color: #000000;
|
||||
background-color: #ffffff;
|
||||
color: var(--main-text-color);
|
||||
background-color: var(--background);
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@@ -132,7 +136,7 @@ body {
|
||||
a {
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid;
|
||||
color: #405d99;
|
||||
color: var(--link-color);
|
||||
}
|
||||
|
||||
ul {
|
||||
@@ -163,7 +167,7 @@ h1 {
|
||||
line-height: 110%;
|
||||
font-size: 200%;
|
||||
margin-bottom: 1rem;
|
||||
color: #6586c8;
|
||||
color: var(--heading-color);
|
||||
}
|
||||
|
||||
h2 {
|
||||
@@ -171,7 +175,7 @@ h2 {
|
||||
line-height: 110%;
|
||||
font-size: 170%;
|
||||
margin-bottom: 0.625rem;
|
||||
color: #6586c8;
|
||||
color: var(--heading-color);
|
||||
}
|
||||
|
||||
h2:not(:first-child) {
|
||||
@@ -183,7 +187,7 @@ h3 {
|
||||
line-height: 110%;
|
||||
margin-bottom: 1rem;
|
||||
font-size: 150%;
|
||||
color: #6586c8;
|
||||
color: var(--heading-color);
|
||||
}
|
||||
|
||||
.note h3,
|
||||
@@ -199,7 +203,7 @@ h4 {
|
||||
line-height: 110%;
|
||||
margin-bottom: 1rem;
|
||||
font-size: 140%;
|
||||
color: #6586c8;
|
||||
color: var(--heading-color);
|
||||
}
|
||||
|
||||
h5 {
|
||||
@@ -207,14 +211,14 @@ h5 {
|
||||
line-height: 110%;
|
||||
margin-bottom: 1rem;
|
||||
font-size: 130%;
|
||||
color: #6a6a6a;
|
||||
color: var(--small-heading-color);
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-weight: 800;
|
||||
line-height: 110%;
|
||||
margin-bottom: 1rem;
|
||||
font-size: 120%
|
||||
font-size: 120%;
|
||||
}
|
||||
|
||||
strong {
|
||||
@@ -226,13 +230,13 @@ p {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
dt>*:first-child,
|
||||
dd>*:first-child {
|
||||
dt > *:first-child,
|
||||
dd > *:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
dt>*:last-child,
|
||||
dd>*:last-child {
|
||||
dt > *:last-child,
|
||||
dd > *:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@@ -256,8 +260,8 @@ div.appendix .programlisting {
|
||||
border-radius: 0.5rem;
|
||||
padding: 1rem;
|
||||
overflow: auto;
|
||||
background: #f2f8fd;
|
||||
color: #000000;
|
||||
background: var(--codeblock-background);
|
||||
color: var(--codeblock-text-color);
|
||||
}
|
||||
|
||||
div.book .note,
|
||||
@@ -277,47 +281,46 @@ div.appendix .important {
|
||||
background: #f4f4f4;
|
||||
}
|
||||
|
||||
div.book .note>.title,
|
||||
div.book .tip>.title,
|
||||
div.book .warning>.title,
|
||||
div.book .caution>.title,
|
||||
div.book .important>.title,
|
||||
div.appendix .note>.title,
|
||||
div.appendix .tip>.title,
|
||||
div.appendix .warning>.title,
|
||||
div.appendix .caution>.title,
|
||||
div.appendix .important>.title {
|
||||
div.book .note > .title,
|
||||
div.book .tip > .title,
|
||||
div.book .warning > .title,
|
||||
div.book .caution > .title,
|
||||
div.book .important > .title,
|
||||
div.appendix .note > .title,
|
||||
div.appendix .tip > .title,
|
||||
div.appendix .warning > .title,
|
||||
div.appendix .caution > .title,
|
||||
div.appendix .important > .title {
|
||||
font-weight: 800;
|
||||
/* font-family: 'Overpass', serif; */
|
||||
line-height: 110%;
|
||||
margin-bottom: 1rem;
|
||||
color: inherit;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
div.book .note> :first-child,
|
||||
div.book .tip> :first-child,
|
||||
div.book .warning> :first-child,
|
||||
div.book .caution> :first-child,
|
||||
div.book .important> :first-child,
|
||||
div.appendix .note> :first-child,
|
||||
div.appendix .tip> :first-child,
|
||||
div.appendix .warning> :first-child,
|
||||
div.appendix .caution> :first-child,
|
||||
div.appendix .important> :first-child {
|
||||
div.book .note > :first-child,
|
||||
div.book .tip > :first-child,
|
||||
div.book .warning > :first-child,
|
||||
div.book .caution > :first-child,
|
||||
div.book .important > :first-child,
|
||||
div.appendix .note > :first-child,
|
||||
div.appendix .tip > :first-child,
|
||||
div.appendix .warning > :first-child,
|
||||
div.appendix .caution > :first-child,
|
||||
div.appendix .important > :first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
div.book .note> :last-child,
|
||||
div.book .tip> :last-child,
|
||||
div.book .warning> :last-child,
|
||||
div.book .caution> :last-child,
|
||||
div.book .important> :last-child,
|
||||
div.appendix .note> :last-child,
|
||||
div.appendix .tip> :last-child,
|
||||
div.appendix .warning> :last-child,
|
||||
div.appendix .caution> :last-child,
|
||||
div.appendix .important> :last-child {
|
||||
div.book .note > :last-child,
|
||||
div.book .tip > :last-child,
|
||||
div.book .warning > :last-child,
|
||||
div.book .caution > :last-child,
|
||||
div.book .important > :last-child,
|
||||
div.appendix .note > :last-child,
|
||||
div.appendix .tip > :last-child,
|
||||
div.appendix .warning > :last-child,
|
||||
div.appendix .caution > :last-child,
|
||||
div.appendix .important > :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
@@ -325,16 +328,16 @@ div.book .note,
|
||||
div.book .tip,
|
||||
div.appendix .note,
|
||||
div.appendix .tip {
|
||||
color: #5277c3;
|
||||
background: #f2f8fd;
|
||||
color: var(--note-text-color);
|
||||
background: var(--note-background);
|
||||
}
|
||||
|
||||
div.book .warning,
|
||||
div.book .caution,
|
||||
div.appendix .warning,
|
||||
div.appendix .caution {
|
||||
color: #cc3900;
|
||||
background-color: #fff5e1;
|
||||
color: var(--warning-text-color);
|
||||
background-color: var(--warning-background);
|
||||
}
|
||||
|
||||
div.book .section,
|
||||
@@ -358,8 +361,8 @@ div.appendix div.example details[open] {
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
div.book div.example details>summary,
|
||||
div.appendix div.example details>summary {
|
||||
div.book div.example details > summary,
|
||||
div.appendix div.example details > summary {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@@ -368,13 +371,13 @@ div.appendix br.example-break {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.book div.footnotes>hr,
|
||||
div.appendix div.footnotes>hr {
|
||||
div.book div.footnotes > hr,
|
||||
div.appendix div.footnotes > hr {
|
||||
border-color: #d8d8d8;
|
||||
}
|
||||
|
||||
div.book div.footnotes>br,
|
||||
div.appendix div.footnotes>br {
|
||||
div.book div.footnotes > br,
|
||||
div.appendix div.footnotes > br {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@@ -444,3 +447,47 @@ div.appendix .variablelist .term {
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
}
|
||||
|
||||
:root {
|
||||
--background: #fff;
|
||||
--main-text-color: #000;
|
||||
--link-color: #405d99;
|
||||
--heading-color: #6586c8;
|
||||
--small-heading-color: #6a6a6a;
|
||||
--note-text-color: #5277c3;
|
||||
--note-background: #f2f8fd;
|
||||
--warning-text-color: #cc3900;
|
||||
--warning-background: #fff5e1;
|
||||
--codeblock-background: #f2f8fd;
|
||||
--codeblock-text-color: #000;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--background: #242424;
|
||||
--main-text-color: #fff;
|
||||
--link-color: #6586c8;
|
||||
--small-heading-color: #fff;
|
||||
--note-background: none;
|
||||
--warning-background: none;
|
||||
--codeblock-background: #393939;
|
||||
--codeblock-text-color: #fff;
|
||||
}
|
||||
|
||||
div.book .note,
|
||||
div.book .tip,
|
||||
div.appendix .note,
|
||||
div.appendix .tip,
|
||||
div.book .warning,
|
||||
div.book .caution,
|
||||
div.appendix .warning,
|
||||
div.appendix .caution {
|
||||
border: 2px solid;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Roboto;
|
||||
src: url(Roboto.ttf);
|
||||
}
|
||||
|
||||
+6
-4
@@ -30,6 +30,7 @@ let
|
||||
inherit (lib.attrsets)
|
||||
attrByPath
|
||||
optionalAttrs
|
||||
showAttrPath
|
||||
;
|
||||
inherit (lib.strings)
|
||||
concatMapStrings
|
||||
@@ -40,6 +41,7 @@ let
|
||||
;
|
||||
inherit (lib.lists)
|
||||
last
|
||||
toList
|
||||
;
|
||||
prioritySuggestion = ''
|
||||
Use `lib.mkForce value` or `lib.mkDefault value` to change the priority on any of these definitions.
|
||||
@@ -310,14 +312,14 @@ rec {
|
||||
}:
|
||||
let
|
||||
name' = if isList name then last name else name;
|
||||
default' = if isList default then default else [ default ];
|
||||
defaultText = concatStringsSep "." default';
|
||||
default' = toList default;
|
||||
defaultText = showAttrPath default';
|
||||
defaultValue = attrByPath default' (throw "${defaultText} cannot be found in ${pkgsText}") pkgs;
|
||||
defaults =
|
||||
if default != null then
|
||||
{
|
||||
default = defaultValue;
|
||||
defaultText = literalExpression ("${pkgsText}." + defaultText);
|
||||
defaultText = literalExpression "${pkgsText}.${defaultText}";
|
||||
}
|
||||
else
|
||||
optionalAttrs nullable {
|
||||
@@ -333,7 +335,7 @@ rec {
|
||||
}
|
||||
// optionalAttrs (example != null) {
|
||||
example = literalExpression (
|
||||
if isList example then "${pkgsText}." + concatStringsSep "." example else example
|
||||
if isList example then "${pkgsText}.${showAttrPath example}" else example
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
@@ -165,7 +165,7 @@ let
|
||||
# This is a workaround for https://github.com/NixOS/nix/issues/12361 which
|
||||
# was needed during the experimental phase of ca-derivations and should be
|
||||
# removed once the issue has been resolved.
|
||||
|| match "[0-9a-z]{52}" (head components) != null;
|
||||
|| components != [ ] && match "[0-9a-z]{52}" (head components) != null;
|
||||
|
||||
in
|
||||
# No rec! Add dependencies on this file at the top.
|
||||
|
||||
@@ -110,6 +110,12 @@ let
|
||||
expected = false;
|
||||
};
|
||||
|
||||
# Root path (empty path components list)
|
||||
testHasStorePathPrefixRoot = {
|
||||
expr = hasStorePathPrefix /.;
|
||||
expected = false;
|
||||
};
|
||||
|
||||
testHasStorePathPrefixExample1 = {
|
||||
expr = hasStorePathPrefix (storeDirPath + "/nvl9ic0pj1fpyln3zaqrf4cclbqdfn1j-foo/bar/baz");
|
||||
expected = true;
|
||||
|
||||
+5
-1
@@ -998,7 +998,11 @@ rec {
|
||||
|
||||
:::
|
||||
*/
|
||||
escapeC = list: replaceStrings list (map (c: "\\x${toLower (lib.toHexString (charToInt c))}") list);
|
||||
escapeC =
|
||||
list:
|
||||
replaceStrings list (
|
||||
map (c: "\\x${fixedWidthString 2 "0" (toLower (lib.toHexString (charToInt c)))}") list
|
||||
);
|
||||
|
||||
/**
|
||||
Escape the `string` so it can be safely placed inside a URL
|
||||
|
||||
+2
-2
@@ -851,8 +851,8 @@ runTests {
|
||||
};
|
||||
|
||||
testEscapeC = {
|
||||
expr = strings.escapeC [ " " ] "Hello World";
|
||||
expected = "Hello\\x20World";
|
||||
expr = strings.escapeC [ "\n" " " ] "Hello World\n";
|
||||
expected = "Hello\\x20World\\x0a";
|
||||
};
|
||||
|
||||
testEscapeURL = testAllTrue [
|
||||
|
||||
+13
-1
@@ -315,14 +315,26 @@ checkConfigOutput '^false$' config.enableAlias ./alias-with-priority-can-overrid
|
||||
checkConfigOutput '^"hello"$' config.package.pname ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^"hello"$' config.namedPackage.pname ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^".*Hello.*"$' options.namedPackage.description ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^"literalExpression"$' options.namedPackage.defaultText._type ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^"pkgs\.hello"$' options.namedPackage.defaultText.text ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^"hello"$' config.namedPackageSingletonDefault.pname ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^".*Hello.*"$' options.namedPackageSingletonDefault.description ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^"pkgs\.hello"$' options.namedPackageSingletonDefault.defaultText.text ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^"hello"$' config.pathPackage.pname ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^"literalExpression"$' options.packageWithExample.example._type ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^"pkgs\.hello\.override \{ stdenv = pkgs\.clangStdenv; \}"$' options.packageWithExample.example.text ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^"literalExpression"$' options.packageWithPathExample.example._type ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^"pkgs\.hello"$' options.packageWithPathExample.example.text ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^".*Example extra description\..*"$' options.packageWithExtraDescription.description ./declare-mkPackageOption.nix
|
||||
checkConfigError 'The option .undefinedPackage. was accessed but has no value defined. Try setting the option.' config.undefinedPackage ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^null$' config.nullablePackage ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^"null or package"$' options.nullablePackageWithDefault.type.description ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^"null or package"$' options.nullablePackage.type.description ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^"hello"$' config.nullablePackageWithDefault.pname ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^"myPkgs\.hello"$' options.packageWithPkgsText.defaultText.text ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^"hello-other"$' options.packageFromOtherSet.default.pname ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^"hello"$' config.packageInvalidIdentifier.pname ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^"pkgs\.\\"123\\"\.\\"with\\\\\\"quote\\"\.hello"$' options.packageInvalidIdentifier.defaultText.text ./declare-mkPackageOption.nix
|
||||
checkConfigOutput '^"pkgs\.\\"123\\"\.\\"with\\\\\\"quote\\"\.hello"$' options.packageInvalidIdentifierExample.example.text ./declare-mkPackageOption.nix
|
||||
|
||||
# submoduleWith
|
||||
|
||||
|
||||
@@ -57,5 +57,19 @@ in
|
||||
};
|
||||
in
|
||||
lib.mkPackageOption myPkgs "hello" { };
|
||||
|
||||
packageInvalidIdentifier =
|
||||
let
|
||||
myPkgs."123"."with\"quote" = { inherit (pkgs) hello; };
|
||||
in
|
||||
lib.mkPackageOption myPkgs [ "123" "with\"quote" "hello" ] { };
|
||||
|
||||
packageInvalidIdentifierExample = lib.mkPackageOption pkgs "hello" {
|
||||
example = [
|
||||
"123"
|
||||
"with\"quote"
|
||||
"hello"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -58,6 +58,9 @@ in
|
||||
pathInStore.ok1 = "${storeDir}/0lz9p8xhf89kb1c1kk6jxrzskaiygnlh-bash-5.2-p15.drv";
|
||||
pathInStore.ok2 = "${storeDir}/0fb3ykw9r5hpayd05sr0cizwadzq1d8q-bash-5.2-p15";
|
||||
pathInStore.ok3 = "${storeDir}/0fb3ykw9r5hpayd05sr0cizwadzq1d8q-bash-5.2-p15/bin/bash";
|
||||
pathInStore.ok4 = "/1121rp0gvr1qya7hvy925g5kjwg66acz6sn1ra1hca09f1z5dsab"; # CA derivation
|
||||
pathInStore.ok5 = "/1121rp0gvr1qya7hvy925g5kjwg66acz6sn1ra1hca09f1z5dsab/bin/bash"; # CA derivation
|
||||
pathInStore.ok6 = /1121rp0gvr1qya7hvy925g5kjwg66acz6sn1ra1hca09f1z5dsab; # CA derivation, path type
|
||||
pathInStore.bad1 = "";
|
||||
pathInStore.bad2 = "${storeDir}";
|
||||
pathInStore.bad3 = "${storeDir}/";
|
||||
|
||||
+8
-1
@@ -678,7 +678,14 @@ let
|
||||
check =
|
||||
x:
|
||||
let
|
||||
isInStore = builtins.match "${builtins.storeDir}/[^.].*" (toString x) != null;
|
||||
isInStore = lib.path.hasStorePathPrefix (
|
||||
if builtins.isPath x then
|
||||
x
|
||||
# Discarding string context is necessary to convert the value to
|
||||
# a path and safe as the result is never used in any derivation.
|
||||
else
|
||||
/. + builtins.unsafeDiscardStringContext x
|
||||
);
|
||||
isAbsolute = builtins.substring 0 1 (toString x) == "/";
|
||||
isExpectedType = (
|
||||
if inStore == null || inStore then isStringLike x else isString x # Do not allow a true path, which could be copied to the store later on.
|
||||
|
||||
@@ -12539,12 +12539,6 @@
|
||||
github = "keenanweaver";
|
||||
githubId = 37268985;
|
||||
};
|
||||
kekschen = {
|
||||
email = "kx@imkx.dev";
|
||||
github = "kek5chen";
|
||||
githubId = 52585984;
|
||||
name = "Kek5chen";
|
||||
};
|
||||
keksgesicht = {
|
||||
name = "Jan Braun";
|
||||
email = "git@keksgesicht.de";
|
||||
@@ -22461,6 +22455,12 @@
|
||||
github = "sinanmohd";
|
||||
githubId = 69694713;
|
||||
};
|
||||
sinics = {
|
||||
name = "Zhifan";
|
||||
email = "nonno.felice69uwu@gmail.com";
|
||||
matrix = "@c3n21:matrix.org";
|
||||
githubId = 37077738;
|
||||
};
|
||||
sioodmy = {
|
||||
name = "Antoni Sokołowski";
|
||||
github = "sioodmy";
|
||||
@@ -26035,6 +26035,12 @@
|
||||
githubId = 20464732;
|
||||
name = "Willi Butz";
|
||||
};
|
||||
willow = {
|
||||
email = "git@willow.moe";
|
||||
github = "kek5chen";
|
||||
githubId = 52585984;
|
||||
name = "Willow";
|
||||
};
|
||||
willow_ch = {
|
||||
email = "nix@w.wolo.dev";
|
||||
github = "spaghetus";
|
||||
|
||||
@@ -227,6 +227,7 @@ with lib.maintainers;
|
||||
pandapip1
|
||||
qyliss
|
||||
thefossguy
|
||||
michaelBelsanti
|
||||
];
|
||||
githubTeams = [ "cosmic" ];
|
||||
shortName = "cosmic";
|
||||
|
||||
@@ -160,6 +160,8 @@ rec {
|
||||
./manual.md \
|
||||
$dst/${common.indexPath}
|
||||
|
||||
cp ${pkgs.roboto.src}/web/Roboto\[ital\,wdth\,wght\].ttf "$dst/Roboto.ttf"
|
||||
|
||||
mkdir -p $out/nix-support
|
||||
echo "nix-build out $out" >> $out/nix-support/hydra-build-products
|
||||
echo "doc manual $dst" >> $out/nix-support/hydra-build-products
|
||||
|
||||
@@ -139,7 +139,7 @@ The pre-existing `services.ankisyncd` has been marked deprecated and will be dro
|
||||
|
||||
- [Netbird](https://netbird.io), an open-source VPN management platform, now has a self-hosted management server. Available as [services.netbird.server](#opt-services.netbird.server.enable).
|
||||
|
||||
- [nh](https://github.com/viperML/nh), yet another Nix CLI helper. Available as [programs.nh](#opt-programs.nh.enable).
|
||||
- [nh](https://github.com/nix-community/nh), yet another Nix CLI helper. Available as [programs.nh](#opt-programs.nh.enable).
|
||||
|
||||
- [oink](https://github.com/rlado/oink), a dynamic DNS client for Porkbun. Available as [services.oink](#opt-services.oink.enable).
|
||||
|
||||
|
||||
@@ -224,6 +224,8 @@
|
||||
|
||||
- [GoDNS](https://github.com/TimothyYe/godns), a dynamic DNS client written in Go, which supports multiple DNS providers. Available as [services.godns](option.html#opt-services.godns.enable).
|
||||
|
||||
- [CookCLI](https://cooklang.org/cli/) Server, a web UI for cooklang recipes.
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
## Backward Incompatibilities {#sec-release-25.05-incompatibilities}
|
||||
@@ -425,6 +427,7 @@
|
||||
|
||||
|
||||
- `programs.clash-verge.tunMode` was deprecated and removed because now service mode is necessary to start program. Without `programs.clash-verge.enable`, clash-verge-rev will refuse to start.
|
||||
- `services.discourse` now requires PostgreSQL 15 per default. Please update before upgrading.
|
||||
|
||||
- `services.homepage-dashboard` now requires the `allowedHosts` option to be set in accordance with the [documentation](https://gethomepage.dev/installation/#homepage_allowed_hosts).
|
||||
|
||||
|
||||
@@ -1296,6 +1296,7 @@ in
|
||||
ConditionPathExists = "!${cfg.registry.certFile}";
|
||||
};
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
Slice = "system-gitlab.slice";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.services.paretosecurity;
|
||||
in
|
||||
{
|
||||
|
||||
options.services.paretosecurity = {
|
||||
@@ -12,9 +15,9 @@
|
||||
trayIcon = lib.mkEnableOption "tray icon for ParetoSecurity";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.services.paretosecurity.enable {
|
||||
environment.systemPackages = [ config.services.paretosecurity.package ];
|
||||
systemd.packages = [ config.services.paretosecurity.package ];
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
systemd.packages = [ cfg.package ];
|
||||
|
||||
# In traditional Linux distributions, systemd would read the [Install] section from
|
||||
# unit files and automatically create the appropriate symlinks to enable services.
|
||||
@@ -36,19 +39,17 @@
|
||||
];
|
||||
|
||||
# Enable the tray icon and timer services if the trayIcon option is enabled
|
||||
systemd.user = lib.mkIf config.services.paretosecurity.trayIcon {
|
||||
services.paretosecurity-trayicon = {
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
};
|
||||
services.paretosecurity-user = {
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
serviceConfig.Environment = [
|
||||
"PATH=${config.system.path}/bin:${config.system.path}/sbin"
|
||||
];
|
||||
};
|
||||
timers.paretosecurity-user = {
|
||||
wantedBy = [ "timers.target" ];
|
||||
systemd.user = lib.mkIf cfg.trayIcon {
|
||||
services = {
|
||||
paretosecurity-trayicon.wantedBy = [ "graphical-session.target" ];
|
||||
paretosecurity-user = {
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
serviceConfig.Environment = [
|
||||
"PATH=${config.system.path}/bin:${config.system.path}/sbin"
|
||||
];
|
||||
};
|
||||
};
|
||||
timers.paretosecurity-user.wantedBy = [ "timers.target" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.services.cook-cli;
|
||||
inherit (lib)
|
||||
mkIf
|
||||
mkEnableOption
|
||||
mkPackageOption
|
||||
mkOption
|
||||
getExe
|
||||
types
|
||||
;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
services.cook-cli = {
|
||||
enable = lib.mkEnableOption "cook-cli";
|
||||
|
||||
package = lib.mkPackageOption pkgs "cook-cli" { };
|
||||
|
||||
autoStart = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to start cook-cli server automatically.
|
||||
'';
|
||||
};
|
||||
|
||||
port = lib.mkOption {
|
||||
type = lib.types.port;
|
||||
default = 9080;
|
||||
description = ''
|
||||
Which port cook-cli server will use.
|
||||
'';
|
||||
};
|
||||
|
||||
basePath = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "/var/lib/cook-cli";
|
||||
description = ''
|
||||
Path to the directory cook-cli will look for recipes.
|
||||
'';
|
||||
};
|
||||
|
||||
openFirewall = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to open the cook-cli server port in the firewall.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"d ${cfg.basePath} 0770 cook-cli users"
|
||||
];
|
||||
|
||||
users.users.cook-cli = {
|
||||
home = "${cfg.basePath}";
|
||||
group = "cook-cli";
|
||||
isSystemUser = true;
|
||||
};
|
||||
users.groups.cook-cli.members = [
|
||||
"cook-cli"
|
||||
];
|
||||
|
||||
systemd.services.cook-cli = {
|
||||
description = "cook-cli server";
|
||||
serviceConfig = {
|
||||
ExecStart = "${getExe cfg.package} server --host --port ${toString cfg.port} ${cfg.basePath}";
|
||||
WorkingDirectory = cfg.basePath;
|
||||
User = "cook-cli";
|
||||
Group = "cook-cli";
|
||||
# Hardening options
|
||||
CapabilityBoundingSet = [ "CAP_SYS_NICE" ];
|
||||
AmbientCapabilities = [ "CAP_SYS_NICE" ];
|
||||
LockPersonality = true;
|
||||
NoNewPrivileges = true;
|
||||
PrivateTmp = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectSystem = "strict";
|
||||
ReadWritePaths = cfg.basePath;
|
||||
RestrictNamespaces = true;
|
||||
RestrictSUIDSGID = true;
|
||||
Restart = "on-failure";
|
||||
RestartSec = 5;
|
||||
};
|
||||
wantedBy = mkIf cfg.autoStart [ "multi-user.target" ];
|
||||
wants = [ "network.target" ];
|
||||
};
|
||||
|
||||
networking.firewall = lib.mkIf cfg.openFirewall {
|
||||
allowedTCPPorts = [ cfg.port ];
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = [
|
||||
lib.maintainers.luNeder
|
||||
lib.maintainers.emilioziniades
|
||||
];
|
||||
}
|
||||
@@ -13,8 +13,8 @@ let
|
||||
cfg = config.services.discourse;
|
||||
opt = options.services.discourse;
|
||||
|
||||
# Keep in sync with https://github.com/discourse/discourse_docker/blob/main/image/base/slim.Dockerfile#L5
|
||||
upstreamPostgresqlVersion = lib.getVersion pkgs.postgresql_13;
|
||||
# Keep in sync with https://github.com/discourse/discourse_docker/blob/main/image/base/Dockerfile PG_MAJOR
|
||||
upstreamPostgresqlVersion = lib.getVersion pkgs.postgresql_15;
|
||||
|
||||
postgresqlPackage =
|
||||
if config.services.postgresql.enable then config.services.postgresql.package else pkgs.postgresql;
|
||||
@@ -676,6 +676,8 @@ in
|
||||
dns_query_timeout_secs = null;
|
||||
regex_timeout_seconds = 2;
|
||||
allow_impersonation = true;
|
||||
log_line_max_chars = 160000;
|
||||
yjit_enabled = false;
|
||||
};
|
||||
|
||||
services.redis.servers.discourse =
|
||||
@@ -901,6 +903,9 @@ in
|
||||
extraConfig
|
||||
+ ''
|
||||
proxy_set_header X-Request-Start "t=''${msec}";
|
||||
proxy_set_header X-Sendfile-Type "";
|
||||
proxy_set_header X-Accel-Mapping "";
|
||||
proxy_set_header Client-Ip "";
|
||||
'';
|
||||
};
|
||||
cache = time: ''
|
||||
|
||||
@@ -199,13 +199,6 @@ in
|
||||
monospace = mkDefault [ "Hack" ];
|
||||
};
|
||||
|
||||
# Qt application style.
|
||||
qt = {
|
||||
enable = mkDefault true;
|
||||
style = mkDefault "gtk2";
|
||||
platformTheme = mkDefault "gtk2";
|
||||
};
|
||||
|
||||
environment.pathsToLink = [
|
||||
"/share" # TODO: https://github.com/NixOS/nixpkgs/issues/47173
|
||||
];
|
||||
|
||||
@@ -59,7 +59,7 @@ import ./make-test-python.nix (
|
||||
|
||||
environment.systemPackages = [ pkgs.jq ];
|
||||
|
||||
services.postgresql.package = pkgs.postgresql_13;
|
||||
services.postgresql.package = pkgs.postgresql_15;
|
||||
|
||||
services.discourse = {
|
||||
enable = true;
|
||||
@@ -104,7 +104,6 @@ import ./make-test-python.nix (
|
||||
services.dovecot2 = {
|
||||
enable = true;
|
||||
protocols = [ "imap" ];
|
||||
modules = [ pkgs.dovecot_pigeonhole ];
|
||||
};
|
||||
|
||||
services.postfix = {
|
||||
|
||||
+24
-1
@@ -42,6 +42,10 @@ in
|
||||
|
||||
environment.systemPackages = with pkgs; [ git ];
|
||||
|
||||
networking.hosts."127.0.0.1" = [
|
||||
"registry.localhost"
|
||||
"pages.localhost"
|
||||
];
|
||||
virtualisation.memorySize = 6144;
|
||||
virtualisation.cores = 4;
|
||||
virtualisation.useNixStoreImage = true;
|
||||
@@ -59,6 +63,12 @@ in
|
||||
localhost = {
|
||||
locations."/".proxyPass = "http://unix:/run/gitlab/gitlab-workhorse.socket";
|
||||
};
|
||||
"pages.localhost" = {
|
||||
locations."/".proxyPass = "http://localhost:8090";
|
||||
};
|
||||
"registry.localhost" = {
|
||||
locations."/".proxyPass = "http://localhost:4567";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -78,7 +88,7 @@ in
|
||||
smtp.enable = true;
|
||||
pages = {
|
||||
enable = true;
|
||||
settings.pages-domain = "localhost";
|
||||
settings.pages-domain = "pages.localhost";
|
||||
};
|
||||
extraConfig = {
|
||||
incoming_email = {
|
||||
@@ -98,6 +108,14 @@ in
|
||||
jwsFile = pkgs.runCommand "oidcKeyBase" { } "${pkgs.openssl}/bin/openssl genrsa 2048 > $out";
|
||||
};
|
||||
|
||||
registry = {
|
||||
enable = true;
|
||||
certFile = "/var/lib/gitlab/registry_auth_cert";
|
||||
keyFile = "/var/lib/gitlab/registry_auth_key";
|
||||
externalAddress = "registry.localhost";
|
||||
externalPort = 443;
|
||||
};
|
||||
|
||||
# reduce memory usage
|
||||
sidekiq.concurrency = 1;
|
||||
puma.workers = 2;
|
||||
@@ -210,6 +228,7 @@ in
|
||||
gitlab.wait_for_unit("gitlab-sidekiq.service")
|
||||
gitlab.wait_for_file("${nodes.gitlab.services.gitlab.statePath}/tmp/sockets/gitlab.socket")
|
||||
gitlab.wait_until_succeeds("curl -sSf http://gitlab/users/sign_in")
|
||||
gitlab.wait_for_unit("docker-registry.service")
|
||||
'';
|
||||
|
||||
# The actual test of GitLab. Only push data to GitLab if
|
||||
@@ -447,6 +466,10 @@ in
|
||||
"""
|
||||
)
|
||||
gitlab.succeed("test -s /tmp/archive.tar.bz2")
|
||||
''
|
||||
+ ''
|
||||
with subtest("Test docker registry http is available"):
|
||||
gitlab.succeed("curl -sSf http://registry.localhost")
|
||||
'';
|
||||
|
||||
in
|
||||
|
||||
@@ -4,53 +4,45 @@
|
||||
meta.maintainers = [ lib.maintainers.zupo ];
|
||||
|
||||
nodes.terminal =
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
# Create a patched version of the package that points to the local dashboard
|
||||
# for easier testing
|
||||
patchedPareto = pkgs.paretosecurity.overrideAttrs (oldAttrs: {
|
||||
postPatch = ''
|
||||
substituteInPlace team/report.go \
|
||||
--replace-warn 'const reportURL = "https://dash.paretosecurity.com"' \
|
||||
'const reportURL = "http://dashboard"'
|
||||
'';
|
||||
});
|
||||
in
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [ ./common/user-account.nix ];
|
||||
|
||||
networking.firewall.enable = true;
|
||||
services.paretosecurity = {
|
||||
enable = true;
|
||||
package = patchedPareto;
|
||||
};
|
||||
|
||||
networking.firewall.enable = true;
|
||||
# Create a patched version of the package that points to the local dashboard
|
||||
# for easier testing
|
||||
package = pkgs.paretosecurity.overrideAttrs (oldAttrs: {
|
||||
postPatch =
|
||||
oldAttrs.postPatch or ""
|
||||
+ ''
|
||||
substituteInPlace team/report.go \
|
||||
--replace-warn 'const reportURL = "https://dash.paretosecurity.com"' \
|
||||
'const reportURL = "http://dashboard"'
|
||||
'';
|
||||
});
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
nodes.dashboard =
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||
nodes.dashboard = {
|
||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
virtualHosts."dashboard" = {
|
||||
locations."/api/v1/team/".extraConfig = ''
|
||||
add_header Content-Type application/json;
|
||||
return 200 '{"message": "Linked device."}';
|
||||
'';
|
||||
};
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
virtualHosts."dashboard" = {
|
||||
locations."/api/v1/team/".extraConfig = ''
|
||||
add_header Content-Type application/json;
|
||||
return 200 '{"message": "Linked device."}';
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nodes.xfce =
|
||||
{ config, pkgs, ... }:
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [ ./common/user-account.nix ];
|
||||
|
||||
@@ -76,7 +68,6 @@
|
||||
|
||||
environment.systemPackages = [ pkgs.xdotool ];
|
||||
environment.variables.XAUTHORITY = "/home/alice/.Xauthority";
|
||||
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,14 +7,14 @@
|
||||
}:
|
||||
vimUtils.buildVimPlugin {
|
||||
pname = "cmp-async-path";
|
||||
version = "0-unstable-2024-10-21";
|
||||
version = "0-unstable-2025-04-13";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "FelipeLema";
|
||||
repo = "cmp-async-path";
|
||||
rev = "d6d1ffa2075039632a2d71e8fa139818e15ac757";
|
||||
hash = "sha256-MZFpNPtSDMZNkfoz+3ZcDxLb8PvDtm9nb1dE0CbYIPQ=";
|
||||
rev = "0ed1492f59e730c366d261a5ad822fa37e44c325";
|
||||
hash = "sha256-J1Iw7yNfvWq7Jul25Eyx4qk9lSiLpZt4TRvTYi1DXtk=";
|
||||
};
|
||||
|
||||
checkInputs = [ vimPlugins.nvim-cmp ];
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
lib,
|
||||
vimUtils,
|
||||
fetchFromGitLab,
|
||||
nix-update-script,
|
||||
}:
|
||||
vimUtils.buildVimPlugin {
|
||||
pname = "sonarlint.nvim";
|
||||
version = "0-unstable-2025-04-18";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "schrieveslaach";
|
||||
repo = "sonarlint.nvim";
|
||||
rev = "0b78f1db800f9ba76f81de773ba09ce2222bdcc2";
|
||||
hash = "sha256-EUwuIFFe4tmw8u6RqEvOLL0Yi8J5cLBQx7ICxnmkT4k=";
|
||||
};
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
homepage = "https://gitlab.com/schrieveslaach/sonarlint.nvim";
|
||||
description = "Extensions for the built-in Language Server Protocol support in Neovim for sonarlint-language-server";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = [ lib.maintainers.sinics ];
|
||||
};
|
||||
}
|
||||
@@ -374,6 +374,12 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
claude-code-nvim = super.claude-code-nvim.overrideAttrs {
|
||||
dependencies = with self; [
|
||||
plenary-nvim
|
||||
];
|
||||
};
|
||||
|
||||
clighter8 = super.clighter8.overrideAttrs {
|
||||
preFixup = ''
|
||||
sed "/^let g:clighter8_libclang_path/s|')$|${lib.getLib llvmPackages.clang.cc}/lib/libclang.so')|" \
|
||||
@@ -2226,6 +2232,8 @@ in
|
||||
"nvchad.cheatsheet.grid"
|
||||
"nvchad.cheatsheet.simple"
|
||||
"nvchad.blink.config"
|
||||
# Circular dependency with base46
|
||||
"nvchad.utils"
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
@@ -151,6 +151,7 @@ https://github.com/declancm/cinnamon.nvim/,HEAD,
|
||||
https://github.com/projekt0n/circles.nvim/,,
|
||||
https://github.com/zootedb0t/citruszest.nvim/,,
|
||||
https://github.com/xavierd/clang_complete/,,
|
||||
https://github.com/greggh/claude-code.nvim/,HEAD,
|
||||
https://github.com/rhysd/clever-f.vim/,,
|
||||
https://github.com/bbchung/clighter8/,,
|
||||
https://github.com/ekickx/clipboard-image.nvim/,,
|
||||
|
||||
@@ -23,7 +23,7 @@ index 04b0a77f3..2330ea921 100644
|
||||
protobuf>=3.12
|
||||
qdarkstyle>=2.7
|
||||
-aiorpcx>=0.22.0,<0.23
|
||||
+aiorpcx>=0.22.0,<0.24
|
||||
+aiorpcx>=0.22.0
|
||||
aiohttp>=3.3.0,<4.0.0
|
||||
aiohttp_socks>=0.3
|
||||
certifi
|
||||
@@ -31,14 +31,12 @@ diff --git a/run_electrum b/run_electrum
|
||||
index a1b30f29e..cb22f8724 100755
|
||||
--- a/run_electrum
|
||||
+++ b/run_electrum
|
||||
@@ -67,8 +67,8 @@ def check_imports():
|
||||
@@ -67,8 +67,6 @@ def check_imports():
|
||||
import aiorpcx
|
||||
except ImportError as e:
|
||||
sys.exit(f"Error: {str(e)}. Try 'sudo python3 -m pip install <module-name>'")
|
||||
- if not ((0, 22, 0) <= aiorpcx._version < (0, 23)):
|
||||
- raise RuntimeError(f'aiorpcX version {aiorpcx._version} does not match required: 0.22.0<=ver<0.23')
|
||||
+ if not ((0, 22, 0) <= aiorpcx._version < (0, 24)):
|
||||
+ raise RuntimeError(f'aiorpcX version {aiorpcx._version} does not match required: 0.22.0<=ver<0.24')
|
||||
# the following imports are for pyinstaller
|
||||
from google.protobuf import descriptor
|
||||
from google.protobuf import message
|
||||
|
||||
@@ -32,11 +32,11 @@ in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "scribus";
|
||||
|
||||
version = "1.6.3";
|
||||
version = "1.6.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/scribus/scribus-devel/scribus-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-CuWM7UEBAegmVeO0wgoHDPF2cUWtojPc73wguLpr1Ic=";
|
||||
hash = "sha256-UzvnrwOs+qc27F96P8JWKr0gD+9coqfN7gK19E1hgp4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
cmake,
|
||||
pkg-config,
|
||||
kdePackages,
|
||||
@@ -54,16 +55,25 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "amnezia-vpn";
|
||||
version = "4.8.5.0";
|
||||
version = "4.8.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "amnezia-vpn";
|
||||
repo = "amnezia-client";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-k0BroQYrmJzM0+rSZMf20wHba5NbOK/xm5lbUFBNEHI=";
|
||||
hash = "sha256-WQbay3dtGNPPpcK1O7bfs/HKO4ytfmQo60firU/9o28=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
# Temporary patch header file to fix build with QT 6.9
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "add-missing-include.patch";
|
||||
url = "https://github.com/amnezia-vpn/amnezia-client/commit/c44ce0d77cc3acdf1de48a12459a1a821d404a1c.patch";
|
||||
hash = "sha256-Q6UMD8PlKAcI6zNolT5+cULECnxNrYrD7cifvNg1ZrY=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch =
|
||||
''
|
||||
substituteInPlace client/platforms/linux/daemon/wireguardutilslinux.cpp \
|
||||
@@ -127,11 +137,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# Temporary unwrap non-binary executable until qt6.wrapQtAppsHook is fixed
|
||||
mv $out/libexec/.update-resolv-conf.sh-wrapped $out/libexec/update-resolv-conf.sh
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit amnezia-tun2socks amnezia-xray;
|
||||
updateScript = nix-update-script {
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
pkg-config,
|
||||
udev,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "asdbctl";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "juliuszint";
|
||||
repo = "asdbctl";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-S5m1iQlchGKc0PODQNDHpNzaNXRepmk5zfK5aXdiMiM=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-OPmnGh6xN6XeREeIgyYB2aeHUpdQ5hFS5MivcTeY29E=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
|
||||
udev
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install -Dm444 \
|
||||
rules.d/20-asd-backlight.rules \
|
||||
$out/lib/udev/rules.d/20-asd-backlight.rules
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Apple Studio Display brightness controll";
|
||||
mainProgram = "asdbctl";
|
||||
homepage = "https://github.com/juliuszint/asdbctl";
|
||||
changelog = "https://github.com/juliuszint/asdbctl/releases/tag/${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [
|
||||
lib.maintainers.danieldk
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -25,14 +25,14 @@ in
|
||||
|
||||
python.pkgs.buildPythonApplication rec {
|
||||
pname = "awsebcli";
|
||||
version = "3.21";
|
||||
version = "3.22";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aws";
|
||||
repo = "aws-elastic-beanstalk-cli";
|
||||
tag = version;
|
||||
hash = "sha256-VU8bXvS4m4eIamjlgGmHE2qwDXWAXvWTa0QHomXR5ZE=";
|
||||
hash = "sha256-I85VteUjPPWRixXC1mEiMmk46mYPzQJoaYcHV8ztMU4=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
@@ -45,12 +45,6 @@ python.pkgs.buildPythonApplication rec {
|
||||
"urllib3"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# https://github.com/aws/aws-elastic-beanstalk-cli/pull/469
|
||||
substituteInPlace setup.py \
|
||||
--replace-fail "scripts=['bin/eb']," ""
|
||||
'';
|
||||
|
||||
dependencies = with python.pkgs; [
|
||||
blessed
|
||||
botocore
|
||||
@@ -88,6 +82,9 @@ python.pkgs.buildPythonApplication rec {
|
||||
"test_generate_and_upload_keypair__exit_code_1"
|
||||
"test_generate_and_upload_keypair__exit_code_is_other_than_1_and_0"
|
||||
"test_generate_and_upload_keypair__ssh_keygen_not_present"
|
||||
|
||||
# AssertionError: Expected 'echo' to be called once. Called 2 times
|
||||
"test_multiple_modules__one_or_more_of_the_specified_modules_lacks_an_env_yaml"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -25,6 +25,7 @@ let
|
||||
"8.1" = "sha256-oRd6PbBLOboH9EVRfZl5u71ZoVMFO4K/uftxlL/vm18=";
|
||||
"8.2" = "sha256-95qBidNHIGLGCb3QbUIzBMHsRi2GTPhwAjJg+JTteDk=";
|
||||
"8.3" = "sha256-8TO28o4YYFK1r2tInjXKenki/izHzZL0Dblaippekl8=";
|
||||
"8.4" = "sha256-Dg+Q0W6Rh2L4J7hmxLxuM3l/dKYHT499Mix4Zpu2Vno=";
|
||||
};
|
||||
};
|
||||
"i686-linux" = {
|
||||
@@ -33,6 +34,7 @@ let
|
||||
"8.1" = "sha256-mXJ1hO8NcODG7Wj3lQ+5lkSjcbkKLN5OOzcobigScKI=";
|
||||
"8.2" = "sha256-P5fQTVfE/DvLD4E3kUPE+eeOM9YVNNixgWVRq3Ca5M4=";
|
||||
"8.3" = "sha256-rMUv2EUlepBahMaEvs60i7RFTmaBe4P4qB1hcARqP9Y=";
|
||||
"8.4" = "sha256-g7v7oN7wfrER9VPk6bGhr+l6GMh2iYHUihcXF9T4GOc=";
|
||||
};
|
||||
};
|
||||
"aarch64-linux" = {
|
||||
@@ -41,6 +43,7 @@ let
|
||||
"8.1" = "sha256-Tj7LHXS4m9hF9gY/9vfOQPJVP+vHM1h8XdBY9vyRhFo=";
|
||||
"8.2" = "sha256-6kfotMptfVLPL414mr6LeJZ3ODnjepYQYnKvg4fHIAg=";
|
||||
"8.3" = "sha256-M/GTdinOi3Em7GJOm1iUKkuDNg8La3iQpG+wGHp0ycE=";
|
||||
"8.4" = "sha256-/wwgP76liAb6//uvDLGD5l+skh4P22Q8KdZN7nlEbXI=";
|
||||
};
|
||||
};
|
||||
"aarch64-darwin" = {
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
let
|
||||
pname = "cargo-mobile2";
|
||||
version = "0.17.6";
|
||||
version = "0.20.0";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
inherit pname version;
|
||||
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage {
|
||||
owner = "tauri-apps";
|
||||
repo = pname;
|
||||
rev = "cargo-mobile2-v${version}";
|
||||
hash = "sha256-kIy5Ic7Zk6twcEbZN/wRLwMK0XeMF0lNkFDIc2vO944=";
|
||||
hash = "sha256-7/ol4Jb/2s007LeSMo6YYDT5vipsZZF6O4hfJ7ylHGg=";
|
||||
};
|
||||
|
||||
# Manually specify the sourceRoot since this crate depends on other crates in the workspace. Relevant info at
|
||||
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage {
|
||||
# sourceRoot = "${src.name}/tooling/cli";
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-An9EuNv+6ttNKp50RutzxtHl/RS5gn9sUNlWtipAujk=";
|
||||
cargoHash = "sha256-zSUT2zClpSlBDu6vgMv4TZn9Jp0Ych6EQKo1AwkSMXU=";
|
||||
|
||||
preBuild = ''
|
||||
mkdir -p $out/share/
|
||||
|
||||
@@ -3,30 +3,29 @@
|
||||
buildNpmPackage,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
let
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "clean-css-cli";
|
||||
version = "5.6.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "clean-css";
|
||||
repo = "clean-css-cli";
|
||||
rev = "v${version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-tsFNcQg55uY2gL5xLLLS6INLlYzbsU6M3hnsYeOFGEw=";
|
||||
};
|
||||
in
|
||||
buildNpmPackage {
|
||||
pname = "clean-css-cli";
|
||||
inherit version src;
|
||||
|
||||
npmDepsHash = "sha256-uvI9esVVOE18syHUCJpoiDY+Vh3hJO+GsMOTZSYJaxg=";
|
||||
|
||||
dontNpmBuild = true;
|
||||
|
||||
dontCheckForBrokenSymlinks = true;
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/clean-css/clean-css-cli/blob/${src.rev}/History.md";
|
||||
description = "Command-line interface to the clean-css CSS optimization library";
|
||||
homepage = "https://github.com/clean-css/clean-css-cli";
|
||||
changelog = "https://github.com/clean-css/clean-css-cli/blob/v${finalAttrs.version}/History.md";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "cleancss";
|
||||
maintainers = with lib.maintainers; [ momeemt ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -45,11 +45,11 @@ let
|
||||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "copilot-language-server";
|
||||
version = "1.294.0";
|
||||
version = "1.304.0";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/github/copilot-language-server-release/releases/download/${finalAttrs.version}/copilot-language-server-native-${finalAttrs.version}.zip";
|
||||
hash = "sha256-8nB8vlrSy+949HiJRCa9yFqu/GAaluFH1VzE63AUUs8=";
|
||||
hash = "sha256-F0urL3bMlNcxHTrePYsagEx2664C7USYAcnhCCzB/rA=";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cpuid";
|
||||
version = "20241023";
|
||||
version = "20250419";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://etallen.com/cpuid/${pname}-${version}.src.tar.gz";
|
||||
sha256 = "sha256-/HdDWo1dKzVRcTMB6M24PmKjz+3IQTKw7JsbteUkT9w=";
|
||||
sha256 = "sha256-Mcz8A/k92ISKZ5jydPoDeR9cO/uxp2f+IIamnONyess=";
|
||||
};
|
||||
|
||||
# For pod2man during the build process.
|
||||
|
||||
@@ -40,7 +40,7 @@ buildDotnetModule rec {
|
||||
homepage = "https://github.com/Tyrrrz/DiscordChatExporter";
|
||||
license = licenses.gpl3Plus;
|
||||
changelog = "https://github.com/Tyrrrz/DiscordChatExporter/blob/${version}/Changelog.md";
|
||||
maintainers = with maintainers; [ kekschen ];
|
||||
maintainers = with maintainers; [ willow ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
mainProgram = "discordchatexporter";
|
||||
};
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "eliza";
|
||||
version = "0-unstable-2025-02-21";
|
||||
src = fetchFromGitHub {
|
||||
owner = "anthay";
|
||||
repo = "ELIZA";
|
||||
rev = "27bcf6e5fb1d32812cc0aab8133fa5e395d41773";
|
||||
hash = "sha256-/i8mckRQWTK1yI/MNaieSuE+dx94DMdrABkqf/bXQbM=";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
|
||||
# Unit tests are executed automatically on execution
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
echo Corki is mana | ./eliza
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
$CXX -std=c++20 -pedantic -o eliza ./src/eliza.cpp
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm544 ./eliza $out/bin/eliza
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
extraArgs = [
|
||||
"--version=branch=master"
|
||||
];
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "C++ simulation of Joseph Weizenbaum’s 1966 ELIZA";
|
||||
longDescription = ''
|
||||
This is an implementation in C++ of ELIZA that attempts to be as close
|
||||
to the original as possible.
|
||||
It was made to closely follow Joseph Weizenbaum’s description of his program
|
||||
given in his January 1966 Communications of the ACM paper, and later changed
|
||||
to follow the ELIZA source code found on 2021 and the SLIP programming
|
||||
function HASH(D,N) found on 2022.
|
||||
It is controlled by a script identical to the one given in the appendix of
|
||||
the 1966 paper.
|
||||
'';
|
||||
license = lib.licenses.cc0;
|
||||
mainProgram = "eliza";
|
||||
homepage = "https://github.com/anthay/ELIZA";
|
||||
maintainers = with lib.maintainers; [ EmanuelM153 ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
})
|
||||
@@ -6,16 +6,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "firezone-gateway";
|
||||
version = "1.4.5";
|
||||
version = "1.4.6";
|
||||
src = fetchFromGitHub {
|
||||
owner = "firezone";
|
||||
repo = "firezone";
|
||||
tag = "gateway-${version}";
|
||||
hash = "sha256-2MDQyMCQIqV1Kbem53jnE8DGUZ6SrZqp2LpGJXvLBgA=";
|
||||
hash = "sha256-ra5ZWPwNhyZEc9pBkcITvQyomgQ22yiWI16dnv1Fm3E=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-Yz9xuH8Eph1pzv0siTpvdSXZLj/AjS5PR06CitK9NdE=";
|
||||
cargoHash = "sha256-5B9nvFanHXZV8p8m2vsRLC5pSzwL2lX+V651oV8joJs=";
|
||||
sourceRoot = "${src.name}/rust";
|
||||
buildAndTestSubdir = "gateway";
|
||||
RUSTFLAGS = "--cfg system_certs";
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "firezone-headless-client";
|
||||
version = "1.4.5";
|
||||
version = "1.4.6";
|
||||
src = fetchFromGitHub {
|
||||
owner = "firezone";
|
||||
repo = "firezone";
|
||||
tag = "headless-client-${version}";
|
||||
hash = "sha256-IVbMdRtb6cu4obTFYPAYQXu9sXH7vT7K9j79IXg0KXk=";
|
||||
hash = "sha256-ra5ZWPwNhyZEc9pBkcITvQyomgQ22yiWI16dnv1Fm3E=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-8//Gg45iJw9rfEn08FW+wDbg7Dz2MyKFGf3p2Td7kHA=";
|
||||
cargoHash = "sha256-5B9nvFanHXZV8p8m2vsRLC5pSzwL2lX+V651oV8joJs=";
|
||||
sourceRoot = "${src.name}/rust";
|
||||
buildAndTestSubdir = "headless-client";
|
||||
RUSTFLAGS = "--cfg system_certs";
|
||||
|
||||
@@ -1,74 +0,0 @@
|
||||
From 1d78c8bd4295262a3118f478e6b3a7c7536fa282 Mon Sep 17 00:00:00 2001
|
||||
From: Johannes Altmanninger <aclopte@gmail.com>
|
||||
Date: Wed, 19 Mar 2025 09:39:04 +0100
|
||||
Subject: [PATCH] Fix concurrent setlocale() in string escape tests
|
||||
|
||||
In our C++ implementation, these tests were run serially. As pointed out in
|
||||
https://github.com/fish-shell/fish-shell/issues/11254#issuecomment-2735623229
|
||||
we run them in parallel now, which means that one test could be changing
|
||||
the global locale used by another.
|
||||
|
||||
In theory this could be fine because all tests are setting setting the
|
||||
global locale to the same thing but the existence of a lock suggests that
|
||||
setlocale() is not guaranteed to be atomic, so it's possible that another
|
||||
thread uses a temporarily-invalid locale.
|
||||
|
||||
Fixes #11254
|
||||
---
|
||||
src/tests/string_escape.rs | 14 ++++++++------
|
||||
1 file changed, 8 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/tests/string_escape.rs b/src/tests/string_escape.rs
|
||||
index ba8ee7534ebf..4428d679cd35 100644
|
||||
--- a/src/tests/string_escape.rs
|
||||
+++ b/src/tests/string_escape.rs
|
||||
@@ -1,3 +1,5 @@
|
||||
+use std::sync::MutexGuard;
|
||||
+
|
||||
use crate::common::{
|
||||
escape_string, str2wcstring, unescape_string, wcs2string, EscapeFlags, EscapeStringStyle,
|
||||
UnescapeStringStyle, ENCODE_DIRECT_BASE, ENCODE_DIRECT_END,
|
||||
@@ -10,21 +12,21 @@ use rand::{Rng, RngCore};
|
||||
|
||||
/// wcs2string is locale-dependent, so ensure we have a multibyte locale
|
||||
/// before using it in a test.
|
||||
-fn setlocale() {
|
||||
- let _guard = LOCALE_LOCK.lock().unwrap();
|
||||
+fn setlocale() -> MutexGuard<'static, ()> {
|
||||
+ let guard = LOCALE_LOCK.lock().unwrap();
|
||||
|
||||
#[rustfmt::skip]
|
||||
const UTF8_LOCALES: &[&str] = &[
|
||||
"C.UTF-8", "en_US.UTF-8", "en_GB.UTF-8", "de_DE.UTF-8", "C.utf8", "UTF-8",
|
||||
];
|
||||
if crate::libc::MB_CUR_MAX() > 1 {
|
||||
- return;
|
||||
+ return guard;
|
||||
}
|
||||
for locale in UTF8_LOCALES {
|
||||
let locale = std::ffi::CString::new(locale.to_owned()).unwrap();
|
||||
unsafe { libc::setlocale(libc::LC_CTYPE, locale.as_ptr()) };
|
||||
if crate::libc::MB_CUR_MAX() > 1 {
|
||||
- return;
|
||||
+ return guard;
|
||||
}
|
||||
}
|
||||
panic!("No UTF-8 locale found");
|
||||
@@ -100,7 +102,7 @@ fn test_escape_var() {
|
||||
}
|
||||
|
||||
fn escape_test(escape_style: EscapeStringStyle, unescape_style: UnescapeStringStyle) {
|
||||
- setlocale();
|
||||
+ let _locale_guard = setlocale();
|
||||
let seed: u128 = 92348567983274852905629743984572;
|
||||
let mut rng = get_seeded_rng(seed);
|
||||
|
||||
@@ -174,7 +176,7 @@ fn str2hex(input: &[u8]) -> String {
|
||||
/// string comes back through double conversion.
|
||||
#[test]
|
||||
fn test_convert() {
|
||||
- setlocale();
|
||||
+ let _locale_guard = setlocale();
|
||||
let seed = get_rng_seed();
|
||||
let mut rng = get_seeded_rng(seed);
|
||||
let mut origin = Vec::new();
|
||||
@@ -152,13 +152,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fish";
|
||||
version = "4.0.1";
|
||||
version = "4.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fish-shell";
|
||||
repo = "fish-shell";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-Mj4v2ubYr4ufs7aU/1AdY239byiCJHKXam64af/VO3U=";
|
||||
hash = "sha256-UpoZPipXZbzLWCOXzDjfyTDrsKyXGbh3Rkwj5IeWeY4=";
|
||||
};
|
||||
|
||||
env = {
|
||||
@@ -169,7 +169,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit (finalAttrs) src patches;
|
||||
hash = "sha256-4kqBrpeneCpF0WohP1ZArKrV3duHAE01XA5+GT9f56w=";
|
||||
hash = "sha256-FkJB33vVVz7Kh23kfmjQDn61X2VkKLG9mUt8f3TrCHg=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -188,10 +188,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# * <https://github.com/LnL7/nix-darwin/issues/122>
|
||||
# * <https://github.com/fish-shell/fish-shell/issues/7142>
|
||||
./nix-darwin-path.patch
|
||||
|
||||
# remove 4.0.2
|
||||
# https://github.com/fish-shell/fish-shell/issues/11254
|
||||
./1d78c8bd4295262a3118f478e6b3a7c7536fa282.patch
|
||||
];
|
||||
|
||||
# Fix FHS paths in tests
|
||||
|
||||
@@ -1,19 +1,78 @@
|
||||
{
|
||||
stdenv,
|
||||
fetchurl,
|
||||
runCommandLocal,
|
||||
lib,
|
||||
htmlq,
|
||||
curl,
|
||||
cacert,
|
||||
gtk3,
|
||||
pkg-config,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gaw";
|
||||
version = "20220315";
|
||||
pname = "gaw3";
|
||||
version = "20250128";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.tuxfamily.org/gaw/download/gaw3-${version}.tar.gz";
|
||||
sha256 = "0j2bqi9444s1mfbr7x9rqp232xf7ab9z7ifsnl305jsklp6qmrbg";
|
||||
};
|
||||
# https://www.rvq.fr/php/ndl.php?id=gaw.*
|
||||
# https://www.rvq.fr/php/ndl.php?id=gaw3-20250128.tar.gz
|
||||
src =
|
||||
runCommandLocal "gaw3-${version}.tar.gz"
|
||||
{
|
||||
BASE = "https://www.rvq.fr/php/ndl.php";
|
||||
FNAME = "gaw3-${version}.tar.gz";
|
||||
|
||||
nativeBuildInputs = [
|
||||
htmlq
|
||||
curl
|
||||
];
|
||||
SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
|
||||
|
||||
outputHashMode = "recursive";
|
||||
outputHashAlgo = "sha256";
|
||||
outputHash = "sha256-3uO+209+cmu231iabyYmABmgegyxAxswWDWA/v8WSy0=";
|
||||
}
|
||||
''
|
||||
# fetch download page
|
||||
html_form=$(
|
||||
curl "$BASE?id=$FNAME" |
|
||||
tr '\n' ' ' | tr -s ' ' | # minimize whitespace
|
||||
htmlq tr | # select table rows, one per line
|
||||
grep "<td>$FNAME</td>" | # filter for row of interest
|
||||
head -n1 | # first match, just in case
|
||||
htmlq form --base "$BASE"
|
||||
)
|
||||
|
||||
declare -a curl_args=()
|
||||
|
||||
# hidden fields
|
||||
declare -a input_names=()
|
||||
readarray -td $'\n' input_names < <(
|
||||
htmlq <<<"$html_form" "input[type=hidden]" -a name
|
||||
)
|
||||
for input_name in "''${input_names[@]}"; do
|
||||
input_value=$(
|
||||
htmlq <<<"$html_form" "input[type=hidden][name=''${input_name}]" -a value
|
||||
)
|
||||
echo "$input_name = $input_value"
|
||||
curl_args+=( --form "$input_name=$input_value" )
|
||||
done
|
||||
|
||||
# destination
|
||||
curl_args+=(
|
||||
"https://www.rvq.fr/$( htmlq <<<"$html_form" form -a action )"
|
||||
)
|
||||
|
||||
# POST and download
|
||||
(set -x
|
||||
curl -X POST "''${curl_args[@]}" $NIX_CURL_FLAGS --output "$FNAME"
|
||||
)
|
||||
|
||||
# unpack and strip root dir
|
||||
mkdir unpack/
|
||||
tar xvf "$FNAME" --directory=unpack/
|
||||
[[ "$(printf "%s\n" unpack/* | wc -l)" -eq 1 ]]
|
||||
cp -a unpack/* $out
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
@@ -28,7 +87,7 @@ stdenv.mkDerivation rec {
|
||||
input from sound cards. Data can be imported to gaw using files,
|
||||
direct tcp/ip connection or directly from the sound card.
|
||||
'';
|
||||
homepage = "http://gaw.tuxfamily.org";
|
||||
homepage = "https://www.rvq.fr/linux/gaw.php";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ fbeffa ];
|
||||
platforms = platforms.linux;
|
||||
|
||||
@@ -11,17 +11,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "gitu";
|
||||
version = "0.29.0";
|
||||
version = "0.30.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "altsem";
|
||||
repo = "gitu";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-c2YVcE+a/9Z6qTLEbcSFE6393SEeudyvdbzCRJfszcc=";
|
||||
hash = "sha256-WXz8H68EpvkUEpdEbdukggbjFXUPA+FRcZTsk48W6TU=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-+tSNUtsDFKqx5W8+cuxyFsG1etm44eYgoYuoUt5tw3E=";
|
||||
cargoHash = "sha256-0+KHO7CGYdifQGbtywuK5xQmS2BuxFX50eMGpo5RRYU=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -21,9 +21,6 @@ buildGoModule rec {
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
# renable after https://github.com/nametake/golangci-lint-langserver/pull/52
|
||||
doCheck = false;
|
||||
|
||||
nativeCheckInputs = [
|
||||
golangci-lint
|
||||
writableTmpDirAsHomeHook
|
||||
|
||||
@@ -7,18 +7,18 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "harper";
|
||||
version = "0.29.0";
|
||||
version = "0.29.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Automattic";
|
||||
repo = "harper";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-wsCUB3UO5czqJPGctb3ZsTtcVXMqBB7/8/uk5ShL8ZA=";
|
||||
hash = "sha256-bar4AdLovV8MBGF/yGHbcw1w3MQ4FFbmJkiDDS2Iq5g=";
|
||||
};
|
||||
|
||||
buildAndTestSubdir = "harper-ls";
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-KrW4I4Tg30/Yg5PuZCEWkrtjNUKMZmzqCmFAnKtj7A4=";
|
||||
cargoHash = "sha256-CJZSBs8EtUstUNDUt3QQhv/f/GriaGzF9fw9IJWDNAk=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "hjson-go";
|
||||
version = "4.4.0";
|
||||
version = "4.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hjson";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-fonPxk/9ue8LzHTdKpuHJcucQoMl4P6gq+tbjS8Ui7Q=";
|
||||
hash = "sha256-0xFTxnXMJA98+Y6gwO8zCDPQvLecG1qmbGAISCFMaPw=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
}:
|
||||
let
|
||||
pname = "hydralauncher";
|
||||
version = "3.4.0";
|
||||
version = "3.4.4";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/hydralauncher/hydra/releases/download/v${version}/hydralauncher-${version}.AppImage";
|
||||
hash = "sha256-d2ZtCAbj7xYkLhsuTPi9/ORb+Nkk5KbGvaDSaawqGcU=";
|
||||
hash = "sha256-7mYwjxfef9uiBI2idLUqQxJ4hiWiPVCdMnw1MaovUEM=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 { inherit pname src version; };
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "krillinai";
|
||||
version = "1.1.0";
|
||||
version = "1.1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "krillinai";
|
||||
repo = "KrillinAI";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-AAlefejME+XLERcDJDeVgzySVX+KGrCMt7PJyWaxnoM=";
|
||||
hash = "sha256-hEKjqQcHnrxY266EP5uoLMzw6csi2bS5Q+ghGb6TJ4c=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-mpvypCZmvVVljftGpcV1aea3s7Xmhr0jLfKZIZ0nkX8=";
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
let
|
||||
pname = "ledger-live-desktop";
|
||||
version = "2.107.0";
|
||||
version = "2.109.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
|
||||
hash = "sha256-PtoazbAwwG856M2HoPjN6yuTHlSiIJs5PziDrkLAEZE=";
|
||||
hash = "sha256-wqY5f+A4j+KY99LulL8YS1eACvEsTSfMGV7Be6yOMqM=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
|
||||
@@ -25,12 +25,17 @@ stdenv.mkDerivation rec {
|
||||
hash = "sha256-5oJV8gr2rwvSdpX5w3gmIw/LTrWtXVnl6oLr/soNTDk=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
propagatedBuildInputs = [
|
||||
pcre2
|
||||
];
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
lib,
|
||||
buildNimPackage,
|
||||
fetchFromGitHub,
|
||||
pcre,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
@@ -21,7 +20,6 @@ buildNimPackage (finalAttrs: {
|
||||
|
||||
lockFile = ./lock.json;
|
||||
|
||||
buildInputs = [ pcre ];
|
||||
nativeBuildInputs = [ versionCheckHook ];
|
||||
|
||||
nimFlags = [ ''--passC:"-Wno-incompatible-pointer-types"'' ];
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nb";
|
||||
version = "7.16.1";
|
||||
version = "7.17.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xwmx";
|
||||
repo = "nb";
|
||||
rev = version;
|
||||
hash = "sha256-RX3DEjk+/tivTyv0+j3lZAKYgca4Zq9zQ+P1a/RXj2I=";
|
||||
hash = "sha256-gUI7hAZabYPHkSwGtFZxEoi5Hw76fOLYbMZQIvsnSas=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
rustPlatform,
|
||||
installShellFiles,
|
||||
@@ -7,22 +8,22 @@
|
||||
nix-update-script,
|
||||
nvd,
|
||||
nix-output-monitor,
|
||||
buildPackages,
|
||||
}:
|
||||
let
|
||||
version = "3.6.0";
|
||||
runtimeDeps = [
|
||||
nvd
|
||||
nix-output-monitor
|
||||
];
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
inherit version;
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "nh";
|
||||
version = "3.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "viperML";
|
||||
owner = "nix-community";
|
||||
repo = "nh";
|
||||
tag = "v${version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-k8rz5RF1qi7RXzQYWGbw5pJRNRFIdX85SIYN+IHiVL4=";
|
||||
};
|
||||
|
||||
@@ -33,14 +34,19 @@ rustPlatform.buildRustPackage {
|
||||
makeBinaryWrapper
|
||||
];
|
||||
|
||||
preFixup = ''
|
||||
mkdir completions
|
||||
$out/bin/nh completions --shell bash > completions/nh.bash
|
||||
$out/bin/nh completions --shell zsh > completions/nh.zsh
|
||||
$out/bin/nh completions --shell fish > completions/nh.fish
|
||||
preFixup = lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) (
|
||||
let
|
||||
emulator = stdenv.hostPlatform.emulator buildPackages;
|
||||
in
|
||||
''
|
||||
mkdir completions
|
||||
${emulator} $out/bin/nh completions --shell bash > completions/nh.bash
|
||||
${emulator} $out/bin/nh completions --shell zsh > completions/nh.zsh
|
||||
${emulator} $out/bin/nh completions --shell fish > completions/nh.fish
|
||||
|
||||
installShellCompletion completions/*
|
||||
'';
|
||||
installShellCompletion completions/*
|
||||
''
|
||||
);
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/nh \
|
||||
@@ -54,7 +60,7 @@ rustPlatform.buildRustPackage {
|
||||
|
||||
meta = {
|
||||
description = "Yet another nix cli helper";
|
||||
homepage = "https://github.com/viperML/nh";
|
||||
homepage = "https://github.com/nix-community/nh";
|
||||
license = lib.licenses.eupl12;
|
||||
mainProgram = "nh";
|
||||
maintainers = with lib.maintainers; [
|
||||
@@ -62,4 +68,4 @@ rustPlatform.buildRustPackage {
|
||||
viperML
|
||||
];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -5,49 +5,57 @@
|
||||
testers,
|
||||
paretosecurity,
|
||||
nixosTests,
|
||||
pkg-config,
|
||||
gtk3,
|
||||
webkitgtk_4_1,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
buildGoModule (finalAttrs: {
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [
|
||||
gtk3
|
||||
webkitgtk_4_1
|
||||
];
|
||||
pname = "paretosecurity";
|
||||
version = "0.1.3";
|
||||
version = "0.1.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ParetoSecurity";
|
||||
repo = "agent";
|
||||
rev = version;
|
||||
hash = "sha256-ovyfHqLCf5U3UR1HfoA+UQhqLZ6IaILcpqptPRQsb60=";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-KJs4xC3EtGG4116UE+oIEwAMcuDWIm9gqgZY+Bv14ac=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-7mKAFkKGpBOjXc3J/sfF3k3pJF53tFybXZgbfJInuSY=";
|
||||
vendorHash = "sha256-3plpvwLe32AsGuVzdM2fSmTPkKwRFmhi651NEIRdOxw=";
|
||||
proxyVendor = true;
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-X=github.com/ParetoSecurity/agent/shared.Version=${version}"
|
||||
"-X=github.com/ParetoSecurity/agent/shared.Commit=${src.rev}"
|
||||
"-X=github.com/ParetoSecurity/agent/shared.Version=${finalAttrs.version}"
|
||||
"-X=github.com/ParetoSecurity/agent/shared.Commit=${finalAttrs.src.rev}"
|
||||
"-X=github.com/ParetoSecurity/agent/shared.Date=1970-01-01T00:00:00Z"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
# Install global systemd files
|
||||
install -Dm400 ${src}/apt/paretosecurity.socket $out/lib/systemd/system/paretosecurity.socket
|
||||
install -Dm400 ${src}/apt/paretosecurity.service $out/lib/systemd/system/paretosecurity.service
|
||||
install -Dm400 ${finalAttrs.src}/apt/paretosecurity.socket $out/lib/systemd/system/paretosecurity.socket
|
||||
install -Dm400 ${finalAttrs.src}/apt/paretosecurity.service $out/lib/systemd/system/paretosecurity.service
|
||||
substituteInPlace $out/lib/systemd/system/paretosecurity.service \
|
||||
--replace-fail "/usr/bin/paretosecurity" "$out/bin/paretosecurity"
|
||||
|
||||
# Install user systemd files
|
||||
install -Dm444 ${src}/apt/paretosecurity-user.timer $out/lib/systemd/user/paretosecurity-user.timer
|
||||
install -Dm444 ${src}/apt/paretosecurity-user.service $out/lib/systemd/user/paretosecurity-user.service
|
||||
install -Dm444 ${finalAttrs.src}/apt/paretosecurity-user.timer $out/lib/systemd/user/paretosecurity-user.timer
|
||||
install -Dm444 ${finalAttrs.src}/apt/paretosecurity-user.service $out/lib/systemd/user/paretosecurity-user.service
|
||||
substituteInPlace $out/lib/systemd/user/paretosecurity-user.service \
|
||||
--replace-fail "/usr/bin/paretosecurity" "$out/bin/paretosecurity"
|
||||
install -Dm444 ${src}/apt/paretosecurity-trayicon.service $out/lib/systemd/user/paretosecurity-trayicon.service
|
||||
install -Dm444 ${finalAttrs.src}/apt/paretosecurity-trayicon.service $out/lib/systemd/user/paretosecurity-trayicon.service
|
||||
substituteInPlace $out/lib/systemd/user/paretosecurity-trayicon.service \
|
||||
--replace-fail "/usr/bin/paretosecurity" "$out/bin/paretosecurity"
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
version = testers.testVersion {
|
||||
version = "${version}";
|
||||
inherit (finalAttrs) version;
|
||||
package = paretosecurity;
|
||||
};
|
||||
integration_test = nixosTests.paretosecurity;
|
||||
@@ -80,4 +88,4 @@ buildGoModule rec {
|
||||
maintainers = with lib.maintainers; [ zupo ];
|
||||
mainProgram = "paretosecurity";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -9,11 +9,11 @@
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "proton-pass";
|
||||
version = "1.30.1";
|
||||
version = "1.31.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://proton.me/download/pass/linux/x64/proton-pass_${finalAttrs.version}_amd64.deb";
|
||||
hash = "sha256-0IEQAzK3Pu195kjpo9l2HdLUCySR0HKSl1M8Z9URgJA=";
|
||||
hash = "sha256-OYd26KTq2uoZzqyb2ntk3bS5cKcJJ7od0VIHfSK8lqs=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
@@ -32,18 +32,18 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
pname = "q2pro";
|
||||
version = "0-unstable-2025-04-03";
|
||||
version = "0-unstable-2025-04-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "skullernet";
|
||||
repo = "q2pro";
|
||||
rev = "0e00beedaa892fd5f6e50d33231978846ab2d5de";
|
||||
hash = "sha256-xw09M7EtXJ7i6myj/Em0Rtg5CmZtpbyRWmkPhCApu7I=";
|
||||
rev = "1cc95be8bb967f4274e54a6d7251e4cd7f5ed9c1";
|
||||
hash = "sha256-7dsFzCnWiVNioyRIW0KjicfgGTxjozicUpDJG5jGvB0=";
|
||||
};
|
||||
|
||||
# build date and rev number is displayed in the game's console
|
||||
revCount = "3749"; # git rev-list --count ${src.rev}
|
||||
SOURCE_DATE_EPOCH = "1743706497"; # git show -s --format=%ct ${src.rev}
|
||||
revCount = "3782"; # git rev-list --count ${src.rev}
|
||||
SOURCE_DATE_EPOCH = "1744997502"; # git show -s --format=%ct ${src.rev}
|
||||
|
||||
nativeBuildInputs =
|
||||
[
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
python3Packages,
|
||||
fetchFromGitHub,
|
||||
|
||||
# tests
|
||||
versionCheckHook,
|
||||
|
||||
# passthru
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "ruff-lsp";
|
||||
version = "0.0.62";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "astral-sh";
|
||||
repo = "ruff-lsp";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-aYhNvT4rcaEzuqwql7TpFkCoyH77uSG7r6uY5aIzhrk=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [ hatchling ];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
lsprotocol
|
||||
packaging
|
||||
pygls
|
||||
ruff
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
nativeCheckInputs = with python3Packages; [
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
python-lsp-jsonrpc
|
||||
ruff
|
||||
versionCheckHook
|
||||
];
|
||||
versionCheckProgramArg = "--version";
|
||||
|
||||
makeWrapperArgs = [
|
||||
# prefer ruff from user's PATH, that's usually desired behavior
|
||||
"--suffix PATH : ${lib.makeBinPath (with python3Packages; [ ruff ])}"
|
||||
# Unset ambient PYTHONPATH in the wrapper, so ruff-lsp only ever runs with
|
||||
# its own, isolated set of dependencies. This works because the correct
|
||||
# PYTHONPATH is set in the Python script, which runs after the wrapper.
|
||||
"--unset PYTHONPATH"
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/astral-sh/ruff-lsp/releases/tag/v${version}";
|
||||
description = "Language Server Protocol implementation for Ruff";
|
||||
homepage = "https://github.com/astral-sh/ruff-lsp";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "ruff-lsp";
|
||||
maintainers = with lib.maintainers; [
|
||||
figsoda
|
||||
kalekseev
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -10,7 +10,6 @@
|
||||
versionCheckHook,
|
||||
|
||||
# passthru
|
||||
ruff-lsp,
|
||||
nixosTests,
|
||||
nix-update-script,
|
||||
}:
|
||||
@@ -70,13 +69,9 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru = {
|
||||
tests =
|
||||
{
|
||||
inherit ruff-lsp;
|
||||
}
|
||||
// lib.optionalAttrs stdenv.hostPlatform.isLinux {
|
||||
nixos-test-driver-busybox = nixosTests.nixos-test-driver.busybox;
|
||||
};
|
||||
tests = lib.optionalAttrs stdenv.hostPlatform.isLinux {
|
||||
nixos-test-driver-busybox = nixosTests.nixos-test-driver.busybox;
|
||||
};
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
|
||||
@@ -143,7 +143,7 @@ buildDotnetModule rec {
|
||||
maintainers = with maintainers; [
|
||||
jk
|
||||
artemist
|
||||
kekschen
|
||||
willow
|
||||
];
|
||||
platforms = [
|
||||
"x86_64-linux"
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
stdenv,
|
||||
zlib,
|
||||
# Boolean flags
|
||||
enableSTB ? true,
|
||||
## Darwin headless will hang when trying to run the SDL test program
|
||||
enableSdltest ? (!stdenv.hostPlatform.isDarwin),
|
||||
}:
|
||||
@@ -32,16 +33,17 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
SDL2
|
||||
giflib
|
||||
libXpm
|
||||
libjpeg
|
||||
libpng
|
||||
libtiff
|
||||
libwebp
|
||||
zlib
|
||||
];
|
||||
buildInputs =
|
||||
[
|
||||
SDL2
|
||||
libtiff
|
||||
libwebp
|
||||
zlib
|
||||
]
|
||||
++ lib.optionals (!enableSTB) [
|
||||
libjpeg
|
||||
libpng
|
||||
];
|
||||
|
||||
configureFlags =
|
||||
[
|
||||
@@ -50,6 +52,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
(lib.enableFeature false "png-shared")
|
||||
(lib.enableFeature false "tif-shared")
|
||||
(lib.enableFeature false "webp-shared")
|
||||
(lib.enableFeature enableSTB "stb-image")
|
||||
(lib.enableFeature enableSdltest "sdltest")
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
# Dependency of pygame, toppler
|
||||
{ SDL2_image, fetchurl }:
|
||||
|
||||
SDL2_image.overrideAttrs (oldAttrs: {
|
||||
version = "2.0.5";
|
||||
src = fetchurl {
|
||||
inherit (oldAttrs.src) url;
|
||||
hash = "sha256-vdX24CZoL31+G+C2BRsgnaL0AqLdi9HEvZwlrSYxCNA";
|
||||
};
|
||||
|
||||
postPatch =
|
||||
(oldAttrs.postPatch or "")
|
||||
+ ''
|
||||
# allow newer autoreconf to run successfully
|
||||
touch NEWS README AUTHORS ChangeLog
|
||||
'';
|
||||
})
|
||||
@@ -10,10 +10,20 @@
|
||||
xorg,
|
||||
libxkbcommon,
|
||||
wayland,
|
||||
libiconv,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "slint-lsp";
|
||||
version = "1.10.0";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit (finalAttrs) pname version;
|
||||
hash = "sha256-5LDEjJx+PC6pOem06DKFkPcjpIkF20gbxi/PAVZT1ns=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-1/4dOlhByJDpduExu9ZOjb7JYFKehnLiLCboWUnmfp8=";
|
||||
|
||||
let
|
||||
rpathLibs =
|
||||
[
|
||||
fontconfig
|
||||
@@ -27,46 +37,35 @@ let
|
||||
libxkbcommon
|
||||
wayland
|
||||
];
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "slint-lsp";
|
||||
version = "1.10.0";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
hash = "sha256-5LDEjJx+PC6pOem06DKFkPcjpIkF20gbxi/PAVZT1ns=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-1/4dOlhByJDpduExu9ZOjb7JYFKehnLiLCboWUnmfp8=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
fontconfig
|
||||
];
|
||||
buildInputs =
|
||||
rpathLibs
|
||||
++ [ xorg.libxcb.dev ]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
libiconv
|
||||
];
|
||||
buildInputs = finalAttrs.rpathLibs ++ [ xorg.libxcb.dev ];
|
||||
|
||||
# Tests requires `i_slint_backend_testing` which is only a dev dependency
|
||||
doCheck = false;
|
||||
|
||||
postInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
patchelf --set-rpath ${lib.makeLibraryPath rpathLibs} $out/bin/slint-lsp
|
||||
patchelf --set-rpath ${lib.makeLibraryPath finalAttrs.rpathLibs} $out/bin/slint-lsp
|
||||
'';
|
||||
|
||||
dontPatchELF = true;
|
||||
|
||||
meta = with lib; {
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Language Server Protocol (LSP) for Slint UI language";
|
||||
mainProgram = "slint-lsp";
|
||||
homepage = "https://slint-ui.com/";
|
||||
changelog = "https://github.com/slint-ui/slint/blob/v${version}/CHANGELOG.md";
|
||||
license = with licenses; [ gpl3Plus ];
|
||||
maintainers = with maintainers; [ xgroleau ];
|
||||
downloadPage = "https://github.com/slint-ui/slint/";
|
||||
changelog = "https://github.com/slint-ui/slint/blob/v${finalAttrs.version}/CHANGELOG.md";
|
||||
license = with lib.licenses; [ gpl3Plus ];
|
||||
maintainers = with lib.maintainers; [ xgroleau ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
cmake,
|
||||
}:
|
||||
let
|
||||
version = "8.0.0";
|
||||
version = "9.1.0";
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "source-meta-json-schema";
|
||||
@@ -15,7 +15,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "sourcemeta";
|
||||
repo = "jsonschema";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-EH+wi8MAgAxTy7OPQK/faX6OVY38/Z5fXhaK92xKkyA=";
|
||||
hash = "sha256-YxIRDTAAvkltT4HGUvPt/davarGRfE808OoI9UheqCA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -10,17 +10,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "stargazer";
|
||||
version = "1.3.1";
|
||||
version = "1.3.2";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~zethra";
|
||||
repo = "stargazer";
|
||||
rev = version;
|
||||
hash = "sha256-0vbQDHuLrgrsWiOb2hb6lYylJm5o/wOzoDIw85H8Eh0=";
|
||||
hash = "sha256-Yulm0XkVaN+yBKj8LDsn8pBYXEqTOSGLqbpIKDN0G2U=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-KdHYyuH1RMLRueqYbfADUktBx9aL8yTagB0KxEGQsCs=";
|
||||
cargoHash = "sha256-MtpJTLKhlVF5AE3huL0JRWXtNCtc0Z5b/S28ekzirPA=";
|
||||
|
||||
passthru = {
|
||||
tests.basic-functionality = nixosTests.stargazer;
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
{
|
||||
version = "1.22.0";
|
||||
version = "1.22.1";
|
||||
|
||||
x86_64-linux = {
|
||||
url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.0/linux/amd64/sysdig-cli-scanner";
|
||||
hash = "sha256-qGbQRiUvoynxUeYSmjrz5r9bunthcmQWDzLtTqPu4IU=";
|
||||
url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.1/linux/amd64/sysdig-cli-scanner";
|
||||
hash = "sha256-ogQ7NhpU0KZkcZXWSBX4VaTWwXz5WWMXhqZ9abHX6+Y=";
|
||||
};
|
||||
|
||||
aarch64-linux = {
|
||||
url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.0/linux/arm64/sysdig-cli-scanner";
|
||||
hash = "sha256-bfY5FRPU7rEVN0o/nf39q8qFP7zgffoEX1iPXbZ22pw=";
|
||||
url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.1/linux/arm64/sysdig-cli-scanner";
|
||||
hash = "sha256-apj4GqN7sdZSzpk+FvqcYJLgh+UlcJgPUdXhhurFENQ=";
|
||||
};
|
||||
|
||||
x86_64-darwin = {
|
||||
url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.0/darwin/amd64/sysdig-cli-scanner";
|
||||
hash = "sha256-F5br4BJnB9yRWfpqEJgy79csjfYY/St1a/rPGXdvj6A=";
|
||||
url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.1/darwin/amd64/sysdig-cli-scanner";
|
||||
hash = "sha256-o5AYd3/8Ot7+EtQ2SXaV72JbR/hI/5Pu7g2jdHZYepo=";
|
||||
};
|
||||
|
||||
aarch64-darwin = {
|
||||
url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.0/darwin/arm64/sysdig-cli-scanner";
|
||||
hash = "sha256-CsMZ8m9eJNcOxq77IVLuW1COOa2+mABoMGJ+xk/NARI=";
|
||||
url = "https://download.sysdig.com/scanning/bin/sysdig-cli-scanner/1.22.1/darwin/arm64/sysdig-cli-scanner";
|
||||
hash = "sha256-FDkqWstWMTtF0QLWk+iadJr7aRHRnpiatqAeoHftVDk=";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "system76-power";
|
||||
version = "1.2.3";
|
||||
version = "1.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = "system76-power";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-fyatAoWw/4ORojayA90er+H5weRykg+2ZzTsGThpW5g=";
|
||||
hash = "sha256-SHGfs3ZokPOM2nkd/8F/5zjxh9sPXVBtHWkCbmKwEMo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
];
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-/dhuWgHysJ2oWgJ6jc9u4tsUOxlFt/awlK/9Jk1GHCM=";
|
||||
cargoHash = "sha256-Q/6OFNbqvRDTCT1MyJ3gqd4BTXXRouvnKSM3cm1jQ1g=";
|
||||
|
||||
postInstall = ''
|
||||
install -D -m 0644 data/com.system76.PowerDaemon.conf $out/etc/dbus-1/system.d/com.system76.PowerDaemon.conf
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user