mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-19 20:09:01 +02:00
Merge branch 'master' into haskell-updates
This commit is contained in:
commit
06f993f7e7
5
.github/CODEOWNERS
vendored
5
.github/CODEOWNERS
vendored
|
@ -359,3 +359,8 @@ nixos/tests/zfs.nix @raitobezarius
|
|||
nixos/modules/services/continuous-integration/buildbot @Mic92 @zowoq
|
||||
nixos/tests/buildbot.nix @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
3
doc/anchor-use.js
Normal 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
9
doc/anchor.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
|
@ -122,16 +122,17 @@ in pkgs.stdenv.mkDerivation {
|
|||
${pkgs.documentation-highlighter}/mono-blue.css \
|
||||
${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 \
|
||||
--manpage-urls ./manpage-urls.json \
|
||||
--revision ${pkgs.lib.trivial.revisionWithDefault (pkgs.rev or "master")} \
|
||||
--stylesheet style.css \
|
||||
--stylesheet overrides.css \
|
||||
--stylesheet highlightjs/mono-blue.css \
|
||||
--script ./highlightjs/highlight.pack.js \
|
||||
--script ./highlightjs/loader.js \
|
||||
--script ./anchor.min.js \
|
||||
--script ./anchor-use.js \
|
||||
--toc-depth 1 \
|
||||
--section-toc-depth 1 \
|
||||
manual.md \
|
||||
|
|
|
@ -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;
|
||||
}
|
587
doc/style.css
587
doc/style.css
|
@ -1,291 +1,416 @@
|
|||
/* Copied from http://bakefile.sourceforge.net/, which appears
|
||||
licensed under the GNU GPL. */
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
Basic headers and text:
|
||||
***************************************************************************/
|
||||
|
||||
body
|
||||
{
|
||||
font-family: "Nimbus Sans L", sans-serif;
|
||||
font-size: 1em;
|
||||
background: white;
|
||||
margin: 2em 1em 2em 1em;
|
||||
html {
|
||||
line-height: 1.15;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4
|
||||
{
|
||||
color: #005aa0;
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
h1 /* title */
|
||||
{
|
||||
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;
|
||||
.book {
|
||||
margin: auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Extra space between chapters, appendices. */
|
||||
div.chapter > div.titlepage h2, div.appendix > div.titlepage h2
|
||||
{
|
||||
margin-top: 1.5em;
|
||||
@media screen and (min-width: 768px) {
|
||||
.book {
|
||||
max-width: 46rem;
|
||||
}
|
||||
}
|
||||
|
||||
div.section > div.titlepage h2 /* sections */
|
||||
{
|
||||
font-size: 150%;
|
||||
margin-top: 1.5em;
|
||||
@media screen and (min-width: 992px) {
|
||||
.book {
|
||||
max-width: 60rem;
|
||||
}
|
||||
}
|
||||
|
||||
h3 /* subsections */
|
||||
{
|
||||
font-size: 125%;
|
||||
@media screen and (min-width: 1200px) {
|
||||
.book {
|
||||
max-width: 73rem;
|
||||
}
|
||||
}
|
||||
|
||||
div.simplesect h2
|
||||
{
|
||||
font-size: 110%;
|
||||
.book .list-of-examples {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.appendix h3
|
||||
{
|
||||
font-size: 150%;
|
||||
margin-top: 1.5em;
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
margin: 0.67em 0;
|
||||
}
|
||||
|
||||
div.refnamediv h2, div.refsynopsisdiv h2, div.refsection h2 /* refentry parts */
|
||||
{
|
||||
margin-top: 1.4em;
|
||||
font-size: 125%;
|
||||
hr {
|
||||
box-sizing: content-box;
|
||||
height: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
div.refsection h3
|
||||
{
|
||||
font-size: 110%;
|
||||
pre {
|
||||
font-family: monospace, monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
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;
|
||||
a {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
div.example p.title
|
||||
{
|
||||
margin-top: 0em;
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
div.example pre
|
||||
{
|
||||
box-shadow: none;
|
||||
code {
|
||||
font-family: monospace, monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
Screen dumps:
|
||||
***************************************************************************/
|
||||
|
||||
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;
|
||||
sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
div.example pre.programlisting
|
||||
{
|
||||
border: 0px;
|
||||
padding: 0 0;
|
||||
margin: 0 0 0 0;
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
Notes, warnings etc:
|
||||
***************************************************************************/
|
||||
|
||||
.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;
|
||||
::-webkit-file-upload-button {
|
||||
-webkit-appearance: button;
|
||||
font: inherit;
|
||||
}
|
||||
|
||||
div.note, div.warning
|
||||
{
|
||||
font-style: italic;
|
||||
pre {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
div.note h3, div.warning h3
|
||||
{
|
||||
color: red;
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 100%;
|
||||
padding-right: 0.5em;
|
||||
display: inline;
|
||||
line-height: 1.77777778;
|
||||
}
|
||||
|
||||
div.note p, div.warning p
|
||||
{
|
||||
margin-bottom: 0em;
|
||||
@media screen and (min-width: 4000px) {
|
||||
html {
|
||||
background: #000;
|
||||
}
|
||||
|
||||
html body {
|
||||
margin: auto;
|
||||
max-width: 250rem;
|
||||
}
|
||||
}
|
||||
|
||||
div.note h3 + p, div.warning h3 + p
|
||||
{
|
||||
display: inline;
|
||||
@media screen and (max-width: 320px) {
|
||||
html {
|
||||
font-size: calc(16 / 320 * 100vw);
|
||||
}
|
||||
}
|
||||
|
||||
div.note h3
|
||||
{
|
||||
color: blue;
|
||||
font-size: 100%;
|
||||
body {
|
||||
font-size: 1rem;
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-weight: 300;
|
||||
color: #000000;
|
||||
background-color: #ffffff;
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
div.navfooter *
|
||||
{
|
||||
font-size: 90%;
|
||||
@media screen and (max-width: 767.9px) {
|
||||
body {
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
Links colors and highlighting:
|
||||
***************************************************************************/
|
||||
|
||||
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%;
|
||||
a {
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid;
|
||||
color: #405d99;
|
||||
}
|
||||
|
||||
div.toc dl
|
||||
{
|
||||
margin-top: 0em;
|
||||
margin-bottom: 0em;
|
||||
ul {
|
||||
padding: 0;
|
||||
margin-top: 0;
|
||||
margin-right: 0;
|
||||
margin-bottom: 1rem;
|
||||
margin-left: 1rem;
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
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
|
||||
{
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
box-shadow: 0.4em 0.4em 0.5em #e0e0e0;
|
||||
width: 100%;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
table.simplelist
|
||||
{
|
||||
thead th {
|
||||
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;
|
||||
padding: 5px;
|
||||
background: #fffff5;
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
box-shadow: none;
|
||||
margin-bottom: 1em;
|
||||
background-color: inherit;
|
||||
color: inherit;
|
||||
font-size: 100%;
|
||||
-webkit-hyphens: none;
|
||||
-moz-hyphens: none;
|
||||
hyphens: none;
|
||||
}
|
||||
|
||||
div.navheader table, div.navfooter table {
|
||||
box-shadow: none;
|
||||
div.book div.toc,
|
||||
div.appendix div.toc {
|
||||
margin-bottom: 3em;
|
||||
border-bottom: 0.0625rem solid #d8d8d8;
|
||||
}
|
||||
|
||||
div.affiliation
|
||||
{
|
||||
font-style: italic;
|
||||
div.book div.toc dd,
|
||||
div.appendix div.toc dd {
|
||||
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;
|
||||
}
|
||||
|
|
|
@ -105,7 +105,9 @@ in rec {
|
|||
mkdir -p $dst
|
||||
|
||||
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
|
||||
|
||||
${prepareManualFromMD}
|
||||
|
@ -115,10 +117,11 @@ in rec {
|
|||
--revision ${lib.escapeShellArg revision} \
|
||||
--generator "nixos-render-docs ${lib.version}" \
|
||||
--stylesheet style.css \
|
||||
--stylesheet overrides.css \
|
||||
--stylesheet highlightjs/mono-blue.css \
|
||||
--script ./highlightjs/highlight.pack.js \
|
||||
--script ./highlightjs/loader.js \
|
||||
--script ./anchor.min.js \
|
||||
--script ./anchor-use.js \
|
||||
--toc-depth 1 \
|
||||
--chunk-toc-depth 1 \
|
||||
./manual.md \
|
||||
|
|
|
@ -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).
|
||||
|
||||
- [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).
|
||||
|
||||
- [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.
|
||||
|
||||
- `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.
|
||||
|
||||
- `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.
|
||||
|
||||
- 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.
|
||||
|
||||
|
@ -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.
|
||||
|
||||
- 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`:
|
||||
- `logLevel` -> [`loglevel`](#opt-services.nextcloud.settings.loglevel),
|
||||
- `logType` -> [`log_type`](#opt-services.nextcloud.settings.log_type),
|
||||
|
|
|
@ -30,7 +30,10 @@ in
|
|||
ipu6-drivers
|
||||
];
|
||||
|
||||
hardware.firmware = [ pkgs.ipu6-camera-bins ];
|
||||
hardware.firmware = with pkgs; [
|
||||
ipu6-camera-bins
|
||||
ivsc-firmware
|
||||
];
|
||||
|
||||
services.udev.extraRules = ''
|
||||
SUBSYSTEM=="intel-ipu6-psys", MODE="0660", GROUP="video"
|
||||
|
|
|
@ -1358,6 +1358,7 @@
|
|||
./services/web-apps/plausible.nix
|
||||
./services/web-apps/powerdns-admin.nix
|
||||
./services/web-apps/pretalx.nix
|
||||
./services/web-apps/pretix.nix
|
||||
./services/web-apps/prosody-filer.nix
|
||||
./services/web-apps/rimgo.nix
|
||||
./services/web-apps/sftpgo.nix
|
||||
|
|
|
@ -44,8 +44,8 @@ in {
|
|||
'';
|
||||
apply = steam: steam.override (prev: {
|
||||
extraEnv = (lib.optionalAttrs (cfg.extraCompatPackages != [ ]) {
|
||||
STEAM_EXTRA_COMPAT_TOOLS_PATHS = makeBinPath cfg.extraCompatPackages;
|
||||
}) // (prev.extraEnv or {});
|
||||
STEAM_EXTRA_COMPAT_TOOLS_PATHS = makeSearchPathOutput "steamcompattool" "" cfg.extraCompatPackages;
|
||||
}) // (prev.extraEnv or {});
|
||||
extraLibraries = pkgs: let
|
||||
prevLibs = if prev ? extraLibraries then prev.extraLibraries pkgs else [ ];
|
||||
additionalLibs = with config.hardware.opengl;
|
||||
|
@ -74,10 +74,17 @@ in {
|
|||
extraCompatPackages = mkOption {
|
||||
type = types.listOf types.package;
|
||||
default = [ ];
|
||||
example = literalExpression ''
|
||||
with pkgs; [
|
||||
proton-ge-bin
|
||||
]
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
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
|
||||
<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.
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -13,48 +13,60 @@ in
|
|||
{
|
||||
options = {
|
||||
services.ollama = {
|
||||
enable = lib.mkEnableOption (
|
||||
lib.mdDoc "Server for local large language models"
|
||||
);
|
||||
enable = lib.mkEnableOption "ollama server for local large language models";
|
||||
package = lib.mkPackageOption pkgs "ollama" { };
|
||||
listenAddress = lib.mkOption {
|
||||
type = types.str;
|
||||
default = "127.0.0.1:11434";
|
||||
description = lib.mdDoc ''
|
||||
Specifies the bind address on which the ollama server HTTP interface listens.
|
||||
example = "0.0.0.0:11111";
|
||||
description = ''
|
||||
The address which the ollama server HTTP interface binds and listens to.
|
||||
'';
|
||||
};
|
||||
acceleration = lib.mkOption {
|
||||
type = types.nullOr (types.enum [ "rocm" "cuda" ]);
|
||||
default = null;
|
||||
example = "rocm";
|
||||
description = lib.mdDoc ''
|
||||
Specifies the interface to use for hardware acceleration.
|
||||
description = ''
|
||||
What interface to use for hardware acceleration.
|
||||
|
||||
- `rocm`: supported by modern AMD 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 {
|
||||
systemd = {
|
||||
services.ollama = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
description = "Server for local large language models";
|
||||
after = [ "network.target" ];
|
||||
environment = {
|
||||
HOME = "%S/ollama";
|
||||
OLLAMA_MODELS = "%S/ollama/models";
|
||||
OLLAMA_HOST = cfg.listenAddress;
|
||||
};
|
||||
serviceConfig = {
|
||||
ExecStart = "${lib.getExe ollamaPackage} serve";
|
||||
WorkingDirectory = "/var/lib/ollama";
|
||||
StateDirectory = [ "ollama" ];
|
||||
DynamicUser = true;
|
||||
};
|
||||
systemd.services.ollama = {
|
||||
description = "Server for local large language models";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
environment = cfg.environmentVariables // {
|
||||
HOME = "%S/ollama";
|
||||
OLLAMA_MODELS = "%S/ollama/models";
|
||||
OLLAMA_HOST = cfg.listenAddress;
|
||||
};
|
||||
serviceConfig = {
|
||||
ExecStart = "${lib.getExe ollamaPackage} serve";
|
||||
WorkingDirectory = "%S/ollama";
|
||||
StateDirectory = [ "ollama" ];
|
||||
DynamicUser = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
let
|
||||
inherit (lib) maintainers;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib.options) literalExpression mkEnableOption mkOption mkPackageOption;
|
||||
inherit (lib.types) bool enum nullOr port str submodule;
|
||||
|
||||
|
@ -156,42 +156,44 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
config = mkIf (cfg.enable || cfg.collector.enable) {
|
||||
services.influxdb2.enable = cfg.influxdb.enable;
|
||||
config = mkMerge [
|
||||
(mkIf cfg.enable {
|
||||
services.influxdb2.enable = cfg.influxdb.enable;
|
||||
|
||||
networking.firewall = mkIf cfg.openFirewall {
|
||||
allowedTCPPorts = [ cfg.settings.web.listen.port ];
|
||||
};
|
||||
networking.firewall = mkIf cfg.openFirewall {
|
||||
allowedTCPPorts = [ cfg.settings.web.listen.port ];
|
||||
};
|
||||
|
||||
services.smartd = mkIf cfg.collector.enable {
|
||||
enable = true;
|
||||
extraOptions = [
|
||||
"-A /var/log/smartd/"
|
||||
"--interval=600"
|
||||
];
|
||||
};
|
||||
|
||||
systemd = {
|
||||
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";
|
||||
};
|
||||
systemd.services.scrutiny = {
|
||||
description = "Hard Drive S.M.A.R.T Monitoring, Historical Trends & Real World Failure Thresholds";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ] ++ lib.optional cfg.influxdb.enable "influxdb2.service";
|
||||
wants = lib.optional cfg.influxdb.enable "influxdb2.service";
|
||||
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";
|
||||
};
|
||||
};
|
||||
})
|
||||
(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";
|
||||
environment = {
|
||||
COLLECTOR_VERSION = "1";
|
||||
|
@ -203,13 +205,11 @@ in
|
|||
};
|
||||
startAt = cfg.collector.schedule;
|
||||
};
|
||||
};
|
||||
|
||||
timers = mkIf cfg.collector.enable {
|
||||
scrutiny-collector.timerConfig.Persistent = true;
|
||||
timers.scrutiny-collector.timerConfig.Persistent = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
meta.maintainers = [ maintainers.jnsgruk ];
|
||||
}
|
||||
|
|
|
@ -584,6 +584,7 @@ in
|
|||
description = "Ensure that NetworkManager declarative profiles are created";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
before = [ "network-online.target" ];
|
||||
after = [ "NetworkManager.service" ];
|
||||
script = let
|
||||
path = id: "/run/NetworkManager/system-connections/${id}.nmconnection";
|
||||
in ''
|
||||
|
@ -593,9 +594,7 @@ in
|
|||
${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)
|
||||
+ ''
|
||||
if systemctl is-active --quiet NetworkManager; then
|
||||
${pkgs.networkmanager}/bin/nmcli connection reload
|
||||
fi
|
||||
${pkgs.networkmanager}/bin/nmcli connection reload
|
||||
'';
|
||||
serviceConfig = {
|
||||
EnvironmentFile = cfg.ensureProfiles.environmentFiles;
|
||||
|
|
|
@ -1,99 +1,122 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.services.komga;
|
||||
|
||||
in {
|
||||
inherit (lib) mkOption mkEnableOption maintainers;
|
||||
inherit (lib.types) port str bool;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
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 {
|
||||
type = types.port;
|
||||
type = port;
|
||||
default = 8080;
|
||||
description = lib.mdDoc ''
|
||||
The port that Komga will listen on.
|
||||
'';
|
||||
description = "The port that Komga will listen on.";
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
type = str;
|
||||
default = "komga";
|
||||
description = lib.mdDoc ''
|
||||
User account under which Komga runs.
|
||||
'';
|
||||
description = "User account under which Komga runs.";
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
type = types.str;
|
||||
type = str;
|
||||
default = "komga";
|
||||
description = lib.mdDoc ''
|
||||
Group under which Komga runs.
|
||||
'';
|
||||
description = "Group under which Komga runs.";
|
||||
};
|
||||
|
||||
stateDir = mkOption {
|
||||
type = types.str;
|
||||
type = str;
|
||||
default = "/var/lib/komga";
|
||||
description = lib.mdDoc ''
|
||||
State and configuration directory Komga will use.
|
||||
'';
|
||||
description = "State and configuration directory Komga will use.";
|
||||
};
|
||||
|
||||
openFirewall = mkOption {
|
||||
type = types.bool;
|
||||
type = bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Whether to open the firewall for the port in {option}`services.komga.port`.
|
||||
'';
|
||||
description = "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") {
|
||||
komga = {};
|
||||
};
|
||||
users.groups = mkIf (cfg.group == "komga") { komga = { }; };
|
||||
|
||||
users.users = mkIf (cfg.user == "komga") {
|
||||
komga = {
|
||||
group = cfg.group;
|
||||
home = cfg.stateDir;
|
||||
description = "Komga Daemon user";
|
||||
isSystemUser = true;
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.komga = {
|
||||
environment = {
|
||||
SERVER_PORT = builtins.toString cfg.port;
|
||||
KOMGA_CONFIGDIR = cfg.stateDir;
|
||||
users.users = mkIf (cfg.user == "komga") {
|
||||
komga = {
|
||||
group = cfg.group;
|
||||
home = cfg.stateDir;
|
||||
description = "Komga Daemon user";
|
||||
isSystemUser = true;
|
||||
};
|
||||
};
|
||||
|
||||
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" ];
|
||||
wants = [ "network-online.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
description = "Komga is a free and open source comics/mangas media server";
|
||||
|
||||
serviceConfig = {
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
|
||||
Type = "simple";
|
||||
Restart = "on-failure";
|
||||
ExecStart = "${pkgs.komga}/bin/komga";
|
||||
serviceConfig = {
|
||||
User = cfg.user;
|
||||
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 ];
|
||||
}
|
||||
|
|
579
nixos/modules/services/web-apps/pretix.nix
Normal file
579
nixos/modules/services/web-apps/pretix.nix
Normal 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 installation’s 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -20,6 +20,22 @@ in
|
|||
};
|
||||
|
||||
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 {
|
||||
|
@ -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 = [
|
||||
pkgs.mate.mate-session-manager
|
||||
];
|
||||
# Debugging
|
||||
environment.sessionVariables.MATE_SESSION_DEBUG = mkIf cfg.debug "1";
|
||||
|
||||
# Let caja find extensions
|
||||
environment.sessionVariables.CAJA_EXTENSION_DIRS = [ "${config.system.path}/lib/caja/extensions-2.0" ];
|
||||
environment.systemPackages = utils.removePackagesByName
|
||||
(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
|
||||
environment.sessionVariables."MATE_PANEL_APPLETS_DIR" = "${config.system.path}/share/mate-panel/applets";
|
||||
environment.sessionVariables."MATE_PANEL_EXTRA_MODULES" = "${config.system.path}/lib/mate-panel/applets";
|
||||
programs.dconf.enable = true;
|
||||
# Shell integration for VTE terminals
|
||||
programs.bash.vteIntegration = mkDefault true;
|
||||
programs.zsh.vteIntegration = mkDefault true;
|
||||
|
||||
# Debugging
|
||||
environment.sessionVariables.MATE_SESSION_DEBUG = mkIf cfg.debug "1";
|
||||
# Mate uses this for printing
|
||||
programs.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
|
||||
|
||||
environment.systemPackages = utils.removePackagesByName
|
||||
(pkgs.mate.basePackages ++
|
||||
pkgs.mate.extraPackages ++
|
||||
[
|
||||
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;
|
||||
services.gnome.at-spi2-core.enable = true;
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
services.udev.packages = [ pkgs.mate.mate-settings-daemon ];
|
||||
services.gvfs.enable = true;
|
||||
services.upower.enable = config.powerManagement.enable;
|
||||
services.xserver.libinput.enable = mkDefault true;
|
||||
|
||||
programs.dconf.enable = true;
|
||||
# Shell integration for VTE terminals
|
||||
programs.bash.vteIntegration = mkDefault true;
|
||||
programs.zsh.vteIntegration = mkDefault true;
|
||||
security.pam.services.mate-screensaver.unixAuth = true;
|
||||
|
||||
# Mate uses this for printing
|
||||
programs.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
|
||||
xdg.portal.configPackages = mkDefault [ pkgs.mate.mate-desktop ];
|
||||
|
||||
services.gnome.at-spi2-core.enable = true;
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
services.udev.packages = [ pkgs.mate.mate-settings-daemon ];
|
||||
services.gvfs.enable = true;
|
||||
services.upower.enable = config.powerManagement.enable;
|
||||
services.xserver.libinput.enable = mkDefault true;
|
||||
environment.pathsToLink = [ "/share" ];
|
||||
})
|
||||
(mkIf cfg.enableWaylandSession {
|
||||
programs.wayfire.enable = true;
|
||||
programs.wayfire.plugins = [ pkgs.wayfirePlugins.firedecor ];
|
||||
|
||||
security.pam.services.mate-screensaver.unixAuth = true;
|
||||
|
||||
xdg.portal.configPackages = mkDefault [ pkgs.mate.mate-desktop ];
|
||||
|
||||
environment.pathsToLink = [ "/share" ];
|
||||
};
|
||||
environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${pkgs.mate.mate-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
|
||||
|
||||
environment.systemPackages = [ pkgs.mate.mate-wayland-session ];
|
||||
services.xserver.displayManager.sessionPackages = [ pkgs.mate.mate-wayland-session ];
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
|
@ -79,6 +79,10 @@ in
|
|||
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
|
||||
# at instance creation time.
|
||||
services.openssh.enable = true;
|
||||
|
|
|
@ -513,6 +513,7 @@ in {
|
|||
mastodon = discoverTests (import ./web-apps/mastodon { inherit handleTestOn; });
|
||||
pixelfed = discoverTests (import ./web-apps/pixelfed { inherit handleTestOn; });
|
||||
mate = handleTest ./mate.nix {};
|
||||
mate-wayland = handleTest ./mate-wayland.nix {};
|
||||
matter-server = handleTest ./matter-server.nix {};
|
||||
matomo = handleTest ./matomo.nix {};
|
||||
matrix-appservice-irc = handleTest ./matrix/appservice-irc.nix {};
|
||||
|
@ -729,6 +730,7 @@ in {
|
|||
pppd = handleTest ./pppd.nix {};
|
||||
predictable-interface-names = handleTest ./predictable-interface-names.nix {};
|
||||
pretalx = runTest ./web-apps/pretalx.nix;
|
||||
pretix = runTest ./web-apps/pretix.nix;
|
||||
printing-socket = handleTest ./printing.nix { socket = true; };
|
||||
printing-service = handleTest ./printing.nix { socket = false; };
|
||||
privoxy = handleTest ./privoxy.nix {};
|
||||
|
|
|
@ -29,6 +29,8 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
|||
testScript = { nodes, ... }:
|
||||
let
|
||||
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
|
||||
''
|
||||
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}")
|
||||
|
||||
with subtest("Check if Budgie session components actually start"):
|
||||
machine.wait_until_succeeds("pgrep budgie-daemon")
|
||||
machine.wait_for_window("budgie-daemon")
|
||||
machine.wait_until_succeeds("pgrep budgie-panel")
|
||||
machine.wait_for_window("budgie-panel")
|
||||
# We don't check xwininfo for this one.
|
||||
for i in ["budgie-daemon", "budgie-panel", "budgie-wm", "budgie-desktop-view", "gsd-media-keys"]:
|
||||
machine.wait_until_succeeds(f"pgrep -f {i}")
|
||||
# We don't check xwininfo for budgie-wm.
|
||||
# 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"):
|
||||
machine.succeed("su - ${user.name} -c 'DISPLAY=:0 mate-terminal >&2 &'")
|
||||
machine.succeed("${su "mate-terminal >&2 &"}")
|
||||
machine.wait_for_window("Terminal")
|
||||
|
||||
with subtest("Check if budgie-wm has ever coredumped"):
|
||||
machine.fail("coredumpctl --json=short | grep budgie-wm")
|
||||
machine.sleep(20)
|
||||
with subtest("Check if Budgie has ever coredumped"):
|
||||
machine.fail("coredumpctl --json=short | grep budgie")
|
||||
machine.sleep(10)
|
||||
machine.screenshot("screen")
|
||||
'';
|
||||
})
|
||||
|
|
63
nixos/tests/mate-wayland.nix
Normal file
63
nixos/tests/mate-wayland.nix
Normal 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")
|
||||
'';
|
||||
})
|
|
@ -54,6 +54,15 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
|||
machine.wait_for_text('(Applications|Places|System)')
|
||||
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"):
|
||||
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 &'")
|
||||
|
|
47
nixos/tests/web-apps/pretix.nix
Normal file
47
nixos/tests/web-apps/pretix.nix
Normal 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"))
|
||||
'';
|
||||
}
|
|
@ -20,13 +20,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gridcoin-research";
|
||||
version = "5.4.6.0-hotfix-1";
|
||||
version = "5.4.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gridcoin-community";
|
||||
repo = "Gridcoin-Research";
|
||||
rev = "${version}";
|
||||
sha256 = "sha256-fFxHJJ+EMnv0CterTwJbAfybF9WCzaSP7ynlxx2hE5A=";
|
||||
sha256 = "sha256-wdXah7QnWohGAtC98exPSkhg5F3BaBOiFs6bklFxD7E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
|
||||
let
|
||||
pname = "codux";
|
||||
version = "15.22.0";
|
||||
version = "15.22.2";
|
||||
|
||||
src = fetchurl {
|
||||
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; };
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
"new": "nvchad-ui"
|
||||
},
|
||||
"nvim-base16": {
|
||||
"date": "2024-02-15",
|
||||
"date": "2024-03-16",
|
||||
"new": "base16-nvim"
|
||||
},
|
||||
"nvim-bufferline-lua": {
|
||||
|
@ -47,6 +47,10 @@
|
|||
"date": "2021-09-03",
|
||||
"new": "sqlite-lua"
|
||||
},
|
||||
"vim-fsharp": {
|
||||
"date": "2024-03-16",
|
||||
"new": "zarchive-vim-fsharp"
|
||||
},
|
||||
"vim-jade": {
|
||||
"date": "2020-03-27",
|
||||
"new": "vim-pug"
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -27,12 +27,12 @@
|
|||
};
|
||||
angular = buildGrammar {
|
||||
language = "angular";
|
||||
version = "0.0.0+rev=6d02054";
|
||||
version = "0.0.0+rev=62179d7";
|
||||
src = fetchFromGitHub {
|
||||
owner = "dlvandenberg";
|
||||
repo = "tree-sitter-angular";
|
||||
rev = "6d02054ae9aa1fedf5097fe6d93dd78f751dff21";
|
||||
hash = "sha256-Bm3I9a14WMNqL+nt5qr8Bd0Z4BOTCCF25wFrJ07FCSw=";
|
||||
rev = "62179d7bbfb5fd8a8f7298495ac654d252a1bd52";
|
||||
hash = "sha256-qRsBeJ01kGTKJqFubG1u9SFa1nsDH7ZHKQ0cGwfqi84=";
|
||||
};
|
||||
meta.homepage = "https://github.com/dlvandenberg/tree-sitter-angular";
|
||||
};
|
||||
|
@ -50,12 +50,12 @@
|
|||
};
|
||||
arduino = buildGrammar {
|
||||
language = "arduino";
|
||||
version = "0.0.0+rev=7722d43";
|
||||
version = "0.0.0+rev=e3a0a7f";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ObserverOfTime";
|
||||
repo = "tree-sitter-arduino";
|
||||
rev = "7722d4398d87ea22c4877264f88b45bd7ce0cba5";
|
||||
hash = "sha256-pNiJY+KJ8QrL7xXOX/NRIFxIbXmf9DkVC9FUvXlk5qQ=";
|
||||
rev = "e3a0a7f60e544afc478b72cdda7ffc0f2f889db0";
|
||||
hash = "sha256-WdGCnZSMxyNJJYHB5H5Atc9EW2/0oB22/OWyxTrQHT8=";
|
||||
};
|
||||
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-arduino";
|
||||
};
|
||||
|
@ -94,23 +94,23 @@
|
|||
};
|
||||
awk = buildGrammar {
|
||||
language = "awk";
|
||||
version = "0.0.0+rev=207b049";
|
||||
version = "0.0.0+rev=ba74721";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Beaglefoot";
|
||||
repo = "tree-sitter-awk";
|
||||
rev = "207b04974c83d8d25a947e4d09763675c4617da7";
|
||||
hash = "sha256-sW6ix5j9VpeQj7dct9u3cJ8sXgjIQlhQ7Nnh2S8wWbk=";
|
||||
rev = "ba7472152d79a8c916550c80fdbfd5724d07a0c9";
|
||||
hash = "sha256-ywrd9wCdrQ9UZPXvB8fUkelFaZzHxL+hDAPSecMueFs=";
|
||||
};
|
||||
meta.homepage = "https://github.com/Beaglefoot/tree-sitter-awk";
|
||||
};
|
||||
bash = buildGrammar {
|
||||
language = "bash";
|
||||
version = "0.0.0+rev=975bc70";
|
||||
version = "0.0.0+rev=f3f26f4";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-bash";
|
||||
rev = "975bc70ad95dbbf2733872bc2e0a059c055db983";
|
||||
hash = "sha256-SU5wBy81aANd7oUZvYR14Vd53Ml/cBSwDtO6uG34CaE=";
|
||||
rev = "f3f26f47a126797c011c311cec9d449d855c3eab";
|
||||
hash = "sha256-6Rfxh8Y6dg2wyQ9jYnbOaXm1SVfQDQ1B1tNqgpz6sY4=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-bash";
|
||||
};
|
||||
|
@ -127,12 +127,12 @@
|
|||
};
|
||||
beancount = buildGrammar {
|
||||
language = "beancount";
|
||||
version = "0.0.0+rev=1f19abf";
|
||||
version = "0.0.0+rev=6c665e7";
|
||||
src = fetchFromGitHub {
|
||||
owner = "polarmutex";
|
||||
repo = "tree-sitter-beancount";
|
||||
rev = "1f19abf1e162e1828013cb5434c6cf30f4054e80";
|
||||
hash = "sha256-yb6z5iLMoK1wWCS9laA1muRVLssFwnyAg4SKWVsti0s=";
|
||||
rev = "6c665e7cf15d76a1687959643868a78fb381458d";
|
||||
hash = "sha256-hVFPt+ndXx38SH/e/dORz226SQwDNu1j4cinvJLhkTM=";
|
||||
};
|
||||
meta.homepage = "https://github.com/polarmutex/tree-sitter-beancount";
|
||||
};
|
||||
|
@ -182,12 +182,12 @@
|
|||
};
|
||||
c = buildGrammar {
|
||||
language = "c";
|
||||
version = "0.0.0+rev=652433f";
|
||||
version = "0.0.0+rev=371fd0b";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-c";
|
||||
rev = "652433fce487d8c3943207da38e3e65e4550e288";
|
||||
hash = "sha256-Ld8ufwdOVqRYb9YpOa6z6fWoA+gj0w0nlq3dqhFCap8=";
|
||||
rev = "371fd0bf0650581b6e49f06f438c88c419859696";
|
||||
hash = "sha256-zaH4b5lsOtnl1e07ERU2mP/IFvg90YjsFFhvz+EY/ig=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-c";
|
||||
};
|
||||
|
@ -248,12 +248,12 @@
|
|||
};
|
||||
cmake = buildGrammar {
|
||||
language = "cmake";
|
||||
version = "0.0.0+rev=f8de25f";
|
||||
version = "0.0.0+rev=7dc1582";
|
||||
src = fetchFromGitHub {
|
||||
owner = "uyha";
|
||||
repo = "tree-sitter-cmake";
|
||||
rev = "f8de25f30757a2def006a7c144354710fe63dcf3";
|
||||
hash = "sha256-J8Ro3J9kkH7k/v+nwekCotoS/l28yInhk9p/xaSbegc=";
|
||||
rev = "7dc15823107831729c64a917c796a93cf5c6a7e3";
|
||||
hash = "sha256-kz/FnQMibzmZ6O/x92q8IfrriO0vUlZhozIzhS0jRyo=";
|
||||
};
|
||||
meta.homepage = "https://github.com/uyha/tree-sitter-cmake";
|
||||
};
|
||||
|
@ -359,12 +359,12 @@
|
|||
};
|
||||
cue = buildGrammar {
|
||||
language = "cue";
|
||||
version = "0.0.0+rev=2df92e6";
|
||||
version = "0.0.0+rev=8a5f273";
|
||||
src = fetchFromGitHub {
|
||||
owner = "eonpatapon";
|
||||
repo = "tree-sitter-cue";
|
||||
rev = "2df92e6755337e9234ad18ffef37f35d95e2ba9d";
|
||||
hash = "sha256-RsWbGMC2RXfZlZnkXJclMwiGecZ8Sc1OPkG+mmE5r6Q=";
|
||||
rev = "8a5f273bfa281c66354da562f2307c2d394b6c81";
|
||||
hash = "sha256-uV7Tl41PCU+8uJa693km5xvysvbptbT7LvGyYIelspk=";
|
||||
};
|
||||
meta.homepage = "https://github.com/eonpatapon/tree-sitter-cue";
|
||||
};
|
||||
|
@ -768,12 +768,12 @@
|
|||
};
|
||||
gitcommit = buildGrammar {
|
||||
language = "gitcommit";
|
||||
version = "0.0.0+rev=6bd8196";
|
||||
version = "0.0.0+rev=523a1a4";
|
||||
src = fetchFromGitHub {
|
||||
owner = "gbprod";
|
||||
repo = "tree-sitter-gitcommit";
|
||||
rev = "6bd81962d1abe309bf5dffde3315e4a5988f35fd";
|
||||
hash = "sha256-aSgnTbhpekeDDUzz9hecebW5ejCnmLiE5d1fTTxP19g=";
|
||||
rev = "523a1a4f0f674eff7fbf46addfa6ef7644151aae";
|
||||
hash = "sha256-QWWX/92yOZES1XgcCTu77tgcfeRhaUEJJudCCopMBrk=";
|
||||
};
|
||||
meta.homepage = "https://github.com/gbprod/tree-sitter-gitcommit";
|
||||
};
|
||||
|
@ -790,12 +790,12 @@
|
|||
};
|
||||
gleam = buildGrammar {
|
||||
language = "gleam";
|
||||
version = "0.0.0+rev=58b7cac";
|
||||
version = "0.0.0+rev=2012f29";
|
||||
src = fetchFromGitHub {
|
||||
owner = "gleam-lang";
|
||||
repo = "tree-sitter-gleam";
|
||||
rev = "58b7cac8fc14c92b0677c542610d8738c373fa81";
|
||||
hash = "sha256-VtuGsa8jKndxlyJKy9UHfZXvAgr63Q0iwceXKfEUAYE=";
|
||||
rev = "2012f294baacf30e7a62414754021284377366c6";
|
||||
hash = "sha256-W+PfxqPUKHhLH5UBATmQ1mlSfLPAWIQyDgiSQBWBtBs=";
|
||||
};
|
||||
meta.homepage = "https://github.com/gleam-lang/tree-sitter-gleam";
|
||||
};
|
||||
|
@ -887,6 +887,17 @@
|
|||
};
|
||||
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 {
|
||||
language = "gowork";
|
||||
version = "0.0.0+rev=949a8a4";
|
||||
|
@ -900,12 +911,12 @@
|
|||
};
|
||||
gpg = buildGrammar {
|
||||
language = "gpg";
|
||||
version = "0.0.0+rev=d4c9cc0";
|
||||
version = "0.0.0+rev=f99323f";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ObserverOfTime";
|
||||
repo = "tree-sitter-gpg-config";
|
||||
rev = "d4c9cc0060cd4d1b8ca6d7add9f34352ad310a09";
|
||||
hash = "sha256-kV9GN0qdVNA7LFYoCM/ISEW4Mpd5v9+oHV83XgEJTRs=";
|
||||
rev = "f99323fb8f3f10b6c69db0c2f6d0a14bd7330675";
|
||||
hash = "sha256-VJXXpHVMKUNaslsjoKR6XsaUJ8C+0MyidXtRPRywnpg=";
|
||||
};
|
||||
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-gpg-config";
|
||||
};
|
||||
|
@ -988,26 +999,38 @@
|
|||
};
|
||||
hcl = buildGrammar {
|
||||
language = "hcl";
|
||||
version = "0.0.0+rev=e135399";
|
||||
version = "0.0.0+rev=e936d3f";
|
||||
src = fetchFromGitHub {
|
||||
owner = "MichaHoffmann";
|
||||
repo = "tree-sitter-hcl";
|
||||
rev = "e135399cb31b95fac0760b094556d1d5ce84acf0";
|
||||
hash = "sha256-Ylxpj+e9YGhyRRRCCVs0g/zhwHpwGELxG2i+E3SFmpQ=";
|
||||
rev = "e936d3fef8bac884661472dce71ad82284761eb1";
|
||||
hash = "sha256-lcvs4auZrMb1f9ocrAnLVxX8JnvrPT18LsJBqoNG9Oo=";
|
||||
};
|
||||
meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl";
|
||||
};
|
||||
heex = buildGrammar {
|
||||
language = "heex";
|
||||
version = "0.0.0+rev=4a36c9a";
|
||||
version = "0.0.0+rev=b5ad6e3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "connorlay";
|
||||
repo = "tree-sitter-heex";
|
||||
rev = "4a36c9a388505180da6ee0eda1d8afb8c83481c8";
|
||||
hash = "sha256-6gdAxNI81jbN8XZALRw31kFQRZg8ge/O7QRprLZpWOg=";
|
||||
rev = "b5ad6e34eea18a15bbd1466ca707a17f9bff7b93";
|
||||
hash = "sha256-o0ArFfBJTrEQVXVet+AIDPCB/b9KKvOYrrtMGyLgtM8=";
|
||||
};
|
||||
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 {
|
||||
language = "hjson";
|
||||
version = "0.0.0+rev=02fa3b7";
|
||||
|
@ -1065,12 +1088,12 @@
|
|||
};
|
||||
html = buildGrammar {
|
||||
language = "html";
|
||||
version = "0.0.0+rev=b5d9758";
|
||||
version = "0.0.0+rev=b285e25";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-html";
|
||||
rev = "b5d9758e22b4d3d25704b72526670759a9e4d195";
|
||||
hash = "sha256-v3BD36OKkzJ1xqQV87HAyQpnQzi/4+PuyEAM1HfkW3U=";
|
||||
rev = "b285e25c1ba8729399ce4f15ac5375cf6c3aa5be";
|
||||
hash = "sha256-bAFSq2FXtSvFY8FrpeDgXXSq66QZsUrdz1As07B45u0=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-html";
|
||||
};
|
||||
|
@ -1153,23 +1176,23 @@
|
|||
};
|
||||
java = buildGrammar {
|
||||
language = "java";
|
||||
version = "0.0.0+rev=99b29f1";
|
||||
version = "0.0.0+rev=5e62fbb";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-java";
|
||||
rev = "99b29f1ed957b3b424b6e21f57bd21a9732a622a";
|
||||
hash = "sha256-2A3dXO+N3M7GEiI06Dn28vU73Bow6vK0deC85mY058Q=";
|
||||
rev = "5e62fbb519b608dfd856000fdc66536304c414de";
|
||||
hash = "sha256-Wki+tdLzYINDbZMFd79QIDNK46rtzx25Qy0mB54eWN4=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-java";
|
||||
};
|
||||
javascript = buildGrammar {
|
||||
language = "javascript";
|
||||
version = "0.0.0+rev=51aed72";
|
||||
version = "0.0.0+rev=de1e682";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-javascript";
|
||||
rev = "51aed7263d33bee46b0a8a5e165ffcb690d5aca8";
|
||||
hash = "sha256-FDnVwYpPgenOTgWaX/VdmtUmmIbCm/TtkiQ3TFoQjYY=";
|
||||
rev = "de1e682289a417354df5b4437a3e4f92e0722a0f";
|
||||
hash = "sha256-HhqYqU1CwPxXMHp21unRekFDzpGVedlgh/4bsplhe9c=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-javascript";
|
||||
};
|
||||
|
@ -1274,12 +1297,12 @@
|
|||
};
|
||||
kotlin = buildGrammar {
|
||||
language = "kotlin";
|
||||
version = "0.0.0+rev=4e909d6";
|
||||
version = "0.0.0+rev=260afd9";
|
||||
src = fetchFromGitHub {
|
||||
owner = "fwcd";
|
||||
repo = "tree-sitter-kotlin";
|
||||
rev = "4e909d6cc9ac96b4eaecb3fb538eaca48e9e9ee9";
|
||||
hash = "sha256-Rmq5G+7h/XSNX7JYtpAKcWbOZ1aZpBpe9GpaizK2DRk=";
|
||||
rev = "260afd9a92bac51b3a4546303103c3d40a430639";
|
||||
hash = "sha256-cmtUGmytAgiqBi31CNxEX+vE3YXmH1hphsIHvGRd7SY=";
|
||||
};
|
||||
meta.homepage = "https://github.com/fwcd/tree-sitter-kotlin";
|
||||
};
|
||||
|
@ -1373,12 +1396,12 @@
|
|||
};
|
||||
lua = buildGrammar {
|
||||
language = "lua";
|
||||
version = "0.0.0+rev=04c9579";
|
||||
version = "0.0.0+rev=a24dab1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "MunifTanjim";
|
||||
repo = "tree-sitter-lua";
|
||||
rev = "04c9579dcb917255b2e5f8199df4ae7f587d472f";
|
||||
hash = "sha256-kzyn6XF4/PN8civ/0UV+ancCMkh7DF2B7WUYxix6aaM=";
|
||||
rev = "a24dab177e58c9c6832f96b9a73102a0cfbced4a";
|
||||
hash = "sha256-uFaEptW4wPrqgHfB1mYmVltf+4no61L2cPgpsr5qBIU=";
|
||||
};
|
||||
meta.homepage = "https://github.com/MunifTanjim/tree-sitter-lua";
|
||||
};
|
||||
|
@ -1439,24 +1462,24 @@
|
|||
};
|
||||
markdown = buildGrammar {
|
||||
language = "markdown";
|
||||
version = "0.0.0+rev=2821521";
|
||||
version = "0.0.0+rev=b2f0198";
|
||||
src = fetchFromGitHub {
|
||||
owner = "MDeiml";
|
||||
repo = "tree-sitter-markdown";
|
||||
rev = "2821521a4e6eab37b63dff6a8e169cd88554047d";
|
||||
hash = "sha256-JoZ/CKIMHVowwqTMFdys+Qu1CHMsP+8Wr2LJo5h30B4=";
|
||||
rev = "b2f01981a76e3251f5b660378136c248ed106b81";
|
||||
hash = "sha256-6gxtiO6Dzo5BELdw/dAaQB90SJYelr/RqvTzNK55caA=";
|
||||
};
|
||||
location = "tree-sitter-markdown";
|
||||
meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown";
|
||||
};
|
||||
markdown_inline = buildGrammar {
|
||||
language = "markdown_inline";
|
||||
version = "0.0.0+rev=2821521";
|
||||
version = "0.0.0+rev=b2f0198";
|
||||
src = fetchFromGitHub {
|
||||
owner = "MDeiml";
|
||||
repo = "tree-sitter-markdown";
|
||||
rev = "2821521a4e6eab37b63dff6a8e169cd88554047d";
|
||||
hash = "sha256-JoZ/CKIMHVowwqTMFdys+Qu1CHMsP+8Wr2LJo5h30B4=";
|
||||
rev = "b2f01981a76e3251f5b660378136c248ed106b81";
|
||||
hash = "sha256-6gxtiO6Dzo5BELdw/dAaQB90SJYelr/RqvTzNK55caA=";
|
||||
};
|
||||
location = "tree-sitter-markdown-inline";
|
||||
meta.homepage = "https://github.com/MDeiml/tree-sitter-markdown";
|
||||
|
@ -1507,12 +1530,12 @@
|
|||
};
|
||||
mlir = buildGrammar {
|
||||
language = "mlir";
|
||||
version = "0.0.0+rev=117cbbc";
|
||||
version = "0.0.0+rev=992c756";
|
||||
src = fetchFromGitHub {
|
||||
owner = "artagnon";
|
||||
repo = "tree-sitter-mlir";
|
||||
rev = "117cbbc46bbf82ae30b24f8939573655017226da";
|
||||
hash = "sha256-c0+Pvhe++fHmRL9Ptri+vsdRN3MCb2Z/7EqWmFaK/CE=";
|
||||
rev = "992c756686eb968af752ce75a874591042a8e24c";
|
||||
hash = "sha256-nm7YSwj10p6GKR7lUJZ5SZeiW8fh+5ZI52haeUM3oDE=";
|
||||
};
|
||||
generate = true;
|
||||
meta.homepage = "https://github.com/artagnon/tree-sitter-mlir";
|
||||
|
@ -1541,12 +1564,12 @@
|
|||
};
|
||||
nickel = buildGrammar {
|
||||
language = "nickel";
|
||||
version = "0.0.0+rev=33a64ec";
|
||||
version = "0.0.0+rev=58baf89";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nickel-lang";
|
||||
repo = "tree-sitter-nickel";
|
||||
rev = "33a64ec9a27058c52e4195f1030235dcdfc04747";
|
||||
hash = "sha256-gTOePRg5ZEXfBL35biG6abpxW2eycgbHIzaL6w4g8rc=";
|
||||
rev = "58baf89db8fdae54a84bcf22c80ff10ee3f929ed";
|
||||
hash = "sha256-WuY6X1mnXdjiy4joIcY8voK2sqICFf0GvudulZ9lwqg=";
|
||||
};
|
||||
meta.homepage = "https://github.com/nickel-lang/tree-sitter-nickel";
|
||||
};
|
||||
|
@ -1640,24 +1663,24 @@
|
|||
};
|
||||
ocaml = buildGrammar {
|
||||
language = "ocaml";
|
||||
version = "0.0.0+rev=9965d20";
|
||||
version = "0.0.0+rev=712d9bf";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-ocaml";
|
||||
rev = "9965d208337d88bbf1a38ad0b0fe49e5f5ec9677";
|
||||
hash = "sha256-9Y/eZNsKkz8RKjMn5RIAPITkDQTWdSc/fBXzxMg1ViQ=";
|
||||
rev = "712d9bfa1d537c5899dde5538767ed2d8bb37a93";
|
||||
hash = "sha256-l4hchr03Jrsat863K8wfBeHo1o9dw0T3RAl4MMWKIHA=";
|
||||
};
|
||||
location = "ocaml";
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml";
|
||||
};
|
||||
ocaml_interface = buildGrammar {
|
||||
language = "ocaml_interface";
|
||||
version = "0.0.0+rev=9965d20";
|
||||
version = "0.0.0+rev=712d9bf";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-ocaml";
|
||||
rev = "9965d208337d88bbf1a38ad0b0fe49e5f5ec9677";
|
||||
hash = "sha256-9Y/eZNsKkz8RKjMn5RIAPITkDQTWdSc/fBXzxMg1ViQ=";
|
||||
rev = "712d9bfa1d537c5899dde5538767ed2d8bb37a93";
|
||||
hash = "sha256-l4hchr03Jrsat863K8wfBeHo1o9dw0T3RAl4MMWKIHA=";
|
||||
};
|
||||
location = "interface";
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-ocaml";
|
||||
|
@ -1742,24 +1765,24 @@
|
|||
};
|
||||
php = buildGrammar {
|
||||
language = "php";
|
||||
version = "0.0.0+rev=78a78df";
|
||||
version = "0.0.0+rev=ad414fa";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-php";
|
||||
rev = "78a78df5e06b4c13173af2a1f607c9a853d0f240";
|
||||
hash = "sha256-N7qbOQethP/ZZHu5r+SJYCdrX4FVg72YuyULpuMUAhw=";
|
||||
rev = "ad414fa5497328e96ef992d80896f19c77584f7c";
|
||||
hash = "sha256-is5jtMg3G4ay+yF1Eti0jDljlB4vmibLPW0qup+8VeU=";
|
||||
};
|
||||
location = "php";
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
|
||||
};
|
||||
php_only = buildGrammar {
|
||||
language = "php_only";
|
||||
version = "0.0.0+rev=78a78df";
|
||||
version = "0.0.0+rev=ad414fa";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-php";
|
||||
rev = "78a78df5e06b4c13173af2a1f607c9a853d0f240";
|
||||
hash = "sha256-N7qbOQethP/ZZHu5r+SJYCdrX4FVg72YuyULpuMUAhw=";
|
||||
rev = "ad414fa5497328e96ef992d80896f19c77584f7c";
|
||||
hash = "sha256-is5jtMg3G4ay+yF1Eti0jDljlB4vmibLPW0qup+8VeU=";
|
||||
};
|
||||
location = "php_only";
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
|
||||
|
@ -1921,12 +1944,12 @@
|
|||
};
|
||||
puppet = buildGrammar {
|
||||
language = "puppet";
|
||||
version = "0.0.0+rev=3641b9e";
|
||||
version = "0.0.0+rev=5849f96";
|
||||
src = fetchFromGitHub {
|
||||
owner = "amaanq";
|
||||
repo = "tree-sitter-puppet";
|
||||
rev = "3641b9e854ac9c84c7576e71c4c9a357bcfd9550";
|
||||
hash = "sha256-J1DBjQRdV4R85NTyg/qmwbjm1bryKe3UOdp4XyH6BQc=";
|
||||
rev = "5849f9694197a6e822872945b415429c285fdd54";
|
||||
hash = "sha256-Lwfiby7amjTIOz8QRoC4RdZyFPfFikmQ2sqta4akyH8=";
|
||||
};
|
||||
meta.homepage = "https://github.com/amaanq/tree-sitter-puppet";
|
||||
};
|
||||
|
@ -1954,12 +1977,12 @@
|
|||
};
|
||||
python = buildGrammar {
|
||||
language = "python";
|
||||
version = "0.0.0+rev=22d3f87";
|
||||
version = "0.0.0+rev=b8a4c64";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-python";
|
||||
rev = "22d3f87bdafac2782e907330babe4af574f5d0b4";
|
||||
hash = "sha256-tyEawslx00ZwohMZo4HBa/INfbS7q6Ob2LO7pvowobk=";
|
||||
rev = "b8a4c64121ba66b460cb878e934e3157ecbfb124";
|
||||
hash = "sha256-ZTqWyr4+pOyXY4X/WnYdn9Sgp7T8FEEUy/TQPuFqb4k=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-python";
|
||||
};
|
||||
|
@ -1998,12 +2021,12 @@
|
|||
};
|
||||
query = buildGrammar {
|
||||
language = "query";
|
||||
version = "0.0.0+rev=a0ccc35";
|
||||
version = "0.0.0+rev=176a380";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nvim-treesitter";
|
||||
repo = "tree-sitter-query";
|
||||
rev = "a0ccc351e5e868ec1f8135e97aa3b53c663cf2df";
|
||||
hash = "sha256-H2QLsjl3/Kh0ojCf2Df38tb9KrM2InphEmtGd0J6+hM=";
|
||||
rev = "176a380df78800167565118bb0dadfc961abbd43";
|
||||
hash = "sha256-b9M213q6dmuK65llDTMW7rksrOyTEzlE0kdAVv0fDnA=";
|
||||
};
|
||||
meta.homepage = "https://github.com/nvim-treesitter/tree-sitter-query";
|
||||
};
|
||||
|
@ -2020,12 +2043,12 @@
|
|||
};
|
||||
racket = buildGrammar {
|
||||
language = "racket";
|
||||
version = "0.0.0+rev=e4ba1a9";
|
||||
version = "0.0.0+rev=b5a2fe7";
|
||||
src = fetchFromGitHub {
|
||||
owner = "6cdh";
|
||||
repo = "tree-sitter-racket";
|
||||
rev = "e4ba1a9674a3b4dd7905d04f194ae6f8331be342";
|
||||
hash = "sha256-4+TRol2i6ibuXqBr6O8jI/4MZq8hnf09eVBtPqaKp8s=";
|
||||
rev = "b5a2fe74cac87dc5342b366f50db71d421e7cf8f";
|
||||
hash = "sha256-TPQw9Yd194tTD2k+qzzGjMInCAJ9WeZuRPRD96zLGzs=";
|
||||
};
|
||||
meta.homepage = "https://github.com/6cdh/tree-sitter-racket";
|
||||
};
|
||||
|
@ -2108,12 +2131,12 @@
|
|||
};
|
||||
rnoweb = buildGrammar {
|
||||
language = "rnoweb";
|
||||
version = "0.0.0+rev=502c112";
|
||||
version = "0.0.0+rev=1a74dc0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "bamonroe";
|
||||
repo = "tree-sitter-rnoweb";
|
||||
rev = "502c1126dc6777f09af5bef16e72a42f75bd081e";
|
||||
hash = "sha256-aGEhy4uMhKFbL0+JO5rrn3GIe//8PZpDHEMDGHDlBCY=";
|
||||
rev = "1a74dc0ed731ad07db39f063e2c5a6fe528cae7f";
|
||||
hash = "sha256-sCjSS6iunij2SXHNzQcTq0HKawH9i5h/vQ6yl77opXw=";
|
||||
};
|
||||
meta.homepage = "https://github.com/bamonroe/tree-sitter-rnoweb";
|
||||
};
|
||||
|
@ -2152,34 +2175,34 @@
|
|||
};
|
||||
ruby = buildGrammar {
|
||||
language = "ruby";
|
||||
version = "0.0.0+rev=22a0bb2";
|
||||
version = "0.0.0+rev=9d86f37";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-ruby";
|
||||
rev = "22a0bb2678755a3714e194609862ea7f4516e807";
|
||||
hash = "sha256-lD3pRbQZDyqIkiknuXAkXd+6aHqKUY/8SNwQgfnrbBw=";
|
||||
rev = "9d86f3761bb30e8dcc81e754b81d3ce91848477e";
|
||||
hash = "sha256-Ibfu+5NWCkw7jriy1tiMLplpXNZfZf8WP30lDU1//GM=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-ruby";
|
||||
};
|
||||
rust = buildGrammar {
|
||||
language = "rust";
|
||||
version = "0.0.0+rev=2d7bac5";
|
||||
version = "0.0.0+rev=3a56481";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-rust";
|
||||
rev = "2d7bac5164c344c95530c16dd5c8fa1319e34308";
|
||||
hash = "sha256-k5/tfG8ONOK8ARgHwpxqB27sJWHioTd5WfCpmMZ1vJY=";
|
||||
rev = "3a56481f8d13b6874a28752502a58520b9139dc7";
|
||||
hash = "sha256-6ROXeKuPehtIOtaI1OJuTtyPfQmZyLzCxv3ZS04yAIk=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-rust";
|
||||
};
|
||||
scala = buildGrammar {
|
||||
language = "scala";
|
||||
version = "0.0.0+rev=e02f003";
|
||||
version = "0.0.0+rev=70b4fe6";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-scala";
|
||||
rev = "e02f003d78dc269fef287b9b7b9963dc1f26bd7e";
|
||||
hash = "sha256-LkrZ+y7QSAGe/kkkdUSyFQJFmD/mOI5Ps/wxD3BAkDI=";
|
||||
rev = "70b4fe63c4973b04cc7bd40c6b7646d9c2430db8";
|
||||
hash = "sha256-ZwrsEhlZGVJMP+GRIlaxGqS1b7HtiQelg3QBwJT9Igk=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-scala";
|
||||
};
|
||||
|
@ -2197,12 +2220,12 @@
|
|||
};
|
||||
scheme = buildGrammar {
|
||||
language = "scheme";
|
||||
version = "0.0.0+rev=85b6188";
|
||||
version = "0.0.0+rev=6c77a5b";
|
||||
src = fetchFromGitHub {
|
||||
owner = "6cdh";
|
||||
repo = "tree-sitter-scheme";
|
||||
rev = "85b6188fb77c03dfb01d13e58e2844450506860c";
|
||||
hash = "sha256-v+iQpeAeySKPgMu5IQ8vNnUSc2duX1vYvO3qqK1/Pmc=";
|
||||
rev = "6c77a5bcfb9baceeaa79ef67354b2d501b37b085";
|
||||
hash = "sha256-HIZ8j8a5ejB87rTBaMpNGRGL0TGqXiuV/BxfU4aj17s=";
|
||||
};
|
||||
meta.homepage = "https://github.com/6cdh/tree-sitter-scheme";
|
||||
};
|
||||
|
@ -2230,12 +2253,12 @@
|
|||
};
|
||||
slint = buildGrammar {
|
||||
language = "slint";
|
||||
version = "0.0.0+rev=3c82235";
|
||||
version = "0.0.0+rev=f5fa844";
|
||||
src = fetchFromGitHub {
|
||||
owner = "slint-ui";
|
||||
repo = "tree-sitter-slint";
|
||||
rev = "3c82235f41b63f35a01ae3888206e93585cbb84a";
|
||||
hash = "sha256-D3X2YwvxvseIGnKzaSocr3Ak7qoASZhxyRS+rtpir0g=";
|
||||
rev = "f5fa844d2adbcfdc7a0ec4daae4539887959d9ff";
|
||||
hash = "sha256-MSIQd1Xb4ug4yZk2bQFPHMZxrqe1xke6X7LKsxtkIkc=";
|
||||
};
|
||||
meta.homepage = "https://github.com/slint-ui/tree-sitter-slint";
|
||||
};
|
||||
|
@ -2274,12 +2297,12 @@
|
|||
};
|
||||
solidity = buildGrammar {
|
||||
language = "solidity";
|
||||
version = "0.0.0+rev=5cb506a";
|
||||
version = "0.0.0+rev=b239a95";
|
||||
src = fetchFromGitHub {
|
||||
owner = "JoranHonig";
|
||||
repo = "tree-sitter-solidity";
|
||||
rev = "5cb506ae419c4ad620c77210fd47500d3d169dbc";
|
||||
hash = "sha256-3BQuEGrmQD9Va7JpTuKJaZ6VaJ//tfPtjoEDRj/utcU=";
|
||||
rev = "b239a95f94cfcc6e7b3e961bc73a28d55e214f02";
|
||||
hash = "sha256-b+LthCf+g19sjKeNgXZmUV0RNi94O3u0WmXfgKRpaE0=";
|
||||
};
|
||||
meta.homepage = "https://github.com/JoranHonig/tree-sitter-solidity";
|
||||
};
|
||||
|
@ -2309,12 +2332,12 @@
|
|||
};
|
||||
sourcepawn = buildGrammar {
|
||||
language = "sourcepawn";
|
||||
version = "0.0.0+rev=39ce73a";
|
||||
version = "0.0.0+rev=3ca89fd";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nilshelmig";
|
||||
repo = "tree-sitter-sourcepawn";
|
||||
rev = "39ce73ad42b2c4f52848d16093c24feddaa7d226";
|
||||
hash = "sha256-CyCUGGycWpgQl/BGDjRHwYoa9Mess49jUf9WUkRaliE=";
|
||||
rev = "3ca89fdf998340a7973e276b39516d8902950f86";
|
||||
hash = "sha256-AF7PiM0Tt6wqGdNsfMGSkgWXgZRDZGdKc7DQpUHuGUA=";
|
||||
};
|
||||
meta.homepage = "https://github.com/nilshelmig/tree-sitter-sourcepawn";
|
||||
};
|
||||
|
@ -2331,12 +2354,12 @@
|
|||
};
|
||||
sql = buildGrammar {
|
||||
language = "sql";
|
||||
version = "0.0.0+rev=da2d1ef";
|
||||
version = "0.0.0+rev=cdb7cde";
|
||||
src = fetchFromGitHub {
|
||||
owner = "derekstride";
|
||||
repo = "tree-sitter-sql";
|
||||
rev = "da2d1eff425b146d3c8cab7be8dfa98b11d896dc";
|
||||
hash = "sha256-aNxUvmj4AMO744fsSOsvQcNEtHYuQDephKha/hSphh0=";
|
||||
rev = "cdb7cde9bf70b194ab8beb5069fbbc3c9640284e";
|
||||
hash = "sha256-yxr+AbKp4pkVpjMQXL3P5VEzSo2Ii6yE7ceEBYiDHJA=";
|
||||
};
|
||||
meta.homepage = "https://github.com/derekstride/tree-sitter-sql";
|
||||
};
|
||||
|
@ -2353,12 +2376,12 @@
|
|||
};
|
||||
ssh_config = buildGrammar {
|
||||
language = "ssh_config";
|
||||
version = "0.0.0+rev=4fab1c9";
|
||||
version = "0.0.0+rev=514695d";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ObserverOfTime";
|
||||
repo = "tree-sitter-ssh-config";
|
||||
rev = "4fab1c9116cb7890885508e4630cc8e6a8373a41";
|
||||
hash = "sha256-cZoRQN3vrOC7xaKeURGeKfQ0xAyRMapbgNQrBTCFoHI=";
|
||||
rev = "514695df4985f56455b8f139a319453a2325cdcf";
|
||||
hash = "sha256-LDqRP8FA5m1tnbGNTxItQlp6B6U+M6gOBlbi4zX0FHI=";
|
||||
};
|
||||
meta.homepage = "https://github.com/ObserverOfTime/tree-sitter-ssh-config";
|
||||
};
|
||||
|
@ -2430,12 +2453,12 @@
|
|||
};
|
||||
swift = buildGrammar {
|
||||
language = "swift";
|
||||
version = "0.0.0+rev=fc00cbb";
|
||||
version = "0.0.0+rev=78a736d";
|
||||
src = fetchFromGitHub {
|
||||
owner = "alex-pinkus";
|
||||
repo = "tree-sitter-swift";
|
||||
rev = "fc00cbb460b40228b30f322b5a34ea0e8f35a9f8";
|
||||
hash = "sha256-FEac9qZuNAJYn/7mIpRSOy72F3qsiyPHZTn1DUzM2xk=";
|
||||
rev = "78a736d77094b0b3c35e811e6765c4d38a72724e";
|
||||
hash = "sha256-cBUBmXc+mhub5jvGKPcCgHgZPQtxF6OD+dlKQ0ZaxpY=";
|
||||
};
|
||||
generate = true;
|
||||
meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
|
||||
|
@ -2464,12 +2487,12 @@
|
|||
};
|
||||
t32 = buildGrammar {
|
||||
language = "t32";
|
||||
version = "0.0.0+rev=b904af3";
|
||||
version = "0.0.0+rev=0a457a5";
|
||||
src = fetchFromGitLab {
|
||||
owner = "xasc";
|
||||
repo = "tree-sitter-t32";
|
||||
rev = "b904af353fb2f1df6ac45d8d3e3a5ee85a6cc306";
|
||||
hash = "sha256-MGdwcw9T3hemUHfgQmdTp20MW08AQcVWGRHxkP/6N5Y=";
|
||||
rev = "0a457a557be7779336bc8ac2b396e73797bc68f7";
|
||||
hash = "sha256-ylMJ177FYVcnfaXbnOieNP1Emq8HpeAgEddt96tBJqE=";
|
||||
};
|
||||
meta.homepage = "https://gitlab.com/xasc/tree-sitter-t32.git";
|
||||
};
|
||||
|
@ -2520,12 +2543,12 @@
|
|||
};
|
||||
terraform = buildGrammar {
|
||||
language = "terraform";
|
||||
version = "0.0.0+rev=e135399";
|
||||
version = "0.0.0+rev=e936d3f";
|
||||
src = fetchFromGitHub {
|
||||
owner = "MichaHoffmann";
|
||||
repo = "tree-sitter-hcl";
|
||||
rev = "e135399cb31b95fac0760b094556d1d5ce84acf0";
|
||||
hash = "sha256-Ylxpj+e9YGhyRRRCCVs0g/zhwHpwGELxG2i+E3SFmpQ=";
|
||||
rev = "e936d3fef8bac884661472dce71ad82284761eb1";
|
||||
hash = "sha256-lcvs4auZrMb1f9ocrAnLVxX8JnvrPT18LsJBqoNG9Oo=";
|
||||
};
|
||||
location = "dialects/terraform";
|
||||
meta.homepage = "https://github.com/MichaHoffmann/tree-sitter-hcl";
|
||||
|
@ -2565,12 +2588,12 @@
|
|||
};
|
||||
tlaplus = buildGrammar {
|
||||
language = "tlaplus";
|
||||
version = "0.0.0+rev=aaf5bb5";
|
||||
version = "0.0.0+rev=3896a5b";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tlaplus-community";
|
||||
repo = "tree-sitter-tlaplus";
|
||||
rev = "aaf5bb5c1df0a6e583bb51efa519a9ac788b2ad8";
|
||||
hash = "sha256-p/khQ31bReopPyZ1TvUKI6bnFipWiGrxKO7cAYzeku4=";
|
||||
rev = "3896a5be761f04ffb22a841b2a0672f7a8a43ef9";
|
||||
hash = "sha256-EODxn3ZitUSz8/4XkgMK0dp2T07BwlsXVbFbBQ5xXi4=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tlaplus-community/tree-sitter-tlaplus";
|
||||
};
|
||||
|
@ -2621,12 +2644,12 @@
|
|||
};
|
||||
tsx = buildGrammar {
|
||||
language = "tsx";
|
||||
version = "0.0.0+rev=198e2ea";
|
||||
version = "0.0.0+rev=b00b8eb";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-typescript";
|
||||
rev = "198e2ea43d1c4ddd76ee883f4eae15f4201cd241";
|
||||
hash = "sha256-WnVqoshymxZgGC/p5nFX08ypB1VDLIAMjjWN5YC4UT8=";
|
||||
rev = "b00b8eb44f0b9f02556da0b1a4e2f71faed7e61b";
|
||||
hash = "sha256-uGuwE1eTVEkuosMfTeY2akHB+bJ5npWEwUv+23nhY9M=";
|
||||
};
|
||||
location = "tsx";
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
|
||||
|
@ -2655,12 +2678,12 @@
|
|||
};
|
||||
typescript = buildGrammar {
|
||||
language = "typescript";
|
||||
version = "0.0.0+rev=198e2ea";
|
||||
version = "0.0.0+rev=b00b8eb";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-typescript";
|
||||
rev = "198e2ea43d1c4ddd76ee883f4eae15f4201cd241";
|
||||
hash = "sha256-WnVqoshymxZgGC/p5nFX08ypB1VDLIAMjjWN5YC4UT8=";
|
||||
rev = "b00b8eb44f0b9f02556da0b1a4e2f71faed7e61b";
|
||||
hash = "sha256-uGuwE1eTVEkuosMfTeY2akHB+bJ5npWEwUv+23nhY9M=";
|
||||
};
|
||||
location = "typescript";
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
|
||||
|
@ -2790,34 +2813,34 @@
|
|||
};
|
||||
vim = buildGrammar {
|
||||
language = "vim";
|
||||
version = "0.0.0+rev=bc1364d";
|
||||
version = "0.0.0+rev=052279c";
|
||||
src = fetchFromGitHub {
|
||||
owner = "neovim";
|
||||
repo = "tree-sitter-vim";
|
||||
rev = "bc1364d922952138957a62105171ed68e73fbb6c";
|
||||
hash = "sha256-5h1GYjyYMJd5GS0zXh0LP1wBs60fYohpFv89gcdZ4vU=";
|
||||
rev = "052279cd5e1d73b075640c64cef97e7bdcd32611";
|
||||
hash = "sha256-EoiMqMcBl5bC1Irs2flA2F5nHN6VTZdv6hdCrqoTAcY=";
|
||||
};
|
||||
meta.homepage = "https://github.com/neovim/tree-sitter-vim";
|
||||
};
|
||||
vimdoc = buildGrammar {
|
||||
language = "vimdoc";
|
||||
version = "0.0.0+rev=b63be26";
|
||||
version = "0.0.0+rev=f431bfa";
|
||||
src = fetchFromGitHub {
|
||||
owner = "neovim";
|
||||
repo = "tree-sitter-vimdoc";
|
||||
rev = "b63be26fa571259b512e1939f01755d9d6e78fbd";
|
||||
hash = "sha256-gsjepcw8Y8Vm6GhJRKUJKLsCb+Rd0lNyYfnmWijuiLo=";
|
||||
rev = "f431bfa7d433f4d629943147817193a4fccbd303";
|
||||
hash = "sha256-+SYbYvmVN2U0Q03p0eCj3MViCyzPqUiPG1oMWh7hRyM=";
|
||||
};
|
||||
meta.homepage = "https://github.com/neovim/tree-sitter-vimdoc";
|
||||
};
|
||||
vue = buildGrammar {
|
||||
language = "vue";
|
||||
version = "0.0.0+rev=7e48557";
|
||||
version = "0.0.0+rev=3b9d520";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter-grammars";
|
||||
repo = "tree-sitter-vue";
|
||||
rev = "7e48557b903a9db9c38cea3b7839ef7e1f36c693";
|
||||
hash = "sha256-dz9NC+axivAsVJPbt7TNtU89wFyrTBoD2hCBjiXFbgY=";
|
||||
rev = "3b9d52087100bdfce43dad2ca46d75b0e21613f6";
|
||||
hash = "sha256-36MnM1X8uhqCb44oHY0kEKDLpYmU1QL2JfGpdIbb3pc=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-vue";
|
||||
};
|
||||
|
@ -2845,12 +2868,12 @@
|
|||
};
|
||||
wing = buildGrammar {
|
||||
language = "wing";
|
||||
version = "0.0.0+rev=13b79ea";
|
||||
version = "0.0.0+rev=07f6740";
|
||||
src = fetchFromGitHub {
|
||||
owner = "winglang";
|
||||
repo = "wing";
|
||||
rev = "13b79ea3f343b15f233c6e7ac930797748191615";
|
||||
hash = "sha256-2BOPevKjrNoTRNaadwr7erWDBxIDUvU4zLOQgXOB4rE=";
|
||||
rev = "07f6740ab9f4f74c49413b9056154cac51f4b2d7";
|
||||
hash = "sha256-jnDrJhhsfRAqR+83VaGXBKANu5J2Xt7LNUm0VUFEVbY=";
|
||||
};
|
||||
location = "libs/tree-sitter-wing";
|
||||
generate = true;
|
||||
|
@ -2881,14 +2904,14 @@
|
|||
};
|
||||
yaml = buildGrammar {
|
||||
language = "yaml";
|
||||
version = "0.0.0+rev=0e36bed";
|
||||
version = "0.0.0+rev=9e59b9b";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ikatyang";
|
||||
owner = "tree-sitter-grammars";
|
||||
repo = "tree-sitter-yaml";
|
||||
rev = "0e36bed171768908f331ff7dff9d956bae016efb";
|
||||
hash = "sha256-bpiT3FraOZhJaoiFWAoVJX1O+plnIi8aXOW2LwyU23M=";
|
||||
rev = "9e59b9bbf839ba231fbcb953617d8b9b9a059e38";
|
||||
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 {
|
||||
language = "yang";
|
||||
|
|
|
@ -998,7 +998,7 @@
|
|||
inherit (old) version src;
|
||||
sourceRoot = "${old.src.name}/spectre_oxi";
|
||||
|
||||
cargoHash = "sha256-gCGuD5kipgfR0Le8npNmyBxNsUq0PavXvKkxkiPx13E=";
|
||||
cargoHash = "sha256-VDnrJ2EJ8LDykqxYKD1VR8BkDqzzifazJzL/0UsmSCk=";
|
||||
|
||||
|
||||
preCheck = ''
|
||||
|
@ -1134,7 +1134,7 @@
|
|||
pname = "sg-nvim-rust";
|
||||
inherit (old) version src;
|
||||
|
||||
cargoHash = "sha256-nlPSsp/HbS1DxhOHh5+7x1re46oiQa9FQMLClc7TQLg=";
|
||||
cargoHash = "sha256-iGNLk3ckm90i5m05V/va+hO9RMiOUKL19dkszoUCwlU=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
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
|
||||
+++ b/autoload/health/openscad_nvim.vim
|
||||
@@ -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
|
||||
- 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
|
||||
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
|
||||
endfunction
|
||||
|
||||
function! s:check_htop_installed() abort
|
||||
- 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
|
||||
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
|
||||
index 7dff2fb..4382003 100644
|
||||
index 7475f29..832c895 100644
|
||||
--- a/lua/openscad.lua
|
||||
+++ b/lua/openscad.lua
|
||||
@@ -101,7 +101,7 @@ end
|
||||
|
@ -38,7 +38,7 @@ index 7dff2fb..4382003 100644
|
|||
else
|
||||
-- TODO: What about Windows?
|
||||
- jobCommand = 'openscad ' .. vim.fn.expand('%:p')
|
||||
+ jobCommand = '@oepnscad@ ' .. vim.fn.expand('%:p')
|
||||
+ jobCommand = '@openscad@ ' .. vim.fn.expand('%:p')
|
||||
end
|
||||
|
||||
vim.fn.jobstart(jobCommand)
|
||||
|
|
|
@ -361,6 +361,7 @@ https://github.com/nvimdev/guard.nvim/,HEAD,
|
|||
https://github.com/nmac427/guess-indent.nvim/,HEAD,
|
||||
https://github.com/sjl/gundo.vim/,,
|
||||
https://github.com/junegunn/gv.vim/,,
|
||||
https://github.com/TheSnakeWitcher/hardhat.nvim/,HEAD,
|
||||
https://github.com/m4xshen/hardtime.nvim/,HEAD,
|
||||
https://git.sr.ht/~sircmpwn/hare.vim,HEAD,
|
||||
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/kassio/neoterm/,,
|
||||
https://github.com/nvim-neotest/neotest/,HEAD,
|
||||
https://github.com/rcasia/neotest-bash/,HEAD,
|
||||
https://github.com/sidlatau/neotest-dart/,HEAD,
|
||||
https://github.com/MarkEmmons/neotest-deno/,HEAD,
|
||||
https://github.com/Issafalcon/neotest-dotnet/,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/weilbith/neotest-gradle/,HEAD,
|
||||
https://github.com/alfaix/neotest-gtest/,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/zidhuss/neotest-minitest/,HEAD,
|
||||
https://github.com/theutz/neotest-pest/,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-python/,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/shunsambongi/neotest-testthat/,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/Shatur/neovim-ayu/,,
|
||||
https://github.com/cloudhead/neovim-fuzzy/,,
|
||||
|
@ -1364,6 +1373,7 @@ https://github.com/puremourning/vimspector/,,
|
|||
https://github.com/lervag/vimtex/,,
|
||||
https://github.com/preservim/vimux/,,
|
||||
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/vim-scripts/vis/,,
|
||||
https://github.com/navicore/vissort.vim/,,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, stdenv, vscode-utils, callPackage }:
|
||||
let
|
||||
version = "1.48.0";
|
||||
version = "1.50.0";
|
||||
rescript-editor-analysis = callPackage ./rescript-editor-analysis.nix { inherit version; };
|
||||
arch =
|
||||
if stdenv.isLinux then "linux"
|
||||
|
@ -13,7 +13,7 @@ vscode-utils.buildVscodeMarketplaceExtension rec {
|
|||
name = "rescript-vscode";
|
||||
publisher = "chenglou92";
|
||||
inherit version;
|
||||
sha256 = "sha256-/1nDuj/kSdkV6PlbdlOLfUKQeuvyL2VhPjUAr9kq2NM=";
|
||||
sha256 = "sha256-Dt7mqZQ/vEUFyUD5SsY6RGzg9kq19/Amksrwtfv0TuE=";
|
||||
};
|
||||
postPatch = ''
|
||||
rm -r ${analysisDir}
|
||||
|
|
|
@ -98,9 +98,9 @@ in mkDerivation rec {
|
|||
wrapGAppsHook
|
||||
wrapQtAppsHook
|
||||
|
||||
bison
|
||||
cmake
|
||||
flex
|
||||
bison
|
||||
ninja
|
||||
];
|
||||
|
||||
|
|
|
@ -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" ];
|
||||
};
|
||||
}
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "bemenu";
|
||||
version = "0.6.20";
|
||||
version = "0.6.21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Cloudef";
|
||||
repo = finalAttrs.pname;
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-pXuaNhrXy33rZxk+qisFWpYj6w9QW3p3WmGtE1kHGII=";
|
||||
hash = "sha256-E/5wN7HpdBt//jFe9yAB8fuHKiFJ7D1UAJEvG8KBJ6k=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
|
|
@ -9,10 +9,27 @@
|
|||
, enableQt ? true
|
||||
, callPackage
|
||||
, qtwayland
|
||||
, fetchPypi
|
||||
}:
|
||||
|
||||
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 =
|
||||
if stdenv.isLinux then "libsecp256k1.so.{v}"
|
||||
|
@ -29,7 +46,7 @@ let
|
|||
owner = "spesmilo";
|
||||
repo = "electrum";
|
||||
rev = version;
|
||||
sha256 = "sha256-Lr6ynHAbyaiaxYAWU5j5Wh5acxO5HkP1/jpnFrL4j68=";
|
||||
sha256 = "sha256-fDu2PlEQOF7ftlS6dYw15S2XiAx+D/bng4zC9ELj6uk=";
|
||||
|
||||
postFetch = ''
|
||||
mv $out ./all
|
||||
|
@ -39,13 +56,13 @@ let
|
|||
|
||||
in
|
||||
|
||||
python3.pkgs.buildPythonApplication {
|
||||
python.pkgs.buildPythonApplication {
|
||||
pname = "electrum";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
|
||||
sha256 = "sha256-kej0msc7SB+51ad5xZrT8MMEY5rfYOGqum6RO1gBH5s=";
|
||||
sha256 = "sha256-lDuwXhOjcbCx8x/oIoigrklDwCbhn1trf5lDf/X/1Qc=";
|
||||
};
|
||||
|
||||
postUnpack = ''
|
||||
|
@ -56,7 +73,7 @@ python3.pkgs.buildPythonApplication {
|
|||
nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ];
|
||||
buildInputs = lib.optional (stdenv.isLinux && enableQt) qtwayland;
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
propagatedBuildInputs = with python.pkgs; [
|
||||
aiohttp
|
||||
aiohttp-socks
|
||||
aiorpcx
|
||||
|
@ -80,12 +97,15 @@ python3.pkgs.buildPythonApplication {
|
|||
ckcc-protocol
|
||||
keepkey
|
||||
trezor
|
||||
bitbox02
|
||||
cbor
|
||||
pyserial
|
||||
] ++ lib.optionals enableQt [
|
||||
pyqt5
|
||||
qdarkstyle
|
||||
];
|
||||
|
||||
checkInputs = with python3.pkgs; lib.optionals enableQt [
|
||||
checkInputs = with python.pkgs; lib.optionals enableQt [
|
||||
pyqt6
|
||||
];
|
||||
|
||||
|
@ -117,7 +137,7 @@ python3.pkgs.buildPythonApplication {
|
|||
wrapQtApp $out/bin/electrum
|
||||
'';
|
||||
|
||||
nativeCheckInputs = with python3.pkgs; [ pytestCheckHook pyaes pycryptodomex ];
|
||||
nativeCheckInputs = with python.pkgs; [ pytestCheckHook pyaes pycryptodomex ];
|
||||
|
||||
pytestFlagsArray = [ "tests" ];
|
||||
|
||||
|
@ -140,7 +160,7 @@ python3.pkgs.buildPythonApplication {
|
|||
changelog = "https://github.com/spesmilo/electrum/blob/master/RELEASE-NOTES";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ joachifm np prusnak ];
|
||||
maintainers = with maintainers; [ joachifm np prusnak chewblacka ];
|
||||
mainProgram = "electrum";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -11,13 +11,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "kiwix-tools";
|
||||
version = "3.6.0";
|
||||
version = "3.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kiwix";
|
||||
repo = "kiwix-tools";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-+th86lMAuCcmWj06yQoZ1L7rLZKqNvuTrV+Rra2km44=";
|
||||
hash = "sha256-JwF4EN5kyHEfNoMhHb9ywe+7pmgQtjEd2FeRUeTjvQw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -23,16 +23,18 @@ stdenv.mkDerivation rec {
|
|||
checkTarget = "test";
|
||||
nativeCheckInputs = [ which zstd pbzip2 ];
|
||||
|
||||
sharePath = "$out/share/${pname}";
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
installManPage makeself.1
|
||||
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
|
||||
'';
|
||||
|
||||
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; {
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "revanced-cli";
|
||||
version = "4.4.2";
|
||||
version = "4.5.0";
|
||||
|
||||
src = fetchurl {
|
||||
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 ];
|
||||
|
|
|
@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
|
|||
runHook preInstall
|
||||
|
||||
mkdir -p $out/opt
|
||||
cp -r ./dist/linux-unpacked $out/opt/Whalebird
|
||||
cp -r ./dist/*-unpacked $out/opt/Whalebird
|
||||
|
||||
# Install icons
|
||||
# Taken from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=whalebird#n41
|
||||
|
@ -104,7 +104,7 @@ stdenv.mkDerivation rec {
|
|||
meta = with lib; {
|
||||
description = "Single-column Fediverse client for desktop";
|
||||
homepage = "https://whalebird.social";
|
||||
sourceProvenance = with sourceTypes; [ fromSource ];
|
||||
changelog = "https://github.com/h3poteto/whalebird-desktop/releases/tag/v${version}";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ wolfangaukang colinsane weathercold ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
buildGoModule rec {
|
||||
pname = "bosh-cli";
|
||||
|
||||
version = "7.5.4";
|
||||
version = "7.5.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cloudfoundry";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-aNzKp7QwyhC/ado0NrCyxrRZu+ePGBNSq31/Iw6k6n0=";
|
||||
sha256 = "sha256-LjqMCkEIl+0psxIys/tvJPkEQqDRzLOsaFUfAVG+RrE=";
|
||||
};
|
||||
vendorHash = null;
|
||||
|
||||
|
|
|
@ -5,16 +5,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "kubectl-cnpg";
|
||||
version = "1.22.1";
|
||||
version = "1.22.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cloudnative-pg";
|
||||
repo = "cloudnative-pg";
|
||||
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" ];
|
||||
|
||||
|
|
|
@ -10,16 +10,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "nerdctl";
|
||||
version = "1.7.4";
|
||||
version = "1.7.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containerd";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-d90xwrMtDK5ibRHIeV6nzv5jqJfaQXpU9xKTH49yiX4=";
|
||||
hash = "sha256-eGDshnJ26rrRuM9lWwcdRg8udA4uE5ee6c+SYES7qt4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-oiBgZQtqFwq189h/Bb4CrFhs4RDYUoEEOjrccujGclU=";
|
||||
vendorHash = "sha256-GsI695T7nkwwAt78l7mc5JCD9wXAUcTxwsiLLFcANBI=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||
|
||||
|
|
|
@ -5,16 +5,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "terragrunt";
|
||||
version = "0.55.13";
|
||||
version = "0.55.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gruntwork-io";
|
||||
repo = pname;
|
||||
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;
|
||||
|
||||
|
|
|
@ -15,13 +15,13 @@
|
|||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pjsip";
|
||||
version = "2.14";
|
||||
version = "2.14.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = finalAttrs.pname;
|
||||
repo = "pjproject";
|
||||
rev = "refs/tags/${finalAttrs.version}";
|
||||
hash = "sha256-PWCeIvnBAOqbcNYPhIY7hykdvLzoD9lssSViCCPNT68=";
|
||||
hash = "sha256-LDA3o1QMrAxcGuOi/YRoMzXmw/wFkfDs2wweZuIJ2RY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -18,13 +18,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wayvnc";
|
||||
version = "0.7.2";
|
||||
version = "0.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "any1";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-6at0p1Xc25K5l6sq2uMWpaLVvZMNlWC0ybyZyrIw41I=";
|
||||
hash = "sha256-IGEM212CU91+pT8xq3BzrPrIDUZxZveb2jhatMGJAsw=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
|
|
@ -5,18 +5,18 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "storj-uplink";
|
||||
version = "1.99.3";
|
||||
version = "1.100.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "storj";
|
||||
repo = "storj";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-SzldiGwcpR+UEQ3imJfu3FlYqGq4evsYtjVLybdjGqc=";
|
||||
hash = "sha256-wc6oK1zn04/1nwis9ndpkQc8dwY/J85zZbhkwmNFLek=";
|
||||
};
|
||||
|
||||
subPackages = [ "cmd/uplink" ];
|
||||
|
||||
vendorHash = "sha256-mPJVb2/iGbRWDDcfIey3uW/5g2TIIemHR8d/3osMeGA=";
|
||||
vendorHash = "sha256-84PI1tZFiodnGvMwObELVxXMCgIWINOrO0ISAWRnxRM=";
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
|
|
|
@ -19,15 +19,15 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "iotas";
|
||||
version = "0.2.7";
|
||||
format = "other";
|
||||
version = "0.2.10";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "cheywood";
|
||||
repo = pname;
|
||||
owner = "World";
|
||||
repo = "iotas";
|
||||
rev = version;
|
||||
hash = "sha256-k3Qbi/BwkJlQzlyTlo9SjJ1M3zMFHo4669rzd+BBPzQ=";
|
||||
hash = "sha256-aITt+TJb/LrVOyb/mAC7U6/NJ4stHD76jjBFC7Pt7fU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -57,6 +57,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
markdown-it-py
|
||||
linkify-it-py
|
||||
mdit-py-plugins
|
||||
pypandoc
|
||||
];
|
||||
|
||||
# prevent double wrapping
|
||||
|
@ -67,9 +68,10 @@ python3.pkgs.buildPythonApplication rec {
|
|||
|
||||
meta = with lib; {
|
||||
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;
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "iotas";
|
||||
maintainers = with maintainers; [ zendo ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -27,11 +27,11 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "PortfolioPerformance";
|
||||
version = "0.68.1";
|
||||
version = "0.68.2";
|
||||
|
||||
src = fetchurl {
|
||||
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 = [
|
||||
|
|
|
@ -19,14 +19,14 @@
|
|||
let
|
||||
pname = "qownnotes";
|
||||
appname = "QOwnNotes";
|
||||
version = "24.3.1";
|
||||
version = "24.3.3";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
|
||||
hash = "sha256-9WlpZO/OUSSUxBXXOcB6fLq5t75uryViWsn26C05bVo=";
|
||||
hash = "sha256-1PnGccbEKkFZGE7mxMD8onMkFd/f9qyvERSu+VL3yUE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "commitizen";
|
||||
version = "3.18.3";
|
||||
version = "3.18.4";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = python3.pythonOlder "3.8";
|
||||
|
@ -20,7 +20,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
owner = "commitizen-tools";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-8l2nahrYq7GQwajdGwCg0Bfx8D5xk695UEHKds5+N5A=";
|
||||
hash = "sha256-ODBlNwrvkYnZ+CvKyc5Bic6DK/z8d6/KR3+iarFxduE=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
|
|
@ -16,13 +16,13 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "anilibria-winmaclinux";
|
||||
version = "1.2.14";
|
||||
version = "1.2.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "anilibria";
|
||||
repo = "anilibria-winmaclinux";
|
||||
rev = "d941607f078c72fca104ee1e7916cc0ddcc0acf5";
|
||||
sha256 = "sha256-G4KlYAjOT1UV29vcX7Q8dMTj0BX0rsJcLtK2MQag5nU=";
|
||||
rev = version;
|
||||
sha256 = "sha256-pfM3o4H3XJ4ZE0FXVR1k8pc7lr7SOQjKEMWuG9YkvvI=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/src";
|
||||
|
|
|
@ -8,34 +8,18 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "mythtv";
|
||||
version = "32.0";
|
||||
version = "34.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MythTV";
|
||||
repo = "mythtv";
|
||||
rev = "v${version}";
|
||||
sha256 = "0i4fs3rbk1jggh62wflpa2l03na9i1ihpz2vsdic9vfahqqjxff1";
|
||||
hash = "sha256-6/TEoyYIRq6pufYzGOmO5DB05JuDo9lqRAYT5N5M/L4=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Disable sourcing /etc/os-release
|
||||
./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)";
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -5894,9 +5894,9 @@ else
|
||||
@@ -5451,9 +5451,9 @@ else
|
||||
die "ERROR: cannot find soundtouch 1.8.0 or later."
|
||||
fi
|
||||
|
||||
|
|
|
@ -19,12 +19,12 @@
|
|||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vdr-markad";
|
||||
version = "3.4.6";
|
||||
version = "3.4.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "vdr-plugin-markad";
|
||||
owner = "kfb77";
|
||||
sha256 = "sha256-fixkalZAPz0iO1SmshsO0vYc2sksH2lrStsSOEcdZ1g=";
|
||||
sha256 = "sha256-yc/zWMGzsfZl3n+Qt5Se2duo3jwntCWaYq1yACsrPzM=";
|
||||
rev = "V${version}";
|
||||
};
|
||||
|
||||
|
|
|
@ -14,12 +14,12 @@
|
|||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vdr-softhddevice";
|
||||
version = "2.1.1";
|
||||
version = "2.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ua0lnj";
|
||||
repo = "vdr-plugin-softhddevice";
|
||||
sha256 = "sha256-d/Cl0sE4laDdjMhd3xTHcY4OT5tWWCFCvLsNF157+zw=";
|
||||
sha256 = "sha256-y6b0nOf597uxS9zDh0NQOwLN81nk4U7lHK2CalyVi8s=";
|
||||
rev = "v${version}";
|
||||
};
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "docker-compose";
|
||||
version = "2.24.7";
|
||||
version = "2.25.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "docker";
|
||||
repo = "compose";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-r7V9ZqUbtK4PG/NfDTbDljP+xaPJBXZSp1rGY/kgUTA=";
|
||||
hash = "sha256-QfzFo6VqNK+4GvF2sSVLeDTcoBOG8Jtqs6K5o5bwddA=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -16,7 +16,7 @@ buildGoModule rec {
|
|||
rm -rf e2e/
|
||||
'';
|
||||
|
||||
vendorHash = "sha256-Ec2JRCQvdC2VzkK29GyKS2DTrfHgv4wJc/50fbLVKEY=";
|
||||
vendorHash = "sha256-zAIf5ljy9trJE27RpsK0atPoqNIDUdTn6ywRo0yk/18=";
|
||||
|
||||
ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
|
||||
|
||||
|
|
|
@ -11,13 +11,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "lima";
|
||||
version = "0.20.1";
|
||||
version = "0.20.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lima-vm";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-MeTFATaAGRSaUXmC1fv9/gMFWafvkteKVJS6MHaqt8A=";
|
||||
sha256 = "sha256-xFiCGuCUJUnWN5DBfwjhBgntDfod4CWpXqJ3dbrDUSQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-wd7YiEo4Gy2kHF7aCRoNGlbOQUxqQnKqP3znzMqS2PI=";
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchFromGitea
|
||||
, installShellFiles
|
||||
, libX11
|
||||
, libinput
|
||||
|
@ -24,8 +24,9 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
pname = "dwl";
|
||||
version = "0.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "djpohly";
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "dwl";
|
||||
repo = "dwl";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-U/vqGE1dJKgEGTfPMw02z5KJbZLWY1vwDJWnJxT8urM=";
|
||||
|
|
73
pkgs/applications/window-managers/wayfire/firedecor.nix
Normal file
73
pkgs/applications/window-managers/wayfire/firedecor.nix
Normal 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;
|
||||
};
|
||||
})
|
|
@ -4,6 +4,7 @@ lib.makeScope pkgs.newScope (self:
|
|||
let
|
||||
inherit (self) callPackage;
|
||||
in {
|
||||
firedecor = callPackage ./firedecor.nix { };
|
||||
wayfire-plugins-extra = callPackage ./wayfire-plugins-extra.nix { };
|
||||
wcm = callPackage ./wcm.nix { };
|
||||
wf-shell = callPackage ./wf-shell.nix { };
|
||||
|
|
|
@ -26,6 +26,13 @@ stdenv.mkDerivation rec {
|
|||
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 ];
|
||||
nativeBuildInputs = [ meson ninja pkg-config python3 wayland-scanner ];
|
||||
buildInputs = [
|
||||
|
|
|
@ -325,6 +325,12 @@ stdenv.mkDerivation {
|
|||
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 ''
|
||||
echo "-arch ${targetPlatform.darwinArch}" >> $out/nix-support/libc-ldflags
|
||||
''
|
||||
|
|
|
@ -668,6 +668,12 @@ stdenv.mkDerivation {
|
|||
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 ''
|
||||
echo "-arch ${targetPlatform.darwinArch}" >> $out/nix-support/cc-cflags
|
||||
''
|
||||
|
|
|
@ -27,13 +27,13 @@
|
|||
, dbusSupport ? true
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
version = "3.10.0";
|
||||
version = "3.10.1";
|
||||
pname = "baresip";
|
||||
src = fetchFromGitHub {
|
||||
owner = "baresip";
|
||||
repo = "baresip";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-cVPg8T9sLZd4fXBoI64TtlIBwF2lAXNth9fMiKnk9H4=";
|
||||
hash = "sha256-0huZP1hopHaN5R1Hki6YutpvoASfIHzHMl/Y4czHHMo=";
|
||||
};
|
||||
prePatch = lib.optionalString (!dbusSupport) ''
|
||||
substituteInPlace cmake/modules.cmake --replace 'list(APPEND MODULES ctrl_dbus)' ""
|
||||
|
|
87
pkgs/by-name/bl/blockbench/package.nix
Normal file
87
pkgs/by-name/bl/blockbench/package.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -27,20 +27,20 @@ let
|
|||
in
|
||||
buildNpmPackage' rec {
|
||||
pname = "bruno";
|
||||
version = "1.10.0";
|
||||
version = "1.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "usebruno";
|
||||
repo = "bruno";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-wxQaKewKIfN93Wvb7WmOSuflTgfk1XKvHAA1UIVyMqk=";
|
||||
hash = "sha256-Urskhzs00OEucoR17NDXNtnrcXk9h75E806Re0HvYyw=";
|
||||
|
||||
postFetch = ''
|
||||
${lib.getExe npm-lockfile-fix} $out/package-lock.json
|
||||
'';
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-IXFFOegzJbDcQejqQsAg11jDnhSKi27Olm8m3qr7bqw=";
|
||||
npmDepsHash = "sha256-48xzx7dTalceXzjFBHIkkUS83pqP/OQ0L2tnMESpHII=";
|
||||
npmFlags = [ "--legacy-peer-deps" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -44,13 +44,13 @@ in
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cockpit";
|
||||
version = "312";
|
||||
version = "313";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cockpit-project";
|
||||
repo = "cockpit";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-X3IsUaqXlg/SlqHo9jK+hONY/6LAIAfRO9rAwCQcq64=";
|
||||
hash = "sha256-k/JbvotOcVs2OXwGOrnjY0xYRRgvk61p0o7VQTTPqz4=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -25,11 +25,11 @@ let
|
|||
in
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "dynamodb-local";
|
||||
version = "2.2.1";
|
||||
version = "2.3.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://d1ni2b6xgvw0s0.cloudfront.net/v2.x/dynamodb_local_2024-01-04.tar.gz";
|
||||
hash = "sha256-CbZ9Z9A70JoHu4G6It+7WycaEtzuwjVJ2YrOK+37zYA=";
|
||||
url = "https://d1ni2b6xgvw0s0.cloudfront.net/v2.x/dynamodb_local_2024-03-14.tar.gz";
|
||||
hash = "sha256-BmLbmT63CaETgu1a/Tcf0KyF+Xwol67yKVwSMa9fJbw=";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "eksctl";
|
||||
version = "0.173.0";
|
||||
version = "0.174.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "weaveworks";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-PVBt+AoYd8fMYHzBpgQ261TGlkmyooN7UKX9ooXaRYA=";
|
||||
hash = "sha256-I3YBKdb53BLZ3wFBu8WGJ1kTkuLucMoHLNchMOTNc2o=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-5bHZt+Oze7JiaY0dKjoMNDdU6wzMphgZ3W3NveRKGy0=";
|
||||
vendorHash = "sha256-wdH4+s9SU2WgIy7bJ4YrT53URvHC4vw7RZpllT2DfV8=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "gatus";
|
||||
version = "5.7.0";
|
||||
version = "5.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TwiN";
|
||||
repo = "gatus";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-GG5p2sAIameGo6IFt3IBwFuLfVFRbfHjrQrG6Ei9odA=";
|
||||
hash = "sha256-FFnrtdJiN7B27sJXzoGsbPKX3NeuHOtA34WQrw6pvEI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-VYHBqVFXX7fUuW2UqPOlbRDEfcysYvjSlfm0UJ2mMGM=";
|
||||
vendorHash = "sha256-VICVo7XYeHs/43knHA4CMSgHloyYSjOFe1TUb4u+egE=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
|
||||
buildNpmPackage rec {
|
||||
pname = "gitlab-ci-local";
|
||||
version = "4.46.1";
|
||||
version = "4.47.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firecow";
|
||||
repo = "gitlab-ci-local";
|
||||
rev = version;
|
||||
hash = "sha256-0NUmsbuzs004w9ETj4e4nO+sDvYHQh9SwJoRc3+r+j8=";
|
||||
hash = "sha256-AMqifAdC4aPra/KfM0Z8L1mF6+lA0dv9tt/cXSd3Ov4=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-zCBNUKmLluVCDoPHuKy9KMKCGL8FqopFhKq7QCAUe4U=";
|
||||
npmDepsHash = "sha256-GVqGA4aMfA08j/+fy+DA6udi52lmfDeAkE59d9CMAqg=";
|
||||
|
||||
postPatch = ''
|
||||
# remove cleanup which runs git commands
|
||||
|
|
|
@ -9,17 +9,18 @@
|
|||
, libnotify
|
||||
, withHyprland ? true
|
||||
, hyprland
|
||||
, gawk
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "hdrop";
|
||||
version = "0.4.4";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Schweber";
|
||||
repo = "hdrop";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-eLOu7xmFphTxCtyyXdM9VkNcUpefefuZMAQtOV4FVtU=";
|
||||
hash = "sha256-iginpMlgANSPWgFxNC2TYMjf2NKSSzzrjIN8lIsAvX8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -36,6 +37,7 @@ stdenvNoCC.mkDerivation rec {
|
|||
util-linux
|
||||
jq
|
||||
libnotify
|
||||
gawk
|
||||
]
|
||||
++ lib.optional withHyprland hyprland)}"
|
||||
'';
|
||||
|
|
|
@ -16,14 +16,14 @@
|
|||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "home-manager";
|
||||
version = "unstable-2024-03-12";
|
||||
version = "unstable-2024-03-15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
name = "home-manager-source";
|
||||
owner = "nix-community";
|
||||
repo = "home-manager";
|
||||
rev = "a500de54b2e3067201a40cefa5f210f719423ddf";
|
||||
hash = "sha256-AfVYEQIhOK6vaYVndgqFV4Vb5REXG9R0ylv83QInsT0=";
|
||||
rev = "206f457fffdb9a73596a4cb2211a471bd305243d";
|
||||
hash = "sha256-SUXGZNrXX05YA9G6EmgupxhOr3swI1gcxLUeDMUhrEY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, nix-update-script
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
|
@ -18,17 +19,15 @@ rustPlatform.buildRustPackage rec {
|
|||
|
||||
cargoHash = "sha256-hgcGzRLB1L3yxJjw1ECDJPmbl1W+2OS4KDojclyVYrc=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
];
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
postInstall = ''
|
||||
installManPage target/man/hyprdim.1
|
||||
|
||||
installShellCompletion --cmd hyprdim \
|
||||
--bash <(cat target/completions/hyprdim.bash) \
|
||||
--fish <(cat target/completions/hyprdim.fish) \
|
||||
--zsh <(cat target/completions/_hyprdim)
|
||||
--bash target/completions/hyprdim.bash \
|
||||
--fish target/completions/hyprdim.fish \
|
||||
--zsh target/completions/_hyprdim
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
|
@ -1,8 +1,9 @@
|
|||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, nix-update-script
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
|
@ -18,17 +19,15 @@ rustPlatform.buildRustPackage rec {
|
|||
|
||||
cargoHash = "sha256-DpbRs97sr5wpJSrYF99ZiQ0SZOZdoQjfaLhKIAU95HA=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
];
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
postInstall = ''
|
||||
installManPage target/man/hyprnome.1
|
||||
|
||||
installShellCompletion --cmd hyprnome \
|
||||
--bash <(cat target/completions/hyprnome.bash) \
|
||||
--fish <(cat target/completions/hyprnome.fish) \
|
||||
--zsh <(cat target/completions/_hyprnome)
|
||||
--bash target/completions/hyprnome.bash \
|
||||
--fish target/completions/hyprnome.fish \
|
||||
--zsh target/completions/_hyprnome
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
|
@ -23,11 +23,11 @@
|
|||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "intune-portal";
|
||||
version = "1.2401.21-jammy";
|
||||
version = "1.2402.12-jammy";
|
||||
|
||||
src = fetchurl {
|
||||
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 ];
|
||||
|
|
58
pkgs/by-name/ja/jankyborders/package.nix
Normal file
58
pkgs/by-name/ja/jankyborders/package.nix
Normal 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;
|
||||
};
|
||||
})
|
|
@ -8,16 +8,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "joshuto";
|
||||
version = "0.9.6";
|
||||
version = "0.9.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kamiyaa";
|
||||
repo = "joshuto";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-d2r8xPGnH/299wjEijilgqy3u/xJgtRmwzJdHt0sA+o=";
|
||||
hash = "sha256-8OvaL6HqsJjBAbksR4EpC/ZgvdBSKlB37PP77p3T3PY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-amgqoL7NYfl3WzTtgvDoBX46rsL9248rbCis6MHVQhE=";
|
||||
cargoHash = "sha256-zGqOmebD7kZAsWunWSB2NFOSg0cu8aM1dyhEIQz1j4I=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
, nix-update-script
|
||||
}:
|
||||
let
|
||||
version = "0.0.1";
|
||||
version = "0.0.3";
|
||||
in
|
||||
buildGoModule {
|
||||
inherit version;
|
||||
|
@ -14,7 +14,7 @@ buildGoModule {
|
|||
owner = "kubernetes-sigs";
|
||||
repo = "kubectl-validate";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-0lwN+3Cy7O9kX9dh8PjxmvdyKSZhBxcxy+b+ZtuDZaw=";
|
||||
hash = "sha256-k2+2QIPjNw6C/Do1WhPN39VZhZX4PZ6ZsKDKGJ9E5QA=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "kyverno-chainsaw";
|
||||
version = "0.1.7";
|
||||
version = "0.1.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kyverno";
|
||||
repo = "chainsaw";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-v71qAJSpnbHd+jkPkR34IVNvwWLhm04TrPzduB6ZOgA=";
|
||||
hash = "sha256-qn5EjddLVRhN90SICa39A28giXQ24Ol1nfbxNH5TXhc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-lHV5Ik/L/Svn9AvcKZupq778ektEsbxfOkCts4Ocx9g=";
|
||||
vendorHash = "sha256-R9qaG19Vp+1a7AL0q8Cl1jN89cbXzLwbnN163WMWAEw=";
|
||||
|
||||
ldflags = [
|
||||
"-s" "-w"
|
||||
|
|
60
pkgs/by-name/la/labelife-label-printer/package.nix
Normal file
60
pkgs/by-name/la/labelife-label-printer/package.nix
Normal 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 ];
|
||||
};
|
||||
})
|
|
@ -9,13 +9,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "labwc-menu-generator";
|
||||
version = "unstable-2024-03-11";
|
||||
version = "unstable-2024-03-12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "labwc";
|
||||
repo = "labwc-menu-generator";
|
||||
rev = "38d08a6695fe9d3176059dc5c57a9c84f9ef4981";
|
||||
hash = "sha256-wB5+VmtxjuWbeuDdtGt0f9u7bc3j1Bb6r5MfmMsmE0M=";
|
||||
rev = "85a014db7214103c14c2bfbb5fc09a349ad64992";
|
||||
hash = "sha256-nt/K00cr1dKEk547J/6w1j6O3WSgGqVt1+Jdw95K28s=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -7,16 +7,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "lutgen";
|
||||
version = "0.9.0";
|
||||
version = "0.10.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ozwaldorf";
|
||||
repo = "lutgen-rs";
|
||||
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 = [
|
||||
installShellFiles
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
{ lib, buildGoModule, fetchFromGitHub, nix-update-script
|
||||
}:
|
||||
let
|
||||
version = "0.0.38";
|
||||
version = "0.0.42";
|
||||
in
|
||||
buildGoModule {
|
||||
|
||||
|
@ -12,7 +13,7 @@ buildGoModule {
|
|||
repo = "mcap";
|
||||
owner = "foxglove";
|
||||
rev = "releases/mcap-cli/v${version}";
|
||||
hash = "sha256-mwKWf0kJ3uMx1cLUac+AqXgQ1Af3tLDOCTFKgq8FtHE=";
|
||||
hash = "sha256-9fjzMUMWn5j8AJJq+tK+Hq0o8d3HpacitJZ5CfLiaLw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Gl0zLBTWscKGtVOS6rPRL/r8KHYHpZwoUDbEyCL4Ijk=";
|
||||
|
@ -34,11 +35,16 @@ buildGoModule {
|
|||
"-skip=TestCat|TestInfo"
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "MCAP CLI tool to inspect and fix MCAP files";
|
||||
homepage = "https://github.com/foxglove/mcap";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ squalus therishidesai ];
|
||||
mainProgram = "mcap";
|
||||
};
|
||||
|
||||
}
|
||||
|
|
43
pkgs/by-name/mk/mkalias/package.nix
Normal file
43
pkgs/by-name/mk/mkalias/package.nix
Normal 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;
|
||||
};
|
||||
})
|
232
pkgs/by-name/my/mycelium/Cargo.lock
generated
232
pkgs/by-name/my/mycelium/Cargo.lock
generated
|
@ -146,18 +146,19 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
|
|||
|
||||
[[package]]
|
||||
name = "axum"
|
||||
version = "0.6.20"
|
||||
version = "0.7.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf"
|
||||
checksum = "1236b4b292f6c4d6dc34604bb5120d85c3fe1d1aa596bd5cc52ca054d13e7b9e"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"axum-core",
|
||||
"bitflags 1.3.2",
|
||||
"bytes",
|
||||
"futures-util",
|
||||
"http",
|
||||
"http-body",
|
||||
"hyper",
|
||||
"http 1.1.0",
|
||||
"http-body 1.0.0",
|
||||
"http-body-util",
|
||||
"hyper 1.2.0",
|
||||
"hyper-util",
|
||||
"itoa",
|
||||
"matchit",
|
||||
"memchr",
|
||||
|
@ -178,17 +179,20 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "axum-core"
|
||||
version = "0.3.4"
|
||||
version = "0.4.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c"
|
||||
checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"bytes",
|
||||
"futures-util",
|
||||
"http",
|
||||
"http-body",
|
||||
"http 1.1.0",
|
||||
"http-body 1.0.0",
|
||||
"http-body-util",
|
||||
"mime",
|
||||
"pin-project-lite",
|
||||
"rustversion",
|
||||
"sync_wrapper",
|
||||
"tower-layer",
|
||||
"tower-service",
|
||||
]
|
||||
|
@ -310,6 +314,12 @@ version = "1.0.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "cfg_aliases"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
|
||||
|
||||
[[package]]
|
||||
name = "cipher"
|
||||
version = "0.4.4"
|
||||
|
@ -504,9 +514,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "etherparse"
|
||||
version = "0.13.0"
|
||||
version = "0.14.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "827292ea592108849932ad8e30218f8b1f21c0dfd0696698a18b5d0aed62d990"
|
||||
checksum = "24890603eb4b43aa788f02261ce21714449033e3e2ab93692f0ab18480c3c9b1"
|
||||
dependencies = [
|
||||
"arrayvec",
|
||||
]
|
||||
|
@ -691,7 +701,26 @@ dependencies = [
|
|||
"futures-core",
|
||||
"futures-sink",
|
||||
"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",
|
||||
"slab",
|
||||
"tokio",
|
||||
|
@ -728,6 +757,17 @@ dependencies = [
|
|||
"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]]
|
||||
name = "http-body"
|
||||
version = "0.4.6"
|
||||
|
@ -735,7 +775,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
|
||||
dependencies = [
|
||||
"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",
|
||||
]
|
||||
|
||||
|
@ -767,9 +830,9 @@ dependencies = [
|
|||
"futures-channel",
|
||||
"futures-core",
|
||||
"futures-util",
|
||||
"h2",
|
||||
"http",
|
||||
"http-body",
|
||||
"h2 0.3.24",
|
||||
"http 0.2.11",
|
||||
"http-body 0.4.6",
|
||||
"httparse",
|
||||
"httpdate",
|
||||
"itoa",
|
||||
|
@ -782,17 +845,39 @@ dependencies = [
|
|||
]
|
||||
|
||||
[[package]]
|
||||
name = "hyper-rustls"
|
||||
version = "0.24.2"
|
||||
name = "hyper"
|
||||
version = "1.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
|
||||
checksum = "186548d73ac615b32a73aafe38fb4f56c0d340e110e5a200bcadbaf2e199263a"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"futures-channel",
|
||||
"futures-util",
|
||||
"http",
|
||||
"hyper",
|
||||
"rustls",
|
||||
"h2 0.4.2",
|
||||
"http 1.1.0",
|
||||
"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-rustls",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -886,9 +971,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.152"
|
||||
version = "0.2.153"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
|
||||
checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
|
||||
|
||||
[[package]]
|
||||
name = "libloading"
|
||||
|
@ -908,9 +993,9 @@ checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
|
|||
|
||||
[[package]]
|
||||
name = "log"
|
||||
version = "0.4.20"
|
||||
version = "0.4.21"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
|
||||
checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
|
||||
|
||||
[[package]]
|
||||
name = "loom"
|
||||
|
@ -972,9 +1057,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "mio"
|
||||
version = "0.8.10"
|
||||
version = "0.8.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
|
||||
checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"wasi",
|
||||
|
@ -983,7 +1068,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "mycelium"
|
||||
version = "0.4.2"
|
||||
version = "0.4.3"
|
||||
dependencies = [
|
||||
"aes-gcm",
|
||||
"axum",
|
||||
|
@ -1002,7 +1087,7 @@ dependencies = [
|
|||
"libc",
|
||||
"log",
|
||||
"network-interface",
|
||||
"nix 0.27.1",
|
||||
"nix 0.28.0",
|
||||
"pretty_env_logger",
|
||||
"quinn",
|
||||
"rand",
|
||||
|
@ -1119,6 +1204,18 @@ dependencies = [
|
|||
"bitflags 2.4.2",
|
||||
"cfg-if",
|
||||
"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",
|
||||
]
|
||||
|
||||
|
@ -1360,9 +1457,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "rcgen"
|
||||
version = "0.12.0"
|
||||
version = "0.12.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5d918c80c5a4c7560db726763020bd16db179e4d5b828078842274a443addb5d"
|
||||
checksum = "48406db8ac1f3cbc7dcdb56ec355343817958a356ff430259bb07baf7607e1e1"
|
||||
dependencies = [
|
||||
"pem",
|
||||
"ring 0.17.7",
|
||||
|
@ -1425,11 +1522,10 @@ dependencies = [
|
|||
"encoding_rs",
|
||||
"futures-core",
|
||||
"futures-util",
|
||||
"h2",
|
||||
"http",
|
||||
"http-body",
|
||||
"hyper",
|
||||
"hyper-rustls",
|
||||
"h2 0.3.24",
|
||||
"http 0.2.11",
|
||||
"http-body 0.4.6",
|
||||
"hyper 0.14.28",
|
||||
"ipnet",
|
||||
"js-sys",
|
||||
"log",
|
||||
|
@ -1437,20 +1533,16 @@ dependencies = [
|
|||
"once_cell",
|
||||
"percent-encoding",
|
||||
"pin-project-lite",
|
||||
"rustls",
|
||||
"rustls-pemfile",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"serde_urlencoded",
|
||||
"system-configuration",
|
||||
"tokio",
|
||||
"tokio-rustls",
|
||||
"tower-service",
|
||||
"url",
|
||||
"wasm-bindgen",
|
||||
"wasm-bindgen-futures",
|
||||
"web-sys",
|
||||
"webpki-roots",
|
||||
"winreg",
|
||||
]
|
||||
|
||||
|
@ -1541,21 +1633,11 @@ version = "0.21.10"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
|
||||
dependencies = [
|
||||
"log",
|
||||
"ring 0.17.7",
|
||||
"rustls-webpki",
|
||||
"sct",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustls-pemfile"
|
||||
version = "1.0.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
|
||||
dependencies = [
|
||||
"base64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustls-webpki"
|
||||
version = "0.101.7"
|
||||
|
@ -1602,18 +1684,18 @@ checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0"
|
|||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.195"
|
||||
version = "1.0.197"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02"
|
||||
checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.195"
|
||||
version = "1.0.197"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c"
|
||||
checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
@ -1622,9 +1704,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.111"
|
||||
version = "1.0.114"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4"
|
||||
checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"ryu",
|
||||
|
@ -1879,16 +1961,6 @@ dependencies = [
|
|||
"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]]
|
||||
name = "tokio-stream"
|
||||
version = "0.1.14"
|
||||
|
@ -1929,9 +2001,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "toml"
|
||||
version = "0.7.8"
|
||||
version = "0.8.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257"
|
||||
checksum = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_spanned",
|
||||
|
@ -1950,9 +2022,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "toml_edit"
|
||||
version = "0.19.15"
|
||||
version = "0.22.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
|
||||
checksum = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"serde",
|
||||
|
@ -2241,12 +2313,6 @@ dependencies = [
|
|||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "webpki-roots"
|
||||
version = "0.25.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10"
|
||||
|
||||
[[package]]
|
||||
name = "winapi"
|
||||
version = "0.3.9"
|
||||
|
@ -2459,9 +2525,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
|
|||
|
||||
[[package]]
|
||||
name = "winnow"
|
||||
version = "0.5.34"
|
||||
version = "0.6.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16"
|
||||
checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
@ -2504,9 +2570,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "x25519-dalek"
|
||||
version = "2.0.0"
|
||||
version = "2.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96"
|
||||
checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277"
|
||||
dependencies = [
|
||||
"curve25519-dalek",
|
||||
"rand_core",
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mycelium";
|
||||
version = "0.4.2";
|
||||
version = "0.4.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "threefoldtech";
|
||||
repo = "mycelium";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-VWrWg9UpBSug0cvY/zuzGFI6Y0CRFcrh1Cy4mbYtg9Q=";
|
||||
hash = "sha256-bA3ci+vqXBCPBaxMvfUdFcqdaZbAw/+r5UbH/as/fnc=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
|
@ -33,7 +33,7 @@ rustPlatform.buildRustPackage rec {
|
|||
homepage = "https://github.com/threefoldtech/mycelium";
|
||||
changelog = "https://github.com/threefoldtech/mycelium/blob/${src.rev}/CHANGELOG.md";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ matthewcroughan ];
|
||||
maintainers = with maintainers; [ flokli matthewcroughan ];
|
||||
mainProgram = "mycelium";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "namespace-cli";
|
||||
version = "0.0.348";
|
||||
version = "0.0.350";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "namespacelabs";
|
||||
repo = "foundation";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-SEqiW3AdhvsIU9WEEcaRi8paMNgRvnZTFL874mSjUQE=";
|
||||
hash = "sha256-qMtmB/KMMkMfU2AyE2pcjiy3wUwyQUpcP6rMkZk3SMI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-a/e+xPOD9BDSlKknmfcX2tTMyIUrzKxqtUpFXcFIDSE=";
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "openapi-tui";
|
||||
version = "0.4.0";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zaghaghi";
|
||||
repo = "openapi-tui";
|
||||
rev = version;
|
||||
hash = "sha256-7xkjlX3+/hdVN2PXoiXbouSoMLy0Qe8uMRlPHWJO5Ts=";
|
||||
hash = "sha256-flxQ5+nLacQAkrxJafw9D3iXYTFpHcmTshEySmFJ0Cc=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-U8TOms8C7vV64OKKdJhMAoOha9s2lBqfBWU7pyZ0h/s=";
|
||||
cargoHash = "sha256-vfEDbUrIXc498QnMJJlMGyTUDvlHgquB5GpWTe7yCvM=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Terminal UI to list, browse and run APIs defined with openapi spec";
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "openttd-ttf";
|
||||
version = "0.5";
|
||||
version = "0.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zephyris";
|
||||
repo = "openttd-ttf";
|
||||
rev = "refs/tags/${finalAttrs.version}";
|
||||
hash = "sha256-GjtfwM268i3bUAX8Pw5/Og9029AuD1OZuJ2VIlFTogY=";
|
||||
hash = "sha256-Nr3oLiCEdpUhB/IczCEoLM8kb1hGDH/d6WYWRbjgOi8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -25,6 +25,9 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
|||
|
||||
postPatch = ''
|
||||
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
|
||||
'';
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "plumber";
|
||||
version = "2.5.4";
|
||||
version = "2.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "streamdal";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-6nPH+HQtpFJ4MAtblFWjaQjDSKtpIxW9tGt2o1ICtos=";
|
||||
hash = "sha256-H1tyMedYKj1bePNcaEWYP3njHw57cJ0jgxwC7zDXQvk=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
|
264
pkgs/by-name/pr/pretix/package.nix
Normal file
264
pkgs/by-name/pr/pretix/package.nix
Normal 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 event—all 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 ];
|
||||
};
|
||||
}
|
37
pkgs/by-name/pr/pretix/plugin-build.nix
Normal file
37
pkgs/by-name/pr/pretix/plugin-build.nix
Normal 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 ];
|
||||
};
|
||||
}
|
20
pkgs/by-name/pr/pretix/plugin-build.patch
Normal file
20
pkgs/by-name/pr/pretix/plugin-build.patch
Normal 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
|
13
pkgs/by-name/pr/pretix/plugins/default.nix
Normal file
13
pkgs/by-name/pr/pretix/plugins/default.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
{ callPackage
|
||||
, ...
|
||||
}:
|
||||
|
||||
{
|
||||
pages = callPackage ./pages.nix { };
|
||||
|
||||
passbook = callPackage ./passbook.nix { };
|
||||
|
||||
reluctant-stripe = callPackage ./reluctant-stripe.nix { };
|
||||
|
||||
stretchgoals = callPackage ./stretchgoals.nix { };
|
||||
}
|
37
pkgs/by-name/pr/pretix/plugins/pages.nix
Normal file
37
pkgs/by-name/pr/pretix/plugins/pages.nix
Normal 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 ];
|
||||
};
|
||||
}
|
33
pkgs/by-name/pr/pretix/plugins/passbook-openssl.patch
Normal file
33
pkgs/by-name/pr/pretix/plugins/passbook-openssl.patch
Normal 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",
|
59
pkgs/by-name/pr/pretix/plugins/passbook.nix
Normal file
59
pkgs/by-name/pr/pretix/plugins/passbook.nix
Normal 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 ];
|
||||
};
|
||||
}
|
37
pkgs/by-name/pr/pretix/plugins/reluctant-stripe.nix
Normal file
37
pkgs/by-name/pr/pretix/plugins/reluctant-stripe.nix
Normal 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
Loading…
Reference in a new issue