Merge branch 'master' into haskell-updates

This commit is contained in:
maralorn 2024-03-16 23:33:06 +01:00
commit 06f993f7e7
292 changed files with 4918 additions and 2496 deletions

5
.github/CODEOWNERS vendored
View File

@ -359,3 +359,8 @@ nixos/tests/zfs.nix @raitobezarius
nixos/modules/services/continuous-integration/buildbot @Mic92 @zowoq nixos/modules/services/continuous-integration/buildbot @Mic92 @zowoq
nixos/tests/buildbot.nix @Mic92 @zowoq nixos/tests/buildbot.nix @Mic92 @zowoq
pkgs/development/tools/continuous-integration/buildbot @Mic92 @zowoq pkgs/development/tools/continuous-integration/buildbot @Mic92 @zowoq
# Pretix
pkgs/by-name/pr/pretix/ @mweinelt
nixos/modules/services/web-apps/pretix.nix @mweinelt
nixos/tests/web-apps/pretix.nix @mweinelt

3
doc/anchor-use.js Normal file
View File

@ -0,0 +1,3 @@
document.addEventListener('DOMContentLoaded', function(event) {
anchors.add('h1:not(div.note h1, div.warning h1, div.tip h1, div.caution h1, div.important h1), h2:not(div.note h2, div.warning h2, div.tip h2, div.caution h2, div.important h2), h3:not(div.note h3, div.warning h3, div.tip h3, div.caution h3, div.important h3), h4:not(div.note h4, div.warning h4, div.tip h4, div.caution h4, div.important h4), h5:not(div.note h5, div.warning h5, div.tip h5, div.caution h5, div.important h5), h6:not(div.note h6, div.warning h6, div.tip h6, div.caution h6, div.important h6)');
});

9
doc/anchor.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -122,16 +122,17 @@ in pkgs.stdenv.mkDerivation {
${pkgs.documentation-highlighter}/mono-blue.css \ ${pkgs.documentation-highlighter}/mono-blue.css \
${pkgs.documentation-highlighter}/loader.js ${pkgs.documentation-highlighter}/loader.js
cp -t out ./overrides.css ./style.css cp -t out ./style.css ./anchor.min.js ./anchor-use.js
nixos-render-docs manual html \ nixos-render-docs manual html \
--manpage-urls ./manpage-urls.json \ --manpage-urls ./manpage-urls.json \
--revision ${pkgs.lib.trivial.revisionWithDefault (pkgs.rev or "master")} \ --revision ${pkgs.lib.trivial.revisionWithDefault (pkgs.rev or "master")} \
--stylesheet style.css \ --stylesheet style.css \
--stylesheet overrides.css \
--stylesheet highlightjs/mono-blue.css \ --stylesheet highlightjs/mono-blue.css \
--script ./highlightjs/highlight.pack.js \ --script ./highlightjs/highlight.pack.js \
--script ./highlightjs/loader.js \ --script ./highlightjs/loader.js \
--script ./anchor.min.js \
--script ./anchor-use.js \
--toc-depth 1 \ --toc-depth 1 \
--section-toc-depth 1 \ --section-toc-depth 1 \
manual.md \ manual.md \

View File

@ -1,22 +0,0 @@
.docbook .xref img[src^=images\/callouts\/],
.screen img,
.programlisting img,
.literallayout img,
.synopsis img {
width: 1em;
}
.calloutlist img {
width: 1.5em;
}
.prompt,
.screen img,
.programlisting img,
.literallayout img,
.synopsis img {
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
}

View File

@ -1,291 +1,416 @@
/* Copied from http://bakefile.sourceforge.net/, which appears html {
licensed under the GNU GPL. */ line-height: 1.15;
-webkit-text-size-adjust: 100%;
/***************************************************************************
Basic headers and text:
***************************************************************************/
body
{
font-family: "Nimbus Sans L", sans-serif;
font-size: 1em;
background: white;
margin: 2em 1em 2em 1em;
} }
h1, h2, h3, h4 body {
{ margin: 0;
color: #005aa0;
} }
h1 /* title */ .book {
{
font-size: 200%;
}
h2 /* chapters, appendices, subtitle */
{
font-size: 180%;
}
div.book
{
text-align: center;
}
div.book > div
{
/*
* based on https://medium.com/@zkareemz/golden-ratio-62b3b6d4282a
* we do 70 characters per line to fit code listings better
* 70 * (font-size / 1.618)
* expression for emacs:
* (* 70 (/ 1 1.618))
*/
max-width: 43.2em;
text-align: left;
margin: auto; margin: auto;
width: 100%;
} }
/* Extra space between chapters, appendices. */ @media screen and (min-width: 768px) {
div.chapter > div.titlepage h2, div.appendix > div.titlepage h2 .book {
{ max-width: 46rem;
margin-top: 1.5em; }
} }
div.section > div.titlepage h2 /* sections */ @media screen and (min-width: 992px) {
{ .book {
font-size: 150%; max-width: 60rem;
margin-top: 1.5em; }
} }
h3 /* subsections */ @media screen and (min-width: 1200px) {
{ .book {
font-size: 125%; max-width: 73rem;
}
} }
div.simplesect h2 .book .list-of-examples {
{ display: none;
font-size: 110%;
} }
div.appendix h3 h1 {
{ font-size: 2em;
font-size: 150%; margin: 0.67em 0;
margin-top: 1.5em;
} }
div.refnamediv h2, div.refsynopsisdiv h2, div.refsection h2 /* refentry parts */ hr {
{ box-sizing: content-box;
margin-top: 1.4em; height: 0;
font-size: 125%; overflow: visible;
} }
div.refsection h3 pre {
{ font-family: monospace, monospace;
font-size: 110%; font-size: 1em;
} }
a {
/*************************************************************************** background-color: transparent;
Examples:
***************************************************************************/
div.example
{
border: 1px solid #b0b0b0;
padding: 6px 6px;
margin-left: 1.5em;
margin-right: 1.5em;
background: #f4f4f8;
border-radius: 0.4em;
box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
} }
div.example p.title strong {
{ font-weight: bolder;
margin-top: 0em;
} }
div.example pre code {
{ font-family: monospace, monospace;
box-shadow: none; font-size: 1em;
} }
sup {
/*************************************************************************** font-size: 75%;
Screen dumps: line-height: 0;
***************************************************************************/ position: relative;
vertical-align: baseline;
pre.screen, pre.programlisting
{
border: 1px solid #b0b0b0;
padding: 3px 3px;
margin-left: 0.5em;
margin-right: 0.5em;
background: #f4f4f8;
font-family: monospace;
border-radius: 0.4em;
box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
} }
div.example pre.programlisting sup {
{ top: -0.5em;
border: 0px;
padding: 0 0;
margin: 0 0 0 0;
} }
/*************************************************************************** ::-webkit-file-upload-button {
Notes, warnings etc: -webkit-appearance: button;
***************************************************************************/ font: inherit;
.note, .warning
{
border: 1px solid #b0b0b0;
padding: 3px 3px;
margin-left: 1.5em;
margin-right: 1.5em;
margin-bottom: 1em;
padding: 0.3em 0.3em 0.3em 0.3em;
background: #fffff5;
border-radius: 0.4em;
box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
} }
div.note, div.warning pre {
{ overflow: auto;
font-style: italic;
} }
div.note h3, div.warning h3 *,
{ *::before,
color: red; *::after {
box-sizing: border-box;
}
html {
font-size: 100%; font-size: 100%;
padding-right: 0.5em; line-height: 1.77777778;
display: inline;
} }
div.note p, div.warning p @media screen and (min-width: 4000px) {
{ html {
margin-bottom: 0em; background: #000;
}
html body {
margin: auto;
max-width: 250rem;
}
} }
div.note h3 + p, div.warning h3 + p @media screen and (max-width: 320px) {
{ html {
display: inline; font-size: calc(16 / 320 * 100vw);
}
} }
div.note h3 body {
{ font-size: 1rem;
color: blue; font-family: 'Roboto', sans-serif;
font-size: 100%; font-weight: 300;
color: #000000;
background-color: #ffffff;
min-height: 100vh;
display: flex;
flex-direction: column;
} }
div.navfooter * @media screen and (max-width: 767.9px) {
{ body {
font-size: 90%; padding-left: 1rem;
padding-right: 1rem;
}
} }
a {
/*************************************************************************** text-decoration: none;
Links colors and highlighting: border-bottom: 1px solid;
***************************************************************************/ color: #405d99;
a { text-decoration: none; }
a:hover { text-decoration: underline; }
a:link { color: #0048b3; }
a:visited { color: #002a6a; }
/***************************************************************************
Table of contents:
***************************************************************************/
div.toc
{
font-size: 90%;
} }
div.toc dl ul {
{ padding: 0;
margin-top: 0em; margin-top: 0;
margin-bottom: 0em; margin-right: 0;
margin-bottom: 1rem;
margin-left: 1rem;
} }
table {
/***************************************************************************
Special elements:
***************************************************************************/
tt, code
{
color: #400000;
}
.term
{
font-weight: bold;
}
div.variablelist dd p, div.glosslist dd p
{
margin-top: 0em;
}
div.variablelist dd, div.glosslist dd
{
margin-left: 1.5em;
}
div.glosslist dt
{
font-style: italic;
}
.varname
{
color: #400000;
}
span.command strong
{
font-weight: normal;
color: #400000;
}
div.calloutlist table
{
box-shadow: none;
}
table
{
border-collapse: collapse; border-collapse: collapse;
box-shadow: 0.4em 0.4em 0.5em #e0e0e0; width: 100%;
margin-bottom: 1rem;
} }
table.simplelist thead th {
{
text-align: left; text-align: left;
color: #005aa0; }
hr {
margin-top: 1rem;
margin-bottom: 1rem;
}
h1 {
font-weight: 800;
line-height: 110%;
font-size: 200%;
margin-bottom: 1rem;
color: #6586c8;
}
h2 {
font-weight: 800;
line-height: 110%;
font-size: 170%;
margin-bottom: 0.625rem;
color: #6586c8;
}
h2:not(:first-child) {
margin-top: 1rem;
}
h3 {
font-weight: 800;
line-height: 110%;
margin-bottom: 1rem;
font-size: 150%;
color: #6586c8;
}
.note h3,
.tip h3,
.warning h3,
.caution h3,
.important h3 {
font-size: 120%;
}
h4 {
font-weight: 800;
line-height: 110%;
margin-bottom: 1rem;
font-size: 140%;
color: #6586c8;
}
h5 {
font-weight: 800;
line-height: 110%;
margin-bottom: 1rem;
font-size: 130%;
color: #6a6a6a;
}
h6 {
font-weight: 800;
line-height: 110%;
margin-bottom: 1rem;
font-size: 120%
}
strong {
font-weight: bold;
}
p {
margin-top: 0;
margin-bottom: 1rem;
}
dt>*:first-child,
dd>*:first-child {
margin-top: 0;
}
dt>*:last-child,
dd>*:last-child {
margin-bottom: 0;
}
pre,
code {
font-family: monospace;
}
code {
color: #ff8657;
background: #f4f4f4;
display: inline-block;
padding: 0 0.5rem;
border: 1px solid #d8d8d8;
border-radius: 0.5rem;
line-height: 1.57777778;
}
div.book .programlisting,
div.appendix .programlisting {
border-radius: 0.5rem;
padding: 1rem;
overflow: auto;
background: #f2f8fd;
color: #000000;
}
div.book .note,
div.book .tip,
div.book .warning,
div.book .caution,
div.book .important,
div.appendix .note,
div.appendix .tip,
div.appendix .warning,
div.appendix .caution,
div.appendix .important {
margin-bottom: 1rem;
border-radius: 0.5rem;
padding: 1.5rem;
overflow: auto;
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 {
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 {
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 {
margin-bottom: 0;
}
div.book .note,
div.book .tip,
div.appendix .note,
div.appendix .tip {
color: #5277c3;
background: #f2f8fd;
}
div.book .warning,
div.book .caution,
div.appendix .warning,
div.appendix .caution {
color: #cc3900;
background-color: #fff5e1;
}
div.book .section,
div.appendix .section {
margin-top: 2em;
}
div.book div.example,
div.appendix div.example {
margin-top: 1.5em;
}
div.book br.example-break,
div.appendix br.example-break {
display: none;
}
div.book div.footnotes>hr,
div.appendix div.footnotes>hr {
border-color: #d8d8d8;
}
div.book div.footnotes>br,
div.appendix div.footnotes>br {
display: none;
}
div.book dt,
div.appendix dt {
margin-top: 1em;
}
div.book .toc dt,
div.appendix .toc dt {
margin-top: 0;
}
div.book .list-of-examples dt,
div.appendix .list-of-examples dt {
margin-top: 0;
}
div.book code,
div.appendix code {
padding: 0;
border: 0; border: 0;
padding: 5px; background-color: inherit;
background: #fffff5; color: inherit;
font-weight: normal; font-size: 100%;
font-style: italic; -webkit-hyphens: none;
box-shadow: none; -moz-hyphens: none;
margin-bottom: 1em; hyphens: none;
} }
div.navheader table, div.navfooter table { div.book div.toc,
box-shadow: none; div.appendix div.toc {
margin-bottom: 3em;
border-bottom: 0.0625rem solid #d8d8d8;
} }
div.affiliation div.book div.toc dd,
{ div.appendix div.toc dd {
font-style: italic; margin-left: 2em;
}
div.book span.command,
div.appendix span.command {
font-family: monospace;
-webkit-hyphens: none;
-moz-hyphens: none;
hyphens: none;
}
div.book .informaltable th,
div.book .informaltable td,
div.appendix .informaltable th,
div.appendix .informaltable td {
padding: 0.5rem;
} }

View File

@ -105,7 +105,9 @@ in rec {
mkdir -p $dst mkdir -p $dst
cp ${../../../doc/style.css} $dst/style.css cp ${../../../doc/style.css} $dst/style.css
cp ${../../../doc/overrides.css} $dst/overrides.css cp ${../../../doc/anchor.min.js} $dst/anchor.min.js
cp ${../../../doc/anchor-use.js} $dst/anchor-use.js
cp -r ${pkgs.documentation-highlighter} $dst/highlightjs cp -r ${pkgs.documentation-highlighter} $dst/highlightjs
${prepareManualFromMD} ${prepareManualFromMD}
@ -115,10 +117,11 @@ in rec {
--revision ${lib.escapeShellArg revision} \ --revision ${lib.escapeShellArg revision} \
--generator "nixos-render-docs ${lib.version}" \ --generator "nixos-render-docs ${lib.version}" \
--stylesheet style.css \ --stylesheet style.css \
--stylesheet overrides.css \
--stylesheet highlightjs/mono-blue.css \ --stylesheet highlightjs/mono-blue.css \
--script ./highlightjs/highlight.pack.js \ --script ./highlightjs/highlight.pack.js \
--script ./highlightjs/loader.js \ --script ./highlightjs/loader.js \
--script ./anchor.min.js \
--script ./anchor-use.js \
--toc-depth 1 \ --toc-depth 1 \
--chunk-toc-depth 1 \ --chunk-toc-depth 1 \
./manual.md \ ./manual.md \

View File

@ -103,6 +103,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- [Monado](https://monado.freedesktop.org/), an open source XR runtime. Available as [services.monado](#opt-services.monado.enable). - [Monado](https://monado.freedesktop.org/), an open source XR runtime. Available as [services.monado](#opt-services.monado.enable).
- [Pretix](https://pretix.eu/about/en/), an open source ticketing software for events. Available as [services.pretix]($opt-services-pretix.enable).
- [Clevis](https://github.com/latchset/clevis), a pluggable framework for automated decryption, used to unlock encrypted devices in initrd. Available as [boot.initrd.clevis.enable](#opt-boot.initrd.clevis.enable). - [Clevis](https://github.com/latchset/clevis), a pluggable framework for automated decryption, used to unlock encrypted devices in initrd. Available as [boot.initrd.clevis.enable](#opt-boot.initrd.clevis.enable).
- [armagetronad](https://wiki.armagetronad.org), a mid-2000s 3D lightcycle game widely played at iD Tech Camps. You can define multiple servers using `services.armagetronad.<server>.enable`. - [armagetronad](https://wiki.armagetronad.org), a mid-2000s 3D lightcycle game widely played at iD Tech Camps. You can define multiple servers using `services.armagetronad.<server>.enable`.
@ -129,6 +131,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- The `power.ups` module now generates `upsd.conf`, `upsd.users` and `upsmon.conf` automatically from a set of new configuration options. This breaks compatibility with existing `power.ups` setups where these files were created manually. Back up these files before upgrading NixOS. - The `power.ups` module now generates `upsd.conf`, `upsd.users` and `upsmon.conf` automatically from a set of new configuration options. This breaks compatibility with existing `power.ups` setups where these files were created manually. Back up these files before upgrading NixOS.
- `pdns` was updated to version [v4.9.x](https://doc.powerdns.com/authoritative/changelog/4.9.html), which introduces breaking changes. Check out the [Upgrade Notes](https://doc.powerdns.com/authoritative/upgrading.html#to-4-9-0) for details.
- `unrar` was updated to v7. See [changelog](https://www.rarlab.com/unrar7notes.htm) for more information. - `unrar` was updated to v7. See [changelog](https://www.rarlab.com/unrar7notes.htm) for more information.
- `k9s` was updated to v0.31. There have been various breaking changes in the config file format, - `k9s` was updated to v0.31. There have been various breaking changes in the config file format,
@ -320,7 +324,12 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- `addDriverRunpath` has been added to facilitate the deprecation of the old `addOpenGLRunpath` setuphook. This change is motivated by the evolution of the setuphook to include all hardware acceleration. - `addDriverRunpath` has been added to facilitate the deprecation of the old `addOpenGLRunpath` setuphook. This change is motivated by the evolution of the setuphook to include all hardware acceleration.
- Cinnamon has been updated to 6.0. Please beware that the [Wayland session](https://blog.linuxmint.com/?p=4591) is still experimental in this release. - Cinnamon has been updated to 6.0. Please beware that the [Wayland session](https://blog.linuxmint.com/?p=4591) is still experimental in this release and could potentially [affect Xorg sessions](https://blog.linuxmint.com/?p=4639). We suggest a reboot when switching between sessions.
- MATE has been updated to 1.28.
- To properly support panel plugins built with Wayland (in-process) support, we are introducing `services.xserver.desktopManager.mate.extraPanelApplets` option, please use that for installing panel applets.
- Similarly, please use `services.xserver.desktopManager.mate.extraCajaExtensions` option for installing Caja extensions.
- To use the Wayland session, enable `services.xserver.desktopManager.mate.enableWaylandSession`. This is opt-in for now as it is in early stage and introduces a new set of Wayfire closure. Due to [known issues with LightDM](https://github.com/canonical/lightdm/issues/63), we suggest using SDDM for display manager.
- New `boot.loader.systemd-boot.xbootldrMountPoint` allows setting up a separate [XBOOTLDR partition](https://uapi-group.org/specifications/specs/boot_loader_specification/) to store boot files. Useful on systems with a small EFI System partition that cannot be easily repartitioned. - New `boot.loader.systemd-boot.xbootldrMountPoint` allows setting up a separate [XBOOTLDR partition](https://uapi-group.org/specifications/specs/boot_loader_specification/) to store boot files. Useful on systems with a small EFI System partition that cannot be easily repartitioned.
@ -347,6 +356,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- [Lilypond](https://lilypond.org/index.html) and [Denemo](https://www.denemo.org) are now compiled with Guile 3.0. - [Lilypond](https://lilypond.org/index.html) and [Denemo](https://www.denemo.org) are now compiled with Guile 3.0.
- The EC2 image module now enables the [Amazon SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html) by default.
- The following options of the Nextcloud module were moved into [`services.nextcloud.settings`](#opt-services.nextcloud.settings) and renamed to match the name from Nextcloud's `config.php`: - The following options of the Nextcloud module were moved into [`services.nextcloud.settings`](#opt-services.nextcloud.settings) and renamed to match the name from Nextcloud's `config.php`:
- `logLevel` -> [`loglevel`](#opt-services.nextcloud.settings.loglevel), - `logLevel` -> [`loglevel`](#opt-services.nextcloud.settings.loglevel),
- `logType` -> [`log_type`](#opt-services.nextcloud.settings.log_type), - `logType` -> [`log_type`](#opt-services.nextcloud.settings.log_type),

View File

@ -30,7 +30,10 @@ in
ipu6-drivers ipu6-drivers
]; ];
hardware.firmware = [ pkgs.ipu6-camera-bins ]; hardware.firmware = with pkgs; [
ipu6-camera-bins
ivsc-firmware
];
services.udev.extraRules = '' services.udev.extraRules = ''
SUBSYSTEM=="intel-ipu6-psys", MODE="0660", GROUP="video" SUBSYSTEM=="intel-ipu6-psys", MODE="0660", GROUP="video"

View File

@ -1358,6 +1358,7 @@
./services/web-apps/plausible.nix ./services/web-apps/plausible.nix
./services/web-apps/powerdns-admin.nix ./services/web-apps/powerdns-admin.nix
./services/web-apps/pretalx.nix ./services/web-apps/pretalx.nix
./services/web-apps/pretix.nix
./services/web-apps/prosody-filer.nix ./services/web-apps/prosody-filer.nix
./services/web-apps/rimgo.nix ./services/web-apps/rimgo.nix
./services/web-apps/sftpgo.nix ./services/web-apps/sftpgo.nix

View File

@ -44,8 +44,8 @@ in {
''; '';
apply = steam: steam.override (prev: { apply = steam: steam.override (prev: {
extraEnv = (lib.optionalAttrs (cfg.extraCompatPackages != [ ]) { extraEnv = (lib.optionalAttrs (cfg.extraCompatPackages != [ ]) {
STEAM_EXTRA_COMPAT_TOOLS_PATHS = makeBinPath cfg.extraCompatPackages; STEAM_EXTRA_COMPAT_TOOLS_PATHS = makeSearchPathOutput "steamcompattool" "" cfg.extraCompatPackages;
}) // (prev.extraEnv or {}); }) // (prev.extraEnv or {});
extraLibraries = pkgs: let extraLibraries = pkgs: let
prevLibs = if prev ? extraLibraries then prev.extraLibraries pkgs else [ ]; prevLibs = if prev ? extraLibraries then prev.extraLibraries pkgs else [ ];
additionalLibs = with config.hardware.opengl; additionalLibs = with config.hardware.opengl;
@ -74,10 +74,17 @@ in {
extraCompatPackages = mkOption { extraCompatPackages = mkOption {
type = types.listOf types.package; type = types.listOf types.package;
default = [ ]; default = [ ];
example = literalExpression ''
with pkgs; [
proton-ge-bin
]
'';
description = lib.mdDoc '' description = lib.mdDoc ''
Extra packages to be used as compatibility tools for Steam on Linux. Packages will be included Extra packages to be used as compatibility tools for Steam on Linux. Packages will be included
in the `STEAM_EXTRA_COMPAT_TOOLS_PATHS` environmental variable. For more information see in the `STEAM_EXTRA_COMPAT_TOOLS_PATHS` environmental variable. For more information see
<https://github.com/ValveSoftware/steam-for-linux/issues/6310">. https://github.com/ValveSoftware/steam-for-linux/issues/6310.
These packages must be Steam compatibility tools that have a `steamcompattool` output.
''; '';
}; };

View File

@ -13,48 +13,60 @@ in
{ {
options = { options = {
services.ollama = { services.ollama = {
enable = lib.mkEnableOption ( enable = lib.mkEnableOption "ollama server for local large language models";
lib.mdDoc "Server for local large language models" package = lib.mkPackageOption pkgs "ollama" { };
);
listenAddress = lib.mkOption { listenAddress = lib.mkOption {
type = types.str; type = types.str;
default = "127.0.0.1:11434"; default = "127.0.0.1:11434";
description = lib.mdDoc '' example = "0.0.0.0:11111";
Specifies the bind address on which the ollama server HTTP interface listens. description = ''
The address which the ollama server HTTP interface binds and listens to.
''; '';
}; };
acceleration = lib.mkOption { acceleration = lib.mkOption {
type = types.nullOr (types.enum [ "rocm" "cuda" ]); type = types.nullOr (types.enum [ "rocm" "cuda" ]);
default = null; default = null;
example = "rocm"; example = "rocm";
description = lib.mdDoc '' description = ''
Specifies the interface to use for hardware acceleration. What interface to use for hardware acceleration.
- `rocm`: supported by modern AMD GPUs - `rocm`: supported by modern AMD GPUs
- `cuda`: supported by modern NVIDIA GPUs - `cuda`: supported by modern NVIDIA GPUs
''; '';
}; };
package = lib.mkPackageOption pkgs "ollama" { }; environmentVariables = lib.mkOption {
type = types.attrsOf types.str;
default = { };
example = {
HOME = "/tmp";
OLLAMA_LLM_LIBRARY = "cpu";
};
description = ''
Set arbitrary environment variables for the ollama service.
Be aware that these are only seen by the ollama server (systemd service),
not normal invocations like `ollama run`.
Since `ollama run` is mostly a shell around the ollama server, this is usually sufficient.
'';
};
}; };
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
systemd = { systemd.services.ollama = {
services.ollama = { description = "Server for local large language models";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
description = "Server for local large language models"; after = [ "network.target" ];
after = [ "network.target" ]; environment = cfg.environmentVariables // {
environment = { HOME = "%S/ollama";
HOME = "%S/ollama"; OLLAMA_MODELS = "%S/ollama/models";
OLLAMA_MODELS = "%S/ollama/models"; OLLAMA_HOST = cfg.listenAddress;
OLLAMA_HOST = cfg.listenAddress; };
}; serviceConfig = {
serviceConfig = { ExecStart = "${lib.getExe ollamaPackage} serve";
ExecStart = "${lib.getExe ollamaPackage} serve"; WorkingDirectory = "%S/ollama";
WorkingDirectory = "/var/lib/ollama"; StateDirectory = [ "ollama" ];
StateDirectory = [ "ollama" ]; DynamicUser = true;
DynamicUser = true;
};
}; };
}; };

View File

@ -2,7 +2,7 @@
let let
inherit (lib) maintainers; inherit (lib) maintainers;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.modules) mkIf; inherit (lib.modules) mkIf mkMerge;
inherit (lib.options) literalExpression mkEnableOption mkOption mkPackageOption; inherit (lib.options) literalExpression mkEnableOption mkOption mkPackageOption;
inherit (lib.types) bool enum nullOr port str submodule; inherit (lib.types) bool enum nullOr port str submodule;
@ -156,42 +156,44 @@ in
}; };
}; };
config = mkIf (cfg.enable || cfg.collector.enable) { config = mkMerge [
services.influxdb2.enable = cfg.influxdb.enable; (mkIf cfg.enable {
services.influxdb2.enable = cfg.influxdb.enable;
networking.firewall = mkIf cfg.openFirewall { networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ cfg.settings.web.listen.port ]; allowedTCPPorts = [ cfg.settings.web.listen.port ];
}; };
services.smartd = mkIf cfg.collector.enable { systemd.services.scrutiny = {
enable = true; description = "Hard Drive S.M.A.R.T Monitoring, Historical Trends & Real World Failure Thresholds";
extraOptions = [ wantedBy = [ "multi-user.target" ];
"-A /var/log/smartd/" after = [ "network.target" ] ++ lib.optional cfg.influxdb.enable "influxdb2.service";
"--interval=600" wants = lib.optional cfg.influxdb.enable "influxdb2.service";
]; environment = {
}; SCRUTINY_VERSION = "1";
SCRUTINY_WEB_DATABASE_LOCATION = "/var/lib/scrutiny/scrutiny.db";
systemd = { SCRUTINY_WEB_SRC_FRONTEND_PATH = "${cfg.package}/share/scrutiny";
services = {
scrutiny = mkIf cfg.enable {
description = "Hard Drive S.M.A.R.T Monitoring, Historical Trends & Real World Failure Thresholds";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
environment = {
SCRUTINY_VERSION = "1";
SCRUTINY_WEB_DATABASE_LOCATION = "/var/lib/scrutiny/scrutiny.db";
SCRUTINY_WEB_SRC_FRONTEND_PATH = "${cfg.package}/share/scrutiny";
};
serviceConfig = {
DynamicUser = true;
ExecStart = "${getExe cfg.package} start --config ${settingsFormat.generate "scrutiny.yaml" cfg.settings}";
Restart = "always";
StateDirectory = "scrutiny";
StateDirectoryMode = "0750";
};
}; };
serviceConfig = {
DynamicUser = true;
ExecStart = "${getExe cfg.package} start --config ${settingsFormat.generate "scrutiny.yaml" cfg.settings}";
Restart = "always";
StateDirectory = "scrutiny";
StateDirectoryMode = "0750";
};
};
})
(mkIf cfg.collector.enable {
services.smartd = {
enable = true;
extraOptions = [
"-A /var/log/smartd/"
"--interval=600"
];
};
scrutiny-collector = mkIf cfg.collector.enable { systemd = {
services.scrutiny-collector = {
description = "Scrutiny Collector Service"; description = "Scrutiny Collector Service";
environment = { environment = {
COLLECTOR_VERSION = "1"; COLLECTOR_VERSION = "1";
@ -203,13 +205,11 @@ in
}; };
startAt = cfg.collector.schedule; startAt = cfg.collector.schedule;
}; };
};
timers = mkIf cfg.collector.enable { timers.scrutiny-collector.timerConfig.Persistent = true;
scrutiny-collector.timerConfig.Persistent = true;
}; };
}; })
}; ];
meta.maintainers = [ maintainers.jnsgruk ]; meta.maintainers = [ maintainers.jnsgruk ];
} }

View File

@ -584,6 +584,7 @@ in
description = "Ensure that NetworkManager declarative profiles are created"; description = "Ensure that NetworkManager declarative profiles are created";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
before = [ "network-online.target" ]; before = [ "network-online.target" ];
after = [ "NetworkManager.service" ];
script = let script = let
path = id: "/run/NetworkManager/system-connections/${id}.nmconnection"; path = id: "/run/NetworkManager/system-connections/${id}.nmconnection";
in '' in ''
@ -593,9 +594,7 @@ in
${pkgs.envsubst}/bin/envsubst -i ${ini.generate (lib.escapeShellArg profile.n) profile.v} > ${path (lib.escapeShellArg profile.n)} ${pkgs.envsubst}/bin/envsubst -i ${ini.generate (lib.escapeShellArg profile.n) profile.v} > ${path (lib.escapeShellArg profile.n)}
'') (lib.mapAttrsToList (n: v: { inherit n v; }) cfg.ensureProfiles.profiles) '') (lib.mapAttrsToList (n: v: { inherit n v; }) cfg.ensureProfiles.profiles)
+ '' + ''
if systemctl is-active --quiet NetworkManager; then ${pkgs.networkmanager}/bin/nmcli connection reload
${pkgs.networkmanager}/bin/nmcli connection reload
fi
''; '';
serviceConfig = { serviceConfig = {
EnvironmentFile = cfg.ensureProfiles.environmentFiles; EnvironmentFile = cfg.ensureProfiles.environmentFiles;

View File

@ -1,99 +1,122 @@
{ config, pkgs, lib, ... }: {
config,
with lib; pkgs,
lib,
...
}:
let let
cfg = config.services.komga; cfg = config.services.komga;
inherit (lib) mkOption mkEnableOption maintainers;
in { inherit (lib.types) port str bool;
in
{
options = { options = {
services.komga = { services.komga = {
enable = mkEnableOption (lib.mdDoc "Komga, a free and open source comics/mangas media server"); enable = mkEnableOption "Komga, a free and open source comics/mangas media server";
port = mkOption { port = mkOption {
type = types.port; type = port;
default = 8080; default = 8080;
description = lib.mdDoc '' description = "The port that Komga will listen on.";
The port that Komga will listen on.
'';
}; };
user = mkOption { user = mkOption {
type = types.str; type = str;
default = "komga"; default = "komga";
description = lib.mdDoc '' description = "User account under which Komga runs.";
User account under which Komga runs.
'';
}; };
group = mkOption { group = mkOption {
type = types.str; type = str;
default = "komga"; default = "komga";
description = lib.mdDoc '' description = "Group under which Komga runs.";
Group under which Komga runs.
'';
}; };
stateDir = mkOption { stateDir = mkOption {
type = types.str; type = str;
default = "/var/lib/komga"; default = "/var/lib/komga";
description = lib.mdDoc '' description = "State and configuration directory Komga will use.";
State and configuration directory Komga will use.
'';
}; };
openFirewall = mkOption { openFirewall = mkOption {
type = types.bool; type = bool;
default = false; default = false;
description = lib.mdDoc '' description = "Whether to open the firewall for the port in {option}`services.komga.port`.";
Whether to open the firewall for the port in {option}`services.komga.port`.
'';
}; };
}; };
}; };
config = mkIf cfg.enable { config =
let
inherit (lib) mkIf getExe;
in
mkIf cfg.enable {
networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ]; networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ];
users.groups = mkIf (cfg.group == "komga") { users.groups = mkIf (cfg.group == "komga") { komga = { }; };
komga = {};
};
users.users = mkIf (cfg.user == "komga") { users.users = mkIf (cfg.user == "komga") {
komga = { komga = {
group = cfg.group; group = cfg.group;
home = cfg.stateDir; home = cfg.stateDir;
description = "Komga Daemon user"; description = "Komga Daemon user";
isSystemUser = true; isSystemUser = true;
}; };
};
systemd.services.komga = {
environment = {
SERVER_PORT = builtins.toString cfg.port;
KOMGA_CONFIGDIR = cfg.stateDir;
}; };
description = "Komga is a free and open source comics/mangas media server"; systemd.services.komga = {
environment = {
SERVER_PORT = builtins.toString cfg.port;
KOMGA_CONFIGDIR = cfg.stateDir;
};
wantedBy = [ "multi-user.target" ]; description = "Komga is a free and open source comics/mangas media server";
wants = [ "network-online.target" ];
after = [ "network-online.target" ];
serviceConfig = { wantedBy = [ "multi-user.target" ];
User = cfg.user; wants = [ "network-online.target" ];
Group = cfg.group; after = [ "network-online.target" ];
Type = "simple"; serviceConfig = {
Restart = "on-failure"; User = cfg.user;
ExecStart = "${pkgs.komga}/bin/komga"; Group = cfg.group;
StateDirectory = mkIf (cfg.stateDir == "/var/lib/komga") "komga"; Type = "simple";
Restart = "on-failure";
ExecStart = getExe pkgs.komga;
StateDirectory = mkIf (cfg.stateDir == "/var/lib/komga") "komga";
RemoveIPC = true;
NoNewPrivileges = true;
CapabilityBoundingSet = "";
SystemCallFilter = [ "@system-service" ];
ProtectSystem = "full";
PrivateTmp = true;
ProtectProc = "invisible";
ProtectClock = true;
ProcSubset = "pid";
PrivateUsers = true;
PrivateDevices = true;
ProtectHostname = true;
ProtectKernelTunables = true;
RestrictAddressFamilies = [
"AF_INET"
"AF_INET6"
"AF_NETLINK"
];
LockPersonality = true;
RestrictNamespaces = true;
ProtectKernelLogs = true;
ProtectControlGroups = true;
ProtectKernelModules = true;
SystemCallArchitectures = "native";
RestrictSUIDSGID = true;
RestrictRealtime = true;
};
}; };
}; };
};
meta.maintainers = with maintainers; [ govanify ]; meta.maintainers = with maintainers; [ govanify ];
} }

View File

@ -0,0 +1,579 @@
{ config
, lib
, pkgs
, utils
, ...
}:
let
inherit (lib)
concatMapStringsSep
escapeShellArgs
filter
filterAttrs
getExe
getExe'
isAttrs
isList
literalExpression
mapAttrs
mkDefault
mkEnableOption
mkIf
mkOption
mkPackageOption
optionals
optionalString
recursiveUpdate
types
;
filterRecursiveNull = o:
if isAttrs o then
mapAttrs (_: v: filterRecursiveNull v) (filterAttrs (_: v: v != null) o)
else if isList o then
map filterRecursiveNull (filter (v: v != null) o)
else
o;
cfg = config.services.pretix;
format = pkgs.formats.ini { };
configFile = format.generate "pretix.cfg" (filterRecursiveNull cfg.settings);
finalPackage = cfg.package.override {
inherit (cfg) plugins;
};
pythonEnv = cfg.package.python.buildEnv.override {
extraLibs = with cfg.package.python.pkgs; [
(toPythonModule finalPackage)
gunicorn
]
++ lib.optionals (cfg.settings.memcached.location != null)
cfg.package.optional-dependencies.memcached
;
};
withRedis = cfg.settings.redis.location != null;
in
{
meta = with lib; {
maintainers = with maintainers; [ hexa ];
};
options.services.pretix = {
enable = mkEnableOption "pretix";
package = mkPackageOption pkgs "pretix" { };
group = mkOption {
type = types.str;
default = "pretix";
description = ''
Group under which pretix should run.
'';
};
user = mkOption {
type = types.str;
default = "pretix";
description = ''
User under which pretix should run.
'';
};
environmentFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/keys/pretix-secrets.env";
description = ''
Environment file to pass secret configuration values.
Each line must follow the `PRETIX_SECTION_KEY=value` pattern.
'';
};
plugins = mkOption {
type = types.listOf types.package;
default = [];
example = literalExpression ''
with config.services.pretix.package.plugins; [
passbook
pages
];
'';
description = ''
Pretix plugins to install into the Python environment.
'';
};
gunicorn.extraArgs = mkOption {
type = with types; listOf str;
default = [
"--name=pretix"
];
example = [
"--name=pretix"
"--workers=4"
"--max-requests=1200"
"--max-requests-jitter=50"
"--log-level=info"
];
description = ''
Extra arguments to pass to gunicorn.
See <https://docs.pretix.eu/en/latest/admin/installation/manual_smallscale.html#start-pretix-as-a-service> for details.
'';
apply = escapeShellArgs;
};
celery = {
extraArgs = mkOption {
type = with types; listOf str;
default = [ ];
description = ''
Extra arguments to pass to celery.
See <https://docs.celeryq.dev/en/stable/reference/cli.html#celery-worker> for more info.
'';
apply = utils.escapeSystemdExecArgs;
};
};
nginx = {
enable = mkOption {
type = types.bool;
default = true;
example = false;
description = ''
Whether to set up an nginx virtual host.
'';
};
domain = mkOption {
type = types.str;
example = "talks.example.com";
description = ''
The domain name under which to set up the virtual host.
'';
};
};
database.createLocally = mkOption {
type = types.bool;
default = true;
example = false;
description = ''
Whether to automatically set up the database on the local DBMS instance.
Only supported for PostgreSQL. Not required for sqlite.
'';
};
settings = mkOption {
type = types.submodule {
freeformType = format.type;
options = {
pretix = {
instance_name = mkOption {
type = types.str;
example = "tickets.example.com";
description = ''
The name of this installation.
'';
};
url = mkOption {
type = types.str;
example = "https://tickets.example.com";
description = ''
The installations full URL, without a trailing slash.
'';
};
cachedir = mkOption {
type = types.path;
default = "/var/cache/pretix";
description = ''
Directory for storing temporary files.
'';
};
datadir = mkOption {
type = types.path;
default = "/var/lib/pretix";
description = ''
Directory for storing user uploads and similar data.
'';
};
logdir = mkOption {
type = types.path;
default = "/var/log/pretix";
description = ''
Directory for storing log files.
'';
};
currency = mkOption {
type = types.str;
default = "EUR";
example = "USD";
description = ''
Default currency for events in its ISO 4217 three-letter code.
'';
};
registration = mkOption {
type = types.bool;
default = false;
example = true;
description = ''
Whether to allow registration of new admin users.
'';
};
};
database = {
backend = mkOption {
type = types.enum [
"sqlite3"
"postgresql"
];
default = "postgresql";
description = ''
Database backend to use.
Only postgresql is recommended for production setups.
'';
};
host = mkOption {
type = with types; nullOr types.path;
default = if cfg.settings.database.backend == "postgresql" then "/run/postgresql" else null;
defaultText = literalExpression ''
if config.services.pretix.settings..database.backend == "postgresql" then "/run/postgresql"
else null
'';
description = ''
Database host or socket path.
'';
};
name = mkOption {
type = types.str;
default = "pretix";
description = ''
Database name.
'';
};
user = mkOption {
type = types.str;
default = "pretix";
description = ''
Database username.
'';
};
};
mail = {
from = mkOption {
type = types.str;
example = "tickets@example.com";
description = ''
E-Mail address used in the `FROM` header of outgoing mails.
'';
};
host = mkOption {
type = types.str;
default = "localhost";
example = "mail.example.com";
description = ''
Hostname of the SMTP server use for mail delivery.
'';
};
port = mkOption {
type = types.port;
default = 25;
example = 587;
description = ''
Port of the SMTP server to use for mail delivery.
'';
};
};
celery = {
backend = mkOption {
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"
'';
description = ''
URI to the celery backend used for the asynchronous job queue.
'';
};
broker = mkOption {
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"
'';
description = ''
URI to the celery broker used for the asynchronous job queue.
'';
};
};
redis = {
location = mkOption {
type = with types; nullOr str;
default = "unix://${config.services.redis.servers.pretix.unixSocket}?db=0";
defaultText = literalExpression ''
"unix://''${config.services.redis.servers.pretix.unixSocket}?db=0"
'';
description = ''
URI to the redis server, used to speed up locking, caching and session storage.
'';
};
sessions = mkOption {
type = types.bool;
default = true;
example = false;
description = ''
Whether to use redis as the session storage.
'';
};
};
memcached = {
location = mkOption {
type = with types; nullOr str;
default = null;
example = "127.0.0.1:11211";
description = ''
The `host:port` combination or the path to the UNIX socket of a memcached instance.
Can be used instead of Redis for caching.
'';
};
};
tools = {
pdftk = mkOption {
type = types.path;
default = getExe pkgs.pdftk;
defaultText = literalExpression ''
lib.getExe pkgs.pdftk
'';
description = ''
Path to the pdftk executable.
'';
};
};
};
};
default = { };
description = ''
pretix configuration as a Nix attribute set. All settings can also be passed
from the environment.
See <https://docs.pretix.eu/en/latest/admin/config.html> for possible options.
'';
};
};
config = mkIf cfg.enable {
# https://docs.pretix.eu/en/latest/admin/installation/index.html
environment.systemPackages = [
(pkgs.writeScriptBin "pretix-manage" ''
cd ${cfg.settings.pretix.datadir}
sudo=exec
if [[ "$USER" != ${cfg.user} ]]; then
sudo='exec /run/wrappers/bin/sudo -u ${cfg.user} ${optionalString withRedis "-g redis-pretix"} --preserve-env=PRETIX_CONFIG_FILE'
fi
export PRETIX_CONFIG_FILE=${configFile}
$sudo ${getExe' pythonEnv "pretix-manage"} "$@"
'')
];
services = {
nginx = mkIf cfg.nginx.enable {
enable = true;
recommendedGzipSettings = mkDefault true;
recommendedOptimisation = mkDefault true;
recommendedProxySettings = mkDefault true;
recommendedTlsSettings = mkDefault true;
upstreams.pretix.servers."unix:/run/pretix/pretix.sock" = { };
virtualHosts.${cfg.nginx.domain} = {
# https://docs.pretix.eu/en/latest/admin/installation/manual_smallscale.html#ssl
extraConfig = ''
more_set_headers Referrer-Policy same-origin;
more_set_headers X-Content-Type-Options nosniff;
'';
locations = {
"/".proxyPass = "http://pretix";
"/media/" = {
alias = "${cfg.settings.pretix.datadir}/media/";
extraConfig = ''
access_log off;
expires 7d;
'';
};
"^~ /media/(cachedfiles|invoices)" = {
extraConfig = ''
deny all;
return 404;
'';
};
"/static/" = {
alias = "${finalPackage}/${cfg.package.python.sitePackages}/pretix/static.dist/";
extraConfig = ''
access_log off;
more_set_headers Cache-Control "public";
expires 365d;
'';
};
};
};
};
postgresql = mkIf (cfg.database.createLocally && cfg.settings.database.backend == "postgresql") {
enable = true;
ensureUsers = [ {
name = cfg.settings.database.user;
ensureDBOwnership = true;
} ];
ensureDatabases = [ cfg.settings.database.name ];
};
redis.servers.pretix.enable = withRedis;
};
systemd.services = let
commonUnitConfig = {
environment.PRETIX_CONFIG_FILE = configFile;
serviceConfig = {
User = "pretix";
Group = "pretix";
EnvironmentFile = optionals (cfg.environmentFile != null) [
cfg.environmentFile
];
StateDirectory = [
"pretix"
];
CacheDirectory = "pretix";
LogsDirectory = "pretix";
WorkingDirectory = cfg.settings.pretix.datadir;
SupplementaryGroups = optionals withRedis [
"redis-pretix"
];
AmbientCapabilities = "";
CapabilityBoundingSet = [ "" ];
DevicePolicy = "closed";
LockPersonality = true;
MemoryDenyWriteExecute = true;
NoNewPrivileges = true;
PrivateDevices = true;
PrivateTmp = true;
ProcSubset = "pid";
ProtectControlGroups = true;
ProtectHome = true;
ProtectHostname = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectProc = "invisible";
ProtectSystem = "strict";
RemoveIPC = true;
RestrictAddressFamilies = [
"AF_INET"
"AF_INET6"
"AF_UNIX"
];
RestrictNamespaces = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
SystemCallFilter = [
"@system-service"
"~@privileged"
"@chown"
];
UMask = "0077";
};
};
in {
pretix-web = recursiveUpdate commonUnitConfig {
description = "pretix web service";
after = [
"network.target"
"redis-pretix.service"
"postgresql.service"
];
wantedBy = [ "multi-user.target" ];
preStart = ''
versionFile="${cfg.settings.pretix.datadir}/.version"
version=$(cat "$versionFile" 2>/dev/null || echo 0)
pluginsFile="${cfg.settings.pretix.datadir}/.plugins"
plugins=$(cat "$pluginsFile" 2>/dev/null || echo "")
configuredPlugins="${concatMapStringsSep "|" (package: package.name) cfg.plugins}"
if [[ $version != ${cfg.package.version} || $plugins != $configuredPlugins ]]; then
${getExe' pythonEnv "pretix-manage"} migrate
echo "${cfg.package.version}" > "$versionFile"
echo "$configuredPlugins" > "$pluginsFile"
fi
'';
serviceConfig = {
ExecStart = "${getExe' pythonEnv "gunicorn"} --bind unix:/run/pretix/pretix.sock ${cfg.gunicorn.extraArgs} pretix.wsgi";
RuntimeDirectory = "pretix";
};
};
pretix-periodic = recursiveUpdate commonUnitConfig {
description = "pretix periodic task runner";
# every 15 minutes
startAt = [ "*:3,18,33,48" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${getExe' pythonEnv "pretix-manage"} runperiodic";
};
};
pretix-worker = recursiveUpdate commonUnitConfig {
description = "pretix asynchronous job runner";
after = [
"network.target"
"redis-pretix.service"
"postgresql.service"
];
wantedBy = [ "multi-user.target" ];
serviceConfig.ExecStart = "${getExe' pythonEnv "celery"} -A pretix.celery_app worker ${cfg.celery.extraArgs}";
};
};
systemd.sockets.pretix-web.socketConfig = {
ListenStream = "/run/pretix/pretix.sock";
SocketUser = "nginx";
};
users = {
groups."${cfg.group}" = {};
users."${cfg.user}" = {
isSystemUser = true;
createHome = true;
home = cfg.settings.pretix.datadir;
inherit (cfg) group;
};
};
};
}

View File

@ -20,6 +20,22 @@ in
}; };
debug = mkEnableOption (lib.mdDoc "mate-session debug messages"); debug = mkEnableOption (lib.mdDoc "mate-session debug messages");
extraPanelApplets = mkOption {
default = [ ];
example = literalExpression "with pkgs.mate; [ mate-applets ]";
type = types.listOf types.package;
description = lib.mdDoc "Extra applets to add to mate-panel.";
};
extraCajaExtensions = mkOption {
default = [ ];
example = lib.literalExpression "with pkgs.mate; [ caja-extensions ]";
type = types.listOf types.package;
description = lib.mdDoc "Extra extensions to add to caja.";
};
enableWaylandSession = mkEnableOption (lib.mdDoc "MATE Wayland session");
}; };
environment.mate.excludePackages = mkOption { environment.mate.excludePackages = mkOption {
@ -31,55 +47,63 @@ in
}; };
config = mkIf cfg.enable { config = mkMerge [
(mkIf (cfg.enable || cfg.enableWaylandSession) {
services.xserver.displayManager.sessionPackages = [
pkgs.mate.mate-session-manager
];
services.xserver.displayManager.sessionPackages = [ # Debugging
pkgs.mate.mate-session-manager environment.sessionVariables.MATE_SESSION_DEBUG = mkIf cfg.debug "1";
];
# Let caja find extensions environment.systemPackages = utils.removePackagesByName
environment.sessionVariables.CAJA_EXTENSION_DIRS = [ "${config.system.path}/lib/caja/extensions-2.0" ]; (pkgs.mate.basePackages ++
pkgs.mate.extraPackages ++
[
(pkgs.mate.caja-with-extensions.override {
extensions = cfg.extraCajaExtensions;
})
(pkgs.mate.mate-panel-with-applets.override {
applets = cfg.extraPanelApplets;
})
pkgs.desktop-file-utils
pkgs.glib
pkgs.gtk3.out
pkgs.shared-mime-info
pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
pkgs.yelp # for 'Contents' in 'Help' menus
])
config.environment.mate.excludePackages;
# Let mate-panel find applets programs.dconf.enable = true;
environment.sessionVariables."MATE_PANEL_APPLETS_DIR" = "${config.system.path}/share/mate-panel/applets"; # Shell integration for VTE terminals
environment.sessionVariables."MATE_PANEL_EXTRA_MODULES" = "${config.system.path}/lib/mate-panel/applets"; programs.bash.vteIntegration = mkDefault true;
programs.zsh.vteIntegration = mkDefault true;
# Debugging # Mate uses this for printing
environment.sessionVariables.MATE_SESSION_DEBUG = mkIf cfg.debug "1"; programs.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
environment.systemPackages = utils.removePackagesByName services.gnome.at-spi2-core.enable = true;
(pkgs.mate.basePackages ++ services.gnome.gnome-keyring.enable = true;
pkgs.mate.extraPackages ++ services.udev.packages = [ pkgs.mate.mate-settings-daemon ];
[ services.gvfs.enable = true;
pkgs.desktop-file-utils services.upower.enable = config.powerManagement.enable;
pkgs.glib services.xserver.libinput.enable = mkDefault true;
pkgs.gtk3.out
pkgs.shared-mime-info
pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
pkgs.yelp # for 'Contents' in 'Help' menus
])
config.environment.mate.excludePackages;
programs.dconf.enable = true; security.pam.services.mate-screensaver.unixAuth = true;
# Shell integration for VTE terminals
programs.bash.vteIntegration = mkDefault true;
programs.zsh.vteIntegration = mkDefault true;
# Mate uses this for printing xdg.portal.configPackages = mkDefault [ pkgs.mate.mate-desktop ];
programs.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
services.gnome.at-spi2-core.enable = true; environment.pathsToLink = [ "/share" ];
services.gnome.gnome-keyring.enable = true; })
services.udev.packages = [ pkgs.mate.mate-settings-daemon ]; (mkIf cfg.enableWaylandSession {
services.gvfs.enable = true; programs.wayfire.enable = true;
services.upower.enable = config.powerManagement.enable; programs.wayfire.plugins = [ pkgs.wayfirePlugins.firedecor ];
services.xserver.libinput.enable = mkDefault true;
security.pam.services.mate-screensaver.unixAuth = true; environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${pkgs.mate.mate-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
xdg.portal.configPackages = mkDefault [ pkgs.mate.mate-desktop ];
environment.pathsToLink = [ "/share" ];
};
environment.systemPackages = [ pkgs.mate.mate-wayland-session ];
services.xserver.displayManager.sessionPackages = [ pkgs.mate.mate-wayland-session ];
})
];
} }

View File

@ -79,6 +79,10 @@ in
serviceConfig.StandardOutput = "journal+console"; serviceConfig.StandardOutput = "journal+console";
}; };
# Amazon-issued AMIs include the SSM Agent by default, so we do the same.
# https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html
services.amazon-ssm-agent.enable = true;
# Allow root logins only using the SSH key that the user specified # Allow root logins only using the SSH key that the user specified
# at instance creation time. # at instance creation time.
services.openssh.enable = true; services.openssh.enable = true;

View File

@ -513,6 +513,7 @@ in {
mastodon = discoverTests (import ./web-apps/mastodon { inherit handleTestOn; }); mastodon = discoverTests (import ./web-apps/mastodon { inherit handleTestOn; });
pixelfed = discoverTests (import ./web-apps/pixelfed { inherit handleTestOn; }); pixelfed = discoverTests (import ./web-apps/pixelfed { inherit handleTestOn; });
mate = handleTest ./mate.nix {}; mate = handleTest ./mate.nix {};
mate-wayland = handleTest ./mate-wayland.nix {};
matter-server = handleTest ./matter-server.nix {}; matter-server = handleTest ./matter-server.nix {};
matomo = handleTest ./matomo.nix {}; matomo = handleTest ./matomo.nix {};
matrix-appservice-irc = handleTest ./matrix/appservice-irc.nix {}; matrix-appservice-irc = handleTest ./matrix/appservice-irc.nix {};
@ -729,6 +730,7 @@ in {
pppd = handleTest ./pppd.nix {}; pppd = handleTest ./pppd.nix {};
predictable-interface-names = handleTest ./predictable-interface-names.nix {}; predictable-interface-names = handleTest ./predictable-interface-names.nix {};
pretalx = runTest ./web-apps/pretalx.nix; pretalx = runTest ./web-apps/pretalx.nix;
pretix = runTest ./web-apps/pretix.nix;
printing-socket = handleTest ./printing.nix { socket = true; }; printing-socket = handleTest ./printing.nix { socket = true; };
printing-service = handleTest ./printing.nix { socket = false; }; printing-service = handleTest ./printing.nix { socket = false; };
privoxy = handleTest ./privoxy.nix {}; privoxy = handleTest ./privoxy.nix {};

View File

@ -29,6 +29,8 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
testScript = { nodes, ... }: testScript = { nodes, ... }:
let let
user = nodes.machine.users.users.alice; user = nodes.machine.users.users.alice;
env = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus DISPLAY=:0";
su = command: "su - ${user.name} -c '${env} ${command}'";
in in
'' ''
with subtest("Wait for login"): with subtest("Wait for login"):
@ -47,21 +49,45 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}") machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}")
with subtest("Check if Budgie session components actually start"): with subtest("Check if Budgie session components actually start"):
machine.wait_until_succeeds("pgrep budgie-daemon") for i in ["budgie-daemon", "budgie-panel", "budgie-wm", "budgie-desktop-view", "gsd-media-keys"]:
machine.wait_for_window("budgie-daemon") machine.wait_until_succeeds(f"pgrep -f {i}")
machine.wait_until_succeeds("pgrep budgie-panel") # We don't check xwininfo for budgie-wm.
machine.wait_for_window("budgie-panel")
# We don't check xwininfo for this one.
# See https://github.com/NixOS/nixpkgs/pull/216737#discussion_r1155312754 # See https://github.com/NixOS/nixpkgs/pull/216737#discussion_r1155312754
machine.wait_until_succeeds("pgrep budgie-wm") machine.wait_for_window("budgie-daemon")
machine.wait_for_window("budgie-panel")
with subtest("Check if various environment variables are set"):
cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf /run/current-system/sw/bin/budgie-wm)/environ"
machine.succeed(f"{cmd} | grep 'XDG_CURRENT_DESKTOP' | grep 'Budgie:GNOME'")
machine.succeed(f"{cmd} | grep 'BUDGIE_PLUGIN_DATADIR' | grep '${pkgs.budgie.budgie-desktop-with-plugins.pname}'")
with subtest("Open Budgie Control Center"):
machine.send_key("alt-f2")
machine.wait_until_succeeds("pgrep -f budgie-run-dialog")
machine.wait_for_window("budgie-run-dialog")
machine.sleep(3)
machine.send_chars("Budgie Control Center", delay=0.5)
machine.screenshot("quick_search")
machine.send_chars("\n")
machine.wait_for_window("Budgie Control Center")
with subtest("Lock the screen"):
machine.succeed("${su "budgie-screensaver-command -l >&2 &"}")
machine.wait_until_succeeds("${su "budgie-screensaver-command -q"} | grep 'The screensaver is active'")
machine.sleep(2)
machine.send_chars("${user.password}", delay=0.5)
machine.screenshot("budgie_screensaver")
machine.send_chars("\n")
machine.wait_until_succeeds("${su "budgie-screensaver-command -q"} | grep 'The screensaver is inactive'")
machine.sleep(2)
with subtest("Open MATE terminal"): with subtest("Open MATE terminal"):
machine.succeed("su - ${user.name} -c 'DISPLAY=:0 mate-terminal >&2 &'") machine.succeed("${su "mate-terminal >&2 &"}")
machine.wait_for_window("Terminal") machine.wait_for_window("Terminal")
with subtest("Check if budgie-wm has ever coredumped"): with subtest("Check if Budgie has ever coredumped"):
machine.fail("coredumpctl --json=short | grep budgie-wm") machine.fail("coredumpctl --json=short | grep budgie")
machine.sleep(20) machine.sleep(10)
machine.screenshot("screen") machine.screenshot("screen")
''; '';
}) })

View File

@ -0,0 +1,63 @@
import ./make-test-python.nix ({ pkgs, lib, ... }: {
name = "mate-wayland";
meta.maintainers = lib.teams.mate.members;
nodes.machine = { ... }: {
imports = [
./common/user-account.nix
];
services.xserver.enable = true;
services.xserver.displayManager = {
sddm.enable = true; # https://github.com/canonical/lightdm/issues/63
sddm.wayland.enable = true;
defaultSession = "MATE";
autoLogin = {
enable = true;
user = "alice";
};
};
services.xserver.desktopManager.mate.enableWaylandSession = true;
hardware.pulseaudio.enable = true;
# Need to switch to a different GPU driver than the default one (-vga std) so that wayfire can launch:
virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ];
};
enableOCR = true;
testScript = { nodes, ... }:
let
user = nodes.machine.users.users.alice;
in
''
machine.wait_for_unit("display-manager.service")
with subtest("Wait for Wayland server"):
machine.wait_for_file("/run/user/${toString user.uid}/wayland-1")
with subtest("Check if MATE session components actually start"):
for i in ["wayfire", "mate-panel", "mate-wayland.sh", "mate-wayland-components.sh"]:
machine.wait_until_succeeds(f"pgrep -f {i}")
machine.wait_for_text('(Applications|Places|System)')
# It is expected that this applet doesn't work in Wayland
machine.wait_for_text('WorkspaceSwitcherApplet')
with subtest("Check if various environment variables are set"):
cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf mate-panel)/environ"
machine.succeed(f"{cmd} | grep 'XDG_SESSION_TYPE' | grep 'wayland'")
machine.succeed(f"{cmd} | grep 'XDG_SESSION_DESKTOP' | grep 'MATE'")
machine.succeed(f"{cmd} | grep 'MATE_PANEL_APPLETS_DIR' | grep '${pkgs.mate.mate-panel-with-applets.pname}'")
with subtest("Check if Wayfire config is properly configured"):
for i in ["button_style = mate", "firedecor", "mate-wayland-components.sh"]:
machine.wait_until_succeeds(f"cat /home/${user.name}/.config/mate/wayfire.ini | grep '{i}'")
with subtest("Check if Wayfire has ever coredumped"):
machine.fail("coredumpctl --json=short | grep wayfire")
machine.sleep(10)
machine.screenshot("screen")
'';
})

View File

@ -54,6 +54,15 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
machine.wait_for_text('(Applications|Places|System)') machine.wait_for_text('(Applications|Places|System)')
machine.wait_for_text('(Computer|Home|Trash)') machine.wait_for_text('(Computer|Home|Trash)')
with subtest("Check if various environment variables are set"):
machine.succeed("xargs --null --max-args=1 echo < /proc/$(pgrep -xf marco)/environ | grep 'XDG_CURRENT_DESKTOP' | grep 'MATE'")
# From mate-panel-with-applets packaging
machine.succeed("xargs --null --max-args=1 echo < /proc/$(pgrep -xf mate-panel)/environ | grep 'MATE_PANEL_APPLETS_DIR' | grep '${pkgs.mate.mate-panel-with-applets.pname}'")
with subtest("Check if applets are built with in-process support"):
# This is needed for Wayland support
machine.fail("pgrep -fa clock-applet")
with subtest("Lock the screen"): with subtest("Lock the screen"):
machine.wait_until_succeeds("su - ${user.name} -c '${env} mate-screensaver-command -q' | grep 'The screensaver is inactive'") machine.wait_until_succeeds("su - ${user.name} -c '${env} mate-screensaver-command -q' | grep 'The screensaver is inactive'")
machine.succeed("su - ${user.name} -c '${env} mate-screensaver-command -l >&2 &'") machine.succeed("su - ${user.name} -c '${env} mate-screensaver-command -l >&2 &'")

View File

@ -0,0 +1,47 @@
{
lib,
pkgs,
...
}:
{
name = "pretix";
meta.maintainers = with lib.maintainers; [ hexa ];
nodes = {
pretix = {
networking.extraHosts = ''
127.0.0.1 tickets.local
'';
services.pretix = {
enable = true;
nginx.domain = "tickets.local";
plugins = with pkgs.pretix.plugins; [
passbook
pages
];
settings = {
pretix = {
instance_name = "NixOS Test";
url = "http://tickets.local";
};
mail.from = "hello@tickets.local";
};
};
};
};
testScript = ''
start_all()
pretix.wait_for_unit("pretix-web.service")
pretix.wait_for_unit("pretix-worker.service")
pretix.wait_until_succeeds("curl -q --fail http://tickets.local")
pretix.succeed("pretix-manage --help")
pretix.log(pretix.succeed("systemd-analyze security pretix-web.service"))
'';
}

View File

@ -20,13 +20,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gridcoin-research"; pname = "gridcoin-research";
version = "5.4.6.0-hotfix-1"; version = "5.4.7.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gridcoin-community"; owner = "gridcoin-community";
repo = "Gridcoin-Research"; repo = "Gridcoin-Research";
rev = "${version}"; rev = "${version}";
sha256 = "sha256-fFxHJJ+EMnv0CterTwJbAfybF9WCzaSP7ynlxx2hE5A="; sha256 = "sha256-wdXah7QnWohGAtC98exPSkhg5F3BaBOiFs6bklFxD7E=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -5,11 +5,11 @@
let let
pname = "codux"; pname = "codux";
version = "15.22.0"; version = "15.22.2";
src = fetchurl { src = fetchurl {
url = "https://github.com/wixplosives/codux-versions/releases/download/${version}/Codux-${version}.x86_64.AppImage"; url = "https://github.com/wixplosives/codux-versions/releases/download/${version}/Codux-${version}.x86_64.AppImage";
sha256 = "sha256-6UYWg018TumJVgZpLVLlkM+/sTqC6y0A7KVfiwn0hzw="; sha256 = "sha256-aYGZPoA2Tux6pmpZFShkZB+os34jZczXsfmYN/pu+Ic=";
}; };
appimageContents = appimageTools.extractType2 { inherit pname version src; }; appimageContents = appimageTools.extractType2 { inherit pname version src; };

View File

@ -24,7 +24,7 @@
"new": "nvchad-ui" "new": "nvchad-ui"
}, },
"nvim-base16": { "nvim-base16": {
"date": "2024-02-15", "date": "2024-03-16",
"new": "base16-nvim" "new": "base16-nvim"
}, },
"nvim-bufferline-lua": { "nvim-bufferline-lua": {
@ -47,6 +47,10 @@
"date": "2021-09-03", "date": "2021-09-03",
"new": "sqlite-lua" "new": "sqlite-lua"
}, },
"vim-fsharp": {
"date": "2024-03-16",
"new": "zarchive-vim-fsharp"
},
"vim-jade": { "vim-jade": {
"date": "2020-03-27", "date": "2020-03-27",
"new": "vim-pug" "new": "vim-pug"

File diff suppressed because it is too large Load Diff

View File

@ -27,12 +27,12 @@
}; };
angular = buildGrammar { angular = buildGrammar {
language = "angular"; language = "angular";
version = "0.0.0+rev=6d02054"; version = "0.0.0+rev=62179d7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dlvandenberg"; owner = "dlvandenberg";
repo = "tree-sitter-angular"; repo = "tree-sitter-angular";
rev = "6d02054ae9aa1fedf5097fe6d93dd78f751dff21"; rev = "62179d7bbfb5fd8a8f7298495ac654d252a1bd52";
hash = "sha256-Bm3I9a14WMNqL+nt5qr8Bd0Z4BOTCCF25wFrJ07FCSw="; hash = "sha256-qRsBeJ01kGTKJqFubG1u9SFa1nsDH7ZHKQ0cGwfqi84=";
}; };
meta.homepage = "https://github.com/dlvandenberg/tree-sitter-angular"; meta.homepage = "https://github.com/dlvandenberg/tree-sitter-angular";
}; };
@ -50,12 +50,12 @@
}; };
arduino = buildGrammar { arduino = buildGrammar {
language = "arduino"; language = "arduino";
version = "0.0.0+rev=7722d43"; version = "0.0.0+rev=e3a0a7f";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ObserverOfTime"; owner = "ObserverOfTime";
repo = "tree-sitter-arduino"; repo = "tree-sitter-arduino";
rev = "7722d4398d87ea22c4877264f88b45bd7ce0cba5"; rev = "e3a0a7f60e544afc478b72cdda7ffc0f2f889db0";
hash = "sha256-pNiJY+KJ8QrL7xXOX/NRIFxIbXmf9DkVC9FUvXlk5qQ="; hash = "sha256-WdGCnZSMxyNJJYHB5H5Atc9EW2/0oB22/OWyxTrQHT8=";
}; };
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-arduino"; meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-arduino";
}; };
@ -94,23 +94,23 @@
}; };
awk = buildGrammar { awk = buildGrammar {
language = "awk"; language = "awk";
version = "0.0.0+rev=207b049"; version = "0.0.0+rev=ba74721";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Beaglefoot"; owner = "Beaglefoot";
repo = "tree-sitter-awk"; repo = "tree-sitter-awk";
rev = "207b04974c83d8d25a947e4d09763675c4617da7"; rev = "ba7472152d79a8c916550c80fdbfd5724d07a0c9";
hash = "sha256-sW6ix5j9VpeQj7dct9u3cJ8sXgjIQlhQ7Nnh2S8wWbk="; hash = "sha256-ywrd9wCdrQ9UZPXvB8fUkelFaZzHxL+hDAPSecMueFs=";
}; };
meta.homepage = "https://github.com/Beaglefoot/tree-sitter-awk"; meta.homepage = "https://github.com/Beaglefoot/tree-sitter-awk";
}; };
bash = buildGrammar { bash = buildGrammar {
language = "bash"; language = "bash";
version = "0.0.0+rev=975bc70"; version = "0.0.0+rev=f3f26f4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-bash"; repo = "tree-sitter-bash";
rev = "975bc70ad95dbbf2733872bc2e0a059c055db983"; rev = "f3f26f47a126797c011c311cec9d449d855c3eab";
hash = "sha256-SU5wBy81aANd7oUZvYR14Vd53Ml/cBSwDtO6uG34CaE="; hash = "sha256-6Rfxh8Y6dg2wyQ9jYnbOaXm1SVfQDQ1B1tNqgpz6sY4=";
}; };
meta.homepage = "https://github.com/tree-sitter/tree-sitter-bash"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-bash";
}; };
@ -127,12 +127,12 @@
}; };
beancount = buildGrammar { beancount = buildGrammar {
language = "beancount"; language = "beancount";
version = "0.0.0+rev=1f19abf"; version = "0.0.0+rev=6c665e7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "polarmutex"; owner = "polarmutex";
repo = "tree-sitter-beancount"; repo = "tree-sitter-beancount";
rev = "1f19abf1e162e1828013cb5434c6cf30f4054e80"; rev = "6c665e7cf15d76a1687959643868a78fb381458d";
hash = "sha256-yb6z5iLMoK1wWCS9laA1muRVLssFwnyAg4SKWVsti0s="; hash = "sha256-hVFPt+ndXx38SH/e/dORz226SQwDNu1j4cinvJLhkTM=";
}; };
meta.homepage = "https://github.com/polarmutex/tree-sitter-beancount"; meta.homepage = "https://github.com/polarmutex/tree-sitter-beancount";
}; };
@ -182,12 +182,12 @@
}; };
c = buildGrammar { c = buildGrammar {
language = "c"; language = "c";
version = "0.0.0+rev=652433f"; version = "0.0.0+rev=371fd0b";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-c"; repo = "tree-sitter-c";
rev = "652433fce487d8c3943207da38e3e65e4550e288"; rev = "371fd0bf0650581b6e49f06f438c88c419859696";
hash = "sha256-Ld8ufwdOVqRYb9YpOa6z6fWoA+gj0w0nlq3dqhFCap8="; hash = "sha256-zaH4b5lsOtnl1e07ERU2mP/IFvg90YjsFFhvz+EY/ig=";
}; };
meta.homepage = "https://github.com/tree-sitter/tree-sitter-c"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-c";
}; };
@ -248,12 +248,12 @@
}; };
cmake = buildGrammar { cmake = buildGrammar {
language = "cmake"; language = "cmake";
version = "0.0.0+rev=f8de25f"; version = "0.0.0+rev=7dc1582";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "uyha"; owner = "uyha";
repo = "tree-sitter-cmake"; repo = "tree-sitter-cmake";
rev = "f8de25f30757a2def006a7c144354710fe63dcf3"; rev = "7dc15823107831729c64a917c796a93cf5c6a7e3";
hash = "sha256-J8Ro3J9kkH7k/v+nwekCotoS/l28yInhk9p/xaSbegc="; hash = "sha256-kz/FnQMibzmZ6O/x92q8IfrriO0vUlZhozIzhS0jRyo=";
}; };
meta.homepage = "https://github.com/uyha/tree-sitter-cmake"; meta.homepage = "https://github.com/uyha/tree-sitter-cmake";
}; };
@ -359,12 +359,12 @@
}; };
cue = buildGrammar { cue = buildGrammar {
language = "cue"; language = "cue";
version = "0.0.0+rev=2df92e6"; version = "0.0.0+rev=8a5f273";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "eonpatapon"; owner = "eonpatapon";
repo = "tree-sitter-cue"; repo = "tree-sitter-cue";
rev = "2df92e6755337e9234ad18ffef37f35d95e2ba9d"; rev = "8a5f273bfa281c66354da562f2307c2d394b6c81";
hash = "sha256-RsWbGMC2RXfZlZnkXJclMwiGecZ8Sc1OPkG+mmE5r6Q="; hash = "sha256-uV7Tl41PCU+8uJa693km5xvysvbptbT7LvGyYIelspk=";
}; };
meta.homepage = "https://github.com/eonpatapon/tree-sitter-cue"; meta.homepage = "https://github.com/eonpatapon/tree-sitter-cue";
}; };
@ -768,12 +768,12 @@
}; };
gitcommit = buildGrammar { gitcommit = buildGrammar {
language = "gitcommit"; language = "gitcommit";
version = "0.0.0+rev=6bd8196"; version = "0.0.0+rev=523a1a4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gbprod"; owner = "gbprod";
repo = "tree-sitter-gitcommit"; repo = "tree-sitter-gitcommit";
rev = "6bd81962d1abe309bf5dffde3315e4a5988f35fd"; rev = "523a1a4f0f674eff7fbf46addfa6ef7644151aae";
hash = "sha256-aSgnTbhpekeDDUzz9hecebW5ejCnmLiE5d1fTTxP19g="; hash = "sha256-QWWX/92yOZES1XgcCTu77tgcfeRhaUEJJudCCopMBrk=";
}; };
meta.homepage = "https://github.com/gbprod/tree-sitter-gitcommit"; meta.homepage = "https://github.com/gbprod/tree-sitter-gitcommit";
}; };
@ -790,12 +790,12 @@
}; };
gleam = buildGrammar { gleam = buildGrammar {
language = "gleam"; language = "gleam";
version = "0.0.0+rev=58b7cac"; version = "0.0.0+rev=2012f29";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gleam-lang"; owner = "gleam-lang";
repo = "tree-sitter-gleam"; repo = "tree-sitter-gleam";
rev = "58b7cac8fc14c92b0677c542610d8738c373fa81"; rev = "2012f294baacf30e7a62414754021284377366c6";
hash = "sha256-VtuGsa8jKndxlyJKy9UHfZXvAgr63Q0iwceXKfEUAYE="; hash = "sha256-W+PfxqPUKHhLH5UBATmQ1mlSfLPAWIQyDgiSQBWBtBs=";
}; };
meta.homepage = "https://github.com/gleam-lang/tree-sitter-gleam"; meta.homepage = "https://github.com/gleam-lang/tree-sitter-gleam";
}; };
@ -887,6 +887,17 @@
}; };
meta.homepage = "https://github.com/amaanq/tree-sitter-go-sum"; meta.homepage = "https://github.com/amaanq/tree-sitter-go-sum";
}; };
gotmpl = buildGrammar {
language = "gotmpl";
version = "0.0.0+rev=17144a7";
src = fetchFromGitHub {
owner = "ngalaiko";
repo = "tree-sitter-go-template";
rev = "17144a77be0acdecebd9d557398883569fed41de";
hash = "sha256-aB8MTTKzxV9+66goNfFRI39wzuBiGECAc8HvAQzIv80=";
};
meta.homepage = "https://github.com/ngalaiko/tree-sitter-go-template";
};
gowork = buildGrammar { gowork = buildGrammar {
language = "gowork"; language = "gowork";
version = "0.0.0+rev=949a8a4"; version = "0.0.0+rev=949a8a4";
@ -900,12 +911,12 @@
}; };
gpg = buildGrammar { gpg = buildGrammar {
language = "gpg"; language = "gpg";
version = "0.0.0+rev=d4c9cc0"; version = "0.0.0+rev=f99323f";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ObserverOfTime"; owner = "ObserverOfTime";
repo = "tree-sitter-gpg-config"; repo = "tree-sitter-gpg-config";
rev = "d4c9cc0060cd4d1b8ca6d7add9f34352ad310a09"; rev = "f99323fb8f3f10b6c69db0c2f6d0a14bd7330675";
hash = "sha256-kV9GN0qdVNA7LFYoCM/ISEW4Mpd5v9+oHV83XgEJTRs="; hash = "sha256-VJXXpHVMKUNaslsjoKR6XsaUJ8C+0MyidXtRPRywnpg=";
}; };
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-gpg-config"; meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-gpg-config";
}; };
@ -988,26 +999,38 @@
}; };
hcl = buildGrammar { hcl = buildGrammar {
language = "hcl"; language = "hcl";
version = "0.0.0+rev=e135399"; version = "0.0.0+rev=e936d3f";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "MichaHoffmann"; owner = "MichaHoffmann";
repo = "tree-sitter-hcl"; repo = "tree-sitter-hcl";
rev = "e135399cb31b95fac0760b094556d1d5ce84acf0"; rev = "e936d3fef8bac884661472dce71ad82284761eb1";
hash = "sha256-Ylxpj+e9YGhyRRRCCVs0g/zhwHpwGELxG2i+E3SFmpQ="; hash = "sha256-lcvs4auZrMb1f9ocrAnLVxX8JnvrPT18LsJBqoNG9Oo=";
}; };
meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl"; meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl";
}; };
heex = buildGrammar { heex = buildGrammar {
language = "heex"; language = "heex";
version = "0.0.0+rev=4a36c9a"; version = "0.0.0+rev=b5ad6e3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "connorlay"; owner = "connorlay";
repo = "tree-sitter-heex"; repo = "tree-sitter-heex";
rev = "4a36c9a388505180da6ee0eda1d8afb8c83481c8"; rev = "b5ad6e34eea18a15bbd1466ca707a17f9bff7b93";
hash = "sha256-6gdAxNI81jbN8XZALRw31kFQRZg8ge/O7QRprLZpWOg="; hash = "sha256-o0ArFfBJTrEQVXVet+AIDPCB/b9KKvOYrrtMGyLgtM8=";
}; };
meta.homepage = "https://github.com/connorlay/tree-sitter-heex"; meta.homepage = "https://github.com/connorlay/tree-sitter-heex";
}; };
helm = buildGrammar {
language = "helm";
version = "0.0.0+rev=17144a7";
src = fetchFromGitHub {
owner = "ngalaiko";
repo = "tree-sitter-go-template";
rev = "17144a77be0acdecebd9d557398883569fed41de";
hash = "sha256-aB8MTTKzxV9+66goNfFRI39wzuBiGECAc8HvAQzIv80=";
};
location = "dialects/helm";
meta.homepage = "https://github.com/ngalaiko/tree-sitter-go-template";
};
hjson = buildGrammar { hjson = buildGrammar {
language = "hjson"; language = "hjson";
version = "0.0.0+rev=02fa3b7"; version = "0.0.0+rev=02fa3b7";
@ -1065,12 +1088,12 @@
}; };
html = buildGrammar { html = buildGrammar {
language = "html"; language = "html";
version = "0.0.0+rev=b5d9758"; version = "0.0.0+rev=b285e25";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-html"; repo = "tree-sitter-html";
rev = "b5d9758e22b4d3d25704b72526670759a9e4d195"; rev = "b285e25c1ba8729399ce4f15ac5375cf6c3aa5be";
hash = "sha256-v3BD36OKkzJ1xqQV87HAyQpnQzi/4+PuyEAM1HfkW3U="; hash = "sha256-bAFSq2FXtSvFY8FrpeDgXXSq66QZsUrdz1As07B45u0=";
}; };
meta.homepage = "https://github.com/tree-sitter/tree-sitter-html"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-html";
}; };
@ -1153,23 +1176,23 @@
}; };
java = buildGrammar { java = buildGrammar {
language = "java"; language = "java";
version = "0.0.0+rev=99b29f1"; version = "0.0.0+rev=5e62fbb";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-java"; repo = "tree-sitter-java";
rev = "99b29f1ed957b3b424b6e21f57bd21a9732a622a"; rev = "5e62fbb519b608dfd856000fdc66536304c414de";
hash = "sha256-2A3dXO+N3M7GEiI06Dn28vU73Bow6vK0deC85mY058Q="; hash = "sha256-Wki+tdLzYINDbZMFd79QIDNK46rtzx25Qy0mB54eWN4=";
}; };
meta.homepage = "https://github.com/tree-sitter/tree-sitter-java"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-java";
}; };
javascript = buildGrammar { javascript = buildGrammar {
language = "javascript"; language = "javascript";
version = "0.0.0+rev=51aed72"; version = "0.0.0+rev=de1e682";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-javascript"; repo = "tree-sitter-javascript";
rev = "51aed7263d33bee46b0a8a5e165ffcb690d5aca8"; rev = "de1e682289a417354df5b4437a3e4f92e0722a0f";
hash = "sha256-FDnVwYpPgenOTgWaX/VdmtUmmIbCm/TtkiQ3TFoQjYY="; hash = "sha256-HhqYqU1CwPxXMHp21unRekFDzpGVedlgh/4bsplhe9c=";
}; };
meta.homepage = "https://github.com/tree-sitter/tree-sitter-javascript"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-javascript";
}; };
@ -1274,12 +1297,12 @@
}; };
kotlin = buildGrammar { kotlin = buildGrammar {
language = "kotlin"; language = "kotlin";
version = "0.0.0+rev=4e909d6"; version = "0.0.0+rev=260afd9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "fwcd"; owner = "fwcd";
repo = "tree-sitter-kotlin"; repo = "tree-sitter-kotlin";
rev = "4e909d6cc9ac96b4eaecb3fb538eaca48e9e9ee9"; rev = "260afd9a92bac51b3a4546303103c3d40a430639";
hash = "sha256-Rmq5G+7h/XSNX7JYtpAKcWbOZ1aZpBpe9GpaizK2DRk="; hash = "sha256-cmtUGmytAgiqBi31CNxEX+vE3YXmH1hphsIHvGRd7SY=";
}; };
meta.homepage = "https://github.com/fwcd/tree-sitter-kotlin"; meta.homepage = "https://github.com/fwcd/tree-sitter-kotlin";
}; };
@ -1373,12 +1396,12 @@
}; };
lua = buildGrammar { lua = buildGrammar {
language = "lua"; language = "lua";
version = "0.0.0+rev=04c9579"; version = "0.0.0+rev=a24dab1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "MunifTanjim"; owner = "MunifTanjim";
repo = "tree-sitter-lua"; repo = "tree-sitter-lua";
rev = "04c9579dcb917255b2e5f8199df4ae7f587d472f"; rev = "a24dab177e58c9c6832f96b9a73102a0cfbced4a";
hash = "sha256-kzyn6XF4/PN8civ/0UV+ancCMkh7DF2B7WUYxix6aaM="; hash = "sha256-uFaEptW4wPrqgHfB1mYmVltf+4no61L2cPgpsr5qBIU=";
}; };
meta.homepage = "https://github.com/MunifTanjim/tree-sitter-lua"; meta.homepage = "https://github.com/MunifTanjim/tree-sitter-lua";
}; };
@ -1439,24 +1462,24 @@
}; };
markdown = buildGrammar { markdown = buildGrammar {
language = "markdown"; language = "markdown";
version = "0.0.0+rev=2821521"; version = "0.0.0+rev=b2f0198";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "MDeiml"; owner = "MDeiml";
repo = "tree-sitter-markdown"; repo = "tree-sitter-markdown";
rev = "2821521a4e6eab37b63dff6a8e169cd88554047d"; rev = "b2f01981a76e3251f5b660378136c248ed106b81";
hash = "sha256-JoZ/CKIMHVowwqTMFdys+Qu1CHMsP+8Wr2LJo5h30B4="; hash = "sha256-6gxtiO6Dzo5BELdw/dAaQB90SJYelr/RqvTzNK55caA=";
}; };
location = "tree-sitter-markdown"; location = "tree-sitter-markdown";
meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown"; meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown";
}; };
markdown_inline = buildGrammar { markdown_inline = buildGrammar {
language = "markdown_inline"; language = "markdown_inline";
version = "0.0.0+rev=2821521"; version = "0.0.0+rev=b2f0198";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "MDeiml"; owner = "MDeiml";
repo = "tree-sitter-markdown"; repo = "tree-sitter-markdown";
rev = "2821521a4e6eab37b63dff6a8e169cd88554047d"; rev = "b2f01981a76e3251f5b660378136c248ed106b81";
hash = "sha256-JoZ/CKIMHVowwqTMFdys+Qu1CHMsP+8Wr2LJo5h30B4="; hash = "sha256-6gxtiO6Dzo5BELdw/dAaQB90SJYelr/RqvTzNK55caA=";
}; };
location = "tree-sitter-markdown-inline"; location = "tree-sitter-markdown-inline";
meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown"; meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown";
@ -1507,12 +1530,12 @@
}; };
mlir = buildGrammar { mlir = buildGrammar {
language = "mlir"; language = "mlir";
version = "0.0.0+rev=117cbbc"; version = "0.0.0+rev=992c756";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "artagnon"; owner = "artagnon";
repo = "tree-sitter-mlir"; repo = "tree-sitter-mlir";
rev = "117cbbc46bbf82ae30b24f8939573655017226da"; rev = "992c756686eb968af752ce75a874591042a8e24c";
hash = "sha256-c0+Pvhe++fHmRL9Ptri+vsdRN3MCb2Z/7EqWmFaK/CE="; hash = "sha256-nm7YSwj10p6GKR7lUJZ5SZeiW8fh+5ZI52haeUM3oDE=";
}; };
generate = true; generate = true;
meta.homepage = "https://github.com/artagnon/tree-sitter-mlir"; meta.homepage = "https://github.com/artagnon/tree-sitter-mlir";
@ -1541,12 +1564,12 @@
}; };
nickel = buildGrammar { nickel = buildGrammar {
language = "nickel"; language = "nickel";
version = "0.0.0+rev=33a64ec"; version = "0.0.0+rev=58baf89";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nickel-lang"; owner = "nickel-lang";
repo = "tree-sitter-nickel"; repo = "tree-sitter-nickel";
rev = "33a64ec9a27058c52e4195f1030235dcdfc04747"; rev = "58baf89db8fdae54a84bcf22c80ff10ee3f929ed";
hash = "sha256-gTOePRg5ZEXfBL35biG6abpxW2eycgbHIzaL6w4g8rc="; hash = "sha256-WuY6X1mnXdjiy4joIcY8voK2sqICFf0GvudulZ9lwqg=";
}; };
meta.homepage = "https://github.com/nickel-lang/tree-sitter-nickel"; meta.homepage = "https://github.com/nickel-lang/tree-sitter-nickel";
}; };
@ -1640,24 +1663,24 @@
}; };
ocaml = buildGrammar { ocaml = buildGrammar {
language = "ocaml"; language = "ocaml";
version = "0.0.0+rev=9965d20"; version = "0.0.0+rev=712d9bf";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-ocaml"; repo = "tree-sitter-ocaml";
rev = "9965d208337d88bbf1a38ad0b0fe49e5f5ec9677"; rev = "712d9bfa1d537c5899dde5538767ed2d8bb37a93";
hash = "sha256-9Y/eZNsKkz8RKjMn5RIAPITkDQTWdSc/fBXzxMg1ViQ="; hash = "sha256-l4hchr03Jrsat863K8wfBeHo1o9dw0T3RAl4MMWKIHA=";
}; };
location = "ocaml"; location = "ocaml";
meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml";
}; };
ocaml_interface = buildGrammar { ocaml_interface = buildGrammar {
language = "ocaml_interface"; language = "ocaml_interface";
version = "0.0.0+rev=9965d20"; version = "0.0.0+rev=712d9bf";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-ocaml"; repo = "tree-sitter-ocaml";
rev = "9965d208337d88bbf1a38ad0b0fe49e5f5ec9677"; rev = "712d9bfa1d537c5899dde5538767ed2d8bb37a93";
hash = "sha256-9Y/eZNsKkz8RKjMn5RIAPITkDQTWdSc/fBXzxMg1ViQ="; hash = "sha256-l4hchr03Jrsat863K8wfBeHo1o9dw0T3RAl4MMWKIHA=";
}; };
location = "interface"; location = "interface";
meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml";
@ -1742,24 +1765,24 @@
}; };
php = buildGrammar { php = buildGrammar {
language = "php"; language = "php";
version = "0.0.0+rev=78a78df"; version = "0.0.0+rev=ad414fa";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-php"; repo = "tree-sitter-php";
rev = "78a78df5e06b4c13173af2a1f607c9a853d0f240"; rev = "ad414fa5497328e96ef992d80896f19c77584f7c";
hash = "sha256-N7qbOQethP/ZZHu5r+SJYCdrX4FVg72YuyULpuMUAhw="; hash = "sha256-is5jtMg3G4ay+yF1Eti0jDljlB4vmibLPW0qup+8VeU=";
}; };
location = "php"; location = "php";
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
}; };
php_only = buildGrammar { php_only = buildGrammar {
language = "php_only"; language = "php_only";
version = "0.0.0+rev=78a78df"; version = "0.0.0+rev=ad414fa";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-php"; repo = "tree-sitter-php";
rev = "78a78df5e06b4c13173af2a1f607c9a853d0f240"; rev = "ad414fa5497328e96ef992d80896f19c77584f7c";
hash = "sha256-N7qbOQethP/ZZHu5r+SJYCdrX4FVg72YuyULpuMUAhw="; hash = "sha256-is5jtMg3G4ay+yF1Eti0jDljlB4vmibLPW0qup+8VeU=";
}; };
location = "php_only"; location = "php_only";
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
@ -1921,12 +1944,12 @@
}; };
puppet = buildGrammar { puppet = buildGrammar {
language = "puppet"; language = "puppet";
version = "0.0.0+rev=3641b9e"; version = "0.0.0+rev=5849f96";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "amaanq"; owner = "amaanq";
repo = "tree-sitter-puppet"; repo = "tree-sitter-puppet";
rev = "3641b9e854ac9c84c7576e71c4c9a357bcfd9550"; rev = "5849f9694197a6e822872945b415429c285fdd54";
hash = "sha256-J1DBjQRdV4R85NTyg/qmwbjm1bryKe3UOdp4XyH6BQc="; hash = "sha256-Lwfiby7amjTIOz8QRoC4RdZyFPfFikmQ2sqta4akyH8=";
}; };
meta.homepage = "https://github.com/amaanq/tree-sitter-puppet"; meta.homepage = "https://github.com/amaanq/tree-sitter-puppet";
}; };
@ -1954,12 +1977,12 @@
}; };
python = buildGrammar { python = buildGrammar {
language = "python"; language = "python";
version = "0.0.0+rev=22d3f87"; version = "0.0.0+rev=b8a4c64";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-python"; repo = "tree-sitter-python";
rev = "22d3f87bdafac2782e907330babe4af574f5d0b4"; rev = "b8a4c64121ba66b460cb878e934e3157ecbfb124";
hash = "sha256-tyEawslx00ZwohMZo4HBa/INfbS7q6Ob2LO7pvowobk="; hash = "sha256-ZTqWyr4+pOyXY4X/WnYdn9Sgp7T8FEEUy/TQPuFqb4k=";
}; };
meta.homepage = "https://github.com/tree-sitter/tree-sitter-python"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-python";
}; };
@ -1998,12 +2021,12 @@
}; };
query = buildGrammar { query = buildGrammar {
language = "query"; language = "query";
version = "0.0.0+rev=a0ccc35"; version = "0.0.0+rev=176a380";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nvim-treesitter"; owner = "nvim-treesitter";
repo = "tree-sitter-query"; repo = "tree-sitter-query";
rev = "a0ccc351e5e868ec1f8135e97aa3b53c663cf2df"; rev = "176a380df78800167565118bb0dadfc961abbd43";
hash = "sha256-H2QLsjl3/Kh0ojCf2Df38tb9KrM2InphEmtGd0J6+hM="; hash = "sha256-b9M213q6dmuK65llDTMW7rksrOyTEzlE0kdAVv0fDnA=";
}; };
meta.homepage = "https://github.com/nvim-treesitter/tree-sitter-query"; meta.homepage = "https://github.com/nvim-treesitter/tree-sitter-query";
}; };
@ -2020,12 +2043,12 @@
}; };
racket = buildGrammar { racket = buildGrammar {
language = "racket"; language = "racket";
version = "0.0.0+rev=e4ba1a9"; version = "0.0.0+rev=b5a2fe7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "6cdh"; owner = "6cdh";
repo = "tree-sitter-racket"; repo = "tree-sitter-racket";
rev = "e4ba1a9674a3b4dd7905d04f194ae6f8331be342"; rev = "b5a2fe74cac87dc5342b366f50db71d421e7cf8f";
hash = "sha256-4+TRol2i6ibuXqBr6O8jI/4MZq8hnf09eVBtPqaKp8s="; hash = "sha256-TPQw9Yd194tTD2k+qzzGjMInCAJ9WeZuRPRD96zLGzs=";
}; };
meta.homepage = "https://github.com/6cdh/tree-sitter-racket"; meta.homepage = "https://github.com/6cdh/tree-sitter-racket";
}; };
@ -2108,12 +2131,12 @@
}; };
rnoweb = buildGrammar { rnoweb = buildGrammar {
language = "rnoweb"; language = "rnoweb";
version = "0.0.0+rev=502c112"; version = "0.0.0+rev=1a74dc0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bamonroe"; owner = "bamonroe";
repo = "tree-sitter-rnoweb"; repo = "tree-sitter-rnoweb";
rev = "502c1126dc6777f09af5bef16e72a42f75bd081e"; rev = "1a74dc0ed731ad07db39f063e2c5a6fe528cae7f";
hash = "sha256-aGEhy4uMhKFbL0+JO5rrn3GIe//8PZpDHEMDGHDlBCY="; hash = "sha256-sCjSS6iunij2SXHNzQcTq0HKawH9i5h/vQ6yl77opXw=";
}; };
meta.homepage = "https://github.com/bamonroe/tree-sitter-rnoweb"; meta.homepage = "https://github.com/bamonroe/tree-sitter-rnoweb";
}; };
@ -2152,34 +2175,34 @@
}; };
ruby = buildGrammar { ruby = buildGrammar {
language = "ruby"; language = "ruby";
version = "0.0.0+rev=22a0bb2"; version = "0.0.0+rev=9d86f37";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-ruby"; repo = "tree-sitter-ruby";
rev = "22a0bb2678755a3714e194609862ea7f4516e807"; rev = "9d86f3761bb30e8dcc81e754b81d3ce91848477e";
hash = "sha256-lD3pRbQZDyqIkiknuXAkXd+6aHqKUY/8SNwQgfnrbBw="; hash = "sha256-Ibfu+5NWCkw7jriy1tiMLplpXNZfZf8WP30lDU1//GM=";
}; };
meta.homepage = "https://github.com/tree-sitter/tree-sitter-ruby"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-ruby";
}; };
rust = buildGrammar { rust = buildGrammar {
language = "rust"; language = "rust";
version = "0.0.0+rev=2d7bac5"; version = "0.0.0+rev=3a56481";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-rust"; repo = "tree-sitter-rust";
rev = "2d7bac5164c344c95530c16dd5c8fa1319e34308"; rev = "3a56481f8d13b6874a28752502a58520b9139dc7";
hash = "sha256-k5/tfG8ONOK8ARgHwpxqB27sJWHioTd5WfCpmMZ1vJY="; hash = "sha256-6ROXeKuPehtIOtaI1OJuTtyPfQmZyLzCxv3ZS04yAIk=";
}; };
meta.homepage = "https://github.com/tree-sitter/tree-sitter-rust"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-rust";
}; };
scala = buildGrammar { scala = buildGrammar {
language = "scala"; language = "scala";
version = "0.0.0+rev=e02f003"; version = "0.0.0+rev=70b4fe6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-scala"; repo = "tree-sitter-scala";
rev = "e02f003d78dc269fef287b9b7b9963dc1f26bd7e"; rev = "70b4fe63c4973b04cc7bd40c6b7646d9c2430db8";
hash = "sha256-LkrZ+y7QSAGe/kkkdUSyFQJFmD/mOI5Ps/wxD3BAkDI="; hash = "sha256-ZwrsEhlZGVJMP+GRIlaxGqS1b7HtiQelg3QBwJT9Igk=";
}; };
meta.homepage = "https://github.com/tree-sitter/tree-sitter-scala"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-scala";
}; };
@ -2197,12 +2220,12 @@
}; };
scheme = buildGrammar { scheme = buildGrammar {
language = "scheme"; language = "scheme";
version = "0.0.0+rev=85b6188"; version = "0.0.0+rev=6c77a5b";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "6cdh"; owner = "6cdh";
repo = "tree-sitter-scheme"; repo = "tree-sitter-scheme";
rev = "85b6188fb77c03dfb01d13e58e2844450506860c"; rev = "6c77a5bcfb9baceeaa79ef67354b2d501b37b085";
hash = "sha256-v+iQpeAeySKPgMu5IQ8vNnUSc2duX1vYvO3qqK1/Pmc="; hash = "sha256-HIZ8j8a5ejB87rTBaMpNGRGL0TGqXiuV/BxfU4aj17s=";
}; };
meta.homepage = "https://github.com/6cdh/tree-sitter-scheme"; meta.homepage = "https://github.com/6cdh/tree-sitter-scheme";
}; };
@ -2230,12 +2253,12 @@
}; };
slint = buildGrammar { slint = buildGrammar {
language = "slint"; language = "slint";
version = "0.0.0+rev=3c82235"; version = "0.0.0+rev=f5fa844";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "slint-ui"; owner = "slint-ui";
repo = "tree-sitter-slint"; repo = "tree-sitter-slint";
rev = "3c82235f41b63f35a01ae3888206e93585cbb84a"; rev = "f5fa844d2adbcfdc7a0ec4daae4539887959d9ff";
hash = "sha256-D3X2YwvxvseIGnKzaSocr3Ak7qoASZhxyRS+rtpir0g="; hash = "sha256-MSIQd1Xb4ug4yZk2bQFPHMZxrqe1xke6X7LKsxtkIkc=";
}; };
meta.homepage = "https://github.com/slint-ui/tree-sitter-slint"; meta.homepage = "https://github.com/slint-ui/tree-sitter-slint";
}; };
@ -2274,12 +2297,12 @@
}; };
solidity = buildGrammar { solidity = buildGrammar {
language = "solidity"; language = "solidity";
version = "0.0.0+rev=5cb506a"; version = "0.0.0+rev=b239a95";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "JoranHonig"; owner = "JoranHonig";
repo = "tree-sitter-solidity"; repo = "tree-sitter-solidity";
rev = "5cb506ae419c4ad620c77210fd47500d3d169dbc"; rev = "b239a95f94cfcc6e7b3e961bc73a28d55e214f02";
hash = "sha256-3BQuEGrmQD9Va7JpTuKJaZ6VaJ//tfPtjoEDRj/utcU="; hash = "sha256-b+LthCf+g19sjKeNgXZmUV0RNi94O3u0WmXfgKRpaE0=";
}; };
meta.homepage = "https://github.com/JoranHonig/tree-sitter-solidity"; meta.homepage = "https://github.com/JoranHonig/tree-sitter-solidity";
}; };
@ -2309,12 +2332,12 @@
}; };
sourcepawn = buildGrammar { sourcepawn = buildGrammar {
language = "sourcepawn"; language = "sourcepawn";
version = "0.0.0+rev=39ce73a"; version = "0.0.0+rev=3ca89fd";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nilshelmig"; owner = "nilshelmig";
repo = "tree-sitter-sourcepawn"; repo = "tree-sitter-sourcepawn";
rev = "39ce73ad42b2c4f52848d16093c24feddaa7d226"; rev = "3ca89fdf998340a7973e276b39516d8902950f86";
hash = "sha256-CyCUGGycWpgQl/BGDjRHwYoa9Mess49jUf9WUkRaliE="; hash = "sha256-AF7PiM0Tt6wqGdNsfMGSkgWXgZRDZGdKc7DQpUHuGUA=";
}; };
meta.homepage = "https://github.com/nilshelmig/tree-sitter-sourcepawn"; meta.homepage = "https://github.com/nilshelmig/tree-sitter-sourcepawn";
}; };
@ -2331,12 +2354,12 @@
}; };
sql = buildGrammar { sql = buildGrammar {
language = "sql"; language = "sql";
version = "0.0.0+rev=da2d1ef"; version = "0.0.0+rev=cdb7cde";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "derekstride"; owner = "derekstride";
repo = "tree-sitter-sql"; repo = "tree-sitter-sql";
rev = "da2d1eff425b146d3c8cab7be8dfa98b11d896dc"; rev = "cdb7cde9bf70b194ab8beb5069fbbc3c9640284e";
hash = "sha256-aNxUvmj4AMO744fsSOsvQcNEtHYuQDephKha/hSphh0="; hash = "sha256-yxr+AbKp4pkVpjMQXL3P5VEzSo2Ii6yE7ceEBYiDHJA=";
}; };
meta.homepage = "https://github.com/derekstride/tree-sitter-sql"; meta.homepage = "https://github.com/derekstride/tree-sitter-sql";
}; };
@ -2353,12 +2376,12 @@
}; };
ssh_config = buildGrammar { ssh_config = buildGrammar {
language = "ssh_config"; language = "ssh_config";
version = "0.0.0+rev=4fab1c9"; version = "0.0.0+rev=514695d";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ObserverOfTime"; owner = "ObserverOfTime";
repo = "tree-sitter-ssh-config"; repo = "tree-sitter-ssh-config";
rev = "4fab1c9116cb7890885508e4630cc8e6a8373a41"; rev = "514695df4985f56455b8f139a319453a2325cdcf";
hash = "sha256-cZoRQN3vrOC7xaKeURGeKfQ0xAyRMapbgNQrBTCFoHI="; hash = "sha256-LDqRP8FA5m1tnbGNTxItQlp6B6U+M6gOBlbi4zX0FHI=";
}; };
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-ssh-config"; meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-ssh-config";
}; };
@ -2430,12 +2453,12 @@
}; };
swift = buildGrammar { swift = buildGrammar {
language = "swift"; language = "swift";
version = "0.0.0+rev=fc00cbb"; version = "0.0.0+rev=78a736d";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "alex-pinkus"; owner = "alex-pinkus";
repo = "tree-sitter-swift"; repo = "tree-sitter-swift";
rev = "fc00cbb460b40228b30f322b5a34ea0e8f35a9f8"; rev = "78a736d77094b0b3c35e811e6765c4d38a72724e";
hash = "sha256-FEac9qZuNAJYn/7mIpRSOy72F3qsiyPHZTn1DUzM2xk="; hash = "sha256-cBUBmXc+mhub5jvGKPcCgHgZPQtxF6OD+dlKQ0ZaxpY=";
}; };
generate = true; generate = true;
meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift"; meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
@ -2464,12 +2487,12 @@
}; };
t32 = buildGrammar { t32 = buildGrammar {
language = "t32"; language = "t32";
version = "0.0.0+rev=b904af3"; version = "0.0.0+rev=0a457a5";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "xasc"; owner = "xasc";
repo = "tree-sitter-t32"; repo = "tree-sitter-t32";
rev = "b904af353fb2f1df6ac45d8d3e3a5ee85a6cc306"; rev = "0a457a557be7779336bc8ac2b396e73797bc68f7";
hash = "sha256-MGdwcw9T3hemUHfgQmdTp20MW08AQcVWGRHxkP/6N5Y="; hash = "sha256-ylMJ177FYVcnfaXbnOieNP1Emq8HpeAgEddt96tBJqE=";
}; };
meta.homepage = "https://gitlab.com/xasc/tree-sitter-t32.git"; meta.homepage = "https://gitlab.com/xasc/tree-sitter-t32.git";
}; };
@ -2520,12 +2543,12 @@
}; };
terraform = buildGrammar { terraform = buildGrammar {
language = "terraform"; language = "terraform";
version = "0.0.0+rev=e135399"; version = "0.0.0+rev=e936d3f";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "MichaHoffmann"; owner = "MichaHoffmann";
repo = "tree-sitter-hcl"; repo = "tree-sitter-hcl";
rev = "e135399cb31b95fac0760b094556d1d5ce84acf0"; rev = "e936d3fef8bac884661472dce71ad82284761eb1";
hash = "sha256-Ylxpj+e9YGhyRRRCCVs0g/zhwHpwGELxG2i+E3SFmpQ="; hash = "sha256-lcvs4auZrMb1f9ocrAnLVxX8JnvrPT18LsJBqoNG9Oo=";
}; };
location = "dialects/terraform"; location = "dialects/terraform";
meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl"; meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl";
@ -2565,12 +2588,12 @@
}; };
tlaplus = buildGrammar { tlaplus = buildGrammar {
language = "tlaplus"; language = "tlaplus";
version = "0.0.0+rev=aaf5bb5"; version = "0.0.0+rev=3896a5b";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tlaplus-community"; owner = "tlaplus-community";
repo = "tree-sitter-tlaplus"; repo = "tree-sitter-tlaplus";
rev = "aaf5bb5c1df0a6e583bb51efa519a9ac788b2ad8"; rev = "3896a5be761f04ffb22a841b2a0672f7a8a43ef9";
hash = "sha256-p/khQ31bReopPyZ1TvUKI6bnFipWiGrxKO7cAYzeku4="; hash = "sha256-EODxn3ZitUSz8/4XkgMK0dp2T07BwlsXVbFbBQ5xXi4=";
}; };
meta.homepage = "https://github.com/tlaplus-community/tree-sitter-tlaplus"; meta.homepage = "https://github.com/tlaplus-community/tree-sitter-tlaplus";
}; };
@ -2621,12 +2644,12 @@
}; };
tsx = buildGrammar { tsx = buildGrammar {
language = "tsx"; language = "tsx";
version = "0.0.0+rev=198e2ea"; version = "0.0.0+rev=b00b8eb";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-typescript"; repo = "tree-sitter-typescript";
rev = "198e2ea43d1c4ddd76ee883f4eae15f4201cd241"; rev = "b00b8eb44f0b9f02556da0b1a4e2f71faed7e61b";
hash = "sha256-WnVqoshymxZgGC/p5nFX08ypB1VDLIAMjjWN5YC4UT8="; hash = "sha256-uGuwE1eTVEkuosMfTeY2akHB+bJ5npWEwUv+23nhY9M=";
}; };
location = "tsx"; location = "tsx";
meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
@ -2655,12 +2678,12 @@
}; };
typescript = buildGrammar { typescript = buildGrammar {
language = "typescript"; language = "typescript";
version = "0.0.0+rev=198e2ea"; version = "0.0.0+rev=b00b8eb";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter"; owner = "tree-sitter";
repo = "tree-sitter-typescript"; repo = "tree-sitter-typescript";
rev = "198e2ea43d1c4ddd76ee883f4eae15f4201cd241"; rev = "b00b8eb44f0b9f02556da0b1a4e2f71faed7e61b";
hash = "sha256-WnVqoshymxZgGC/p5nFX08ypB1VDLIAMjjWN5YC4UT8="; hash = "sha256-uGuwE1eTVEkuosMfTeY2akHB+bJ5npWEwUv+23nhY9M=";
}; };
location = "typescript"; location = "typescript";
meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript"; meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
@ -2790,34 +2813,34 @@
}; };
vim = buildGrammar { vim = buildGrammar {
language = "vim"; language = "vim";
version = "0.0.0+rev=bc1364d"; version = "0.0.0+rev=052279c";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "neovim"; owner = "neovim";
repo = "tree-sitter-vim"; repo = "tree-sitter-vim";
rev = "bc1364d922952138957a62105171ed68e73fbb6c"; rev = "052279cd5e1d73b075640c64cef97e7bdcd32611";
hash = "sha256-5h1GYjyYMJd5GS0zXh0LP1wBs60fYohpFv89gcdZ4vU="; hash = "sha256-EoiMqMcBl5bC1Irs2flA2F5nHN6VTZdv6hdCrqoTAcY=";
}; };
meta.homepage = "https://github.com/neovim/tree-sitter-vim"; meta.homepage = "https://github.com/neovim/tree-sitter-vim";
}; };
vimdoc = buildGrammar { vimdoc = buildGrammar {
language = "vimdoc"; language = "vimdoc";
version = "0.0.0+rev=b63be26"; version = "0.0.0+rev=f431bfa";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "neovim"; owner = "neovim";
repo = "tree-sitter-vimdoc"; repo = "tree-sitter-vimdoc";
rev = "b63be26fa571259b512e1939f01755d9d6e78fbd"; rev = "f431bfa7d433f4d629943147817193a4fccbd303";
hash = "sha256-gsjepcw8Y8Vm6GhJRKUJKLsCb+Rd0lNyYfnmWijuiLo="; hash = "sha256-+SYbYvmVN2U0Q03p0eCj3MViCyzPqUiPG1oMWh7hRyM=";
}; };
meta.homepage = "https://github.com/neovim/tree-sitter-vimdoc"; meta.homepage = "https://github.com/neovim/tree-sitter-vimdoc";
}; };
vue = buildGrammar { vue = buildGrammar {
language = "vue"; language = "vue";
version = "0.0.0+rev=7e48557"; version = "0.0.0+rev=3b9d520";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tree-sitter-grammars"; owner = "tree-sitter-grammars";
repo = "tree-sitter-vue"; repo = "tree-sitter-vue";
rev = "7e48557b903a9db9c38cea3b7839ef7e1f36c693"; rev = "3b9d52087100bdfce43dad2ca46d75b0e21613f6";
hash = "sha256-dz9NC+axivAsVJPbt7TNtU89wFyrTBoD2hCBjiXFbgY="; hash = "sha256-36MnM1X8uhqCb44oHY0kEKDLpYmU1QL2JfGpdIbb3pc=";
}; };
meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-vue"; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-vue";
}; };
@ -2845,12 +2868,12 @@
}; };
wing = buildGrammar { wing = buildGrammar {
language = "wing"; language = "wing";
version = "0.0.0+rev=13b79ea"; version = "0.0.0+rev=07f6740";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "winglang"; owner = "winglang";
repo = "wing"; repo = "wing";
rev = "13b79ea3f343b15f233c6e7ac930797748191615"; rev = "07f6740ab9f4f74c49413b9056154cac51f4b2d7";
hash = "sha256-2BOPevKjrNoTRNaadwr7erWDBxIDUvU4zLOQgXOB4rE="; hash = "sha256-jnDrJhhsfRAqR+83VaGXBKANu5J2Xt7LNUm0VUFEVbY=";
}; };
location = "libs/tree-sitter-wing"; location = "libs/tree-sitter-wing";
generate = true; generate = true;
@ -2881,14 +2904,14 @@
}; };
yaml = buildGrammar { yaml = buildGrammar {
language = "yaml"; language = "yaml";
version = "0.0.0+rev=0e36bed"; version = "0.0.0+rev=9e59b9b";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ikatyang"; owner = "tree-sitter-grammars";
repo = "tree-sitter-yaml"; repo = "tree-sitter-yaml";
rev = "0e36bed171768908f331ff7dff9d956bae016efb"; rev = "9e59b9bbf839ba231fbcb953617d8b9b9a059e38";
hash = "sha256-bpiT3FraOZhJaoiFWAoVJX1O+plnIi8aXOW2LwyU23M="; hash = "sha256-9YVXErOwUf4hcvugcgtlefyQd4p34u9AT4gUcwc3ZaU=";
}; };
meta.homepage = "https://github.com/ikatyang/tree-sitter-yaml"; meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-yaml";
}; };
yang = buildGrammar { yang = buildGrammar {
language = "yang"; language = "yang";

View File

@ -998,7 +998,7 @@
inherit (old) version src; inherit (old) version src;
sourceRoot = "${old.src.name}/spectre_oxi"; sourceRoot = "${old.src.name}/spectre_oxi";
cargoHash = "sha256-gCGuD5kipgfR0Le8npNmyBxNsUq0PavXvKkxkiPx13E="; cargoHash = "sha256-VDnrJ2EJ8LDykqxYKD1VR8BkDqzzifazJzL/0UsmSCk=";
preCheck = '' preCheck = ''
@ -1134,7 +1134,7 @@
pname = "sg-nvim-rust"; pname = "sg-nvim-rust";
inherit (old) version src; inherit (old) version src;
cargoHash = "sha256-nlPSsp/HbS1DxhOHh5+7x1re46oiQa9FQMLClc7TQLg="; cargoHash = "sha256-iGNLk3ckm90i5m05V/va+hO9RMiOUKL19dkszoUCwlU=";
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];

View File

@ -1,5 +1,5 @@
diff --git a/autoload/health/openscad_nvim.vim b/autoload/health/openscad_nvim.vim diff --git a/autoload/health/openscad_nvim.vim b/autoload/health/openscad_nvim.vim
index 9022d55..30ef53f 100644 index d6d4b4c..9853877 100644
--- a/autoload/health/openscad_nvim.vim --- a/autoload/health/openscad_nvim.vim
+++ b/autoload/health/openscad_nvim.vim +++ b/autoload/health/openscad_nvim.vim
@@ -7,7 +7,7 @@ function! s:check_nvim_version_minimum() abort @@ -7,7 +7,7 @@ function! s:check_nvim_version_minimum() abort
@ -8,20 +8,20 @@ index 9022d55..30ef53f 100644
function! s:check_zathura_installed() abort function! s:check_zathura_installed() abort
- if !executable('zathura') - if !executable('zathura')
+ if !executable('@zathura@') + if !executable('@zathura@')
call health#report_error('has(zathura)','install zathura') call v:lua.vim.health.error('has(zathura)','install zathura')
else else
call health#report_ok("zathura is installed") call v:lua.vim.health.ok("zathura is installed")
@@ -15,7 +15,7 @@ function! s:check_zathura_installed() abort @@ -15,7 +15,7 @@ function! s:check_zathura_installed() abort
endfunction endfunction
function! s:check_htop_installed() abort function! s:check_htop_installed() abort
- if !executable('htop') - if !executable('htop')
+ if !executable('@htop@') + if !executable('@htop@')
call health#report_error('has(htop)','install htop') call v:lua.vim.health.error('has(htop)','install htop')
else else
call health#report_ok("htop is installed") call v:lua.vim.health.ok("htop is installed")
diff --git a/lua/openscad.lua b/lua/openscad.lua diff --git a/lua/openscad.lua b/lua/openscad.lua
index 7dff2fb..4382003 100644 index 7475f29..832c895 100644
--- a/lua/openscad.lua --- a/lua/openscad.lua
+++ b/lua/openscad.lua +++ b/lua/openscad.lua
@@ -101,7 +101,7 @@ end @@ -101,7 +101,7 @@ end
@ -38,7 +38,7 @@ index 7dff2fb..4382003 100644
else else
-- TODO: What about Windows? -- TODO: What about Windows?
- jobCommand = 'openscad ' .. vim.fn.expand('%:p') - jobCommand = 'openscad ' .. vim.fn.expand('%:p')
+ jobCommand = '@oepnscad@ ' .. vim.fn.expand('%:p') + jobCommand = '@openscad@ ' .. vim.fn.expand('%:p')
end end
vim.fn.jobstart(jobCommand) vim.fn.jobstart(jobCommand)

View File

@ -361,6 +361,7 @@ https://github.com/nvimdev/guard.nvim/,HEAD,
https://github.com/nmac427/guess-indent.nvim/,HEAD, https://github.com/nmac427/guess-indent.nvim/,HEAD,
https://github.com/sjl/gundo.vim/,, https://github.com/sjl/gundo.vim/,,
https://github.com/junegunn/gv.vim/,, https://github.com/junegunn/gv.vim/,,
https://github.com/TheSnakeWitcher/hardhat.nvim/,HEAD,
https://github.com/m4xshen/hardtime.nvim/,HEAD, https://github.com/m4xshen/hardtime.nvim/,HEAD,
https://git.sr.ht/~sircmpwn/hare.vim,HEAD, https://git.sr.ht/~sircmpwn/hare.vim,HEAD,
https://github.com/ThePrimeagen/harpoon/,master, https://github.com/ThePrimeagen/harpoon/,master,
@ -548,15 +549,22 @@ https://github.com/Shougo/neosnippet-snippets/,,
https://github.com/Shougo/neosnippet.vim/,, https://github.com/Shougo/neosnippet.vim/,,
https://github.com/kassio/neoterm/,, https://github.com/kassio/neoterm/,,
https://github.com/nvim-neotest/neotest/,HEAD, https://github.com/nvim-neotest/neotest/,HEAD,
https://github.com/rcasia/neotest-bash/,HEAD,
https://github.com/sidlatau/neotest-dart/,HEAD, https://github.com/sidlatau/neotest-dart/,HEAD,
https://github.com/MarkEmmons/neotest-deno/,HEAD, https://github.com/MarkEmmons/neotest-deno/,HEAD,
https://github.com/Issafalcon/neotest-dotnet/,HEAD, https://github.com/Issafalcon/neotest-dotnet/,HEAD,
https://github.com/jfpedroza/neotest-elixir/,HEAD, https://github.com/jfpedroza/neotest-elixir/,HEAD,
https://github.com/llllvvuu/neotest-foundry/,HEAD,
https://github.com/nvim-neotest/neotest-go/,HEAD, https://github.com/nvim-neotest/neotest-go/,HEAD,
https://github.com/weilbith/neotest-gradle/,HEAD,
https://github.com/alfaix/neotest-gtest/,HEAD,
https://github.com/MrcJkb/neotest-haskell/,HEAD, https://github.com/MrcJkb/neotest-haskell/,HEAD,
https://github.com/rcasia/neotest-java/,HEAD,
https://github.com/haydenmeade/neotest-jest/,HEAD, https://github.com/haydenmeade/neotest-jest/,HEAD,
https://github.com/zidhuss/neotest-minitest/,HEAD,
https://github.com/theutz/neotest-pest/,HEAD, https://github.com/theutz/neotest-pest/,HEAD,
https://github.com/olimorris/neotest-phpunit/,HEAD, https://github.com/olimorris/neotest-phpunit/,HEAD,
https://github.com/thenbe/neotest-playwright/,HEAD,
https://github.com/nvim-neotest/neotest-plenary/,HEAD, https://github.com/nvim-neotest/neotest-plenary/,HEAD,
https://github.com/nvim-neotest/neotest-python/,HEAD, https://github.com/nvim-neotest/neotest-python/,HEAD,
https://github.com/olimorris/neotest-rspec/,HEAD, https://github.com/olimorris/neotest-rspec/,HEAD,
@ -564,6 +572,7 @@ https://github.com/rouge8/neotest-rust/,HEAD,
https://github.com/stevanmilic/neotest-scala/,HEAD, https://github.com/stevanmilic/neotest-scala/,HEAD,
https://github.com/shunsambongi/neotest-testthat/,HEAD, https://github.com/shunsambongi/neotest-testthat/,HEAD,
https://github.com/marilari88/neotest-vitest/,HEAD, https://github.com/marilari88/neotest-vitest/,HEAD,
https://github.com/lawrence-laz/neotest-zig/,HEAD,
https://github.com/rose-pine/neovim/,main,rose-pine https://github.com/rose-pine/neovim/,main,rose-pine
https://github.com/Shatur/neovim-ayu/,, https://github.com/Shatur/neovim-ayu/,,
https://github.com/cloudhead/neovim-fuzzy/,, https://github.com/cloudhead/neovim-fuzzy/,,
@ -1364,6 +1373,7 @@ https://github.com/puremourning/vimspector/,,
https://github.com/lervag/vimtex/,, https://github.com/lervag/vimtex/,,
https://github.com/preservim/vimux/,, https://github.com/preservim/vimux/,,
https://github.com/vimwiki/vimwiki/,, https://github.com/vimwiki/vimwiki/,,
https://github.com/lukas-reineke/virt-column.nvim/,HEAD,
https://github.com/jubnzv/virtual-types.nvim/,HEAD, https://github.com/jubnzv/virtual-types.nvim/,HEAD,
https://github.com/vim-scripts/vis/,, https://github.com/vim-scripts/vis/,,
https://github.com/navicore/vissort.vim/,, https://github.com/navicore/vissort.vim/,,

View File

@ -1,6 +1,6 @@
{ lib, stdenv, vscode-utils, callPackage }: { lib, stdenv, vscode-utils, callPackage }:
let let
version = "1.48.0"; version = "1.50.0";
rescript-editor-analysis = callPackage ./rescript-editor-analysis.nix { inherit version; }; rescript-editor-analysis = callPackage ./rescript-editor-analysis.nix { inherit version; };
arch = arch =
if stdenv.isLinux then "linux" if stdenv.isLinux then "linux"
@ -13,7 +13,7 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
name = "rescript-vscode"; name = "rescript-vscode";
publisher = "chenglou92"; publisher = "chenglou92";
inherit version; inherit version;
sha256 = "sha256-/1nDuj/kSdkV6PlbdlOLfUKQeuvyL2VhPjUAr9kq2NM="; sha256 = "sha256-Dt7mqZQ/vEUFyUD5SsY6RGzg9kq19/Amksrwtfv0TuE=";
}; };
postPatch = '' postPatch = ''
rm -r ${analysisDir} rm -r ${analysisDir}

View File

@ -98,9 +98,9 @@ in mkDerivation rec {
wrapGAppsHook wrapGAppsHook
wrapQtAppsHook wrapQtAppsHook
bison
cmake cmake
flex flex
bison
ninja ninja
]; ];

View File

@ -1,48 +0,0 @@
{ lib, stdenv, fetchurl, appimageTools, makeWrapper, electron_25 }:
stdenv.mkDerivation rec {
pname = "blockbench-electron";
version = "4.8.1";
src = fetchurl {
url = "https://github.com/JannisX11/blockbench/releases/download/v${version}/Blockbench_${version}.AppImage";
sha256 = "sha256-CE2wDOt1WBcYmPs4sEyZ3LYvKLequFZH0B3huMYHlwA=";
name = "${pname}-${version}.AppImage";
};
appimageContents = appimageTools.extractType2 {
name = "${pname}-${version}";
inherit src;
};
dontUnpack = true;
dontConfigure = true;
dontBuild = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share/${pname} $out/share/applications
cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
cp -a ${appimageContents}/blockbench.desktop $out/share/applications/${pname}.desktop
cp -a ${appimageContents}/usr/share/icons $out/share
substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=AppRun' 'Exec=${pname}'
runHook postInstall
'';
postFixup = ''
makeWrapper ${electron_25}/bin/electron $out/bin/${pname} \
--add-flags $out/share/${pname}/resources/app.asar \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc ]}"
'';
meta = with lib; {
description = "A boxy 3D model editor powered by Electron";
homepage = "https://blockbench.net/";
license = licenses.gpl3Only;
maintainers = with maintainers; [ ckie ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "bemenu"; pname = "bemenu";
version = "0.6.20"; version = "0.6.21";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Cloudef"; owner = "Cloudef";
repo = finalAttrs.pname; repo = finalAttrs.pname;
rev = finalAttrs.version; rev = finalAttrs.version;
hash = "sha256-pXuaNhrXy33rZxk+qisFWpYj6w9QW3p3WmGtE1kHGII="; hash = "sha256-E/5wN7HpdBt//jFe9yAB8fuHKiFJ7D1UAJEvG8KBJ6k=";
}; };
strictDeps = true; strictDeps = true;

View File

@ -9,10 +9,27 @@
, enableQt ? true , enableQt ? true
, callPackage , callPackage
, qtwayland , qtwayland
, fetchPypi
}: }:
let let
version = "4.5.3"; version = "4.5.4";
python = python3.override {
self = python;
packageOverrides = self: super: {
# Pin ledger-bitcoin to 0.2.1
ledger-bitcoin = super.ledger-bitcoin.overridePythonAttrs (oldAttrs: rec {
version = "0.2.1";
format = "pyproject";
src = fetchPypi {
pname = "ledger_bitcoin";
inherit version;
hash = "sha256-AWl/q2MzzspNIo6yf30S92PgM/Ygsb+1lJsg7Asztso=";
};
});
};
};
libsecp256k1_name = libsecp256k1_name =
if stdenv.isLinux then "libsecp256k1.so.{v}" if stdenv.isLinux then "libsecp256k1.so.{v}"
@ -29,7 +46,7 @@ let
owner = "spesmilo"; owner = "spesmilo";
repo = "electrum"; repo = "electrum";
rev = version; rev = version;
sha256 = "sha256-Lr6ynHAbyaiaxYAWU5j5Wh5acxO5HkP1/jpnFrL4j68="; sha256 = "sha256-fDu2PlEQOF7ftlS6dYw15S2XiAx+D/bng4zC9ELj6uk=";
postFetch = '' postFetch = ''
mv $out ./all mv $out ./all
@ -39,13 +56,13 @@ let
in in
python3.pkgs.buildPythonApplication { python.pkgs.buildPythonApplication {
pname = "electrum"; pname = "electrum";
inherit version; inherit version;
src = fetchurl { src = fetchurl {
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz"; url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
sha256 = "sha256-kej0msc7SB+51ad5xZrT8MMEY5rfYOGqum6RO1gBH5s="; sha256 = "sha256-lDuwXhOjcbCx8x/oIoigrklDwCbhn1trf5lDf/X/1Qc=";
}; };
postUnpack = '' postUnpack = ''
@ -56,7 +73,7 @@ python3.pkgs.buildPythonApplication {
nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ]; nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ];
buildInputs = lib.optional (stdenv.isLinux && enableQt) qtwayland; buildInputs = lib.optional (stdenv.isLinux && enableQt) qtwayland;
propagatedBuildInputs = with python3.pkgs; [ propagatedBuildInputs = with python.pkgs; [
aiohttp aiohttp
aiohttp-socks aiohttp-socks
aiorpcx aiorpcx
@ -80,12 +97,15 @@ python3.pkgs.buildPythonApplication {
ckcc-protocol ckcc-protocol
keepkey keepkey
trezor trezor
bitbox02
cbor
pyserial
] ++ lib.optionals enableQt [ ] ++ lib.optionals enableQt [
pyqt5 pyqt5
qdarkstyle qdarkstyle
]; ];
checkInputs = with python3.pkgs; lib.optionals enableQt [ checkInputs = with python.pkgs; lib.optionals enableQt [
pyqt6 pyqt6
]; ];
@ -117,7 +137,7 @@ python3.pkgs.buildPythonApplication {
wrapQtApp $out/bin/electrum wrapQtApp $out/bin/electrum
''; '';
nativeCheckInputs = with python3.pkgs; [ pytestCheckHook pyaes pycryptodomex ]; nativeCheckInputs = with python.pkgs; [ pytestCheckHook pyaes pycryptodomex ];
pytestFlagsArray = [ "tests" ]; pytestFlagsArray = [ "tests" ];
@ -140,7 +160,7 @@ python3.pkgs.buildPythonApplication {
changelog = "https://github.com/spesmilo/electrum/blob/master/RELEASE-NOTES"; changelog = "https://github.com/spesmilo/electrum/blob/master/RELEASE-NOTES";
license = licenses.mit; license = licenses.mit;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ joachifm np prusnak ]; maintainers = with maintainers; [ joachifm np prusnak chewblacka ];
mainProgram = "electrum"; mainProgram = "electrum";
}; };
} }

View File

@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "kiwix-tools"; pname = "kiwix-tools";
version = "3.6.0"; version = "3.7.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kiwix"; owner = "kiwix";
repo = "kiwix-tools"; repo = "kiwix-tools";
rev = finalAttrs.version; rev = finalAttrs.version;
hash = "sha256-+th86lMAuCcmWj06yQoZ1L7rLZKqNvuTrV+Rra2km44="; hash = "sha256-JwF4EN5kyHEfNoMhHb9ywe+7pmgQtjEd2FeRUeTjvQw=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -23,16 +23,18 @@ stdenv.mkDerivation rec {
checkTarget = "test"; checkTarget = "test";
nativeCheckInputs = [ which zstd pbzip2 ]; nativeCheckInputs = [ which zstd pbzip2 ];
sharePath = "$out/share/${pname}";
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
installManPage makeself.1 installManPage makeself.1
install -Dm555 makeself.sh $out/bin/makeself install -Dm555 makeself.sh $out/bin/makeself
install -Dm444 -t $out/share/${pname}/ makeself.lsm README.md makeself-header.sh install -Dm444 -t ${sharePath}/ makeself.lsm README.md makeself-header.sh
runHook postInstall runHook postInstall
''; '';
fixupPhase = '' fixupPhase = ''
sed -e "s|^HEADER=.*|HEADER=$out/share/${pname}-${version}/makeself-header.sh|" -i $out/bin/makeself sed -e "s|^HEADER=.*|HEADER=${sharePath}/makeself-header.sh|" -i $out/bin/makeself
''; '';
meta = with lib; { meta = with lib; {

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "revanced-cli"; pname = "revanced-cli";
version = "4.4.2"; version = "4.5.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/revanced/revanced-cli/releases/download/v${version}/revanced-cli-${version}-all.jar"; url = "https://github.com/revanced/revanced-cli/releases/download/v${version}/revanced-cli-${version}-all.jar";
hash = "sha256-zdkasyYwyPB6mPvRVMP3/UoaXdaRxAI8GyOxsCYBMEE="; hash = "sha256-I25SmWUVJenFou1fKCd53PojoGt9FAQ7hDpEWweAICQ=";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
runHook preInstall runHook preInstall
mkdir -p $out/opt mkdir -p $out/opt
cp -r ./dist/linux-unpacked $out/opt/Whalebird cp -r ./dist/*-unpacked $out/opt/Whalebird
# Install icons # Install icons
# Taken from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=whalebird#n41 # Taken from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=whalebird#n41
@ -104,7 +104,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Single-column Fediverse client for desktop"; description = "Single-column Fediverse client for desktop";
homepage = "https://whalebird.social"; homepage = "https://whalebird.social";
sourceProvenance = with sourceTypes; [ fromSource ]; changelog = "https://github.com/h3poteto/whalebird-desktop/releases/tag/v${version}";
license = licenses.gpl3Only; license = licenses.gpl3Only;
maintainers = with maintainers; [ wolfangaukang colinsane weathercold ]; maintainers = with maintainers; [ wolfangaukang colinsane weathercold ];
platforms = [ "x86_64-linux" "aarch64-linux" ]; platforms = [ "x86_64-linux" "aarch64-linux" ];

View File

@ -8,13 +8,13 @@
buildGoModule rec { buildGoModule rec {
pname = "bosh-cli"; pname = "bosh-cli";
version = "7.5.4"; version = "7.5.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cloudfoundry"; owner = "cloudfoundry";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-aNzKp7QwyhC/ado0NrCyxrRZu+ePGBNSq31/Iw6k6n0="; sha256 = "sha256-LjqMCkEIl+0psxIys/tvJPkEQqDRzLOsaFUfAVG+RrE=";
}; };
vendorHash = null; vendorHash = null;

View File

@ -5,16 +5,16 @@
buildGoModule rec { buildGoModule rec {
pname = "kubectl-cnpg"; pname = "kubectl-cnpg";
version = "1.22.1"; version = "1.22.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cloudnative-pg"; owner = "cloudnative-pg";
repo = "cloudnative-pg"; repo = "cloudnative-pg";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-mKQuHswnoxgqQOCiQFbibg6MqACOxM73XngQai6s6To="; hash = "sha256-xR61PYUqiVtPTghEEeSWXs/Apx7VVWDgi6Pgx/EBQzQ=";
}; };
vendorHash = "sha256-SCeKoxI1zFzSwLAdAa1YI3DiyfK/uOk7CmWwQWVeF7g="; vendorHash = "sha256-u5ou9rY/JBrV0EF/nJX8u/Fqde/WZe21EcsNLwvtqB0=";
subPackages = [ "cmd/kubectl-cnpg" ]; subPackages = [ "cmd/kubectl-cnpg" ];

View File

@ -10,16 +10,16 @@
buildGoModule rec { buildGoModule rec {
pname = "nerdctl"; pname = "nerdctl";
version = "1.7.4"; version = "1.7.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "containerd"; owner = "containerd";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-d90xwrMtDK5ibRHIeV6nzv5jqJfaQXpU9xKTH49yiX4="; hash = "sha256-eGDshnJ26rrRuM9lWwcdRg8udA4uE5ee6c+SYES7qt4=";
}; };
vendorHash = "sha256-oiBgZQtqFwq189h/Bb4CrFhs4RDYUoEEOjrccujGclU="; vendorHash = "sha256-GsI695T7nkwwAt78l7mc5JCD9wXAUcTxwsiLLFcANBI=";
nativeBuildInputs = [ makeWrapper installShellFiles ]; nativeBuildInputs = [ makeWrapper installShellFiles ];

View File

@ -5,16 +5,16 @@
buildGoModule rec { buildGoModule rec {
pname = "terragrunt"; pname = "terragrunt";
version = "0.55.13"; version = "0.55.15";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gruntwork-io"; owner = "gruntwork-io";
repo = pname; repo = pname;
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-qTQ4tmSFFqO2tnp+7fVeXO6dNbPsx37vT6GElz8dLdQ="; hash = "sha256-luVYnuvsLHfkSZVCjzGB34ffbNzuKjEFmxQfgdY+YpQ=";
}; };
vendorHash = "sha256-sdEA/5QQ85tGfo7qSCD/lD20uAh045fl3tF9nFfH6x0="; vendorHash = "sha256-KXAN8WNKFfGbV7YQRhwgFBM0g+rbHe+MIuaR5/7khAs=";
doCheck = false; doCheck = false;

View File

@ -15,13 +15,13 @@
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "pjsip"; pname = "pjsip";
version = "2.14"; version = "2.14.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = finalAttrs.pname; owner = finalAttrs.pname;
repo = "pjproject"; repo = "pjproject";
rev = "refs/tags/${finalAttrs.version}"; rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-PWCeIvnBAOqbcNYPhIY7hykdvLzoD9lssSViCCPNT68="; hash = "sha256-LDA3o1QMrAxcGuOi/YRoMzXmw/wFkfDs2wweZuIJ2RY=";
}; };
patches = [ patches = [

View File

@ -18,13 +18,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wayvnc"; pname = "wayvnc";
version = "0.7.2"; version = "0.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "any1"; owner = "any1";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-6at0p1Xc25K5l6sq2uMWpaLVvZMNlWC0ybyZyrIw41I="; hash = "sha256-IGEM212CU91+pT8xq3BzrPrIDUZxZveb2jhatMGJAsw=";
}; };
strictDeps = true; strictDeps = true;

View File

@ -5,18 +5,18 @@
buildGoModule rec { buildGoModule rec {
pname = "storj-uplink"; pname = "storj-uplink";
version = "1.99.3"; version = "1.100.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "storj"; owner = "storj";
repo = "storj"; repo = "storj";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-SzldiGwcpR+UEQ3imJfu3FlYqGq4evsYtjVLybdjGqc="; hash = "sha256-wc6oK1zn04/1nwis9ndpkQc8dwY/J85zZbhkwmNFLek=";
}; };
subPackages = [ "cmd/uplink" ]; subPackages = [ "cmd/uplink" ];
vendorHash = "sha256-mPJVb2/iGbRWDDcfIey3uW/5g2TIIemHR8d/3osMeGA="; vendorHash = "sha256-84PI1tZFiodnGvMwObELVxXMCgIWINOrO0ISAWRnxRM=";
ldflags = [ "-s" "-w" ]; ldflags = [ "-s" "-w" ];

View File

@ -19,15 +19,15 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "iotas"; pname = "iotas";
version = "0.2.7"; version = "0.2.10";
format = "other"; pyproject = false;
src = fetchFromGitLab { src = fetchFromGitLab {
domain = "gitlab.gnome.org"; domain = "gitlab.gnome.org";
owner = "cheywood"; owner = "World";
repo = pname; repo = "iotas";
rev = version; rev = version;
hash = "sha256-k3Qbi/BwkJlQzlyTlo9SjJ1M3zMFHo4669rzd+BBPzQ="; hash = "sha256-aITt+TJb/LrVOyb/mAC7U6/NJ4stHD76jjBFC7Pt7fU=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -57,6 +57,7 @@ python3.pkgs.buildPythonApplication rec {
markdown-it-py markdown-it-py
linkify-it-py linkify-it-py
mdit-py-plugins mdit-py-plugins
pypandoc
]; ];
# prevent double wrapping # prevent double wrapping
@ -67,9 +68,10 @@ python3.pkgs.buildPythonApplication rec {
meta = with lib; { meta = with lib; {
description = "Simple note taking with mobile-first design and Nextcloud sync"; description = "Simple note taking with mobile-first design and Nextcloud sync";
homepage = "https://gitlab.gnome.org/cheywood/iotas"; homepage = "https://gitlab.gnome.org/World/iotas";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
platforms = platforms.linux; platforms = platforms.linux;
mainProgram = "iotas";
maintainers = with maintainers; [ zendo ]; maintainers = with maintainers; [ zendo ];
}; };
} }

View File

@ -27,11 +27,11 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "PortfolioPerformance"; pname = "PortfolioPerformance";
version = "0.68.1"; version = "0.68.2";
src = fetchurl { src = fetchurl {
url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz"; url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
hash = "sha256-ZXtBKc5vQz9fDyiG+DYOx7DsnnsORiltOacdx4AqFjg="; hash = "sha256-h/WCfF3jK/pkN911vxPe2xzGUfVY2Xy+3yJwoqBQ5mA=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -19,14 +19,14 @@
let let
pname = "qownnotes"; pname = "qownnotes";
appname = "QOwnNotes"; appname = "QOwnNotes";
version = "24.3.1"; version = "24.3.3";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
inherit pname version; inherit pname version;
src = fetchurl { src = fetchurl {
url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz"; url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
hash = "sha256-9WlpZO/OUSSUxBXXOcB6fLq5t75uryViWsn26C05bVo="; hash = "sha256-1PnGccbEKkFZGE7mxMD8onMkFd/f9qyvERSu+VL3yUE=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -11,7 +11,7 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "commitizen"; pname = "commitizen";
version = "3.18.3"; version = "3.18.4";
format = "pyproject"; format = "pyproject";
disabled = python3.pythonOlder "3.8"; disabled = python3.pythonOlder "3.8";
@ -20,7 +20,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "commitizen-tools"; owner = "commitizen-tools";
repo = pname; repo = pname;
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-8l2nahrYq7GQwajdGwCg0Bfx8D5xk695UEHKds5+N5A="; hash = "sha256-ODBlNwrvkYnZ+CvKyc5Bic6DK/z8d6/KR3+iarFxduE=";
}; };
pythonRelaxDeps = [ pythonRelaxDeps = [

View File

@ -16,13 +16,13 @@
mkDerivation rec { mkDerivation rec {
pname = "anilibria-winmaclinux"; pname = "anilibria-winmaclinux";
version = "1.2.14"; version = "1.2.15";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "anilibria"; owner = "anilibria";
repo = "anilibria-winmaclinux"; repo = "anilibria-winmaclinux";
rev = "d941607f078c72fca104ee1e7916cc0ddcc0acf5"; rev = version;
sha256 = "sha256-G4KlYAjOT1UV29vcX7Q8dMTj0BX0rsJcLtK2MQag5nU="; sha256 = "sha256-pfM3o4H3XJ4ZE0FXVR1k8pc7lr7SOQjKEMWuG9YkvvI=";
}; };
sourceRoot = "${src.name}/src"; sourceRoot = "${src.name}/src";

View File

@ -8,34 +8,18 @@
mkDerivation rec { mkDerivation rec {
pname = "mythtv"; pname = "mythtv";
version = "32.0"; version = "34.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "MythTV"; owner = "MythTV";
repo = "mythtv"; repo = "mythtv";
rev = "v${version}"; rev = "v${version}";
sha256 = "0i4fs3rbk1jggh62wflpa2l03na9i1ihpz2vsdic9vfahqqjxff1"; hash = "sha256-6/TEoyYIRq6pufYzGOmO5DB05JuDo9lqRAYT5N5M/L4=";
}; };
patches = [ patches = [
# Disable sourcing /etc/os-release # Disable sourcing /etc/os-release
./dont-source-os-release.patch ./dont-source-os-release.patch
# Fix QMake variable substitution syntax - MythTV/mythtv#550
(fetchpatch {
name = "fix-qmake-var-syntax.patch";
url = "https://github.com/MythTV/mythtv/commit/a8da7f7e7ec069164adbef65a8104adc9bb52e36.patch";
stripLen = 1;
hash = "sha256-JfRME00YNNjl6SKs1HBa0wBa/lR/Rt3zbQtWhsC36JM=";
})
# Bachport the build against binutils-2.41
(fetchpatch {
name = "binutils-2.41.patch";
url = "https://github.com/MythTV/mythtv/commit/f9f9bba62ee2743c816cb2b9634b6b4397e5e2e3.patch";
stripLen = 1;
hash = "sha256-IcXgBtfqPZ42inYFe7l8mWvKUV13S/YEQAHcOFaDivI=";
})
]; ];
setSourceRoot = "sourceRoot=$(echo */mythtv)"; setSourceRoot = "sourceRoot=$(echo */mythtv)";

View File

@ -1,6 +1,6 @@
--- a/configure --- a/configure
+++ b/configure +++ b/configure
@@ -5894,9 +5894,9 @@ else @@ -5451,9 +5451,9 @@ else
die "ERROR: cannot find soundtouch 1.8.0 or later." die "ERROR: cannot find soundtouch 1.8.0 or later."
fi fi

View File

@ -19,12 +19,12 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "vdr-markad"; pname = "vdr-markad";
version = "3.4.6"; version = "3.4.12";
src = fetchFromGitHub { src = fetchFromGitHub {
repo = "vdr-plugin-markad"; repo = "vdr-plugin-markad";
owner = "kfb77"; owner = "kfb77";
sha256 = "sha256-fixkalZAPz0iO1SmshsO0vYc2sksH2lrStsSOEcdZ1g="; sha256 = "sha256-yc/zWMGzsfZl3n+Qt5Se2duo3jwntCWaYq1yACsrPzM=";
rev = "V${version}"; rev = "V${version}";
}; };

View File

@ -14,12 +14,12 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "vdr-softhddevice"; pname = "vdr-softhddevice";
version = "2.1.1"; version = "2.1.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ua0lnj"; owner = "ua0lnj";
repo = "vdr-plugin-softhddevice"; repo = "vdr-plugin-softhddevice";
sha256 = "sha256-d/Cl0sE4laDdjMhd3xTHcY4OT5tWWCFCvLsNF157+zw="; sha256 = "sha256-y6b0nOf597uxS9zDh0NQOwLN81nk4U7lHK2CalyVi8s=";
rev = "v${version}"; rev = "v${version}";
}; };

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "docker-compose"; pname = "docker-compose";
version = "2.24.7"; version = "2.25.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "docker"; owner = "docker";
repo = "compose"; repo = "compose";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-r7V9ZqUbtK4PG/NfDTbDljP+xaPJBXZSp1rGY/kgUTA="; hash = "sha256-QfzFo6VqNK+4GvF2sSVLeDTcoBOG8Jtqs6K5o5bwddA=";
}; };
postPatch = '' postPatch = ''
@ -16,7 +16,7 @@ buildGoModule rec {
rm -rf e2e/ rm -rf e2e/
''; '';
vendorHash = "sha256-Ec2JRCQvdC2VzkK29GyKS2DTrfHgv4wJc/50fbLVKEY="; vendorHash = "sha256-zAIf5ljy9trJE27RpsK0atPoqNIDUdTn6ywRo0yk/18=";
ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ]; ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];

View File

@ -11,13 +11,13 @@
buildGoModule rec { buildGoModule rec {
pname = "lima"; pname = "lima";
version = "0.20.1"; version = "0.20.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lima-vm"; owner = "lima-vm";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-MeTFATaAGRSaUXmC1fv9/gMFWafvkteKVJS6MHaqt8A="; sha256 = "sha256-xFiCGuCUJUnWN5DBfwjhBgntDfod4CWpXqJ3dbrDUSQ=";
}; };
vendorHash = "sha256-wd7YiEo4Gy2kHF7aCRoNGlbOQUxqQnKqP3znzMqS2PI="; vendorHash = "sha256-wd7YiEo4Gy2kHF7aCRoNGlbOQUxqQnKqP3znzMqS2PI=";

View File

@ -1,6 +1,6 @@
{ lib { lib
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitea
, installShellFiles , installShellFiles
, libX11 , libX11
, libinput , libinput
@ -24,8 +24,9 @@ stdenv.mkDerivation (finalAttrs: {
pname = "dwl"; pname = "dwl";
version = "0.5"; version = "0.5";
src = fetchFromGitHub { src = fetchFromGitea {
owner = "djpohly"; domain = "codeberg.org";
owner = "dwl";
repo = "dwl"; repo = "dwl";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-U/vqGE1dJKgEGTfPMw02z5KJbZLWY1vwDJWnJxT8urM="; hash = "sha256-U/vqGE1dJKgEGTfPMw02z5KJbZLWY1vwDJWnJxT8urM=";

View File

@ -0,0 +1,73 @@
{ stdenv
, lib
, fetchFromGitHub
, meson
, ninja
, pkg-config
, boost
, cairo
, glib
, libGL
, libinput
, librsvg
, libxkbcommon
, pango
, udev
, wayfire
, wayland
, wf-config
, xcbutilwm
, mate
}:
stdenv.mkDerivation (finalAttrs: {
pname = "firedecor";
version = "2023-10-23";
src = fetchFromGitHub {
owner = "mntmn";
repo = "Firedecor";
rev = finalAttrs.version;
hash = "sha256-7or8HkmIZnLpXEZzUhJ3u8SIPfIQFgn32Ju/5OzK06Y=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
];
buildInputs = [
boost
cairo
glib
libGL
libinput
librsvg
libxkbcommon
pango
udev
wayfire
wayland
wf-config
xcbutilwm
];
postPatch = ''
substituteInPlace src/firedecor-theme.cpp \
--replace-fail "/usr/share" "/run/current-system/sw/share"
'';
env = {
PKG_CONFIG_WAYFIRE_PLUGINDIR = "${placeholder "out"}/lib/wayfire";
PKG_CONFIG_WAYFIRE_METADATADIR = "${placeholder "out"}/share/wayfire/metadata";
};
meta = with lib; {
homepage = "https://github.com/mntmn/Firedecor";
description = "Advanced window decoration plugin for the Wayfire window manager";
license = licenses.mit;
inherit (mate.mate-wayland-session.meta) maintainers;
inherit (wayfire.meta) platforms;
};
})

View File

@ -4,6 +4,7 @@ lib.makeScope pkgs.newScope (self:
let let
inherit (self) callPackage; inherit (self) callPackage;
in { in {
firedecor = callPackage ./firedecor.nix { };
wayfire-plugins-extra = callPackage ./wayfire-plugins-extra.nix { }; wayfire-plugins-extra = callPackage ./wayfire-plugins-extra.nix { };
wcm = callPackage ./wcm.nix { }; wcm = callPackage ./wcm.nix { };
wf-shell = callPackage ./wf-shell.nix { }; wf-shell = callPackage ./wf-shell.nix { };

View File

@ -26,6 +26,13 @@ stdenv.mkDerivation rec {
hash = "sha256-Uv8dSqI5Si5BbIWjOLYnzpf6cdQ+t2L9Sq8UXTb8eVo="; hash = "sha256-Uv8dSqI5Si5BbIWjOLYnzpf6cdQ+t2L9Sq8UXTb8eVo=";
}; };
postPatch = ''
# raise neatvnc version bound to 0.8.0
# https://gitlab.freedesktop.org/wayland/weston/-/issues/890
substituteInPlace libweston/backend-vnc/meson.build \
--replace-fail "'neatvnc', version: ['>= 0.7.0', '< 0.8.0']" "'neatvnc', version: ['>= 0.7.0', '<= 0.8.0']"
'';
depsBuildBuild = [ pkg-config ]; depsBuildBuild = [ pkg-config ];
nativeBuildInputs = [ meson ninja pkg-config python3 wayland-scanner ]; nativeBuildInputs = [ meson ninja pkg-config python3 wayland-scanner ];
buildInputs = [ buildInputs = [

View File

@ -325,6 +325,12 @@ stdenv.mkDerivation {
hardening_unsupported_flags+=" relro bindnow" hardening_unsupported_flags+=" relro bindnow"
'' ''
+ optionalString (libc != null && targetPlatform.isAvr) ''
for isa in avr5 avr3 avr4 avr6 avr25 avr31 avr35 avr51 avrxmega2 avrxmega4 avrxmega5 avrxmega6 avrxmega7 tiny-stack; do
echo "-L${getLib libc}/avr/lib/$isa" >> $out/nix-support/libc-cflags
done
''
+ optionalString stdenv.targetPlatform.isDarwin '' + optionalString stdenv.targetPlatform.isDarwin ''
echo "-arch ${targetPlatform.darwinArch}" >> $out/nix-support/libc-ldflags echo "-arch ${targetPlatform.darwinArch}" >> $out/nix-support/libc-ldflags
'' ''

View File

@ -668,6 +668,12 @@ stdenv.mkDerivation {
hardening_unsupported_flags+=" stackprotector" hardening_unsupported_flags+=" stackprotector"
'' ''
+ optionalString (libc != null && targetPlatform.isAvr) ''
for isa in avr5 avr3 avr4 avr6 avr25 avr31 avr35 avr51 avrxmega2 avrxmega4 avrxmega5 avrxmega6 avrxmega7 tiny-stack; do
echo "-B${getLib libc}/avr/lib/$isa" >> $out/nix-support/libc-crt1-cflags
done
''
+ optionalString stdenv.targetPlatform.isDarwin '' + optionalString stdenv.targetPlatform.isDarwin ''
echo "-arch ${targetPlatform.darwinArch}" >> $out/nix-support/cc-cflags echo "-arch ${targetPlatform.darwinArch}" >> $out/nix-support/cc-cflags
'' ''

View File

@ -27,13 +27,13 @@
, dbusSupport ? true , dbusSupport ? true
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "3.10.0"; version = "3.10.1";
pname = "baresip"; pname = "baresip";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "baresip"; owner = "baresip";
repo = "baresip"; repo = "baresip";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-cVPg8T9sLZd4fXBoI64TtlIBwF2lAXNth9fMiKnk9H4="; hash = "sha256-0huZP1hopHaN5R1Hki6YutpvoASfIHzHMl/Y4czHHMo=";
}; };
prePatch = lib.optionalString (!dbusSupport) '' prePatch = lib.optionalString (!dbusSupport) ''
substituteInPlace cmake/modules.cmake --replace 'list(APPEND MODULES ctrl_dbus)' "" substituteInPlace cmake/modules.cmake --replace 'list(APPEND MODULES ctrl_dbus)' ""

View File

@ -0,0 +1,87 @@
{ lib
, stdenv
, buildNpmPackage
, fetchFromGitHub
, imagemagick
, makeWrapper
, makeDesktopItem
, copyDesktopItems
, electron_28
}:
let
electron = electron_28;
in
buildNpmPackage rec {
pname = "blockbench";
version = "4.9.4";
src = fetchFromGitHub {
owner = "JannisX11";
repo = "blockbench";
rev = "v${version}";
hash = "sha256-z4hr1pQh7Jp/DB8+pxwuHvi4gvTHHVn0yrruwnXm2iM=";
};
nativeBuildInputs = [
imagemagick # for icon resizing
makeWrapper
copyDesktopItems
];
npmDepsHash = "sha256-onfz+J77jNIgdc7ALiyoXt1CdTyX/C7+bKwtpJm+H+I=";
env.ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
npmBuildScript = "bundle";
postBuild = ''
npm exec electron-builder -- \
--dir \
-c.electronDist=${electron}/libexec/electron \
-c.electronVersion=${electron.version}
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/blockbench
cp -r dist/*-unpacked/{locales,resources{,.pak}} $out/share/blockbench
for size in 16 32 48 64 128 256 512; do
mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
convert -resize "$size"x"$size" icon.png $out/share/icons/hicolor/"$size"x"$size"/apps/blockbench.png
done
makeWrapper ${lib.getExe electron} $out/bin/blockbench \
--add-flags $out/share/blockbench/resources/app.asar \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
--inherit-argv0
runHook postInstall
'';
# based on desktop file found in the published AppImage archive
desktopItems = [
(makeDesktopItem {
name = "blockbench";
exec = "blockbench %U";
icon = "blockbench";
desktopName = "Blockbench";
comment = meta.description;
categories = [ "3DGraphics" ];
startupWMClass = "Blockbench";
terminal = false;
})
];
meta = {
changelog = "https://github.com/JannisX11/blockbench/releases/tag/${src.rev}";
description = "Low-poly 3D modeling and animation software";
homepage = "https://blockbench.net/";
license = lib.licenses.gpl3Only;
mainProgram = "blockbench";
maintainers = with lib.maintainers; [ ckie tomasajt ];
broken = stdenv.isDarwin;
};
}

View File

@ -27,20 +27,20 @@ let
in in
buildNpmPackage' rec { buildNpmPackage' rec {
pname = "bruno"; pname = "bruno";
version = "1.10.0"; version = "1.11.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "usebruno"; owner = "usebruno";
repo = "bruno"; repo = "bruno";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-wxQaKewKIfN93Wvb7WmOSuflTgfk1XKvHAA1UIVyMqk="; hash = "sha256-Urskhzs00OEucoR17NDXNtnrcXk9h75E806Re0HvYyw=";
postFetch = '' postFetch = ''
${lib.getExe npm-lockfile-fix} $out/package-lock.json ${lib.getExe npm-lockfile-fix} $out/package-lock.json
''; '';
}; };
npmDepsHash = "sha256-IXFFOegzJbDcQejqQsAg11jDnhSKi27Olm8m3qr7bqw="; npmDepsHash = "sha256-48xzx7dTalceXzjFBHIkkUS83pqP/OQ0L2tnMESpHII=";
npmFlags = [ "--legacy-peer-deps" ]; npmFlags = [ "--legacy-peer-deps" ];
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -44,13 +44,13 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cockpit"; pname = "cockpit";
version = "312"; version = "313";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cockpit-project"; owner = "cockpit-project";
repo = "cockpit"; repo = "cockpit";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-X3IsUaqXlg/SlqHo9jK+hONY/6LAIAfRO9rAwCQcq64="; hash = "sha256-k/JbvotOcVs2OXwGOrnjY0xYRRgvk61p0o7VQTTPqz4=";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View File

@ -25,11 +25,11 @@ let
in in
stdenvNoCC.mkDerivation (finalAttrs: { stdenvNoCC.mkDerivation (finalAttrs: {
pname = "dynamodb-local"; pname = "dynamodb-local";
version = "2.2.1"; version = "2.3.0";
src = fetchurl { src = fetchurl {
url = "https://d1ni2b6xgvw0s0.cloudfront.net/v2.x/dynamodb_local_2024-01-04.tar.gz"; url = "https://d1ni2b6xgvw0s0.cloudfront.net/v2.x/dynamodb_local_2024-03-14.tar.gz";
hash = "sha256-CbZ9Z9A70JoHu4G6It+7WycaEtzuwjVJ2YrOK+37zYA="; hash = "sha256-BmLbmT63CaETgu1a/Tcf0KyF+Xwol67yKVwSMa9fJbw=";
}; };
sourceRoot = "."; sourceRoot = ".";

View File

@ -6,16 +6,16 @@
buildGoModule rec { buildGoModule rec {
pname = "eksctl"; pname = "eksctl";
version = "0.173.0"; version = "0.174.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "weaveworks"; owner = "weaveworks";
repo = pname; repo = pname;
rev = version; rev = version;
hash = "sha256-PVBt+AoYd8fMYHzBpgQ261TGlkmyooN7UKX9ooXaRYA="; hash = "sha256-I3YBKdb53BLZ3wFBu8WGJ1kTkuLucMoHLNchMOTNc2o=";
}; };
vendorHash = "sha256-5bHZt+Oze7JiaY0dKjoMNDdU6wzMphgZ3W3NveRKGy0="; vendorHash = "sha256-wdH4+s9SU2WgIy7bJ4YrT53URvHC4vw7RZpllT2DfV8=";
doCheck = false; doCheck = false;

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "gatus"; pname = "gatus";
version = "5.7.0"; version = "5.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "TwiN"; owner = "TwiN";
repo = "gatus"; repo = "gatus";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-GG5p2sAIameGo6IFt3IBwFuLfVFRbfHjrQrG6Ei9odA="; hash = "sha256-FFnrtdJiN7B27sJXzoGsbPKX3NeuHOtA34WQrw6pvEI=";
}; };
vendorHash = "sha256-VYHBqVFXX7fUuW2UqPOlbRDEfcysYvjSlfm0UJ2mMGM="; vendorHash = "sha256-VICVo7XYeHs/43knHA4CMSgHloyYSjOFe1TUb4u+egE=";
subPackages = [ "." ]; subPackages = [ "." ];

View File

@ -6,16 +6,16 @@
buildNpmPackage rec { buildNpmPackage rec {
pname = "gitlab-ci-local"; pname = "gitlab-ci-local";
version = "4.46.1"; version = "4.47.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "firecow"; owner = "firecow";
repo = "gitlab-ci-local"; repo = "gitlab-ci-local";
rev = version; rev = version;
hash = "sha256-0NUmsbuzs004w9ETj4e4nO+sDvYHQh9SwJoRc3+r+j8="; hash = "sha256-AMqifAdC4aPra/KfM0Z8L1mF6+lA0dv9tt/cXSd3Ov4=";
}; };
npmDepsHash = "sha256-zCBNUKmLluVCDoPHuKy9KMKCGL8FqopFhKq7QCAUe4U="; npmDepsHash = "sha256-GVqGA4aMfA08j/+fy+DA6udi52lmfDeAkE59d9CMAqg=";
postPatch = '' postPatch = ''
# remove cleanup which runs git commands # remove cleanup which runs git commands

View File

@ -9,17 +9,18 @@
, libnotify , libnotify
, withHyprland ? true , withHyprland ? true
, hyprland , hyprland
, gawk
}: }:
stdenvNoCC.mkDerivation rec { stdenvNoCC.mkDerivation rec {
pname = "hdrop"; pname = "hdrop";
version = "0.4.4"; version = "0.5.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Schweber"; owner = "Schweber";
repo = "hdrop"; repo = "hdrop";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-eLOu7xmFphTxCtyyXdM9VkNcUpefefuZMAQtOV4FVtU="; hash = "sha256-iginpMlgANSPWgFxNC2TYMjf2NKSSzzrjIN8lIsAvX8=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -36,6 +37,7 @@ stdenvNoCC.mkDerivation rec {
util-linux util-linux
jq jq
libnotify libnotify
gawk
] ]
++ lib.optional withHyprland hyprland)}" ++ lib.optional withHyprland hyprland)}"
''; '';

View File

@ -16,14 +16,14 @@
stdenvNoCC.mkDerivation (finalAttrs: { stdenvNoCC.mkDerivation (finalAttrs: {
pname = "home-manager"; pname = "home-manager";
version = "unstable-2024-03-12"; version = "unstable-2024-03-15";
src = fetchFromGitHub { src = fetchFromGitHub {
name = "home-manager-source"; name = "home-manager-source";
owner = "nix-community"; owner = "nix-community";
repo = "home-manager"; repo = "home-manager";
rev = "a500de54b2e3067201a40cefa5f210f719423ddf"; rev = "206f457fffdb9a73596a4cb2211a471bd305243d";
hash = "sha256-AfVYEQIhOK6vaYVndgqFV4Vb5REXG9R0ylv83QInsT0="; hash = "sha256-SUXGZNrXX05YA9G6EmgupxhOr3swI1gcxLUeDMUhrEY=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,8 +1,9 @@
{ lib {
, rustPlatform lib,
, fetchFromGitHub rustPlatform,
, installShellFiles fetchFromGitHub,
, nix-update-script installShellFiles,
nix-update-script,
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
@ -18,17 +19,15 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-hgcGzRLB1L3yxJjw1ECDJPmbl1W+2OS4KDojclyVYrc="; cargoHash = "sha256-hgcGzRLB1L3yxJjw1ECDJPmbl1W+2OS4KDojclyVYrc=";
nativeBuildInputs = [ nativeBuildInputs = [ installShellFiles ];
installShellFiles
];
postInstall = '' postInstall = ''
installManPage target/man/hyprdim.1 installManPage target/man/hyprdim.1
installShellCompletion --cmd hyprdim \ installShellCompletion --cmd hyprdim \
--bash <(cat target/completions/hyprdim.bash) \ --bash target/completions/hyprdim.bash \
--fish <(cat target/completions/hyprdim.fish) \ --fish target/completions/hyprdim.fish \
--zsh <(cat target/completions/_hyprdim) --zsh target/completions/_hyprdim
''; '';
passthru.updateScript = nix-update-script { }; passthru.updateScript = nix-update-script { };

View File

@ -1,8 +1,9 @@
{ lib {
, rustPlatform lib,
, fetchFromGitHub rustPlatform,
, installShellFiles fetchFromGitHub,
, nix-update-script installShellFiles,
nix-update-script,
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
@ -18,17 +19,15 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-DpbRs97sr5wpJSrYF99ZiQ0SZOZdoQjfaLhKIAU95HA="; cargoHash = "sha256-DpbRs97sr5wpJSrYF99ZiQ0SZOZdoQjfaLhKIAU95HA=";
nativeBuildInputs = [ nativeBuildInputs = [ installShellFiles ];
installShellFiles
];
postInstall = '' postInstall = ''
installManPage target/man/hyprnome.1 installManPage target/man/hyprnome.1
installShellCompletion --cmd hyprnome \ installShellCompletion --cmd hyprnome \
--bash <(cat target/completions/hyprnome.bash) \ --bash target/completions/hyprnome.bash \
--fish <(cat target/completions/hyprnome.fish) \ --fish target/completions/hyprnome.fish \
--zsh <(cat target/completions/_hyprnome) --zsh target/completions/_hyprnome
''; '';
passthru.updateScript = nix-update-script { }; passthru.updateScript = nix-update-script { };

View File

@ -23,11 +23,11 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "intune-portal"; pname = "intune-portal";
version = "1.2401.21-jammy"; version = "1.2402.12-jammy";
src = fetchurl { src = fetchurl {
url = "https://packages.microsoft.com/ubuntu/22.04/prod/pool/main/i/${pname}/${pname}_${version}_amd64.deb"; url = "https://packages.microsoft.com/ubuntu/22.04/prod/pool/main/i/${pname}/${pname}_${version}_amd64.deb";
hash = "sha256-BIPTVhOBzaKzZR0WhQOX2W8kDg64UWOgIVvgaw2Gckc="; hash = "sha256-S5+Ddm13OJ4eQTQ9Q8OgsCqnpM6GxuZ1hEycZCy6//g=";
}; };
nativeBuildInputs = [ dpkg ]; nativeBuildInputs = [ dpkg ];

View File

@ -0,0 +1,58 @@
{ lib
, fetchFromGitHub
, pkg-config
, pkgs
, overrideSDK
, darwin
, testers
}:
let
stdenv = overrideSDK pkgs.stdenv "11.0";
in
stdenv.mkDerivation (finalAttrs: {
pname = "JankyBorders";
version = "1.6.0";
src = fetchFromGitHub {
owner = "FelixKratz";
repo = "JankyBorders";
rev = "v${finalAttrs.version}";
hash = "sha256-DX1d228UCOI+JU+RxenhiGyn3AiqpsGe0aCtr091szs=";
};
nativeBuildInputs = [
pkg-config
];
buildInputs = with darwin.apple_sdk.frameworks; [
AppKit
ApplicationServices
CoreFoundation
CoreGraphics
SkyLight
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp ./bin/borders $out/bin/borders
runHook postInstall
'';
passthru.tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
version = "borders-v${finalAttrs.version}";
};
meta = {
description = "JankyBorders is a lightweight tool designed to add colored borders to user windows on macOS 14.0+";
longDescription = "It enhances the user experience by visually highlighting the currently focused window without relying on the accessibility API, thereby being faster than comparable tools.";
homepage = "https://github.com/FelixKratz/JankyBorders";
license = lib.licenses.gpl3;
mainProgram = "borders";
maintainers = with lib.maintainers; [ khaneliman ];
platforms = lib.platforms.darwin;
};
})

View File

@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "joshuto"; pname = "joshuto";
version = "0.9.6"; version = "0.9.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kamiyaa"; owner = "kamiyaa";
repo = "joshuto"; repo = "joshuto";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-d2r8xPGnH/299wjEijilgqy3u/xJgtRmwzJdHt0sA+o="; hash = "sha256-8OvaL6HqsJjBAbksR4EpC/ZgvdBSKlB37PP77p3T3PY=";
}; };
cargoHash = "sha256-amgqoL7NYfl3WzTtgvDoBX46rsL9248rbCis6MHVQhE="; cargoHash = "sha256-zGqOmebD7kZAsWunWSB2NFOSg0cu8aM1dyhEIQz1j4I=";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];

View File

@ -4,7 +4,7 @@
, nix-update-script , nix-update-script
}: }:
let let
version = "0.0.1"; version = "0.0.3";
in in
buildGoModule { buildGoModule {
inherit version; inherit version;
@ -14,7 +14,7 @@ buildGoModule {
owner = "kubernetes-sigs"; owner = "kubernetes-sigs";
repo = "kubectl-validate"; repo = "kubectl-validate";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-0lwN+3Cy7O9kX9dh8PjxmvdyKSZhBxcxy+b+ZtuDZaw="; hash = "sha256-k2+2QIPjNw6C/Do1WhPN39VZhZX4PZ6ZsKDKGJ9E5QA=";
}; };
vendorHash = null; vendorHash = null;

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "kyverno-chainsaw"; pname = "kyverno-chainsaw";
version = "0.1.7"; version = "0.1.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kyverno"; owner = "kyverno";
repo = "chainsaw"; repo = "chainsaw";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-v71qAJSpnbHd+jkPkR34IVNvwWLhm04TrPzduB6ZOgA="; hash = "sha256-qn5EjddLVRhN90SICa39A28giXQ24Ol1nfbxNH5TXhc=";
}; };
vendorHash = "sha256-lHV5Ik/L/Svn9AvcKZupq778ektEsbxfOkCts4Ocx9g="; vendorHash = "sha256-R9qaG19Vp+1a7AL0q8Cl1jN89cbXzLwbnN163WMWAEw=";
ldflags = [ ldflags = [
"-s" "-w" "-s" "-w"

View File

@ -0,0 +1,60 @@
{ lib
, stdenv
, fetchurl
, cups
, autoPatchelfHook
}:
stdenv.mkDerivation (finalAttrs: {
pname = "labelife-label-printer";
version = "1.2.1";
arch =
if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64"
else if stdenv.hostPlatform.system == "i686-linux" then "i386"
else throw "Unsupported system: ${stdenv.hostPlatform.system}";
src = fetchurl {
url = "https://oss.saas.aimocloud.com/saas/Lablife/bag/LabelPrinter-${finalAttrs.version}.tar.gz";
hash = "sha256-twnIFMBMyEM3xGlsuk3763C3emz3mgpEnlfvnL0XRWw=";
};
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [ cups ];
installPhase =
''
runHook preInstall
# Install the CUPS filter with executable permissions
install -Dm755 ./${finalAttrs.arch}/rastertolabeltspl $out/lib/cups/filter/rastertolabeltspl
# Install all PPD files with read and write permissions for owner, and read for group and others
for ppd in ./ppds/*.ppd; do
install -Dm644 $ppd $out/share/cups/model/label/$(basename $ppd)
done
runHook postInstall
'';
meta = {
description = "CUPS driver for several Labelife-compatible thermal label printers";
downloadPage = "https://labelife.net/#/chart";
homepage = "https://labelife.net";
license = lib.licenses.unfree;
longDescription = ''
Supported printer models include:
- D520 & D520BT
- PM-201
- PM-241 & PM-241-BT
- PM-246 & PM-246S
Brands using Labelife drivers include:
- Phomemo
- Itari
- Omezizy
- Aimo
'';
maintainers = with lib.maintainers; [ daniel-fahey ];
platforms = with lib; [ "i686-linux" "x86_64-linux" ];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
})

View File

@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "labwc-menu-generator"; pname = "labwc-menu-generator";
version = "unstable-2024-03-11"; version = "unstable-2024-03-12";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "labwc"; owner = "labwc";
repo = "labwc-menu-generator"; repo = "labwc-menu-generator";
rev = "38d08a6695fe9d3176059dc5c57a9c84f9ef4981"; rev = "85a014db7214103c14c2bfbb5fc09a349ad64992";
hash = "sha256-wB5+VmtxjuWbeuDdtGt0f9u7bc3j1Bb6r5MfmMsmE0M="; hash = "sha256-nt/K00cr1dKEk547J/6w1j6O3WSgGqVt1+Jdw95K28s=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "lutgen"; pname = "lutgen";
version = "0.9.0"; version = "0.10.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ozwaldorf"; owner = "ozwaldorf";
repo = "lutgen-rs"; repo = "lutgen-rs";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-tKSPk0V11pnKFV4E08H4CUnjw9nAonTRI6W3mGipd9I="; hash = "sha256-O2995+DLiCRDM/+oPTOBiM0L1x0jmbLTlR48+5IfOQw=";
}; };
cargoHash = "sha256-DiorrgTH9lIdmaZL7451uCXj9X7M6eHf4MQc85MpU7s="; cargoHash = "sha256-ys4c/YUJJikDEUJjzagZBB+kSy+EFf+PqQdK/h+3gWU=";
nativeBuildInputs = [ nativeBuildInputs = [
installShellFiles installShellFiles

View File

@ -1,6 +1,7 @@
{ lib, buildGoModule, fetchFromGitHub }: { lib, buildGoModule, fetchFromGitHub, nix-update-script
}:
let let
version = "0.0.38"; version = "0.0.42";
in in
buildGoModule { buildGoModule {
@ -12,7 +13,7 @@ buildGoModule {
repo = "mcap"; repo = "mcap";
owner = "foxglove"; owner = "foxglove";
rev = "releases/mcap-cli/v${version}"; rev = "releases/mcap-cli/v${version}";
hash = "sha256-mwKWf0kJ3uMx1cLUac+AqXgQ1Af3tLDOCTFKgq8FtHE="; hash = "sha256-9fjzMUMWn5j8AJJq+tK+Hq0o8d3HpacitJZ5CfLiaLw=";
}; };
vendorHash = "sha256-Gl0zLBTWscKGtVOS6rPRL/r8KHYHpZwoUDbEyCL4Ijk="; vendorHash = "sha256-Gl0zLBTWscKGtVOS6rPRL/r8KHYHpZwoUDbEyCL4Ijk=";
@ -34,11 +35,16 @@ buildGoModule {
"-skip=TestCat|TestInfo" "-skip=TestCat|TestInfo"
]; ];
passthru = {
updateScript = nix-update-script { };
};
meta = with lib; { meta = with lib; {
description = "MCAP CLI tool to inspect and fix MCAP files"; description = "MCAP CLI tool to inspect and fix MCAP files";
homepage = "https://github.com/foxglove/mcap"; homepage = "https://github.com/foxglove/mcap";
license = with licenses; [ mit ]; license = with licenses; [ mit ];
maintainers = with maintainers; [ squalus therishidesai ]; maintainers = with maintainers; [ squalus therishidesai ];
mainProgram = "mcap";
}; };
} }

View File

@ -0,0 +1,43 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, darwin
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mkalias";
version = "1.0.0";
src = fetchFromGitHub {
owner = "vs49688";
repo = "mkalias";
rev = "v${finalAttrs.version}";
hash = "sha256-L6bgCJ0fdiWmtlgTzDmTenTMP74UFUEqiDmE1+gg3zw=";
};
nativeBuildInputs = [
cmake
];
buildInputs = [
darwin.apple_sdk.frameworks.Foundation
];
installPhase = ''
runHook preInstall
install -D mkalias $out/bin/mkalias
runHook postInstall
'';
meta = {
description = "Quick'n'dirty tool to make APFS aliases";
homepage = "https://github.com/vs49688/mkalias";
license = lib.licenses.mit;
mainProgram = "mkalias";
maintainers = with lib.maintainers; [ zane emilytrau ];
platforms = lib.platforms.darwin;
};
})

View File

@ -146,18 +146,19 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]] [[package]]
name = "axum" name = "axum"
version = "0.6.20" version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" checksum = "1236b4b292f6c4d6dc34604bb5120d85c3fe1d1aa596bd5cc52ca054d13e7b9e"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"axum-core", "axum-core",
"bitflags 1.3.2",
"bytes", "bytes",
"futures-util", "futures-util",
"http", "http 1.1.0",
"http-body", "http-body 1.0.0",
"hyper", "http-body-util",
"hyper 1.2.0",
"hyper-util",
"itoa", "itoa",
"matchit", "matchit",
"memchr", "memchr",
@ -178,17 +179,20 @@ dependencies = [
[[package]] [[package]]
name = "axum-core" name = "axum-core"
version = "0.3.4" version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"bytes", "bytes",
"futures-util", "futures-util",
"http", "http 1.1.0",
"http-body", "http-body 1.0.0",
"http-body-util",
"mime", "mime",
"pin-project-lite",
"rustversion", "rustversion",
"sync_wrapper",
"tower-layer", "tower-layer",
"tower-service", "tower-service",
] ]
@ -310,6 +314,12 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "cfg_aliases"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
[[package]] [[package]]
name = "cipher" name = "cipher"
version = "0.4.4" version = "0.4.4"
@ -504,9 +514,9 @@ dependencies = [
[[package]] [[package]]
name = "etherparse" name = "etherparse"
version = "0.13.0" version = "0.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "827292ea592108849932ad8e30218f8b1f21c0dfd0696698a18b5d0aed62d990" checksum = "24890603eb4b43aa788f02261ce21714449033e3e2ab93692f0ab18480c3c9b1"
dependencies = [ dependencies = [
"arrayvec", "arrayvec",
] ]
@ -691,7 +701,26 @@ dependencies = [
"futures-core", "futures-core",
"futures-sink", "futures-sink",
"futures-util", "futures-util",
"http", "http 0.2.11",
"indexmap",
"slab",
"tokio",
"tokio-util",
"tracing",
]
[[package]]
name = "h2"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "31d030e59af851932b72ceebadf4a2b5986dba4c3b99dd2493f8273a0f151943"
dependencies = [
"bytes",
"fnv",
"futures-core",
"futures-sink",
"futures-util",
"http 1.1.0",
"indexmap", "indexmap",
"slab", "slab",
"tokio", "tokio",
@ -728,6 +757,17 @@ dependencies = [
"itoa", "itoa",
] ]
[[package]]
name = "http"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
dependencies = [
"bytes",
"fnv",
"itoa",
]
[[package]] [[package]]
name = "http-body" name = "http-body"
version = "0.4.6" version = "0.4.6"
@ -735,7 +775,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
dependencies = [ dependencies = [
"bytes", "bytes",
"http", "http 0.2.11",
"pin-project-lite",
]
[[package]]
name = "http-body"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643"
dependencies = [
"bytes",
"http 1.1.0",
]
[[package]]
name = "http-body-util"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41cb79eb393015dadd30fc252023adb0b2400a0caee0fa2a077e6e21a551e840"
dependencies = [
"bytes",
"futures-util",
"http 1.1.0",
"http-body 1.0.0",
"pin-project-lite", "pin-project-lite",
] ]
@ -767,9 +830,9 @@ dependencies = [
"futures-channel", "futures-channel",
"futures-core", "futures-core",
"futures-util", "futures-util",
"h2", "h2 0.3.24",
"http", "http 0.2.11",
"http-body", "http-body 0.4.6",
"httparse", "httparse",
"httpdate", "httpdate",
"itoa", "itoa",
@ -782,17 +845,39 @@ dependencies = [
] ]
[[package]] [[package]]
name = "hyper-rustls" name = "hyper"
version = "0.24.2" version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" checksum = "186548d73ac615b32a73aafe38fb4f56c0d340e110e5a200bcadbaf2e199263a"
dependencies = [ dependencies = [
"bytes",
"futures-channel",
"futures-util", "futures-util",
"http", "h2 0.4.2",
"hyper", "http 1.1.0",
"rustls", "http-body 1.0.0",
"httparse",
"httpdate",
"itoa",
"pin-project-lite",
"smallvec",
"tokio",
]
[[package]]
name = "hyper-util"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa"
dependencies = [
"bytes",
"futures-util",
"http 1.1.0",
"http-body 1.0.0",
"hyper 1.2.0",
"pin-project-lite",
"socket2",
"tokio", "tokio",
"tokio-rustls",
] ]
[[package]] [[package]]
@ -886,9 +971,9 @@ dependencies = [
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.152" version = "0.2.153"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
[[package]] [[package]]
name = "libloading" name = "libloading"
@ -908,9 +993,9 @@ checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
[[package]] [[package]]
name = "log" name = "log"
version = "0.4.20" version = "0.4.21"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
[[package]] [[package]]
name = "loom" name = "loom"
@ -972,9 +1057,9 @@ dependencies = [
[[package]] [[package]]
name = "mio" name = "mio"
version = "0.8.10" version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
dependencies = [ dependencies = [
"libc", "libc",
"wasi", "wasi",
@ -983,7 +1068,7 @@ dependencies = [
[[package]] [[package]]
name = "mycelium" name = "mycelium"
version = "0.4.2" version = "0.4.3"
dependencies = [ dependencies = [
"aes-gcm", "aes-gcm",
"axum", "axum",
@ -1002,7 +1087,7 @@ dependencies = [
"libc", "libc",
"log", "log",
"network-interface", "network-interface",
"nix 0.27.1", "nix 0.28.0",
"pretty_env_logger", "pretty_env_logger",
"quinn", "quinn",
"rand", "rand",
@ -1119,6 +1204,18 @@ dependencies = [
"bitflags 2.4.2", "bitflags 2.4.2",
"cfg-if", "cfg-if",
"libc", "libc",
]
[[package]]
name = "nix"
version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
dependencies = [
"bitflags 2.4.2",
"cfg-if",
"cfg_aliases",
"libc",
"memoffset", "memoffset",
] ]
@ -1360,9 +1457,9 @@ dependencies = [
[[package]] [[package]]
name = "rcgen" name = "rcgen"
version = "0.12.0" version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d918c80c5a4c7560db726763020bd16db179e4d5b828078842274a443addb5d" checksum = "48406db8ac1f3cbc7dcdb56ec355343817958a356ff430259bb07baf7607e1e1"
dependencies = [ dependencies = [
"pem", "pem",
"ring 0.17.7", "ring 0.17.7",
@ -1425,11 +1522,10 @@ dependencies = [
"encoding_rs", "encoding_rs",
"futures-core", "futures-core",
"futures-util", "futures-util",
"h2", "h2 0.3.24",
"http", "http 0.2.11",
"http-body", "http-body 0.4.6",
"hyper", "hyper 0.14.28",
"hyper-rustls",
"ipnet", "ipnet",
"js-sys", "js-sys",
"log", "log",
@ -1437,20 +1533,16 @@ dependencies = [
"once_cell", "once_cell",
"percent-encoding", "percent-encoding",
"pin-project-lite", "pin-project-lite",
"rustls",
"rustls-pemfile",
"serde", "serde",
"serde_json", "serde_json",
"serde_urlencoded", "serde_urlencoded",
"system-configuration", "system-configuration",
"tokio", "tokio",
"tokio-rustls",
"tower-service", "tower-service",
"url", "url",
"wasm-bindgen", "wasm-bindgen",
"wasm-bindgen-futures", "wasm-bindgen-futures",
"web-sys", "web-sys",
"webpki-roots",
"winreg", "winreg",
] ]
@ -1541,21 +1633,11 @@ version = "0.21.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
dependencies = [ dependencies = [
"log",
"ring 0.17.7", "ring 0.17.7",
"rustls-webpki", "rustls-webpki",
"sct", "sct",
] ]
[[package]]
name = "rustls-pemfile"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
dependencies = [
"base64",
]
[[package]] [[package]]
name = "rustls-webpki" name = "rustls-webpki"
version = "0.101.7" version = "0.101.7"
@ -1602,18 +1684,18 @@ checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.195" version = "1.0.197"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.195" version = "1.0.197"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -1622,9 +1704,9 @@ dependencies = [
[[package]] [[package]]
name = "serde_json" name = "serde_json"
version = "1.0.111" version = "1.0.114"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
dependencies = [ dependencies = [
"itoa", "itoa",
"ryu", "ryu",
@ -1879,16 +1961,6 @@ dependencies = [
"syn 2.0.48", "syn 2.0.48",
] ]
[[package]]
name = "tokio-rustls"
version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
dependencies = [
"rustls",
"tokio",
]
[[package]] [[package]]
name = "tokio-stream" name = "tokio-stream"
version = "0.1.14" version = "0.1.14"
@ -1929,9 +2001,9 @@ dependencies = [
[[package]] [[package]]
name = "toml" name = "toml"
version = "0.7.8" version = "0.8.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
dependencies = [ dependencies = [
"serde", "serde",
"serde_spanned", "serde_spanned",
@ -1950,9 +2022,9 @@ dependencies = [
[[package]] [[package]]
name = "toml_edit" name = "toml_edit"
version = "0.19.15" version = "0.22.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6"
dependencies = [ dependencies = [
"indexmap", "indexmap",
"serde", "serde",
@ -2241,12 +2313,6 @@ dependencies = [
"wasm-bindgen", "wasm-bindgen",
] ]
[[package]]
name = "webpki-roots"
version = "0.25.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10"
[[package]] [[package]]
name = "winapi" name = "winapi"
version = "0.3.9" version = "0.3.9"
@ -2459,9 +2525,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
[[package]] [[package]]
name = "winnow" name = "winnow"
version = "0.5.34" version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16" checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8"
dependencies = [ dependencies = [
"memchr", "memchr",
] ]
@ -2504,9 +2570,9 @@ dependencies = [
[[package]] [[package]]
name = "x25519-dalek" name = "x25519-dalek"
version = "2.0.0" version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96" checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277"
dependencies = [ dependencies = [
"curve25519-dalek", "curve25519-dalek",
"rand_core", "rand_core",

View File

@ -7,13 +7,13 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "mycelium"; pname = "mycelium";
version = "0.4.2"; version = "0.4.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "threefoldtech"; owner = "threefoldtech";
repo = "mycelium"; repo = "mycelium";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-VWrWg9UpBSug0cvY/zuzGFI6Y0CRFcrh1Cy4mbYtg9Q="; hash = "sha256-bA3ci+vqXBCPBaxMvfUdFcqdaZbAw/+r5UbH/as/fnc=";
}; };
cargoLock = { cargoLock = {
@ -33,7 +33,7 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/threefoldtech/mycelium"; homepage = "https://github.com/threefoldtech/mycelium";
changelog = "https://github.com/threefoldtech/mycelium/blob/${src.rev}/CHANGELOG.md"; changelog = "https://github.com/threefoldtech/mycelium/blob/${src.rev}/CHANGELOG.md";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ matthewcroughan ]; maintainers = with maintainers; [ flokli matthewcroughan ];
mainProgram = "mycelium"; mainProgram = "mycelium";
}; };
} }

View File

@ -5,13 +5,13 @@
buildGoModule rec { buildGoModule rec {
pname = "namespace-cli"; pname = "namespace-cli";
version = "0.0.348"; version = "0.0.350";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "namespacelabs"; owner = "namespacelabs";
repo = "foundation"; repo = "foundation";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-SEqiW3AdhvsIU9WEEcaRi8paMNgRvnZTFL874mSjUQE="; hash = "sha256-qMtmB/KMMkMfU2AyE2pcjiy3wUwyQUpcP6rMkZk3SMI=";
}; };
vendorHash = "sha256-a/e+xPOD9BDSlKknmfcX2tTMyIUrzKxqtUpFXcFIDSE="; vendorHash = "sha256-a/e+xPOD9BDSlKknmfcX2tTMyIUrzKxqtUpFXcFIDSE=";

View File

@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "openapi-tui"; pname = "openapi-tui";
version = "0.4.0"; version = "0.5.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zaghaghi"; owner = "zaghaghi";
repo = "openapi-tui"; repo = "openapi-tui";
rev = version; rev = version;
hash = "sha256-7xkjlX3+/hdVN2PXoiXbouSoMLy0Qe8uMRlPHWJO5Ts="; hash = "sha256-flxQ5+nLacQAkrxJafw9D3iXYTFpHcmTshEySmFJ0Cc=";
}; };
cargoHash = "sha256-U8TOms8C7vV64OKKdJhMAoOha9s2lBqfBWU7pyZ0h/s="; cargoHash = "sha256-vfEDbUrIXc498QnMJJlMGyTUDvlHgquB5GpWTe7yCvM=";
meta = with lib; { meta = with lib; {
description = "Terminal UI to list, browse and run APIs defined with openapi spec"; description = "Terminal UI to list, browse and run APIs defined with openapi spec";

View File

@ -6,13 +6,13 @@
stdenvNoCC.mkDerivation (finalAttrs: { stdenvNoCC.mkDerivation (finalAttrs: {
pname = "openttd-ttf"; pname = "openttd-ttf";
version = "0.5"; version = "0.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zephyris"; owner = "zephyris";
repo = "openttd-ttf"; repo = "openttd-ttf";
rev = "refs/tags/${finalAttrs.version}"; rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-GjtfwM268i3bUAX8Pw5/Og9029AuD1OZuJ2VIlFTogY="; hash = "sha256-Nr3oLiCEdpUhB/IczCEoLM8kb1hGDH/d6WYWRbjgOi8=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -25,6 +25,9 @@ stdenvNoCC.mkDerivation (finalAttrs: {
postPatch = '' postPatch = ''
chmod a+x build.sh chmod a+x build.sh
# Test requires openttd source and an additional python module, doesn't seem worth it
substituteInPlace build.sh \
--replace-fail "python3 checkOpenTTDStrings.py ../openttd/src/lang" ""
patchShebangs --build build.sh patchShebangs --build build.sh
''; '';

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "plumber"; pname = "plumber";
version = "2.5.4"; version = "2.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "streamdal"; owner = "streamdal";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-6nPH+HQtpFJ4MAtblFWjaQjDSKtpIxW9tGt2o1ICtos="; hash = "sha256-H1tyMedYKj1bePNcaEWYP3njHw57cJ0jgxwC7zDXQvk=";
}; };
vendorHash = null; vendorHash = null;

View File

@ -0,0 +1,264 @@
{ lib
, buildNpmPackage
, fetchFromGitHub
, fetchPypi
, fetchpatch2
, nodejs
, python3
, gettext
, nixosTests
, plugins ? [ ]
}:
let
python = python3.override {
packageOverrides = self: super: {
django = super.django_4;
stripe = super.stripe.overridePythonAttrs rec {
version = "7.9.0";
src = fetchPypi {
pname = "stripe";
inherit version;
hash = "sha256-hOXkMINaSwzU/SpXzjhTJp0ds0OREc2mtu11LjSc9KE=";
};
};
pretix-plugin-build = self.callPackage ./plugin-build.nix { };
};
};
pname = "pretix";
version = "2024.2.0";
src = fetchFromGitHub {
owner = "pretix";
repo = "pretix";
rev = "refs/tags/v${version}";
hash = "sha256-emtF5dDXEXN8GIucHbjF+m9Vkg1Jj6nmQdHhBOkXMAs=";
};
npmDeps = buildNpmPackage {
pname = "pretix-node-modules";
inherit version src;
sourceRoot = "${src.name}/src/pretix/static/npm_dir";
npmDepsHash = "sha256-kE13dcTdWZZNHPMcHEiK0a2dEcu3Z3/q815YhaVkLbQ=";
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir $out
cp -R node_modules $out/
runHook postInstall
'';
};
in
python.pkgs.buildPythonApplication rec {
inherit pname version src;
pyproject = true;
patches = [
# Discover pretix.plugin entrypoints during build and add them into
# INSTALLED_APPS, so that their static files are collected.
./plugin-build.patch
(fetchpatch2 {
# Allow customization of cache and log directory
# https://github.com/pretix/pretix/pull/3997
name = "pretix-directory-customization.patch";
url = "https://github.com/pretix/pretix/commit/e151d1d1f08917e547df49da0779b36bb73b7294.patch";
hash = "sha256-lO5eCKSqUaCwSm7rouMTFMwauWl9Tz/Yf0JE/IO+bnI=";
})
];
postPatch = ''
NODE_PREFIX=src/pretix/static.dist/node_prefix
mkdir -p $NODE_PREFIX
cp -R ${npmDeps}/node_modules $NODE_PREFIX/
chmod -R u+w $NODE_PREFIX/
# unused
sed -i "/setuptools-rust/d" pyproject.toml
substituteInPlace pyproject.toml \
--replace-fail phonenumberslite phonenumbers \
--replace-fail psycopg2-binary psycopg2 \
--replace-fail vat_moss_forked==2020.3.20.0.11.0 vat-moss \
--replace-fail "bleach==5.0.*" bleach \
--replace-fail "dnspython==2.5.*" dnspython \
--replace-fail "importlib_metadata==7.*" importlib_metadata \
--replace-fail "protobuf==4.25.*" protobuf \
--replace-fail "pycryptodome==3.20.*" pycryptodome \
--replace-fail "pypdf==3.9.*" pypdf \
--replace-fail "python-dateutil==2.8.*" python-dateutil \
--replace-fail "sentry-sdk==1.40.*" sentry-sdk \
--replace-fail "stripe==7.9.*" stripe
'';
build-system = with python.pkgs; [
gettext
nodejs
pythonRelaxDepsHook
setuptools
tomli
];
dependencies = with python.pkgs; [
arabic-reshaper
babel
beautifulsoup4
bleach
celery
chardet
cryptography
css-inline
defusedcsv
dj-static
django
django-bootstrap3
django-compressor
django-countries
django-filter
django-formset-js-improved
django-formtools
django-hierarkey
django-hijack
django-i18nfield
django-libsass
django-localflavor
django-markup
django-oauth-toolkit
django-otp
django-phonenumber-field
django-redis
django-scopes
django-statici18n
djangorestframework
dnspython
drf-ujson2
geoip2
importlib-metadata
isoweek
jsonschema
kombu
libsass
lxml
markdown
mt-940
oauthlib
openpyxl
packaging
paypalrestsdk
paypal-checkout-serversdk
pyjwt
phonenumbers
pillow
pretix-plugin-build
protobuf
psycopg2
pycountry
pycparser
pycryptodome
pypdf
python-bidi
python-dateutil
pytz
pytz-deprecation-shim
pyuca
qrcode
redis
reportlab
requests
sentry-sdk
sepaxml
slimit
static3
stripe
text-unidecode
tlds
tqdm
vat-moss
vobject
webauthn
zeep
] ++ plugins;
optional-dependencies = with python.pkgs; {
memcached = [
pylibmc
];
};
postInstall = ''
mkdir -p $out/bin
cp ./src/manage.py $out/bin/pretix-manage
# Trim packages size
rm -rfv $out/${python.sitePackages}/pretix/static.dist/node_prefix
'';
dontStrip = true; # no binaries
nativeCheckInputs = with python.pkgs; [
pytestCheckHook
pytest-xdist
pytest-mock
pytest-django
pytest-asyncio
pytest-rerunfailures
freezegun
fakeredis
responses
] ++ lib.flatten (lib.attrValues optional-dependencies);
pytestFlagsArray = [
"--reruns" "3"
# tests fail when run before 4:30am
# https://github.com/pretix/pretix/pull/3987
"--deselect=src/tests/base/test_orders.py::PaymentReminderTests::test_sent_days"
"--deselect=src/tests/plugins/sendmail/test_rules.py::test_sendmail_rule_specified_subevent"
];
preCheck = ''
export PYTHONPATH=$(pwd)/src:$PYTHONPATH
export DJANGO_SETTINGS_MODULE=tests.settings
'';
passthru = {
inherit
npmDeps
python
;
plugins = lib.recurseIntoAttrs
(python.pkgs.callPackage ./plugins {
inherit (python.pkgs) callPackage;
}
);
tests = {
inherit (nixosTests) pretix;
};
};
meta = with lib; {
description = "Ticketing software that cares about your eventall the way";
homepage = "https://github.com/pretix/pretix";
license = with licenses; [
agpl3Only
# 3rd party components below src/pretix/static
bsd2
isc
mit
ofl # fontawesome
unlicense
# all other files below src/pretix/static and src/pretix/locale and aux scripts
asl20
];
maintainers = with maintainers; [ hexa ];
};
}

View File

@ -0,0 +1,37 @@
{
lib,
buildPythonPackage,
fetchPypi,
setuptools,
django,
gettext,
}:
buildPythonPackage rec {
pname = "pretix-plugin-build";
version = "1.0.1";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-iLbqcCAbeK4PyLXiebpdE27rt6bOP7eXczIG2bdvvYo=";
};
build-system = [
setuptools
];
dependencies = [
django
gettext
];
doCheck = false; # no tests
meta = with lib; {
description = "";
homepage = "https://github.com/pretix/pretix-plugin-build";
license = licenses.asl20;
maintainers = with maintainers; [ hexa ];
};
}

View File

@ -0,0 +1,20 @@
diff --git a/src/pretix/_build_settings.py b/src/pretix/_build_settings.py
index c03f56a1a..d1ea73b84 100644
--- a/src/pretix/_build_settings.py
+++ b/src/pretix/_build_settings.py
@@ -24,6 +24,8 @@
This file contains settings that we need at wheel require time. All settings that we only need at runtime are set
in settings.py.
"""
+from importlib_metadata import entry_points
+
from ._base_settings import * # NOQA
ENTROPY = {
@@ -47,3 +49,6 @@ HAS_MEMCACHED = False
HAS_CELERY = False
HAS_GEOIP = False
SENTRY_ENABLED = False
+
+for entry_point in entry_points(group='pretix.plugin'):
+ INSTALLED_APPS.append(entry_point.module) # noqa: F405

View File

@ -0,0 +1,13 @@
{ callPackage
, ...
}:
{
pages = callPackage ./pages.nix { };
passbook = callPackage ./passbook.nix { };
reluctant-stripe = callPackage ./reluctant-stripe.nix { };
stretchgoals = callPackage ./stretchgoals.nix { };
}

View File

@ -0,0 +1,37 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pretix-plugin-build
, setuptools
}:
buildPythonPackage rec {
pname = "pretix-pages";
version = "1.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pretix";
repo = "pretix-pages";
rev = "v${version}";
hash = "sha256-cO5tAiOifLpqFEQwYgrGoByUecpzvue8YmChpPwm+y0=";
};
build-system = [
pretix-plugin-build
setuptools
];
doCheck = false; # no tests
pythonImportsCheck = [
"pretix_pages"
];
meta = with lib; {
description = "Plugin to add static pages to your pretix event";
homepage = "https://github.com/pretix/pretix-pages";
license = licenses.asl20;
maintainers = with maintainers; [ hexa ];
};
}

View File

@ -0,0 +1,33 @@
diff --git a/pretix_passbook/apps.py b/pretix_passbook/apps.py
index e34eee1..a7ad382 100644
--- a/pretix_passbook/apps.py
+++ b/pretix_passbook/apps.py
@@ -22,15 +22,6 @@ class PassbookApp(AppConfig):
def ready(self):
from . import signals # NOQA
- @cached_property
- def compatibility_errors(self):
- import shutil
-
- errs = []
- if not shutil.which("openssl"):
- errs.append("The OpenSSL binary is not installed or not in the PATH.")
- return errs
-
@cached_property
def compatibility_warnings(self):
errs = []
diff --git a/pretix_passbook/forms.py b/pretix_passbook/forms.py
index 2a38604..aec38de 100644
--- a/pretix_passbook/forms.py
+++ b/pretix_passbook/forms.py
@@ -41,7 +41,7 @@ class CertificateFileField(forms.FileField):
return SimpleUploadedFile("cert.pem", content, "text/plain")
openssl_cmd = [
- "openssl",
+ "@openssl@",
"x509",
"-inform",
"DER",

View File

@ -0,0 +1,59 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, substituteAll
# build-system
, pretix-plugin-build
, setuptools
# runtime
, openssl
# dependencies
, googlemaps
, wallet-py3k
}:
buildPythonPackage rec {
pname = "pretix-passbook";
version = "1.13.1";
pyproject = true;
src = fetchFromGitHub {
owner = "pretix";
repo = "pretix-passbook";
rev = "v${version}";
hash = "sha256-bp64wCEMon05JhOaDr/cVbqUxc+7ndcsSuSesxJt8GE=";
};
patches = [
(substituteAll {
src = ./passbook-openssl.patch;
openssl = lib.getExe openssl;
})
];
build-system = [
pretix-plugin-build
setuptools
];
dependencies = [
googlemaps
wallet-py3k
];
doCheck = false; # no tests
pythonImportsCheck = [
"pretix_passbook"
];
meta = with lib; {
description = "Support for Apple Wallet/Passbook files in pretix";
homepage = "https://github.com/pretix/pretix-passbook";
license = licenses.asl20;
maintainers = with maintainers; [ hexa ];
};
}

View File

@ -0,0 +1,37 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pretix-plugin-build
, setuptools
}:
buildPythonPackage {
pname = "pretix-reluctant-stripe";
version = "unstable-2023-08-03";
pyproject = true;
src = fetchFromGitHub {
owner = "metarheinmain";
repo = "pretix-reluctant-stripe";
rev = "ae2d770442553e5fc00815ff4521a8fd2c113fd9";
hash = "sha256-bw9aDMxl4/uar5KHjj+wwkYkaGMRxHWY/c1N75bxu0o=";
};
build-system = [
pretix-plugin-build
setuptools
];
doCheck = false; # no tests
pythonImportsCheck = [
"pretix_reluctant_stripe"
];
meta = with lib; {
description = "Nudge users to not use Stripe as a payment provider";
homepage = "https://github.com/metarheinmain/pretix-reluctant-stripe";
license = licenses.asl20;
maintainers = with maintainers; [ hexa ];
};
}

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