Compare commits

..

No commits in common. "70fb574d1bf6362fbc8dcc7c6341c66ce7e9e9bf" and "3194d8453fde7e0d4b3c455b9b6267f7cfc524c7" have entirely different histories.

15 changed files with 144 additions and 487 deletions

View File

@ -170,7 +170,7 @@ export TMP=/tmp
export TEMPDIR=/tmp export TEMPDIR=/tmp
export TMPDIR=/tmp export TMPDIR=/tmp
CWDCONTROL="$(which cwdcontrol 2>/dev/null)" && . "$CWDCONTROL" hook . "$(which cwdcontrol)" hook
# site vars, functions, and aliases # site vars, functions, and aliases
if [ -e ~/.site_aliases.sh ]; then if [ -e ~/.site_aliases.sh ]; then

View File

@ -88,10 +88,6 @@
install_url = "file://${pkgs.cwdcontrol}/cwdcontrol.xpi"; install_url = "file://${pkgs.cwdcontrol}/cwdcontrol.xpi";
installation_mode = "force_installed"; installation_mode = "force_installed";
}; };
"onetab@nonexistenturl.net" = {
install_url = "file://${pkgs.onetab}/onetab.xpi";
installation_mode = "force_installed";
};
}; };
}; };
}; };

View File

@ -95,7 +95,6 @@ in
btop btop
file file
nettools nettools
lsof
psmisc psmisc
p7zip p7zip
unzip unzip
@ -113,12 +112,14 @@ in
pciutils pciutils
usbutils usbutils
nethogs nethogs
unar
rhelmot.globalPython rhelmot.globalPython
]; ];
rhelmot.globalPythonPackages = [ rhelmot.globalPythonPackages = [
( (
p: with p; [ p: with p; [
virtualenvwrapper
pylint pylint
pytest pytest
ipdb ipdb

View File

@ -23,7 +23,6 @@
foremost foremost
binwalk binwalk
nix-index nix-index
nix-diff
nixtamal.nixtamal nixtamal.nixtamal
cronie cronie
# radicle-node # radicle-node
@ -32,7 +31,6 @@
gcc gcc
bintools bintools
ffmpeg ffmpeg
unar
] ++ lib.optionals stdenv.hostPlatform.isLinux [ ] ++ lib.optionals stdenv.hostPlatform.isLinux [
rr rr
qemu-user qemu-user

View File

@ -2,278 +2,6 @@
Context: Context:
[TAG 2.0.1
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260929025731
Ignore-this: 15c782d32c0af5e20894989fcc67cc436f77d4b2decf5a296fcf4ff0a0daaf3d39bd334350148379
• BUG: lock loader syntax errors in the builtin Git fetcher block
(reported by rhelmot)
• “then … then” should be “then … else”
• stray }
]
[tweak CHANGELOG for 2.0.1
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260929025518
Ignore-this: e52097ab553464dbf5c5782f0d9db810b49ab5f0b20e5b81152c2bca921335f7cce91ef0258fd9e1
]
[nix as check input
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260929025306
Ignore-this: d1ae209393b69c62d9261291c295568f623ca2fb243293bfed1f8a2482f1b0e9afe1c0103d399dbc
]
[lock loader test
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260929025135
Ignore-this: 242bc1bce784504f65088ca89843efb3ee1f68bc430c1e54fb68e693c3aba593cf6db6e446b3a45a
]
[add an all_features helper
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260929023343
Ignore-this: c3e35723cc85f8c4fc62f3f2518856d6f5e6fa218b6852635b8baa90316f26464e2be16b2e1e8ad
]
[lockfile: rename make → make_lockfile to not name conflict
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260929023339
Ignore-this: f0cabec6200c55e8bfe0b5d0ce79265737e90a25e36748b39fbf7b8e115a18cc5c042c802e7a989
]
[lockfile: t defaults to empty maps
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260929021108
Ignore-this: 5a1256e87f33f87b86528bd6d1a508a28cbc0b039a90a4567f26104f98dcd4502b95fe29e034161a
]
[verison: 2.0.0 → 2.0.1
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260929014353
Ignore-this: d96b576e33d705ff4658cea54eed84b46db002a4b11a7277112b7e460b2cc5c3a8c7d481eaad0603
]
[lock loader: stay } terminator
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260929013744
Ignore-this: 2a7ea7b060cae37393cc2952241a2a9887bd409aedfd977bf460cb073466d2b6d5b7356c9c4da76b
]
[lock loader typo: else → then
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260929013031
Ignore-this: a8c24e572f6a449ddf0992dae49c59659c27e6135423a8174b30cf1b83244a50b2e570c5ae7c9f13
]
[nixtamal refresh
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260929012826
Ignore-this: 590bd905454b7d02ec7498feef7ed73c6f4b6d4cf51d8dcd7780297c12634f294ae8156d6c2bf09c
]
[finish statement
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260927113136
Ignore-this: c05bb6cd5e57e459524b11100a978f7baee407ff286a9cf6da67ce7d6c0b4a2927dd03d92c359b4f
]
[TAG 2.0.0
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260927111244
Ignore-this: 1a4859e6ed8720d8a309142732e5f40c04dd8eaf839e6d0f8001a2f60d03cfcf7807412521fd2adb
• Schema upgrade: 1.3.0 → 1.4.0
• BUG: Refresh/lock with --patch does not refresh/lock all inputs
• Lock loader refactored, now using Jingoo & a lot easier to maintain
• Remote patches now allow more complexity like inputs; this includes
frozen, name, & more importantly, their own fresh-cmd (requested by
pogo)
• extension support for Archive kinds give a hint to pkgs.fetchzip which
can be added as a child to archive in the manifest.kdl
• Zstandard support for pkgs.fetchzip by adding pkgs.zstd as a
nativeBuildInput in the lock loader (base gnutar is missing support)
• Nixpkgs Channels use Zstandard (.zst) over LZMA (.xz) which users will
get when running nixtamal set-up --use-channels …
• Add lock --relock alias for lock --force in case the “force”
• lock no longer refreshes patches naming isn’t clear enough to users
• use Eio 1.5 features for performance improvements
• use Eio 1.6 features to eliminate some Unix-only code + security
]
[CHANGELOG: tweaks for 2.0.0
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260927101547
Ignore-this: ff87ced13a236b23157a56ebd42da12628694e1746bd5fdf29e7308513f29fdfac0f236117506adf
]
[version: 1.10.1 → 2.0.0
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260927080107
Ignore-this: ed046be3ddedfe5e10174ce635b51a2235f6237ce3097dd1a48324184d60125ddabb92a1eebac49d
]
[if a patch is specified, don’t lock/refresh all inputs too
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260927075620
Ignore-this: 70c869af67ab3bbfc161cd78a682b360c7fa5344c4bf915196165b1a5bee9ac8b73faeb5c199c6c0
]
[update docs for patches
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260927075620
Ignore-this: 62d2fc469dd9d04c4fa974e79ca82a2a6ed9e17d49441d54a1d60e3560910ea5b33451d7ebb834c4
]
[remote patches are now complex
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260927075613
Ignore-this: 337805d60643d96f7d24bce41ac4c3f8513e66607c0ba572ea9b2b6ebd4d0d06b27aa0f70197e658
]
[lock no longer refreshes patches
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260927062046
Ignore-this: d9a1b89bc81b7c08b682fdb132ec6d4e8c7eeb7d650eca8ff5e304906458ed8b7184cbe56dff4fcf
]
[use new lock loader
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260927062046
Ignore-this: e30e048774dcb1e6ba82ab426153e6501a2251ba90236b767dec5e9f885698f8737a8da1d2713442
]
[lock_loader as Jinja
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260927062046
Ignore-this: e8098b5e56a0a9f8e4514dbab073123e5d87eae001d128079ed0f5cede422d35cb6251076bec195e
]
[nixtamal refresh
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260927062042
Ignore-this: 1fceab608a59c9168ffe59383bb4b768cf2051d8dca236168c82ed8e667b7d8cd35c400aeeafc5d2
]
[Use Eio.Process.Env from 1.6 to get env vars
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260924160239
Ignore-this: c78d0de9d8a6253bebf254c296b4f90678e27f52400db207ae6550b507ad15efc95925654206d3b3
]
[add ppx_blob
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260924160239
Ignore-this: f2c36b0992ece38bfaec541679b82db30c6c2b6d56eac75ee6778b4f1c151fb8421310cc1b5941b9
will be used for the Jingoo2 template version of the lock_loader
]
[patches for using topiary in the ocaml-lsp
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260924160239
Ignore-this: e8a926e8bc96fa5b2d287765fcb281164112c69e717706d96ddf7040126cf29549d755accbb4bfca
testing my patches
]
[add test
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260924160239
Ignore-this: ac5bd2d595bc65a65ee95954386d790788574ff61ad1af0cef827e4d2300a2d6634d2a5ae13c37b6
]
[Eio 1.6 follow: false where reasonable for security
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260924160239
Ignore-this: 3d27485b42d97c1ba07cdfea89c1bd9147dcfd4507a0fe14e32bab32c8c7ab6f1d8879ebe1d263fd
]
[eio 1.6 patches
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260924160239
Ignore-this: 9684ce372f27403965e1fab4702678925e0d303d26d4708ab40fefd67c2a111fb0c3a86deb2cd026
]
[nixtamal refresh
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260924160239
Ignore-this: a24897e657d4584ff7e870b347c94fd205795271a3cb012ab37d7e3868c8dfa9f6d983abf4159cae
]
[Add --relock flag alias to lock + tweak --force definition
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260924160239
Ignore-this: 8a5e9e5b730a65941c40a9b15126bd8c877c98d621ab584173ee1251ccc8d46aa415bcd2a6e910ed
]
[matching is more readable + remove duplicate check
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260924160239
Ignore-this: 3bec76cfa68998d7214750a0abaf65b415c4529d01a49f7a4af9cb56691357edb861124331bc7957
]
[Use module ADT over polymorphic variant for Fresh_result
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260924160239
Ignore-this: 4868907dde875712ad4289e3c56a89f204beae8b1a2f67e8763e06e0beba71eb97dfe761b9f8acda
]
[nixtamal upgrade
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260924160231
Ignore-this: 6e181e510f1f9204f4c05795898f960328abe8ea7c3f314b893362e7709effd7ca51d3afb10652cf
]
[lock loader: add zstd to fetchzip
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260921061423
Ignore-this: 44dbda0d3d005848474a45142033b618a586e8b2b8efe8dd504de8eb7687e49aaa05f07a52ffec30
]
[upgrades to tests
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260921054200
Ignore-this: 231ae275672c544590a3194ca2d4db391e022cca3a9f4cddf6e55fdb61c9ae52a7d8da06afe017e
]
[Schema 1.4.0 upgrades
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260921054200
Ignore-this: cdb8cc8307d242b2a695c80b020fcf608cd444628a1599903b39af1f1bb3e64b768910fd9ae9eb00
]
[add extension support to Archive + schema 1.4.0
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260921054154
Ignore-this: e60560522bd29fa2502a1071c614701654e9c39ca7cdd16c535483fad98895d82c9c5900c267984e
]
[nixtamal refresh
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260921032946
Ignore-this: ffda8ab365965caff6e0c915d68adcfd35008489d13dc868c36fb599a4f4bf5b38141385d5d651f6
]
[opt out of unused/new typegist
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260917012234
Ignore-this: c926502cc3f324ae45643f19c9167d7e58a38b64ff24b7dbe86c5ed911c5b94c0427a2a8d734bfab
]
[nixtamal refresh
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260917011031
Ignore-this: c081fc4688e04ea7b1240e1bb5ce4165d0b35d4f9a09b5fb6a83390db748dee5b320dc3800a0357a
]
[update nixfmt-with-tabs patch
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260914232329
Ignore-this: c1d0e4391da2aca62ff7292d071fa36db571678a7e142d175ebdfae229fb6a7d2005318b62a88202
]
[nixtamal refresh
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260914232322
Ignore-this: 9ff920e2f77b6d6707bb51835423555f51511f0c817b36359b56e7fae5a591bc4f6dcd45cc2a9a5b
]
[use Eio 1.5 features for performance improvements
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260910134436
Ignore-this: 8990a90f8f57e51a70bde3113f75e3cc78f1ae661117684f6796439c3e08fb750e5bb0689e30bc8b
]
[nixtamal refresh
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260910044106
Ignore-this: ccf58a4bd461db91f9770b9eae59653bf9d0b71fc2e38b8b5d880fed3b2210de52e160de2373967d
]
[channels cmd docs improved + -c
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260909022227
Ignore-this: 52494ebdbfc2fbf93e7a762f8aa3414e6aa20aeafc8cb2d594fda4fadaf94ead5b2447402eef54b8
]
[nix channels: xz → zstd
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260909021833
Ignore-this: dab2ae3abcc562647fee8cbd602ae3ad8aebfddda73ef84ac30e335b0d47827022c9ebf6f61b18a5
]
[nixtamal refresh
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260909021144
Ignore-this: 23017f0d834ead3a7563ae2098c07f3d4a85e26f8390b992a9f9b6a5a676ac8b7f1dccc78507638a
]
[remove unused release
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260902143345
Ignore-this: d801ef79c32c7813ab5e2ae3e2edb408e3abb51771e91d6c9dfef7265a03e2217eaec661c52f13e7
]
[add posix
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260902013348
Ignore-this: ef91780fe41603ef973004140261138fc20df9072aa5009e474d75b589d32c60beede5a320a835e
]
[TAG 1.10.1 [TAG 1.10.1
·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260830051636 ·𐑑𐑴𐑕𐑑𐑩𐑤 <toastal@posteo.net>**20260830051636
Ignore-this: 2d48bf5438f5d0b47be18cd7ed281af615047e64dd8367688837145764791fa3c409925dcdb0ff6b Ignore-this: 2d48bf5438f5d0b47be18cd7ed281af615047e64dd8367688837145764791fa3c409925dcdb0ff6b

View File

@ -3,21 +3,23 @@ SPDX-FileCopyrightText: 2025–2026 toastal
SPDX-FileCopyrightText: 2026 Nixtamal contributors SPDX-FileCopyrightText: 2026 Nixtamal contributors
SPDX-License-Identifier: ISC SPDX-License-Identifier: ISC
Permission to use, copy, modify, and/or distribute this software for any purpose Permission to use, copy, modify, and/or distribute this software for any
with or without fee is hereby granted, provided that the above copyright notice purpose with or without fee is hereby granted, provided that the above
& this permission notice appear in all copies. copyright notice & this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED “AS IS” & ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THE SOFTWARE IS PROVIDED “AS IS” & ISC DISCLAIMS ALL WARRANTIES WITH REGARD
THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY & FITNESS. IN TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY &
NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT,
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
──────────────────────────────────────────────────────────────────────────────── OF THIS SOFTWARE.
──────────────────────────────────────────────────────────────────────────────
┏┓╻+╻ ╱┏┳┓┏┓┏┳┓┏┓╻ ┏┓╻+╻ ╱┏┳┓┏┓┏┳┓┏┓╻
┃┃┃┃┗━┓╹┃╹┣┫┃┃┃┣┫┃ This file was generated by Nixtamal. ┃┃┃┃┗━┓╹┃╹┣┫┃┃┃┣┫┃ This file was generated by Nixtamal.
╹┗┛╹╱ ╹ ╹ ╹╹╹ ╹╹╹┗┛ Do not edit as it will be overwritten. ╹┗┛╹╱ ╹ ╹ ╹╹╹ ╹╹╹┗┛ Do not edit as it will be overwritten.
──────────────────────────────────────────────────────────────────────────────── ──────────────────────────────────────────────────────────────────────────────
*/ */
{ {
system ? builtins.currentSystem, system ? builtins.currentSystem,
@ -27,20 +29,15 @@ OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
}: }:
let lock = builtins.fromJSON (builtins.readFile ./lock.json); in let lock = builtins.fromJSON (builtins.readFile ./lock.json); in
assert (lock.v == "1.4.0"); assert (lock.v == "1.3.0");
let let
isNonemptyString = x: builtins.isString x && x != ""; local-patches = {};
isNonemptyList = xs: builtins.isList xs && xs != [ ];
hash-token = { hash-token = {
"0" = "sha256"; "0" = "sha256";
"1" = "sha512"; "1" = "sha512";
"2" = "blake3"; "2" = "blake3";
}; };
local-patches = { };
try-fetch = input-name: fetcher: try-fetch = input-name: fetcher:
let let
try-fetch' = failed-urls: url: urls: try-fetch' = failed-urls: url: urls:
@ -49,7 +46,7 @@ let
result.value result.value
else else
let failed-urls' = [ url ] ++ failed-urls; in let failed-urls' = [ url ] ++ failed-urls; in
if urls == [ ] then if builtins.length urls <= 0 then
let fus = builtins.concatStringsSep " " failed-urls'; in let fus = builtins.concatStringsSep " " failed-urls'; in
throw "Input 「${input-name}」fetchable @ [ ${fus} ]" throw "Input 「${input-name}」fetchable @ [ ${fus} ]"
else else
@ -57,16 +54,16 @@ let
in in
try-fetch' [ ]; try-fetch' [ ];
builtin-fetch-tarball = { input-name, name, kind, hash }: builtin-fetch-tarball = {input-name, name, kind, hash}:
try-fetch input-name (url: try-fetch input-name (url:
builtins.fetchTarball ({ builtins.fetchTarball ({
inherit url; inherit url;
${hash-token.${builtins.toString hash.al}} = hash.vl; ${hash-token.${builtins.toString hash.al}} = hash.vl;
} }
// (if isNonemptyString name then { inherit name; } else { })) // (if name != null then {inherit name;} else {}))
) kind.ur kind.ms; ) kind.ur kind.ms;
builtin-fetch-git = { input-name, name, kind }: builtin-fetch-git = {input-name, name, kind}:
let let
ref = ref =
let let
@ -88,67 +85,80 @@ let
inherit url ref; inherit url ref;
rev = kind.lr; rev = kind.lr;
submodules = kind.sm; submodules = kind.sm;
lfs = kind.lf;
shallow = true; shallow = true;
} }
// (if builtins.compareVersions builtins.nixVersion "2.26" < 0 then { } else { lfs = kind.lf; }) // (if name != null then {inherit name;} else {});
// (if isNonemptyString name then { inherit name; } else { }); args' =
if builtins.compareVersions builtins.nixVersion "2.26" < 0 then
builtins.removeAttrs args [ "lfs" ]
else
args;
in in
builtins.fetchGit args builtins.fetchGit args'
) kind.rp kind.ms; ) kind.rp kind.ms;
builtin-to-input = input-name: input: builtin-to-input = input-name: input:
let let
name = input.sn; name = input.sn;
hash = input.ha; hash = input.ha;
kind = builtins.elemAt input.kd 1;
k = builtins.head input.kd; k = builtins.head input.kd;
in in
if k == 1 then if k == 1 then
builtin-fetch-tarball { inherit input-name name hash kind; } builtin-fetch-tarball {
inherit name;
input-name = input-name;
kind = builtins.elemAt input.kd 1;
hash = input.ha;
}
else if k == 2 then else if k == 2 then
builtin-fetch-git { inherit input-name name kind; } builtin-fetch-git {
inherit name;
input-name = input-name;
kind = builtins.elemAt input.kd 1;
}
else if k == 3 then
fetch-darcs {
inherit name;
input-name = input-name;
kind = builtins.elemAt input.kd 1;
hash = input.ha;
}
else else
throw "Unsupported builtin fetcher “${builtins.toString k}”"; throw "Unsupported input kind “${builtins.toString k}”.";
local-bootstrap-nixpkgs = nixpkgs' =
if builtins.isAttrs bootstrap-nixpkgs then if builtins.isNull bootstrap-nixpkgs then
bootstrap-nixpkgs builtin-to-input "nixpkgs-for-nixtamal" (
else
builtin-to-input "bootstrap-nixpkgs-for-nixtamal" (
if builtins.isString bootstrap-nixpkgs-lock-name then if builtins.isString bootstrap-nixpkgs-lock-name then
lock.i.${bootstrap-nixpkgs-lock-name} lock.i.${bootstrap-nixpkgs-lock-name}
else else
lock.i.nixpkgs-nixtamal or lock.i.nixpkgs lock.i.nixpkgs-nixtamal or lock.i.nixpkgs
); )
else
bootstrap-nixpkgs;
pkgs = pkgs =
if builtins.isAttrs bootstrap-pkgs then if builtins.isAttrs bootstrap-pkgs then
bootstrap-pkgs bootstrap-pkgs
else else
import local-bootstrap-nixpkgs { inherit system; }; import nixpkgs' {inherit system;};
inherit (pkgs) lib; inherit (pkgs) lib;
fetch-zip = {input-name, name, kind, hash}: pkgs.fetchzip ({
url = kind.ur;
hash = hash.vl;
}
// lib.optionalAttrs (name != null) {inherit name;}
// lib.optionalAttrs (builtins.length kind.ms > 0) {urls = kind.ms;});
fetch-zip = { input-name, name, kind, hash }: fetch-git = {input-name, name, kind, hash}:
pkgs.fetchzip (
{
# base gnutar doesn’t support Zstandard
nativeBuildInputs = [ pkgs.zstd ];
url = kind.ur;
hash = hash.vl;
}
// lib.optionalAttrs (isNonemptyString name) { inherit name; }
// lib.optionalAttrs (isNonemptyList kind.ms) { urls = kind.ms; }
// lib.optionalAttrs (isNonemptyString kind.ex) { extension = kind.ex; }
);
fetch-git = { input-name, name, kind, hash }:
let let
has-mirrors = isNonemptyList kind.ms; using-mirrors = kind ? ms && (builtins.length kind.ms) > 0;
has-mirror-support = pkgs.fetchgit.__functionArgs ? "mirrors"; mirror-support = pkgs.fetchgit.__functionArgs ? "mirrors";
in in
lib.warnIf (has-mirrors && !has-mirror-support) lib.warnIf (using-mirrors && !mirror-support)
"Upstream pkgs.fetchgit doesn’t yet support mirrors for 「${input-name}」" "Upstream pkgs.fetchgit doesn’t yet support mirrors for 「${input-name}」"
pkgs.fetchgit ({ pkgs.fetchgit ({
url = kind.rp; url = kind.rp;
@ -158,22 +168,23 @@ let
deepClone = false; deepClone = false;
hash = hash.vl; hash = hash.vl;
} }
// lib.optionalAttrs (isNonemptyString name) { inherit name; } // lib.optionalAttrs (name != null) {inherit name;}
// lib.optionalAttrs (has-mirrors && has-mirror-support) { mirrors = kind.ms; } // lib.optionalAttrs (using-mirrors && mirror-support) {
); mirrors = kind.ms;
});
fetch-darcs = { input-name, name, kind, hash }: fetch-darcs = {input-name, name, kind, hash}:
let let
has-mirrors = isNonemptyList kind.ms; using-mirrors = kind ? ms && (builtins.length kind.ms) > 0;
has-mirror-support = pkgs.fetchdarcs.__functionArgs ? "mirrors"; mirror-support = pkgs.fetchdarcs.__functionArgs ? "mirrors";
reference = reference =
let let
type = builtins.elemAt kind.rf 0; type = builtins.elemAt kind.rf 0;
value = builtins.elemAt kind.rf 1; value = builtins.elemAt kind.rf 1;
in in
if type == 0 then if type == 0 then
let ctx-path = builtins.elemAt value 1; in let ctx_path = builtins.elemAt value 1; in
assert (lib.hasSuffix ".txt" ctx-path); assert (lib.hasSuffix ".txt" ctx_path);
let let
txt-files = lib.sourceFilesBySuffices ./. [ ".txt" ]; txt-files = lib.sourceFilesBySuffices ./. [ ".txt" ];
dir = lib.fileset.toSource { dir = lib.fileset.toSource {
@ -181,66 +192,71 @@ let
fileset = lib.fileset.fromSource txt-files; fileset = lib.fileset.fromSource txt-files;
}; };
in in
{ context = "${dir}/${ctx-path}"; } {context = "${dir}/${ctx_path}";}
else if type == 1 then else if type == 1 then
{ rev = value; } {rev = value;}
else else
throw "Invalid Darcs reference"; throw "Invalid Darcs reference";
in in
lib.warnIf (has-mirrors && !has-mirror-support) lib.warnIf (using-mirrors && !mirror-support)
"Upstream pkgs.fetchdarcs doesn’t yet support mirrors for 「${input-name}」" "Upstream pkgs.fetchdarcs doesn’t yet support mirrors for 「${input-name}」"
pkgs.fetchdarcs ( pkgs.fetchdarcs ({
{ url = kind.rp;
url = kind.rp; hash = hash.vl;
hash = hash.vl; }
} // lib.optionalAttrs (name != null) {inherit name;}
// reference // reference // lib.optionalAttrs (using-mirrors && mirror-support) {
// lib.optionalAttrs (isNonemptyString name) { inherit name; } mirrors = kind.ms;
// lib.optionalAttrs (has-mirrors && has-mirror-support) { mirrors = kind.ms; } });
);
fetch-patch = patch-name: {ur, ha}:
fetch-patch = patch-name: { ur, ha, sn ? null, ... }:
pkgs.fetchpatch2 { pkgs.fetchpatch2 {
url = ur; url = ur;
hash = ha.vl; hash = ha.vl;
name = if isNonemptyString sn then sn else "${patch-name}-patch";
}; };
to-input = input-name: input: to-input = input-name: input:
let let
name = input.sn; name = input.sn;
hash = input.ha; hash = input.ha;
kind = builtins.elemAt input.kd 1;
k = builtins.head input.kd; k = builtins.head input.kd;
raw-input = raw-input =
if k == 3 then if k == 1 then
fetch-darcs { inherit input-name name kind hash; } let
else if k == 1 then kind = builtins.elemAt input.kd 1;
let fetch-time = kind.ft; in fetch_time = kind.ft;
if fetch-time == 0 then in
fetch-zip { inherit input-name name kind hash; } if fetch_time == 0 then
else if fetch-time == 1 then fetch-zip {inherit input-name name kind hash;}
builtin-fetch-tarball { inherit input-name name kind hash; } else if fetch_time == 1 then
builtin-fetch-tarball {inherit input-name name kind hash;}
else else
throw "Unsupported fetch time ${fetch-time}." throw "Unsupported fetch time ${fetch_time}."
else if k == 2 then else if k == 2 then
let fetch-time = kind.ft; in let
if fetch-time == 0 then kind = builtins.elemAt input.kd 1;
fetch-git { inherit input-name name kind hash; } fetch_time = kind.ft;
else if fetch-time == 1 then in
builtin-fetch-git { inherit input-name name kind; } if fetch_time == 0 then
fetch-git {inherit input-name name kind hash;}
else if fetch_time == 1 then
builtin-fetch-git {inherit input-name name kind;}
else else
throw "Unsupported fetch time ${fetch-time}." throw "Unsupported fetch time ${fetch_time}."
else if k == 3 then
let
kind = builtins.elemAt input.kd 1;
in
fetch-darcs {inherit input-name name kind hash;}
else else
throw "Unsupported input kind “${builtins.toString k}”"; throw "Unsupported input kind “${builtins.toString k}”.";
in in
if input.ps == [ ] then if builtins.length input.ps == 0 then
raw-input raw-input
else else
pkgs.applyPatches { pkgs.applyPatches {
src = raw-input; src = raw-input;
name = "${if isNonemptyString name then name else "src"}-patched"; name = "${if name != null then name else "src"}-patched";
patches = map (p: patches = map (p:
if local-patches ? "${p}" then if local-patches ? "${p}" then
local-patches."${p}" local-patches."${p}"

View File

@ -1,15 +1,13 @@
{"v":"1.4.0" {"v":"1.3.0"
,"i":{ ,"i":{
"nixpkgs":{"sn":"nixpkgs-src","kd":[1,{"ft":0,"ur":"https://github.com/NixOS/nixpkgs/archive/e94cb152ed51bd6e24eb4a41f1460252beb52cd2.tar.gz","ms":[],"ex":null}],"ha":{"al":0,"vl":"sha256-VVTPf+Hyd5ebpjBMHmrLMSBIeW6ls48Bqtosj7CNKLA="},"fv":"e94cb152ed51bd6e24eb4a41f1460252beb52cd2","ps":["declarative-kts","php-cross","keycloak-cross"]} "nixpkgs":{"sn":"nixpkgs-src","kd":[1,{"ft":0,"ur":"https://github.com/NixOS/nixpkgs/archive/e94cb152ed51bd6e24eb4a41f1460252beb52cd2.tar.gz","ms":[]}],"ha":{"al":0,"vl":"sha256-VVTPf+Hyd5ebpjBMHmrLMSBIeW6ls48Bqtosj7CNKLA="},"fv":"e94cb152ed51bd6e24eb4a41f1460252beb52cd2","ps":["declarative-kts"]}
,"bingosync":{"sn":"bingosync-src","kd":[2,{"ft":0,"rp":"https://github.com/rhelmot/bingosync","ms":[],"rf":[0,"refs/heads/main"],"dt":"2026-09-28T19:46:15-07:00","sm":false,"lf":false,"lr":"aee0d0927a26c0b2b0df595b81f51ef16a22d32d"}],"ha":{"al":0,"vl":"sha256-2lwEM7HMYi7PnQ2esWIMnw7GShglLJ6YSQg5bhyzt5w="},"fv":"aee0d0927a26c0b2b0df595b81f51ef16a22d32d","ps":[]} ,"bingosync":{"sn":"bingosync-src","kd":[2,{"ft":0,"rp":"https://github.com/rhelmot/bingosync","ms":[],"rf":[0,"refs/heads/main"],"dt":"2026-09-25T21:26:10-07:00","sm":false,"lf":false,"lr":"68b178376fe80cdb66a3150e7d7a284219a106eb"}],"ha":{"al":0,"vl":"sha256-77X6EKpJUcMo4UjYwv3upef9HoZZahA9tCGYjMS0kno="},"fv":"68b178376fe80cdb66a3150e7d7a284219a106eb","ps":[]}
,"blog-rhelmot-io":{"sn":"blog-rhelmot-io-src","kd":[2,{"ft":0,"rp":"https://git.lain.faith/rhelmot/blog.rhelmot.io","ms":[],"rf":[0,"refs/heads/main"],"dt":"2026-09-13T12:36:06-07:00","sm":false,"lf":false,"lr":"59f5e8ddbcd054f45223c0be9dfdd401208de1af"}],"ha":{"al":0,"vl":"sha256-Tte2UlB1UMCcE7YVnpxKic8n8vtigivWJIV3ctTwWB0="},"fv":"59f5e8ddbcd054f45223c0be9dfdd401208de1af","ps":[]} ,"blog-rhelmot-io":{"sn":"blog-rhelmot-io-src","kd":[2,{"ft":0,"rp":"https://git.lain.faith/rhelmot/blog.rhelmot.io","ms":[],"rf":[0,"refs/heads/main"],"dt":"2026-09-13T12:36:06-07:00","sm":false,"lf":false,"lr":"59f5e8ddbcd054f45223c0be9dfdd401208de1af"}],"ha":{"al":0,"vl":"sha256-Tte2UlB1UMCcE7YVnpxKic8n8vtigivWJIV3ctTwWB0="},"fv":"59f5e8ddbcd054f45223c0be9dfdd401208de1af","ps":[]}
,"cwdcontrol":{"sn":"cwdcontrol-src","kd":[2,{"ft":0,"rp":"https://git.lain.faith/rhelmot/cwdcontrol","ms":[],"rf":[0,"refs/heads/main"],"dt":"2026-10-02T13:36:59-07:00","sm":false,"lf":false,"lr":"8640f564373016be045641daab241ced0a2c593a"}],"ha":{"al":0,"vl":"sha256-/Mpmsw/HwVJT50YYxgYaLjPsDbYRBxHx1BNdDEXayM8="},"fv":"8640f564373016be045641daab241ced0a2c593a","ps":[]} ,"cwdcontrol":{"sn":"cwdcontrol-src","kd":[2,{"ft":0,"rp":"https://git.lain.faith/rhelmot/cwdcontrol","ms":[],"rf":[0,"refs/heads/main"],"dt":"2026-09-25T21:35:06-07:00","sm":false,"lf":false,"lr":"2e2505e5cf55c5944914183577c39049642357c3"}],"ha":{"al":0,"vl":"sha256-EvCdkfTL0DLUApahLVUR8mPabhWEslAho7dKpL2bG4I="},"fv":"2e2505e5cf55c5944914183577c39049642357c3","ps":[]}
,"home-manager":{"sn":"home-manager-src","kd":[2,{"ft":0,"rp":"https://github.com/nix-community/home-manager","ms":[],"rf":[0,"refs/heads/master"],"dt":"2026-09-25T14:51:25-05:00","sm":false,"lf":false,"lr":"7b4c5ec4bedaf1e062bbc1bcaeddbc6bd242aa1b"}],"ha":{"al":0,"vl":"sha256-iQ0ebhiVo64NktTnwft9hNxlFu4j5cvljVxyJaEVIP4="},"fv":"7b4c5ec4bedaf1e062bbc1bcaeddbc6bd242aa1b","ps":[]} ,"home-manager":{"sn":"home-manager-src","kd":[2,{"ft":0,"rp":"https://github.com/nix-community/home-manager","ms":[],"rf":[0,"refs/heads/master"],"dt":"2026-09-25T14:51:25-05:00","sm":false,"lf":false,"lr":"7b4c5ec4bedaf1e062bbc1bcaeddbc6bd242aa1b"}],"ha":{"al":0,"vl":"sha256-iQ0ebhiVo64NktTnwft9hNxlFu4j5cvljVxyJaEVIP4="},"fv":"7b4c5ec4bedaf1e062bbc1bcaeddbc6bd242aa1b","ps":[]}
,"nixtamal":{"sn":"nixtamal-src","kd":[3,{"rp":"https://darcs.toastal.in.th/nixtamal/stable","ms":["https://smeder.ee/~toastal/nixtamal.darcs"],"dt":"2026-09-29T02:57:31Z","rf":[0,[0,"./darcs_context/nixtamal.txt"]],"lw":"937878799aa0d47e270be305284099963f40f2d4"}],"ha":{"al":0,"vl":"sha256-KECJUCvlQz6YpDpktlmLSMiBZPn4qZkA0Ye3aaHHi0Q="},"fv":"937878799aa0d47e270be305284099963f40f2d4","ps":[]} ,"nixtamal":{"sn":"nixtamal-src","kd":[3,{"rp":"https://darcs.toastal.in.th/nixtamal/stable","ms":["https://smeder.ee/~toastal/nixtamal.darcs"],"dt":"2026-08-30T05:16:36Z","rf":[0,[0,"./darcs_context/nixtamal.txt"]],"lw":"c85cce1e776eb12845d8280639ce5bbf12092048"}],"ha":{"al":0,"vl":"sha256-cKYsuwUq2IVr50Tnc7qzMZANkldFAVDaXFWfgx7i8Ks="},"fv":"c85cce1e776eb12845d8280639ce5bbf12092048","ps":[]}
} }
,"p":{ ,"p":{
"declarative-kts":{"ur":"https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/518336.patch","ha":{"al":0,"vl":"sha256-DmY05efj6QtlBhLfN2Pc/nPWf5E23dyHYIhwSqagUwA="},"fv":null,"sn":"declarative-kts-patch"} "declarative-kts":{"ur":"https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/518336.patch","ha":{"al":0,"vl":"sha256-DmY05efj6QtlBhLfN2Pc/nPWf5E23dyHYIhwSqagUwA="}}
,"keycloak-cross":{"ur":"https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/567319.patch","ha":{"al":0,"vl":"sha256-GpnRTr6kAYvL88WcgarPN5tMkEblukoYBw2CiJO7k9g="},"fv":null,"sn":"keycloak-cross-patch"}
,"php-cross":{"ur":"https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/567068.patch","ha":{"al":0,"vl":"sha256-JBKr2LN6y/R0/uFV23gWxbdwOY4c+8BFrm4bsY/ZaTE="},"fv":null,"sn":"php-cross-patch"}
} }
} }

View File

@ -1,11 +1,9 @@
// ┏┓╻+╻ ╱┏┳┓┏┓┏┳┓┏┓╻ // ┏┓╻+╻ ╱┏┳┓┏┓┏┳┓┏┓╻
// ┃┃┃┃┗━┓╹┃╹┣┫┃┃┃┣┫┃ Read the manpage: // ┃┃┃┃┗━┓╹┃╹┣┫┃┃┃┣┫┃ Read the manpage:
// ╹┗┛╹╱ ╹ ╹ ╹╹╹ ╹╹╹┗┛ $ man nixtamal-manifest // ╹┗┛╹╱ ╹ ╹ ╹╹╹ ╹╹╹┗┛ $ man nixtamal-manifest
version "1.4.0" version "1.3.0"
patches { patches {
declarative-kts "https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/518336.patch" declarative-kts "https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/518336.patch"
php-cross "https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/567068.patch"
keycloak-cross "https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/567319.patch"
} }
inputs { inputs {
nixpkgs { nixpkgs {
@ -17,7 +15,7 @@ inputs {
$ git ls-remote "https://github.com/NixOS/nixpkgs.git" --refs "refs/heads/nixos-unstable" $ git ls-remote "https://github.com/NixOS/nixpkgs.git" --refs "refs/heads/nixos-unstable"
| cut -f1 | cut -f1
} }
patches declarative-kts php-cross keycloak-cross patches declarative-kts
} }
home-manager { home-manager {
git { git {

View File

@ -49,14 +49,4 @@ final: prev: {
libbs = final'.callPackage ../pkgs/libbs.nix { }; libbs = final'.callPackage ../pkgs/libbs.nix { };
}) })
]; ];
onetab = final.callPackage ../pkgs/onetab.nix {};
egl-wayland = prev.egl-wayland.overrideAttrs {
version = "1.1.23";
src = final.fetchFromGitHub {
owner = "NVIDIA";
repo = "egl-wayland";
rev = "2a953fc86ca5707466ff28c117b0b72de87d9316";
hash = "sha256-M+s2R0vSDCEN9lMma6RiJTqzUgClnszwS4aKBJeBvFQ=";
};
};
} }

View File

@ -1,28 +0,0 @@
{
stdenv,
fetchFromSourcehut,
zip,
}:
stdenv.mkDerivation {
pname = "onetab";
version = "0.1.0";
src = fetchFromSourcehut {
owner = "~rhelmot";
repo = "onetab";
rev = "bf7c09d98a590c8fac62266ecf82962c3c793b5e";
hash = "sha256-AmzUPVcPH11oHRm0RDOiimEY3C54JivADEPbkFVW+nE=";
};
nativeBuildInputs = [
zip
];
postBuild = ''
./build
'';
postInstall = ''
mkdir -p $out
mv ../onetab.zip $out/onetab.xpi
'';
}

View File

@ -49,13 +49,13 @@
# writableDir = "/var/lib/celeste"; # writableDir = "/var/lib/celeste";
#}; #};
# boot.binfmt.emulatedSystems = [ boot.binfmt.emulatedSystems = [
# "aarch64-linux" "aarch64-linux"
# "mips-linux" "mips-linux"
# "mipsel-linux" "mipsel-linux"
# "armv7l-linux" "armv7l-linux"
# ]; ];
# boot.binfmt.preferStaticEmulators = true; boot.binfmt.preferStaticEmulators = true;
programs.steam.enable = true; programs.steam.enable = true;
programs.steam.gamescopeSession.enable = true; programs.steam.gamescopeSession.enable = true;

View File

@ -326,7 +326,6 @@
]; ];
settings = { settings = {
tz = "local"; tz = "local";
httpd.cookie_lifetime = "720";
httpd.bindings = [ httpd.bindings = [
{ {
port = 3006; port = 3006;
@ -381,12 +380,10 @@
systemd.services.aria2 = { systemd.services.aria2 = {
wants = [ "openvpn-nordvpn.service" ]; wants = [ "openvpn-nordvpn.service" ];
after = [ "openvpn-nordvpn.service" ]; after = [ "openvpn-nordvpn.service" ];
serviceConfig.UMask = lib.mkForce "0002";
}; };
users.users.audrey.extraGroups = [ "sftpgo" "aria2" ]; users.users.audrey.extraGroups = [ "aria2" ];
users.users.jellyfin.extraGroups = [ "sftpgo" "aria2" ];
users.users.aria2.extraGroups = [ "sftpgo" ];
users.users.sftpgo.extraGroups = [ "aria2" ]; users.users.sftpgo.extraGroups = [ "aria2" ];
users.users.jellyfin.extraGroups = [ "sftpgo" ];
services.openvpn = { services.openvpn = {
servers.nordvpn = { servers.nordvpn = {
@ -396,23 +393,6 @@
}; };
}; };
systemd.network.networks.nordvpn = {
name = "tun0";
address = [ "10.100.0.2" ];
routes = [
{
Gateway = "0.0.0.0";
Table = "10";
}
];
routingPolicyRules = [
{
From = "10.100.0.2";
Table = "10";
}
];
};
services.radicle = { services.radicle = {
enable = false; enable = false;
privateKey = "/var/lib/radicle/keys/radicle"; privateKey = "/var/lib/radicle/keys/radicle";

View File

@ -25,7 +25,6 @@
"main/jellyfin/cache".mountPoint = "/var/cache/jellyfin"; "main/jellyfin/cache".mountPoint = "/var/cache/jellyfin";
"main/jellyfin/library".mountPoint = "/var/lib/jellyfin/library"; "main/jellyfin/library".mountPoint = "/var/lib/jellyfin/library";
"main/radicle".mountPoint = "/var/lib/radicle"; "main/radicle".mountPoint = "/var/lib/radicle";
"main/aria2".mountPoint = "/var/lib/aria2/Downloads";
}; };
fileSystems."/boot" = { fileSystems."/boot" = {
@ -36,18 +35,4 @@
"dmask=0022" "dmask=0022"
]; ];
}; };
swapDevices = [
# /dev/nvme0n1p3
{ device = "/dev/disk/by-partuuid/1d1f5875-7879-11ee-8f2a-7cc255275618"; priority = 4096; }
# /dev/sd?1
{ device = "/dev/disk/by-partuuid/f24dd684-8201-11ee-b4f3-7cc255275618"; priority = 2048; }
{ device = "/dev/disk/by-partuuid/f230749d-8201-11ee-b4f3-7cc255275618"; priority = 2048; }
{ device = "/dev/disk/by-partuuid/f2282ec5-8201-11ee-b4f3-7cc255275618"; priority = 2048; }
{ device = "/dev/disk/by-partuuid/f23453fa-8201-11ee-b4f3-7cc255275618"; priority = 2048; }
{ device = "/dev/disk/by-partuuid/9caa659b-04fb-11ef-b641-7cc255275618"; priority = 2048; }
{ device = "/dev/disk/by-partuuid/9c825eb4-04fb-11ef-b641-7cc255275618"; priority = 2048; }
{ device = "/dev/disk/by-partuuid/9c889103-04fb-11ef-b641-7cc255275618"; priority = 2048; }
{ device = "/dev/disk/by-partuuid/9c978ead-04fb-11ef-b641-7cc255275618"; priority = 2048; }
];
} }

View File

@ -6,55 +6,55 @@
let let
wp-hestia = pkgs.stdenv.mkDerivation rec { wp-hestia = pkgs.stdenv.mkDerivation rec {
name = "hestia"; name = "hestia";
version = "3.3.6"; version = "3.3.3";
src = pkgs.fetchzip { src = pkgs.fetchzip {
url = "https://downloads.wordpress.org/theme/${name}.${version}.zip"; url = "https://downloads.wordpress.org/theme/${name}.${version}.zip";
hash = "sha256-ouFycwkK0Gy/65jD4qwm0iHG1PXSEDUnJQztNUMWu3o="; hash = "sha256-hDHG6UdIriF07Uk5hlUuWUriBVtY3XBoma8tl733yrw=";
}; };
installPhase = "mkdir -p $out; cp -R * $out/"; installPhase = "mkdir -p $out; cp -R * $out/";
}; };
wp-lightning = pkgs.stdenv.mkDerivation rec { wp-lightning = pkgs.stdenv.mkDerivation rec {
name = "lightning"; name = "lightning";
version = "15.42.0"; version = "15.32.1";
src = pkgs.fetchzip { src = pkgs.fetchzip {
url = "https://downloads.wordpress.org/theme/${name}.${version}.zip"; url = "https://downloads.wordpress.org/theme/${name}.${version}.zip";
hash = "sha256-VaRLeJTgsTSlRBIqTS1aGMjIjA8AMY2eLHETI1ihoaI="; hash = "sha256-yiA3PDxIoyYyZ2CI73Wa4GgRrJ3IlaJa45je8H95oY8=";
}; };
installPhase = "mkdir -p $out; cp -R * $out/"; installPhase = "mkdir -p $out; cp -R * $out/";
}; };
wp-fresh-bakers-shop = pkgs.stdenv.mkDerivation rec { wp-fresh-bakers-shop = pkgs.stdenv.mkDerivation rec {
name = "fresh-bakers-shop"; name = "fresh-bakers-shop";
version = "2.0.5"; version = "1.0";
src = pkgs.fetchzip { src = pkgs.fetchzip {
url = "https://downloads.wordpress.org/theme/${name}.${version}.zip"; url = "https://downloads.wordpress.org/theme/${name}.${version}.zip";
hash = "sha256-s7MajZ44iQ0+NgH0487I6MCO7dJiyl5bUtppcONU9Q0="; hash = "sha256-MJI6uwRfSFAiYMVhJ3nG4MG6Xw1wZVT47AbLRSJel9M=";
}; };
installPhase = "mkdir -p $out; cp -R * $out/"; installPhase = "mkdir -p $out; cp -R * $out/";
}; };
wp-blocksy = pkgs.stdenv.mkDerivation rec { wp-blocksy = pkgs.stdenv.mkDerivation rec {
name = "blocksy"; name = "blocksy";
version = "2.1.57"; version = "2.1.20";
src = pkgs.fetchzip { src = pkgs.fetchzip {
url = "https://downloads.wordpress.org/theme/${name}.${version}.zip"; url = "https://downloads.wordpress.org/theme/${name}.${version}.zip";
hash = "sha256-odTfwnsnIJVG6jffwoAbmEyqWVt+5fa48UGgefJC18c="; hash = "sha256-KVAkPBa3G8D55ltmybW8rdVd0mRmdcG/ZthpOd1aLGM=";
}; };
installPhase = "mkdir -p $out; cp -R * $out/"; installPhase = "mkdir -p $out; cp -R * $out/";
}; };
wp-blocksy-companion = pkgs.stdenv.mkDerivation rec { wp-blocksy-companion = pkgs.stdenv.mkDerivation rec {
name = "blocksy-companion"; name = "blocksy-companion";
version = "2.1.57"; version = "2.1.20";
src = pkgs.fetchzip { src = pkgs.fetchzip {
url = "https://downloads.wordpress.org/plugin/${name}.${version}.zip"; url = "https://downloads.wordpress.org/plugin/${name}.${version}.zip";
hash = "sha256-MvPHnBDwnhAC41j12PvDfLBRindLBGUm/B8DH17rcJs="; hash = "sha256-QctNCyxARX/SDjJVf9q96lanXnC9vKAC0a6UAGhM//Q=";
}; };
installPhase = "mkdir -p $out; cp -R * $out/"; installPhase = "mkdir -p $out; cp -R * $out/";
}; };
wp-wordpress-importer = pkgs.stdenv.mkDerivation rec { wp-wordpress-importer = pkgs.stdenv.mkDerivation rec {
name = "wordpress-importer"; name = "wordpress-importer";
version = "0.9.6"; version = "0.9.5";
src = pkgs.fetchzip { src = pkgs.fetchzip {
url = "https://downloads.wordpress.org/plugin/${name}.${version}.zip"; url = "https://downloads.wordpress.org/plugin/${name}.${version}.zip";
hash = "sha256-rc/Ut0HYmqTsP2Yc3tcqVRXU3zq7H9wf80SmGqQSYF4="; hash = "sha256-X/jB6DdUZH0CVrfv0NhrvisOTDK5mF9qJA96oOWSRhY=";
}; };
installPhase = "mkdir -p $out; cp -R * $out/"; installPhase = "mkdir -p $out; cp -R * $out/";
}; };

View File

@ -251,12 +251,7 @@
privateNetwork = true; privateNetwork = true;
hostAddress = "192.168.100.10"; hostAddress = "192.168.100.10";
localAddress = "192.168.100.11"; localAddress = "192.168.100.11";
config.imports = [ config.imports = [ ./anonsee.nix ];
./anonsee.nix
{
nixpkgs.buildPlatform = config.nixpkgs.buildPlatform;
}
];
}; };
services.nginx.logError = "stderr info"; services.nginx.logError = "stderr info";