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

Conflicts:
	pkgs/development/libraries/qt-6/modules/qtbase.nix
	pkgs/stdenv/linux/make-bootstrap-tools.nix
This commit is contained in:
Sergei Trofimovich 2023-01-20 21:56:57 +00:00
commit b9b1d958d0
761 changed files with 23072 additions and 47714 deletions

View file

@ -1,13 +1,13 @@
# Haskell {#haskell}
The Haskell infrastructure in nixpkgs has two main purposes: The primary purpose
The Haskell infrastructure in Nixpkgs has two main purposes: The primary purpose
is to provide a Haskell compiler and build tools as well as infrastructure for
packaging Haskell-based packages.
The secondary purpose is to provide support for Haskell development environment
The secondary purpose is to provide support for Haskell development environments
including prebuilt Haskell libraries. However, in this area sacrifices have been
made due to self-imposed restrictions in nixpkgs, to lessen the maintenance
effort and improve performance. (More details in the subsection
made due to self-imposed restrictions in Nixpkgs, to lessen the maintenance
effort and to improve performance. (More details in the subsection
[Limitations.](#haskell-limitations))
## Available packages {#haskell-available-packages}
@ -18,17 +18,17 @@ The compiler and most build tools are exposed at the top level:
* Language specific tools: `cabal-install`, `stack`, `hpack`, …
Many “normal” user facing packages written in Haskell, like `niv` or `cachix`,
are also exposed at the top level, so there is nothing haskell specific to
are also exposed at the top level, and there is nothing Haskell specific to
installing and using them.
All of these packages originally are defined in the `haskellPackages` package
All of these packages are originally defined in the `haskellPackages` package
set and are re-exposed with a reduced dependency closure for convenience.
(see `justStaticExecutables` below)
The `haskellPackages` set includes at least one version of every package from
Hackage as well as some manually injected packages. This amounts to a lot of
packages, so it is hidden from `nix-env -qa` by default for performance reasons.
You can still list all packages in the set like this, though:
You can still list all packages in the set like this:
```console
$ nix-env -f '<nixpkgs>' -qaP -A haskellPackages
@ -39,22 +39,22 @@ haskellPackages.abacate abac
haskellPackages.abc-puzzle abc-puzzle-0.2.1
```
Also the default set `haskellPackages` is included on [search.nixos.org].
Also, the `haskellPackages` set is included on [search.nixos.org].
The attribute names in `haskellPackages` always correspond with their name on
Hackage. Since Hackage allows names that are not valid Nix without extra
escaping, you sometimes need to extra care when handling attribute names like
`3dmodels`.
Hackage. Since Hackage allows names that are not valid Nix without escaping,
you need to take care when handling attribute names like `3dmodels`.
For packages that are part of [Stackage], we use the version prescribed by a
Stackage solver (usually the current LTS one) as the default version. For all
other packages we use the latest version from Hackage. See
[below](#haskell-available-versions) to learn which versions exactly are provided.
[below](#haskell-available-versions) to learn which versions are provided
exactly.
Roughly half of the 16K packages contained in `haskellPackages` don't actually
build and are marked as broken semi-automatically. Most of those packages are
deprecated or unmaintained, but sometimes packages that should, don't build.
Very often fixing them is not a lot of work.
deprecated or unmaintained, but sometimes packages that should build, do not
build. Very often fixing them is not a lot of work.
<!--
TODO(@sternenseemann):
@ -101,11 +101,11 @@ haskell.compiler.native-bignum.ghcHEAD ghc-native-bignum-9.7.20221224
haskell.compiler.ghcjs ghcjs-8.10.7
```
Every of those compilers has a corresponding attribute set built completely
using it. However, the non-standard package sets are not tested regularly and
have less working packages as a result. The corresponding package set for GHC
9.4.4 is `haskell.packages.ghc944` (in fact `haskellPackages` is just an alias
for `haskell.packages.ghc924`):
Each of those compiler versions has a corresponding attribute set built using
it. However, the non-standard package sets are not tested regularly and, as a
result, contain fewer working packages. The corresponding package set for GHC
9.4.4 is `haskell.packages.ghc944`. In fact `haskellPackages` is just an alias
for `haskell.packages.ghc924`:
```console
$ nix-env -f '<nixpkgs>' -qaP -A haskell.packages.ghc924

View file

@ -107,7 +107,7 @@ rec {
# Same as `makeExtensible` but the name of the extending attribute is
# customized.
makeExtensibleWithCustomName = extenderName: rattrs:
fix' rattrs // {
fix' (self: (rattrs self) // {
${extenderName} = f: makeExtensibleWithCustomName extenderName (extends f rattrs);
};
});
}

View file

@ -68,6 +68,7 @@ in {
none = [];
arm = filterDoubles predicates.isAarch32;
armv7 = filterDoubles predicates.isArmv7;
aarch64 = filterDoubles predicates.isAarch64;
x86 = filterDoubles predicates.isx86;
i686 = filterDoubles predicates.isi686;
@ -75,6 +76,7 @@ in {
microblaze = filterDoubles predicates.isMicroBlaze;
mips = filterDoubles predicates.isMips;
mmix = filterDoubles predicates.isMmix;
power = filterDoubles predicates.isPower;
riscv = filterDoubles predicates.isRiscV;
riscv32 = filterDoubles predicates.isRiscV32;
riscv64 = filterDoubles predicates.isRiscV64;
@ -83,6 +85,7 @@ in {
or1k = filterDoubles predicates.isOr1k;
m68k = filterDoubles predicates.isM68k;
s390 = filterDoubles predicates.isS390;
s390x = filterDoubles predicates.isS390x;
js = filterDoubles predicates.isJavaScript;
bigEndian = filterDoubles predicates.isBigEndian;

View file

@ -22,6 +22,9 @@ rec {
];
isx86 = { cpu = { family = "x86"; }; };
isAarch32 = { cpu = { family = "arm"; bits = 32; }; };
isArmv7 = map ({ arch, ... }: { cpu = { inherit arch; }; })
(lib.filter (cpu: lib.hasPrefix "armv7" cpu.arch or "")
(lib.attrValues cpuTypes));
isAarch64 = { cpu = { family = "arm"; bits = 64; }; };
isAarch = { cpu = { family = "arm"; }; };
isMicroBlaze = { cpu = { family = "microblaze"; }; };
@ -44,6 +47,7 @@ rec {
isOr1k = { cpu = { family = "or1k"; }; };
isM68k = { cpu = { family = "m68k"; }; };
isS390 = { cpu = { family = "s390"; }; };
isS390x = { cpu = { family = "s390"; bits = 64; }; };
isJavaScript = { cpu = cpuTypes.js; };
is32bit = { cpu = { bits = 32; }; };

View file

@ -1,11 +1,11 @@
{ # The pkgs used for dependencies for the testing itself
# Don't test properties of pkgs.lib, but rather the lib in the parent directory
pkgs ? import ../.. {} // { lib = throw "pkgs.lib accessed, but the lib tests should use nixpkgs' lib path directly!"; }
pkgs ? import ../.. {} // { lib = throw "pkgs.lib accessed, but the lib tests should use nixpkgs' lib path directly!"; },
nix ? pkgs.nix,
}:
pkgs.runCommand "nixpkgs-lib-tests" {
buildInputs = [
pkgs.nix
(import ./check-eval.nix)
(import ./maintainers.nix {
inherit pkgs;
@ -19,8 +19,12 @@ pkgs.runCommand "nixpkgs-lib-tests" {
inherit pkgs;
})
];
nativeBuildInputs = [
nix
];
strictDeps = true;
} ''
datadir="${pkgs.nix}/share"
datadir="${nix}/share"
export TEST_ROOT=$(pwd)/test-tmp
export NIX_BUILD_HOOK=
export NIX_CONF_DIR=$TEST_ROOT/etc

View file

@ -16,12 +16,15 @@ with lib.systems.doubles; lib.runTests {
testall = mseteq all (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos ++ wasi ++ windows ++ embedded ++ mmix ++ js ++ genode ++ redox);
testarm = mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv6l-netbsd" "armv6l-none" "armv7a-linux" "armv7a-netbsd" "armv7l-linux" "armv7l-netbsd" "arm-none" "armv7a-darwin" ];
testarmv7 = mseteq armv7 [ "armv7a-darwin" "armv7a-linux" "armv7l-linux" "armv7a-netbsd" "armv7l-netbsd" ];
testi686 = mseteq i686 [ "i686-linux" "i686-freebsd13" "i686-genode" "i686-netbsd" "i686-openbsd" "i686-cygwin" "i686-windows" "i686-none" "i686-darwin" ];
testmips = mseteq mips [ "mips64el-linux" "mipsel-linux" "mipsel-netbsd" ];
testmmix = mseteq mmix [ "mmix-mmixware" ];
testpower = mseteq power [ "powerpc-netbsd" "powerpc-none" "powerpc64-linux" "powerpc64le-linux" "powerpcle-none" ];
testriscv = mseteq riscv [ "riscv32-linux" "riscv64-linux" "riscv32-netbsd" "riscv64-netbsd" "riscv32-none" "riscv64-none" ];
testriscv32 = mseteq riscv32 [ "riscv32-linux" "riscv32-netbsd" "riscv32-none" ];
testriscv64 = mseteq riscv64 [ "riscv64-linux" "riscv64-netbsd" "riscv64-none" ];
tests390x = mseteq s390x [ "s390x-linux" "s390x-none" ];
testx86_64 = mseteq x86_64 [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd13" "x86_64-genode" "x86_64-redox" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin" "x86_64-solaris" "x86_64-windows" "x86_64-none" ];
testcygwin = mseteq cygwin [ "i686-cygwin" "x86_64-cygwin" ];

View file

@ -1330,6 +1330,12 @@
githubId = 55833;
name = "Troels Henriksen";
};
athre0z = {
email = "joel@zyantific.com";
github = "athre0z";
githubId = 6553158;
name = "Joel Höner";
};
atila = {
name = "Átila Saraiva";
email = "atilasaraiva@gmail.com";
@ -4189,6 +4195,12 @@
githubId = 5300871;
name = "Leon Kowarschick";
};
elnudev = {
email = "elnu@elnu.com";
github = "elnudev";
githubId = 9874955;
name = "Elnu";
};
elohmeier = {
email = "elo-nixos@nerdworks.de";
github = "elohmeier";
@ -9954,6 +9966,12 @@
fingerprint = "7A10 AB8E 0BEC 566B 090C 9BE3 D812 6E55 9CE7 C35D";
}];
};
nat-418 = {
email = "93013864+nat-418@users.noreply.github.com";
github = "nat-418";
githubId = 93013864;
name = "nat-418";
};
nathanruiz = {
email = "nathanruiz@protonmail.com";
github = "nathanruiz";
@ -10764,6 +10782,12 @@
githubId = 15930073;
name = "Moritz Scheuren";
};
ovlach = {
email = "ondrej@vlach.xyz";
name = "Ondrej Vlach";
github = "ovlach";
githubId = 4405107;
};
ozkutuk = {
email = "ozkutuk@protonmail.com";
github = "ozkutuk";

View file

@ -270,6 +270,16 @@
stage-2.
</para>
</listitem>
<listitem>
<para>
<literal>teleport</literal> has been upgraded to major version
11. Please see upstream
<link xlink:href="https://goteleport.com/docs/setup/operations/upgrading/">upgrade
instructions</link> and
<link xlink:href="https://goteleport.com/docs/changelog/#1100">release
notes</link>.
</para>
</listitem>
<listitem>
<para>
The EC2 image module previously detected and activated
@ -414,6 +424,16 @@
which now also accepts structured settings.
</para>
</listitem>
<listitem>
<para>
The <literal>wordpress</literal> service now takes
configuration via the
<literal>services.wordpress.sites.&lt;name&gt;.settings</literal>
attribute set, <literal>extraConfig</literal> is still
available to append additional text to
<literal>wp-config.php</literal>.
</para>
</listitem>
<listitem>
<para>
To reduce closure size in
@ -521,6 +541,22 @@
dynamically.
</para>
</listitem>
<listitem>
<para>
The <literal>root</literal> package is now built with the
<literal>&quot;-Dgnuinstall=ON&quot;</literal> CMake flag,
making the output conform the <literal>bin</literal>
<literal>lib</literal> <literal>share</literal> layout. In
this layout, <literal>tutorials</literal> is under
<literal>share/doc/ROOT/</literal>; <literal>cmake</literal>,
<literal>font</literal>, <literal>icons</literal>,
<literal>js</literal> and <literal>macro</literal> under
<literal>share/root</literal>;
<literal>Makefile.comp</literal> and
<literal>Makefile.config</literal> under
<literal>etc/root</literal>.
</para>
</listitem>
<listitem>
<para>
Enabling global redirect in
@ -616,6 +652,13 @@
information about the current generation revision
</para>
</listitem>
<listitem>
<para>
The option
<literal>services.nomad.extraSettingsPlugins</literal> has
been fixed to allow more than one plugin in the path.
</para>
</listitem>
</itemizedlist>
</section>
</section>

View file

@ -71,6 +71,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- The EC2 image module previously detected and automatically mounted ext3-formatted instance store devices and partitions in stage-1 (initramfs), storing `/tmp` on the first discovered device. This behaviour, which only catered to very specific use cases and could not be disabled, has been removed. Users relying on this should provide their own implementation, and probably use ext4 and perform the mount in stage-2.
- `teleport` has been upgraded to major version 11. Please see upstream [upgrade instructions](https://goteleport.com/docs/setup/operations/upgrading/) and [release notes](https://goteleport.com/docs/changelog/#1100).
- The EC2 image module previously detected and activated swap-formatted instance store devices and partitions in stage-1 (initramfs). This behaviour has been removed. Users relying on this should provide their own implementation.
- Calling `makeSetupHook` without passing a `name` argument is deprecated.
@ -111,6 +113,8 @@ In addition to numerous new and upgraded packages, this release has the followin
The `{aclUse,superUser,disableActions}` attributes have been renamed, `pluginsConfig` now also accepts an attribute set of booleans, passing plain PHP is deprecated.
Same applies to `acl` which now also accepts structured settings.
- The `wordpress` service now takes configuration via the `services.wordpress.sites.<name>.settings` attribute set, `extraConfig` is still available to append additional text to `wp-config.php`.
- To reduce closure size in `nixos/modules/profiles/minimal.nix` profile disabled installation documentations and manuals. Also disabled `logrotate` and `udisks2` services.
- The minimal ISO image now uses the `nixos/modules/profiles/minimal.nix` profile.
@ -140,6 +144,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- The new option `users.motdFile` allows configuring a Message Of The Day that can be updated dynamically.
- The `root` package is now built with the `"-Dgnuinstall=ON"` CMake flag, making the output conform the `bin` `lib` `share` layout. In this layout, `tutorials` is under `share/doc/ROOT/`; `cmake`, `font`, `icons`, `js` and `macro` under `share/root`; `Makefile.comp` and `Makefile.config` under `etc/root`.
- Enabling global redirect in `services.nginx.virtualHosts` now allows one to add exceptions with the `locations` option.
- A new option `recommendedBrotliSettings` has been added to `services.nginx`. Learn more about compression in Brotli format [here](https://github.com/google/ngx_brotli/blob/master/README.md).
@ -161,3 +167,5 @@ In addition to numerous new and upgraded packages, this release has the followin
- [Xastir](https://xastir.org/index.php/Main_Page) can now access AX.25 interfaces via the `libax25` package.
- `nixos-version` now accepts `--configuration-revision` to display more information about the current generation revision
- The option `services.nomad.extraSettingsPlugins` has been fixed to allow more than one plugin in the path.

View file

@ -32,13 +32,17 @@ with lib;
dbus = super.dbus.override { x11Support = false; };
ffmpeg_4 = super.ffmpeg_4-headless;
ffmpeg_5 = super.ffmpeg_5-headless;
# dep of graphviz, libXpm is optional for Xpm support
gd = super.gd.override { withXorg = false; };
gobject-introspection = super.gobject-introspection.override { x11Support = false; };
gpsd = super.gpsd.override { guiSupport = false; };
graphviz = super.graphviz-nox;
gst_all_1 = super.gst_all_1 // {
gst-plugins-base = super.gst_all_1.gst-plugins-base.override { enableX11 = false; };
};
gpsd = super.gpsd.override { guiSupport = false; };
imagemagick = super.imagemagick.override { libX11Support = false; libXtSupport = false; };
imagemagickBig = super.imagemagickBig.override { libX11Support = false; libXtSupport = false; };
libdevil = super.libdevil-nox;
libextractor = super.libextractor.override { gtkSupport = false; };
libva = super.libva-minimal;
limesuite = super.limesuite.override { withGui = false; };
@ -51,9 +55,13 @@ with lib;
networkmanager-openvpn = super.networkmanager-openvpn.override { withGnome = false; };
networkmanager-sstp = super.networkmanager-vpnc.override { withGnome = false; };
networkmanager-vpnc = super.networkmanager-vpnc.override { withGnome = false; };
pango = super.pango.override { x11Support = false; };
pinentry = super.pinentry.override { enabledFlavors = [ "curses" "tty" "emacs" ]; withLibsecret = false; };
qemu = super.qemu.override { gtkSupport = false; spiceSupport = false; sdlSupport = false; };
qrencode = super.qrencode.overrideAttrs (_: { doCheck = false; });
stoken = super.stoken.override { withGTK3 = false; };
# translateManpages -> perlPackages.po4a -> texlive-combined-basic -> texlive-core-big -> libX11
util-linux = super.util-linux.override { translateManpages = false; };
zbar = super.zbar.override { enableVideo = false; withXorg = false; };
}));
};

View file

@ -66,7 +66,7 @@ let
device = mkOption {
example = "/dev/sda3";
type = types.str;
type = types.nonEmptyStr;
description = lib.mdDoc "Path of the device or swap file.";
};
@ -197,6 +197,21 @@ in
};
config = mkIf ((length config.swapDevices) != 0) {
assertions = map (sw: {
assertion = sw.randomEncryption.enable -> builtins.match "/dev/disk/by-(uuid|label)/.*" sw.device == null;
message = ''
You cannot use swap device "${sw.device}" with randomEncryption enabled.
The UUIDs and labels will get erased on every boot when the partition is encrypted.
Use /dev/disk/by-partuuid/ instead.
'';
}) config.swapDevices;
warnings =
concatMap (sw:
if sw.size != null && hasPrefix "/dev/" sw.device
then [ "Setting the swap size of block device ${sw.device} has no effect" ]
else [ ])
config.swapDevices;
system.requiredKernelConfig = with config.lib.kernelConfig; [
(isYes "SWAP")
@ -205,24 +220,27 @@ in
# Create missing swapfiles.
systemd.services =
let
createSwapDevice = sw:
assert sw.device != "";
assert !(sw.randomEncryption.enable && lib.hasPrefix "/dev/disk/by-uuid" sw.device);
assert !(sw.randomEncryption.enable && lib.hasPrefix "/dev/disk/by-label" sw.device);
let realDevice' = escapeSystemdPath sw.realDevice;
in nameValuePair "mkswap-${sw.deviceName}"
{ description = "Initialisation of swap device ${sw.device}";
wantedBy = [ "${realDevice'}.swap" ];
before = [ "${realDevice'}.swap" ];
path = [ pkgs.util-linux ] ++ optional sw.randomEncryption.enable pkgs.cryptsetup;
path = [ pkgs.util-linux pkgs.e2fsprogs ]
++ optional sw.randomEncryption.enable pkgs.cryptsetup;
environment.DEVICE = sw.device;
script =
''
${optionalString (sw.size != null) ''
currentSize=$(( $(stat -c "%s" "${sw.device}" 2>/dev/null || echo 0) / 1024 / 1024 ))
if [ "${toString sw.size}" != "$currentSize" ]; then
dd if=/dev/zero of="${sw.device}" bs=1M count=${toString sw.size}
currentSize=$(( $(stat -c "%s" "$DEVICE" 2>/dev/null || echo 0) / 1024 / 1024 ))
if [[ ! -b "$DEVICE" && "${toString sw.size}" != "$currentSize" ]]; then
# Disable CoW for CoW based filesystems like BTRFS.
truncate --size 0 "$DEVICE"
chattr +C "$DEVICE" 2>/dev/null || true
dd if=/dev/zero of="$DEVICE" bs=1M count=${toString sw.size}
chmod 0600 ${sw.device}
${optionalString (!sw.randomEncryption.enable) "mkswap ${sw.realDevice}"}
fi

View file

@ -14,6 +14,10 @@
documentation.man.enable = lib.mkOverride 500 true;
# Although we don't really need HTML documentation in the minimal installer,
# not including it may cause annoying cache misses in the case of the NixOS manual.
documentation.doc.enable = lib.mkOverride 500 true;
fonts.fontconfig.enable = lib.mkForce false;
isoImage.edition = lib.mkForce "minimal";

View file

@ -1,7 +1,7 @@
{
x86_64-linux = "/nix/store/h88w1442c7hzkbw8sgpcsbqp4lhz6l5p-nix-2.12.0";
i686-linux = "/nix/store/j23527l1c3hfx17nssc0v53sq6c741zs-nix-2.12.0";
aarch64-linux = "/nix/store/zgzmdymyh934y3r4vqh8z337ba4cwsjb-nix-2.12.0";
x86_64-darwin = "/nix/store/wnlrzllazdyg1nrw9na497p4w0m7i7mm-nix-2.12.0";
aarch64-darwin = "/nix/store/7n5yamgzg5dpp5vb6ipdqgfh6cf30wmn-nix-2.12.0";
x86_64-linux = "/nix/store/vggs4ndlda1bhnldjrs4nm5a2walsnl6-nix-2.13.1";
i686-linux = "/nix/store/5g6w3p8l8k2mfghxrg48w7fcqbmr3c2p-nix-2.13.1";
aarch64-linux = "/nix/store/pkbg60qv1w387c80g4xnb6w06461vw3i-nix-2.13.1";
x86_64-darwin = "/nix/store/jahjn6dvlw5kygqhg6da1b2ydcdak4lx-nix-2.13.1";
aarch64-darwin = "/nix/store/2qalrx6py8r640wqsldmdf2zsaf8cpsg-nix-2.13.1";
}

15
nixos/modules/installer/tools/nixos-install.sh Normal file → Executable file
View file

@ -195,7 +195,20 @@ if [[ -z $noBootLoader ]]; then
echo "installing the boot loader..."
# Grub needs an mtab.
ln -sfn /proc/mounts "$mountPoint"/etc/mtab
NIXOS_INSTALL_BOOTLOADER=1 nixos-enter --root "$mountPoint" -- /run/current-system/bin/switch-to-configuration boot
export mountPoint
NIXOS_INSTALL_BOOTLOADER=1 nixos-enter --root "$mountPoint" -c "$(cat <<'EOF'
# Create a bind mount for each of the mount points inside the target file
# system. This preserves the validity of their absolute paths after changing
# the root with `nixos-enter`.
# Without this the bootloader installation may fail due to options that
# contain paths referenced during evaluation, like initrd.secrets.
# when not root, re-execute the script in an unshared namespace
mount --rbind --mkdir / "$mountPoint"
mount --make-rslave "$mountPoint"
/run/current-system/bin/switch-to-configuration boot
umount -R "$mountPoint" && rmdir "$mountPoint"
EOF
)"
fi
# Ask the user to set a root password, but only if the passwd command

View file

@ -235,6 +235,8 @@ in
nixos-enter
] ++ lib.optional (nixos-option != null) nixos-option;
documentation.man.man-db.skipPackages = [ nixos-version ];
system.build = {
inherit nixos-install nixos-generate-config nixos-option nixos-rebuild nixos-enter;
};

View file

@ -13,11 +13,21 @@ in
example = false;
};
skipPackages = lib.mkOption {
type = lib.types.listOf lib.types.package;
default = [];
internal = true;
description = lib.mdDoc ''
Packages to *not* include in the man-db.
This can be useful to avoid unnecessary rebuilds due to packages that change frequently, like nixos-version.
'';
};
manualPages = lib.mkOption {
type = lib.types.path;
default = pkgs.buildEnv {
name = "man-paths";
paths = config.environment.systemPackages;
paths = lib.subtractLists cfg.skipPackages config.environment.systemPackages;
pathsToLink = [ "/share/man" ];
extraOutputsToInstall = [ "man" ]
++ lib.optionals config.documentation.dev.enable [ "devman" ];

View file

@ -35,6 +35,7 @@
pkgs.rsync
pkgs.socat
pkgs.screen
pkgs.tcpdump
# Hardware-related tools.
pkgs.sdparm

View file

@ -175,7 +175,7 @@ in
};
type = mkOption {
type = types.enum [ "zip" "rar" "tar" "sz" "tar.gz" "tar.xz" "tar.bz2" "tar.br" "tar.lz4" ];
type = types.enum [ "zip" "rar" "tar" "sz" "tar.gz" "tar.xz" "tar.bz2" "tar.br" "tar.lz4" "tar.zst" ];
default = "zip";
description = lib.mdDoc "Archive format used to store the dump file.";
};

View file

@ -67,7 +67,7 @@ in
Additional plugins dir used to configure nomad.
'';
example = literalExpression ''
[ "<pluginDir>" pkgs.<plugins-name> ]
[ "<pluginDir>" pkgs.nomad-driver-nix pkgs.nomad-driver-podman ]
'';
};
@ -139,9 +139,16 @@ in
{
DynamicUser = cfg.dropPrivileges;
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
ExecStart = "${cfg.package}/bin/nomad agent -config=/etc/nomad.json" +
concatMapStrings (path: " -config=${path}") cfg.extraSettingsPaths +
concatMapStrings (path: " -plugin-dir=${path}/bin") cfg.extraSettingsPlugins;
ExecStart =
let
pluginsDir = pkgs.symlinkJoin
{
name = "nomad-plugins";
paths = cfg.extraSettingsPlugins;
};
in
"${cfg.package}/bin/nomad agent -config=/etc/nomad.json -plugin-dir=${pluginsDir}/bin" +
concatMapStrings (path: " -config=${path}") cfg.extraSettingsPaths;
KillMode = "process";
KillSignal = "SIGINT";
LimitNOFILE = 65536;

View file

@ -73,28 +73,16 @@ let
${if isString pc then pc else pc_gen pc}
'';
pkg = hostName: cfg: pkgs.stdenv.mkDerivation rec {
pname = "dokuwiki-${hostName}";
version = src.version;
src = cfg.package;
installPhase = ''
mkdir -p $out
cp -r * $out/
pkg = hostName: cfg: cfg.package.combine {
inherit (cfg) plugins templates;
# symlink the dokuwiki config
ln -sf ${dokuwikiLocalConfig hostName cfg} $out/share/dokuwiki/conf/local.php
pname = p: "${p.pname}-${hostName}";
# symlink plugins config
ln -sf ${dokuwikiPluginsLocalConfig hostName cfg} $out/share/dokuwiki/conf/plugins.local.php
# symlink acl (if needed)
${optionalString (cfg.mergedConfig.useacl && cfg.acl != null) "ln -sf ${dokuwikiAclAuthConfig hostName cfg} $out/share/dokuwiki/acl.auth.php"}
# symlink additional plugin(s) and templates(s)
${concatMapStringsSep "\n" (template: "ln -sf ${template} $out/share/dokuwiki/lib/tpl/${template.name}") cfg.templates}
${concatMapStringsSep "\n" (plugin: "ln -sf ${plugin} $out/share/dokuwiki/lib/plugins/${plugin.name}") cfg.plugins}
'';
basePackage = cfg.package;
localConfig = dokuwikiLocalConfig hostName cfg;
pluginsConfig = dokuwikiPluginsLocalConfig hostName cfg;
aclConfig = if cfg.aclUse && cfg.acl != null then dokuwikiAclAuthConfig hostName cfg else null;
};
aclOpts = { ... }: {

View file

@ -113,7 +113,13 @@ in {
documentation = [ "https://docs.requarks.io/" ];
wantedBy = [ "multi-user.target" ];
path = with pkgs; [ coreutils ];
path = with pkgs; [
# Needed for git storage.
git
# Needed for git+ssh storage.
openssh
];
preStart = ''
ln -sf ${configFile} /var/lib/${cfg.stateDirectoryName}/config.yml
ln -sf ${pkgs.wiki-js}/server /var/lib/${cfg.stateDirectoryName}

View file

@ -38,29 +38,53 @@ let
'';
};
wpConfig = hostName: cfg: pkgs.writeText "wp-config-${hostName}.php" ''
<?php
define('DB_NAME', '${cfg.database.name}');
define('DB_HOST', '${cfg.database.host}:${if cfg.database.socket != null then cfg.database.socket else toString cfg.database.port}');
define('DB_USER', '${cfg.database.user}');
${optionalString (cfg.database.passwordFile != null) "define('DB_PASSWORD', file_get_contents('${cfg.database.passwordFile}'));"}
define('DB_CHARSET', 'utf8');
$table_prefix = '${cfg.database.tablePrefix}';
mergeConfig = cfg: {
# wordpress is installed onto a read-only file system
DISALLOW_FILE_EDIT = true;
AUTOMATIC_UPDATER_DISABLED = true;
DB_NAME = cfg.database.name;
DB_HOST = "${cfg.database.host}:${if cfg.database.socket != null then cfg.database.socket else toString cfg.database.port}";
DB_USER = cfg.database.user;
DB_CHARSET = "utf8";
# Always set DB_PASSWORD even when passwordFile is not set. This is the
# default Wordpress behaviour.
DB_PASSWORD = if (cfg.database.passwordFile != null) then { _file = cfg.database.passwordFile; } else "";
} // cfg.settings;
require_once('${stateDir hostName}/secret-keys.php');
wpConfig = hostName: cfg: let
conf_gen = c: mapAttrsToList (k: v: "define('${k}', ${mkPhpValue v});") cfg.mergedConfig;
in pkgs.writeTextFile {
name = "wp-config-${hostName}.php";
text = ''
<?php
$table_prefix = '${cfg.database.tablePrefix}';
# wordpress is installed onto a read-only file system
define('DISALLOW_FILE_EDIT', true);
define('AUTOMATIC_UPDATER_DISABLED', true);
require_once('${stateDir hostName}/secret-keys.php');
${cfg.extraConfig}
${cfg.extraConfig}
${concatStringsSep "\n" (conf_gen cfg.mergedConfig)}
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
require_once(ABSPATH . 'wp-settings.php');
?>
'';
require_once(ABSPATH . 'wp-settings.php');
?>
'';
checkPhase = "${pkgs.php81}/bin/php --syntax-check $target";
};
mkPhpValue = v: let
isHasAttr = s: isAttrs v && hasAttr s v;
in
if isString v then escapeShellArg v
# NOTE: If any value contains a , (comma) this will not get escaped
else if isList v && any lib.strings.isCoercibleToString v then escapeShellArg (concatMapStringsSep "," toString v)
else if isInt v then toString v
else if isBool v then boolToString v
else if isHasAttr "_file" then "trim(file_get_contents(${lib.escapeShellArg v._file}))"
else if isHasAttr "_raw" then v._raw
else abort "The Wordpress config value ${lib.generators.toPretty {} v} can not be encoded."
;
secretsVars = [ "AUTH_KEY" "SECURE_AUTH_KEY" "LOGGED_IN_KEY" "NONCE_KEY" "AUTH_SALT" "SECURE_AUTH_SALT" "LOGGED_IN_SALT" "NONCE_SALT" ];
secretsScript = hostStateDir: ''
@ -77,7 +101,7 @@ let
fi
'';
siteOpts = { lib, name, ... }:
siteOpts = { lib, name, config, ... }:
{
options = {
package = mkOption {
@ -283,6 +307,42 @@ let
'';
};
settings = mkOption {
type = types.attrsOf types.anything;
default = {};
description = lib.mdDoc ''
Structural Wordpress configuration.
Refer to <https://developer.wordpress.org/apis/wp-config-php>
for details and supported values.
'';
example = literalExpression ''
{
WP_DEFAULT_THEME = "twentytwentytwo";
WP_SITEURL = "https://example.org";
WP_HOME = "https://example.org";
WP_DEBUG = true;
WP_DEBUG_DISPLAY = true;
WPLANG = "de_DE";
FORCE_SSL_ADMIN = true;
AUTOMATIC_UPDATER_DISABLED = true;
}
'';
};
mergedConfig = mkOption {
readOnly = true;
default = mergeConfig config;
defaultText = literalExpression ''
{
DISALLOW_FILE_EDIT = true;
AUTOMATIC_UPDATER_DISABLED = true;
}
'';
description = lib.mdDoc ''
Read only representation of the final configuration.
'';
};
extraConfig = mkOption {
type = types.lines;
default = "";
@ -290,11 +350,16 @@ let
Any additional text to be appended to the wp-config.php
configuration file. This is a PHP script. For configuration
settings, see <https://codex.wordpress.org/Editing_wp-config.php>.
**Note**: Please pass structured settings via
`services.wordpress.sites.${name}.settings` instead.
'';
example = ''
define( 'AUTOSAVE_INTERVAL', 60 ); // Seconds
@ini_set( 'log_errors', 'Off' );
@ini_set( 'display_errors', 'On' );
'';
};
};
config.virtualHost.hostName = mkDefault name;

View file

@ -401,7 +401,18 @@ in
environment.etc."X11/xkb".source = xcfg.xkbDir;
environment.sessionVariables.PLASMA_USE_QT_SCALING = mkIf cfg.useQtScaling "1";
environment.sessionVariables = {
PLASMA_USE_QT_SCALING = mkIf cfg.useQtScaling "1";
# Needed for things that depend on other store.kde.org packages to install correctly,
# notably Plasma look-and-feel packages (a.k.a. Global Themes)
#
# FIXME: this is annoyingly impure and should really be fixed at source level somehow,
# but kpackage is a library so we can't just wrap the one thing invoking it and be done.
# This also means things won't work for people not on Plasma, but at least this way it
# works for SOME people.
KPACKAGE_DEP_RESOLVERS_PATH = "${pkgs.plasma5Packages.frameworkintegration.out}/libexec/kf5/kpackagehandlers";
};
# Enable GTK applications to load SVG icons
services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];

View file

@ -442,7 +442,7 @@ sub copyToKernelsDir {
}
sub addEntry {
my ($name, $path, $options) = @_;
my ($name, $path, $options, $current) = @_;
return unless -e "$path/kernel" && -e "$path/initrd";
my $kernel = copyToKernelsDir(Cwd::abs_path("$path/kernel"));
@ -458,7 +458,14 @@ sub addEntry {
# Make sure initrd is not world readable (won't work if /boot is FAT)
umask 0137;
my $initrdSecretsPathTemp = File::Temp::mktemp("$initrdSecretsPath.XXXXXXXX");
system("$path/append-initrd-secrets", $initrdSecretsPathTemp) == 0 or die "failed to create initrd secrets: $!\n";
if (system("$path/append-initrd-secrets", $initrdSecretsPathTemp) != 0) {
if ($current) {
die "failed to create initrd secrets $!\n";
} else {
say STDERR "warning: failed to create initrd secrets for \"$name\", an older generation";
say STDERR "note: this is normal after having removed or renamed a file in `boot.initrd.secrets`";
}
}
# Check whether any secrets were actually added
if (-e $initrdSecretsPathTemp && ! -z _) {
rename $initrdSecretsPathTemp, $initrdSecretsPath or die "failed to move initrd secrets into place: $!\n";
@ -491,7 +498,7 @@ sub addEntry {
}
$conf .= "\n";
} else {
$conf .= "menuentry \"$name\" " . ($options||"") . " {\n";
$conf .= "menuentry \"$name\" " . $options . " {\n";
if ($saveDefault) {
$conf .= " savedefault\n";
}
@ -511,7 +518,7 @@ sub addEntry {
# Add default entries.
$conf .= "$extraEntries\n" if $extraEntriesBeforeNixOS;
addEntry("@distroName@ - Default", $defaultConfig, $entryOptions);
addEntry("@distroName@ - Default", $defaultConfig, $entryOptions, 1);
$conf .= "$extraEntries\n" unless $extraEntriesBeforeNixOS;
@ -536,7 +543,7 @@ foreach my $link (@links) {
my $linkname = basename($link);
$entryName = "($linkname - $date - $version)";
}
addEntry("@distroName@ - $entryName", $link);
addEntry("@distroName@ - $entryName", $link, "", 1);
}
my $grubBootPath = $grubBoot->path;
@ -568,7 +575,7 @@ sub addProfile {
-e "$link/nixos-version"
? readFile("$link/nixos-version")
: basename((glob(dirname(Cwd::abs_path("$link/kernel")) . "/lib/modules/*"))[0]);
addEntry("@distroName@ - Configuration " . nrFromGen($link) . " ($date - $version)", $link, $subEntryOptions);
addEntry("@distroName@ - Configuration " . nrFromGen($link) . " ($date - $version)", $link, $subEntryOptions, 0);
}
$conf .= "}\n" if $grubVersion == 2;

View file

@ -42,7 +42,7 @@ def system_dir(profile: Optional[str], generation: int, specialisation: Optional
else:
return d
BOOT_ENTRY = """title @distroName@{profile}{specialisation}
BOOT_ENTRY = """title {title}
version Generation {generation} {description}
linux {kernel}
initrd {initrd}
@ -106,14 +106,29 @@ def describe_generation(generation_dir: str) -> str:
return description
def write_entry(profile: Optional[str], generation: int, specialisation: Optional[str], machine_id: str) -> None:
def write_entry(profile: Optional[str], generation: int, specialisation: Optional[str],
machine_id: str, current: bool) -> None:
kernel = copy_from_profile(profile, generation, specialisation, "kernel")
initrd = copy_from_profile(profile, generation, specialisation, "initrd")
title = "@distroName@{profile}{specialisation}".format(
profile=" [" + profile + "]" if profile else "",
specialisation=" (%s)" % specialisation if specialisation else "")
try:
append_initrd_secrets = profile_path(profile, generation, specialisation, "append-initrd-secrets")
subprocess.check_call([append_initrd_secrets, "@efiSysMountPoint@%s" % (initrd)])
except FileNotFoundError:
pass
except subprocess.CalledProcessError:
if current:
print("failed to create initrd secrets!", file=sys.stderr)
sys.exit(1)
else:
print("warning: failed to create initrd secrets "
f'for "{title} - Configuration {generation}", an older generation', file=sys.stderr)
print("note: this is normal after having removed "
"or renamed a file in `boot.initrd.secrets`", file=sys.stderr)
entry_file = "@efiSysMountPoint@/loader/entries/%s" % (
generation_conf_filename(profile, generation, specialisation))
generation_dir = os.readlink(system_dir(profile, generation, specialisation))
@ -123,8 +138,7 @@ def write_entry(profile: Optional[str], generation: int, specialisation: Optiona
with open("%s/kernel-params" % (generation_dir)) as params_file:
kernel_params = kernel_params + params_file.read()
with open(tmp_path, 'w') as f:
f.write(BOOT_ENTRY.format(profile=" [" + profile + "]" if profile else "",
specialisation=" (%s)" % specialisation if specialisation else "",
f.write(BOOT_ENTRY.format(title=title,
generation=generation,
kernel=kernel,
initrd=initrd,
@ -281,10 +295,11 @@ def main() -> None:
remove_old_entries(gens)
for gen in gens:
try:
write_entry(*gen, machine_id)
is_default = os.readlink(system_dir(*gen)) == args.default_config
write_entry(*gen, machine_id, current=is_default)
for specialisation in get_specialisations(*gen):
write_entry(*specialisation, machine_id)
if os.readlink(system_dir(*gen)) == args.default_config:
write_entry(*specialisation, machine_id, current=is_default)
if is_default:
write_loader_conf(*gen)
except OSError as e:
profile = f"profile '{gen.profile}'" if gen.profile else "default profile"

View file

@ -39,6 +39,20 @@ let
"timers.target"
"xdg-desktop-autostart.target"
] ++ config.systemd.additionalUpstreamUserUnits;
writeTmpfiles = { rules, user ? null }:
let
suffix = if user == null then "" else "-${user}";
in
pkgs.writeTextFile {
name = "nixos-user-tmpfiles.d${suffix}";
destination = "/etc/xdg/user-tmpfiles.d/00-nixos${suffix}.conf";
text = ''
# This file is created automatically and should not be modified.
# Please change the options systemd.user.tmpfiles instead.
${concatStringsSep "\n" rules}
'';
};
in {
options = {
systemd.user.extraConfig = mkOption {
@ -93,6 +107,43 @@ in {
description = lib.mdDoc "Definition of systemd per-user timer units.";
};
systemd.user.tmpfiles = {
rules = mkOption {
type = types.listOf types.str;
default = [];
example = [ "D %C - - - 7d" ];
description = lib.mdDoc ''
Global user rules for creation, deletion and cleaning of volatile and
temporary files automatically. See
{manpage}`tmpfiles.d(5)`
for the exact format.
'';
};
users = mkOption {
description = mdDoc ''
Per-user rules for creation, deletion and cleaning of volatile and
temporary files automatically.
'';
default = {};
type = types.attrsOf (types.submodule {
options = {
rules = mkOption {
type = types.listOf types.str;
default = [];
example = [ "D %C - - - 7d" ];
description = mdDoc ''
Per-user rules for creation, deletion and cleaning of volatile and
temporary files automatically. See
{manpage}`tmpfiles.d(5)`
for the exact format.
'';
};
};
});
};
};
systemd.additionalUpstreamUserUnits = mkOption {
default = [];
type = types.listOf types.str;
@ -154,5 +205,30 @@ in {
# Some overrides to upstream units.
systemd.services."user@".restartIfChanged = false;
systemd.services.systemd-user-sessions.restartIfChanged = false; # Restart kills all active sessions.
# enable systemd user tmpfiles
systemd.user.services.systemd-tmpfiles-setup.wantedBy =
optional
(cfg.tmpfiles.rules != [] || any (cfg': cfg'.rules != []) (attrValues cfg.tmpfiles.users))
"basic.target";
# /run/current-system/sw/etc/xdg is in systemd's $XDG_CONFIG_DIRS so we can
# write the tmpfiles.d rules for everyone there
environment.systemPackages =
optional
(cfg.tmpfiles.rules != [])
(writeTmpfiles { inherit (cfg.tmpfiles) rules; });
# /etc/profiles/per-user/$USER/etc/xdg is in systemd's $XDG_CONFIG_DIRS so
# we can write a single user's tmpfiles.d rules there
users.users =
mapAttrs
(user: cfg': {
packages = optional (cfg'.rules != []) (writeTmpfiles {
inherit (cfg') rules;
inherit user;
});
})
cfg.tmpfiles.users;
};
}

View file

@ -230,7 +230,10 @@ let
escapedName = escapeShellArg name;
in {
wantedBy = [] ++ optional (container.autoStart) "multi-user.target";
after = lib.optionals (cfg.backend == "docker") [ "docker.service" "docker.socket" ] ++ dependsOn;
after = lib.optionals (cfg.backend == "docker") [ "docker.service" "docker.socket" ]
# if imageFile is not set, the service needs the network to download the image from the registry
++ lib.optionals (container.imageFile == null) [ "network-online.target" ]
++ dependsOn;
requires = dependsOn;
environment = proxy_env;

View file

@ -619,6 +619,7 @@ in {
strongswan-swanctl = handleTest ./strongswan-swanctl.nix {};
stunnel = handleTest ./stunnel.nix {};
sudo = handleTest ./sudo.nix {};
swap-file-btrfs = handleTest ./swap-file-btrfs.nix {};
swap-partition = handleTest ./swap-partition.nix {};
sway = handleTest ./sway.nix {};
switchTest = handleTest ./switch-test.nix {};
@ -657,6 +658,7 @@ in {
systemd-portabled = handleTest ./systemd-portabled.nix {};
systemd-shutdown = handleTest ./systemd-shutdown.nix {};
systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
systemd-user-tmpfiles-rules = handleTest ./systemd-user-tmpfiles-rules.nix {};
systemd-misc = handleTest ./systemd-misc.nix {};
systemd-userdbd = handleTest ./systemd-userdbd.nix {};
systemd-homed = handleTest ./systemd-homed.nix {};

View file

@ -1,4 +1,4 @@
import ./make-test-python.nix ({ ... }: {
import ./make-test-python.nix ({ pkgs, ... }: {
name = "coturn";
nodes = {
default = {
@ -25,5 +25,9 @@ import ./make-test-python.nix ({ ... }: {
with subtest("works with static-auth-secret-file"):
secretsfile.wait_for_unit("coturn.service")
secretsfile.succeed("grep 'some-very-secret-string' /run/coturn/turnserver.cfg")
# Forbidden IP, fails:
secretsfile.fail("${pkgs.coturn}/bin/turnutils_uclient -W some-very-secret-string 127.0.0.1 -DgX -e 127.0.0.1 -n 1 -c -y")
# allowed-peer-ip, should succeed:
secretsfile.succeed("${pkgs.coturn}/bin/turnutils_uclient -W some-very-secret-string 192.168.1.2 -DgX -e 192.168.1.2 -n 1 -c -y")
'';
})

View file

@ -143,6 +143,14 @@ in {
"curl -sSfL 'http://site2.local/doku.php?id=plugin-list' | (! grep 'plugin:tag')",
)
# Test if theme is applied and working correctly (no weired relative PHP import errors)
machine.succeed(
"curl -sSfL 'http://site1.local/doku.php' | grep 'bootstrap3/images/logo.png'",
"curl -sSfL 'http://site1.local/lib/exe/css.php' | grep 'bootstrap3'",
"curl -sSfL 'http://site1.local/lib/tpl/bootstrap3/css.php'",
)
# Just to ensure both Webserver configurations are consistent in allowing that
with subtest("Rewriting"):
machine.succeed(

View file

@ -51,7 +51,7 @@ let
boot.loader.systemd-boot.enable = true;
''}
boot.initrd.secrets."/etc/secret" = /etc/nixos/secret;
boot.initrd.secrets."/etc/secret" = ./secret;
users.users.alice = {
isNormalUser = true;
@ -150,8 +150,7 @@ let
)
with subtest("Shutdown system after installation"):
machine.succeed("umount /mnt/boot || true")
machine.succeed("umount /mnt")
machine.succeed("umount -R /mnt")
machine.succeed("sync")
machine.shutdown()
@ -309,7 +308,7 @@ let
# builds stuff in the VM, needs more juice
virtualisation.diskSize = 8 * 1024;
virtualisation.cores = 8;
virtualisation.memorySize = 2047;
virtualisation.memorySize = 1536;
boot.initrd.systemd.enable = systemdStage1;
@ -672,6 +671,55 @@ in {
'';
};
# Full disk encryption (root, kernel and initrd encrypted) using GRUB, GPT/UEFI,
# LVM-on-LUKS and a keyfile in initrd.secrets to enter the passphrase once
fullDiskEncryption = makeInstallerTest "fullDiskEncryption" {
createPartitions = ''
machine.succeed(
"flock /dev/vda parted --script /dev/vda -- mklabel gpt"
+ " mkpart ESP fat32 1M 100MiB" # /boot/efi
+ " set 1 boot on"
+ " mkpart primary ext2 1024MiB -1MiB", # LUKS
"udevadm settle",
"modprobe dm_mod dm_crypt",
"dd if=/dev/random of=luks.key bs=256 count=1",
"echo -n supersecret | cryptsetup luksFormat -q --pbkdf-force-iterations 1000 --type luks1 /dev/vda2 -",
"echo -n supersecret | cryptsetup luksAddKey -q --pbkdf-force-iterations 1000 --key-file - /dev/vda2 luks.key",
"echo -n supersecret | cryptsetup luksOpen --key-file - /dev/vda2 crypt",
"pvcreate /dev/mapper/crypt",
"vgcreate crypt /dev/mapper/crypt",
"lvcreate -L 100M -n swap crypt",
"lvcreate -l '100%FREE' -n nixos crypt",
"mkfs.vfat -n efi /dev/vda1",
"mkfs.ext4 -L nixos /dev/crypt/nixos",
"mkswap -L swap /dev/crypt/swap",
"mount LABEL=nixos /mnt",
"mkdir -p /mnt/{etc/nixos,boot/efi}",
"mount LABEL=efi /mnt/boot/efi",
"swapon -L swap",
"mv luks.key /mnt/etc/nixos/"
)
'';
bootLoader = "grub";
grubUseEfi = true;
extraConfig = ''
boot.loader.grub.enableCryptodisk = true;
boot.loader.efi.efiSysMountPoint = "/boot/efi";
boot.initrd.secrets."/luks.key" = ./luks.key;
boot.initrd.luks.devices.crypt =
{ device = "/dev/vda2";
keyFile = "/luks.key";
};
'';
enableOCR = true;
preBootCommands = ''
machine.start()
machine.wait_for_text("Enter passphrase for")
machine.send_chars("supersecret\n")
'';
};
swraid = makeInstallerTest "swraid" {
createPartitions = ''
machine.succeed(

View file

@ -0,0 +1,46 @@
import ./make-test-python.nix ({ lib, ... }:
{
name = "swap-file-btrfs";
meta.maintainers = with lib.maintainers; [ oxalica ];
nodes.machine =
{ pkgs, ... }:
{
virtualisation.useDefaultFilesystems = false;
virtualisation.bootDevice = "/dev/vda";
boot.initrd.postDeviceCommands = ''
${pkgs.btrfs-progs}/bin/mkfs.btrfs --label root /dev/vda
'';
virtualisation.fileSystems = {
"/" = {
device = "/dev/disk/by-label/root";
fsType = "btrfs";
};
};
swapDevices = [
{
device = "/var/swapfile";
size = 1; # 1MiB.
}
];
};
testScript = ''
machine.wait_for_unit('var-swapfile.swap')
machine.succeed("stat --file-system --format=%T /var/swapfile | grep btrfs")
# First run. Auto creation.
machine.succeed("swapon --show | grep /var/swapfile")
machine.shutdown()
machine.start()
# Second run. Use it as-is.
machine.wait_for_unit('var-swapfile.swap')
machine.succeed("swapon --show | grep /var/swapfile")
'';
})

View file

@ -0,0 +1,35 @@
import ./make-test-python.nix ({ lib, ... }: {
name = "systemd-user-tmpfiles-rules";
meta = with lib.maintainers; {
maintainers = [ schnusch ];
};
nodes.machine = { ... }: {
users.users = {
alice.isNormalUser = true;
bob.isNormalUser = true;
};
systemd.user.tmpfiles = {
rules = [
"d %h/user_tmpfiles_created"
];
users.alice.rules = [
"d %h/only_alice"
];
};
};
testScript = { ... }: ''
machine.succeed("loginctl enable-linger alice bob")
machine.wait_until_succeeds("systemctl --user --machine=alice@ is-active systemd-tmpfiles-setup.service")
machine.succeed("[ -d ~alice/user_tmpfiles_created ]")
machine.succeed("[ -d ~alice/only_alice ]")
machine.wait_until_succeeds("systemctl --user --machine=bob@ is-active systemd-tmpfiles-setup.service")
machine.succeed("[ -d ~bob/user_tmpfiles_created ]")
machine.succeed("[ ! -e ~bob/only_alice ]")
'';
})

View file

@ -18,7 +18,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
buildPhase = ''
runHook preBuild
# just build the static lib we need for the go test binary
make $makeFlags ''${enableParallelBuilding:+-j$NIX_BUILD_CORES -l$NIX_BUILD_CORES} bpf-core ./dist/btfhub
make $makeFlags ''${enableParallelBuilding:+-j$NIX_BUILD_CORES} bpf-core ./dist/btfhub
# remove the /usr/bin prefix to work with the patch above
substituteInPlace tests/integration/integration_test.go \

View file

@ -27,6 +27,8 @@ lib.makeScope newScope (self: with self; {
mopidy-musicbox-webclient = callPackage ./musicbox-webclient.nix { };
mopidy-notify = callPackage ./notify.nix { };
mopidy-podcast = callPackage ./podcast.nix { };
mopidy-scrobbler = callPackage ./scrobbler.nix { };
@ -35,6 +37,8 @@ lib.makeScope newScope (self: with self; {
mopidy-soundcloud = callPackage ./soundcloud.nix { };
mopidy-tidal = callPackage ./tidal.nix { };
mopidy-tunein = callPackage ./tunein.nix { };
mopidy-youtube = callPackage ./youtube.nix { };

View file

@ -0,0 +1,29 @@
{ lib, pythonPackages, mopidy }:
pythonPackages.buildPythonApplication rec {
pname = "Mopidy-Notify";
version = "0.2.0";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "sha256-lzZupjlS0kbNvsn18serOoMfu0sRb0nRwpowvOPvt/g=";
};
propagatedBuildInputs = [
mopidy
pythonPackages.pydbus
];
nativeBuildInputs = [
pythonPackages.pytestCheckHook
];
pythonImportsCheck = [ "mopidy_notify" ];
meta = with lib; {
homepage = "https://github.com/phijor/mopidy-notify";
description = "Mopidy extension for showing desktop notifications on track change";
license = licenses.asl20;
maintainers = with maintainers; [ lilyinstarlight ];
};
}

View file

@ -0,0 +1,35 @@
{ lib
, python3Packages
, mopidy
}:
python3Packages.buildPythonApplication rec {
pname = "Mopidy-Tidal";
version = "0.3.2";
src = python3Packages.fetchPypi {
inherit pname version;
hash = "sha256-ekqhzKyU2WqTOeRR1ZSZA9yW3UXsLBsC2Bk6FZrQgmc=";
};
propagatedBuildInputs = [
mopidy
python3Packages.tidalapi
];
checkInputs = with python3Packages; [
pytestCheckHook
pytest-mock
];
pytestFlagsArray = [ "tests/" ];
meta = with lib; {
description = "Mopidy extension for playing music from Tidal";
homepage = "https://github.com/tehkillerbee/mopidy-tidal";
license = licenses.mit;
maintainers = [ maintainers.rodrgz ];
};
}

View file

@ -42,13 +42,13 @@ let
in
stdenv.mkDerivation rec {
pname = "strawberry";
version = "1.0.13";
version = "1.0.14";
src = fetchFromGitHub {
owner = "jonaski";
repo = pname;
rev = version;
hash = "sha256-szvCI1olC7GccJUGwR2Cx+FNGvfxeESsiSwWPTXWbc0=";
hash = "sha256-ThfycS5yNpp6+mE33qPqEWlhSB3OIF7d/t2XvI+rF2E=";
};
# the big strawberry shown in the context menu is *very* much in your face, so use the grey version instead

View file

@ -7,14 +7,14 @@
rustPlatform.buildRustPackage rec {
pname = "termusic";
version = "0.7.7";
version = "0.7.8";
src = fetchCrate {
inherit pname version;
sha256 = "sha256-ynSNgiy8TUxRBDAi4rSPd5ztSLMaaFg1yEMTD1TI3V4=";
sha256 = "sha256-1RlG1/2+NuMO9zqFHQaEkEX1YrYYMjnaNprjdl1ZnHQ=";
};
cargoHash = "sha256-jD+oJw9xGY9ItYvoIUMwn8HrM72+02wOTeXEJjkZAfk=";
cargoHash = "sha256-SYk2SiFbp40/6Z0aBoX4MPnPLHjEfsJKCW4cErm0D78=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ alsa-lib ];

View file

@ -2,7 +2,7 @@
let
pname = "erigon";
version = "2.34.0";
version = "2.35.2";
in
buildGoModule {
inherit pname version;
@ -11,11 +11,11 @@ buildGoModule {
owner = "ledgerwatch";
repo = pname;
rev = "v${version}";
sha256 = "sha256-oiFPnDzvLdVkGeflqUcB00peZyVLMzsXi7QzOjPlpHo=";
sha256 = "sha256-hGJ9SeUYACOuypTJmPnrv4f8ujjsUt3dZbwso+94g3M=";
fetchSubmodules = true;
};
vendorSha256 = "sha256-x/ffvbBKzJrssOo+cuWIiwHWu9UfeBHSbgwmLE0340A=";
vendorSha256 = "sha256-lKzJLRCcyhQIV7y1XxqbvTINLlUwWFnflZgGQHYzBjY=";
proxyVendor = true;
# Build errors in mdbx when format hardening is enabled:

View file

@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
version = "22.8.12";
src = fetchzip {
url = "https://downloads.exodus.io/releases/${pname}-linux-x64-${version}.zip";
url = "https://downloads.exodus.com/releases/${pname}-linux-x64-${version}.zip";
sha256 = "sha256-jNzHh4zYhFzpFZAC9rHmwjTdFkbpROSEN3qpL7geiOU=";
};

View file

@ -15,6 +15,7 @@
, testers
, unzip
, nix-update-script
, SystemConfiguration
}:
rustPlatform.buildRustPackage rec {
@ -41,7 +42,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = lib.optionals stdenv.isDarwin [
Security
] ++ lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
CoreFoundation
CoreFoundation SystemConfiguration
];
depositContractSpec = fetchurl {

View file

@ -0,0 +1,33 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "torq";
version = "0.16.15";
src = fetchFromGitHub {
owner = "lncapital";
repo = pname;
rev = "v${version}";
hash = "sha256-ibrPq/EC61ssn4072gTNvJg9QO41+aTsU1Hhc6X6NPk=";
};
vendorHash = "sha256-HETN2IMnpxnTyg6bQDpoD0saJu+gKocdEf0VzEi12Gs=";
subPackages = [ "cmd/torq" ];
ldflags = [
"-s"
"-w"
"-X github.com/lncapital/torq/build.version=v${version}"
];
meta = with lib; {
description = "Capital management tool for lightning network nodes";
license = licenses.mit;
homepage = "https://github.com/lncapital/torq";
maintainers = with maintainers; [ mmilata prusnak ];
};
}

View file

@ -1,34 +1,34 @@
{ lib
, stdenv
, fetchFromGitHub
, buildDotnetModule
, dotnetCorePackages
, autoPatchelfHook
, zlib
, openssl
{
lib,
stdenv,
fetchFromGitHub,
buildDotnetModule,
dotnetCorePackages,
autoPatchelfHook,
zlib,
openssl,
}:
buildDotnetModule rec {
pname = "wasabibackend";
version = "1.1.13.1";
version = "2.0.2.1";
src = fetchFromGitHub {
owner = "zkSNACKs";
repo = "WalletWasabi";
rev = "v${version}";
sha256 = "sha256-Hwav7moG6XKAcR7L0Q7CtifP3zCNRfHIihlaFw+dzbk=";
rev = "refs/tags/v${version}";
hash = "sha512-JuCl3SyejzwUd2n8Fy7EdxUuO4bIcGb8yMWZQOhZzsY4fvg9prFOnVZEquxahD0a41MLKHRNA1R2N3NMapcc0A==";
};
projectFile = "WalletWasabi.Backend/WalletWasabi.Backend.csproj";
nugetDeps = ./deps.nix;
dotnet-sdk = dotnetCorePackages.sdk_3_1;
dotnet-runtime = dotnetCorePackages.aspnetcore_3_1;
dotnet-sdk = dotnetCorePackages.sdk_7_0;
dotnet-runtime = dotnetCorePackages.aspnetcore_7_0;
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [ stdenv.cc.cc.lib zlib ];
nativeBuildInputs = [autoPatchelfHook];
buildInputs = [stdenv.cc.cc.lib zlib];
runtimeDeps = [ openssl zlib ];
runtimeDeps = [openssl zlib];
preConfigure = ''
makeWrapperArgs+=(
@ -43,9 +43,9 @@ buildDotnetModule rec {
meta = with lib; {
description = "Backend for the Wasabi Wallet";
homepage = "https://wasabiwallet.io/";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
sourceProvenance = with sourceTypes; [binaryNativeCode];
license = licenses.mit;
maintainers = with maintainers; [ mmahut ];
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [mmahut];
platforms = ["x86_64-linux"];
};
}

View file

@ -2,8 +2,8 @@
# Please dont edit it manually, your changes might get overwritten!
{ fetchNuGet }: [
(fetchNuGet { pname = "Microsoft.AspNetCore.JsonPatch"; version = "3.1.1"; sha256 = "0c0aaz9rlh9chc53dnv5jryp0x0415hipaizrmih3kzwd3fmqpml"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; version = "3.1.1"; sha256 = "1c2lrlp64kkacnjgdyygr6fqdawk10l8j4qgppii6rq61yjwhcig"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.JsonPatch"; version = "7.0.0"; sha256 = "1f13vsfs1rp9bmdp3khk4mk2fif932d72yxm2wszpsr239x4s2bf"; })
(fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; version = "7.0.0"; sha256 = "1w49rg0n5wb1m5wnays2mmym7qy7bsi2b1zxz97af2rkbw3s3hbd"; })
(fetchNuGet { pname = "Microsoft.Build"; version = "15.3.409"; sha256 = "0vzq6csp2yys9s96c7i37bjml439rdi47g8f5rzqdr7xf5a1jk81"; })
(fetchNuGet { pname = "Microsoft.Build.Framework"; version = "15.3.409"; sha256 = "1dhanwb9ihbfay85xj7cwn0byzmmdz94hqfi3q6r1ncwdjd8y1s2"; })
(fetchNuGet { pname = "Microsoft.Build.Runtime"; version = "15.3.409"; sha256 = "135ycnqz5jfg61y5zaapgc7xdpjx2aq4icmxb9ph7h5inl445q7q"; })
@ -11,7 +11,7 @@
(fetchNuGet { pname = "Microsoft.Build.Utilities.Core"; version = "15.3.409"; sha256 = "1p8a0l9sxmjj86qha748qjw2s2n07q8mn41mj5r6apjnwl27ywnf"; })
(fetchNuGet { pname = "Microsoft.CSharp"; version = "4.3.0"; sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb"; })
(fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; })
(fetchNuGet { pname = "Microsoft.Extensions.ApiDescription.Server"; version = "3.0.0"; sha256 = "13a47xcqyi5gz85swxd4mgp7ndgl4kknrvv3xwmbn71hsh953hsh"; })
(fetchNuGet { pname = "Microsoft.Extensions.ApiDescription.Server"; version = "6.0.5"; sha256 = "1pi2bm3cm0a7jzqzmfc2r7bpcdkmk3hhjfvb2c81j7wl7xdw3624"; })
(fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Abstractions"; version = "2.0.0"; sha256 = "0d6y5isjy6jpf4w3f3w89cwh9p40glzhwvm7cwhx05wkqd8bk9w4"; })
(fetchNuGet { pname = "Microsoft.Extensions.FileProviders.Physical"; version = "2.0.0"; sha256 = "0l0l92g7sq4122n139av1pn1jl6wlw92hjmdnr47xdss0ndmwrs3"; })
(fetchNuGet { pname = "Microsoft.Extensions.FileSystemGlobbing"; version = "2.0.0"; sha256 = "02lzy6r14ghwfwm384xajq08vv3pl3ww0mi5isrr10vivhijhgg4"; })
@ -24,22 +24,20 @@
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.1"; sha256 = "1j2hmnivgb4plni2dd205kafzg6mkg7r4knrd3s7mg75wn2l25np"; })
(fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "3.1.0"; sha256 = "1gc1x8f95wk8yhgznkwsg80adk1lc65v9n5rx4yaa4bc5dva0z3j"; })
(fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
(fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
(fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.1.4"; sha256 = "1sn79829nhx6chi2qxsza1801di7zdl5fd983m0jakawzbjhjcb3"; })
(fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.2.3"; sha256 = "07b19k89whj69j87afkz86gp9b3iybw8jqwvlgcn43m7fb2y99rr"; })
(fetchNuGet { pname = "Microsoft.VisualStudio.Web.CodeGeneration.Contracts"; version = "2.0.2"; sha256 = "1fs6sbjn0chx6rv38d61zgk8mhyyxz44xp4wsfya0lvkckyszyn1"; })
(fetchNuGet { pname = "Microsoft.VisualStudio.Web.CodeGeneration.Tools"; version = "2.0.2"; sha256 = "0fkjm06irs53d77z29i6dwj5pjhgj9ivhad8v39ghnrwasc0ivq6"; })
(fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1"; sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; })
(fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.0.0"; sha256 = "1spf4m9pikkc19544p29a47qnhcd885klncahz133hbnyqbkmz9k"; })
(fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.7.0"; sha256 = "0bx21jjbs7l5ydyw4p6cn07chryxpmchq2nl5pirzz4l3b0q4dgs"; })
(fetchNuGet { pname = "NBitcoin"; version = "5.0.81"; sha256 = "1fba94kc8yzykb1m5lvpx1hm63mpycpww9cz5zfp85phs1spdn8x"; })
(fetchNuGet { pname = "NBitcoin.Secp256k1"; version = "1.0.10"; sha256 = "14hngbhxk2xjr5kcbsb26l788xnd1lmxn7fhmm2kvx49kdb1malp"; })
(fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "7.0.0"; sha256 = "1bh77misznh19m1swqm3dsbji499b8xh9gk6w74sgbkarf6ni8lb"; })
(fetchNuGet { pname = "NBitcoin"; version = "7.0.14"; sha256 = "18nxx13fz3i7kmigijnynvrbx2i5cb3v4m89nvnxl38vcw7w5jys"; })
(fetchNuGet { pname = "NBitcoin.Secp256k1"; version = "3.0.1"; sha256 = "17wxn0dinmp5fbqdirflfkz75wykqvw9a7ydv2inx1sajxnsy1f3"; })
(fetchNuGet { pname = "NETStandard.Library"; version = "1.6.0"; sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k"; })
(fetchNuGet { pname = "NETStandard.Library"; version = "2.0.1"; sha256 = "0d44wjxphs1ck838v7dapm0ag0b91zpiy33cr5vflsrwrqgj51dk"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "10.0.1"; sha256 = "15ncqic3p2rzs8q8ppi0irl2miq75kilw4lh8yfgjq96id0ds3hv"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "11.0.2"; sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "12.0.2"; sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; })
(fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; })
(fetchNuGet { pname = "Newtonsoft.Json.Bson"; version = "1.0.2"; sha256 = "0c27bhy9x3c2n26inq32kmp6drpm71n6mqnmcr19wrlcaihglj35"; })
(fetchNuGet { pname = "NuGet.Frameworks"; version = "4.0.0"; sha256 = "0nar684cm53cvzx28gzl6kmpg9mrfr1yv29323din7xqal4pscgq"; })
(fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.0.11"; sha256 = "1x44bm1cgv28zmrp095wf9mn8a6a0ivnzp9v14dcbhx06igxzgg0"; })
@ -61,10 +59,10 @@
(fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "05ndbai4vpqrry0ghbfgqc8xblmplwjgndxmdn1zklqimczwjg2d"; })
(fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.0.1"; sha256 = "0ic5dgc45jkhcr1g9xmmzjm7ffiw4cymm0fprczlx4fnww4783nm"; })
(fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0x1cwd7cvifzmn5x1wafvj75zdxlk3mxy860igh3x1wx0s8167y4"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "5.0.0"; sha256 = "0rn2awmzrsrppk97xbbwk4kq1mys9bygb5xhl6mphbk0hchrvh09"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "5.0.0"; sha256 = "1341nv8nmh6avs3y7w2szzir5qd0bndxwrkdmvvj3hcxj1126w2f"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "5.0.0"; sha256 = "00swg2avqnb38q2bsxljd34n8rpknp74h9vbn0fdnfds3a32cqr4"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "5.0.0"; sha256 = "0d7vjq489rz208j6k3rb7vq6mzxzff3mqg83yk2rqy25vklrsbjd"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore"; version = "6.4.0"; sha256 = "1jkgjnkjcb6dif0lzn7whjwwdd4fi6mzkmkdx8sfmv5cffzq4fvk"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.Swagger"; version = "6.4.0"; sha256 = "1wccx8ig2xc6xcfh774m5z34w6jn0hjffiwc5sq9yl63zkv01vnn"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerGen"; version = "6.4.0"; sha256 = "1k58j6lfqcgrl5f7dw0xnbq6w5bvr42a9fc44vwbzl52kzjdlnh2"; })
(fetchNuGet { pname = "Swashbuckle.AspNetCore.SwaggerUI"; version = "6.4.0"; sha256 = "1rxgf0hbkkzywh8z7asky2rrh1gpnrr514v1aj5vnmh49sa31kiz"; })
(fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; })
(fetchNuGet { pname = "System.Buffers"; version = "4.0.0"; sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; })
(fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; })
@ -152,7 +150,6 @@
(fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; })
(fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.3.0"; sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf"; })
(fetchNuGet { pname = "System.Runtime.Serialization.Xml"; version = "4.1.1"; sha256 = "11747an5gbz821pwahaim3v82gghshnj9b5c4cw539xg5a3gq7rk"; })
(fetchNuGet { pname = "System.Security.AccessControl"; version = "4.7.0"; sha256 = "0n0k0w44flkd8j0xw7g3g3vhw7dijfm51f75xkm1qxnbh4y45mpz"; })
(fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.2.0"; sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85"; })
(fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.2.0"; sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc"; })
(fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.0.0"; sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q"; })
@ -161,7 +158,6 @@
(fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.0.0"; sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh"; })
(fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.1.0"; sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh"; })
(fetchNuGet { pname = "System.Security.Principal"; version = "4.0.1"; sha256 = "1nbzdfqvzzbgsfdd5qsh94d7dbg2v4sw0yx6himyn52zf8z6007p"; })
(fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.7.0"; sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d"; })
(fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; })
(fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
(fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.0.1"; sha256 = "00wpm3b9y0k996rm9whxprngm8l500ajmzgy2ip9pgwk0icp06y3"; })

View file

@ -1,20 +1,13 @@
{ lib, stdenv, fetchurl }:
{ lib, trivialBuild, fetchurl }:
stdenv.mkDerivation {
name = "control-lock";
trivialBuild {
pname = "control-lock";
src = fetchurl {
url = "https://github.com/emacsmirror/emacswiki.org/blob/185fdc34fb1e02b43759ad933d3ee5646b0e78f8/control-lock.el";
sha256 = "1b5xcgq2r565pr1c14dwrmn1fl05p56infapa5pqvajv2kpfla7h";
url = "https://raw.githubusercontent.com/emacsmirror/emacswiki.org/185fdc34fb1e02b43759ad933d3ee5646b0e78f8/control-lock.el";
hash = "sha256-JCrmS3FSGDHSR+eAR0X/uO0nAgd3TUmFxwEVH5+KV+4=";
};
dontUnpack = true;
installPhase = ''
install -d $out/share/emacs/site-lisp
install $src $out/share/emacs/site-lisp/control-lock.el
'';
meta = {
description = "Like caps-lock, but for your control key. Give your pinky a rest!";
homepage = "https://www.emacswiki.org/emacs/control-lock.el";

View file

@ -1,19 +1,17 @@
{ lib
, trivial-build
{ trivialBuild
, fetchurl
}:
trivial-build {
name = "perl-completion";
trivialBuild {
pname = "perl-completion";
src = fetchurl {
url = "http://emacswiki.org/emacs/download/perl-completion.el";
sha256 = "0x6qsgs4hm87k0z9q3g4p6508kc3y123j5jayll3jf3lcl2vm6ks";
};
dontUnpack = true;
meta = {
broken = true;
description = "Minor mode provides useful features for editing perl codes";
homepage = "http://emacswiki.org/emacs/PerlCompletion";
};

View file

@ -22,13 +22,13 @@
let
# when bumping the version, check if imhex has gotten support for the capstone version in nixpkgs
version = "1.19.3";
version = "1.26.2";
patterns_src = fetchFromGitHub {
owner = "WerWolv";
repo = "ImHex-Patterns";
rev = "ImHex-v${version}";
hash = "sha256-mukGPN2TugJZLLuZ5FTvZ4DxUsMGfVNhBFAPnBRC0qs=";
hash = "sha256-2+7bJzgwHfXcINM5oxwi3vEbUtq9gGJc/uxFOwT4RnM=";
};
in
@ -41,7 +41,7 @@ gcc12Stdenv.mkDerivation rec {
owner = "WerWolv";
repo = pname;
rev = "v${version}";
hash = "sha256-SFv5ulyjm5Yf+3Gpx+A74so2YClCJx1sx0LE5fh5eG4=";
hash = "sha256-H2bnRByCUAltngmVWgPW4vW8k5AWecOAzwtBKsjbpTw=";
};
nativeBuildInputs = [ cmake llvm python3 perl pkg-config ];
@ -72,10 +72,8 @@ gcc12Stdenv.mkDerivation rec {
"-DUSE_SYSTEM_YARA=ON"
];
# for reasons unknown, the built-in plugin isn't found unless made available under $out/bin
postInstall = ''
ln -s $out/share/imhex/plugins $out/bin/
mkdir -p $out/share/imhex
for d in ${patterns_src}/{constants,encodings,includes,magic,patterns}; do
cp -r $d $out/share/imhex/
done

View file

@ -2,13 +2,13 @@
mkDerivation rec {
pname = "notepad-next";
version = "0.5.6";
version = "0.6";
src = fetchFromGitHub {
owner = "dail8859";
repo = "NotepadNext";
rev = "v${version}";
sha256 = "sha256-0ZmyEtyVpqQ05FOYdFbnFqfPJKNkrweflSl+irOzcuk=";
sha256 = "sha256-t+TfyhQjUp4xJQ4vihAwm691dpt8ctQwLYDRRAQI7OM=";
# External dependencies - https://github.com/dail8859/NotepadNext/issues/135
fetchSubmodules = true;
};

View file

@ -1,25 +1,29 @@
{ lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles, makeWrapper, pkg-config
, tcsh
, withGui ? stdenv.isLinux, vte # vte is broken on darwin
, withGui ? true, vte
}:
buildGoModule rec {
pname = "o";
version = "2.57.0";
version = "2.58.0";
src = fetchFromGitHub {
owner = "xyproto";
repo = "o";
rev = "v${version}";
hash = "sha256-UKFquf5h1e7gRAZgtcTdEpoNv+TOC8BYb2ED26X274s=";
hash = "sha256-oYWlciTQ/4mm/gTSQEkD/xPeLfDjIAMksjj1DVodZW4=";
};
postPatch = ''
substituteInPlace ko/main.cpp --replace '/bin/csh' '${tcsh}/bin/tcsh'
'';
vendorSha256 = null;
postPatch = lib.optionalString stdenv.isDarwin ''
substituteInPlace Makefile \
--replace "-Wl,--as-needed" ""
# Requires impure pbcopy and pbpaste
substituteInPlace v2/pbcopy_test.go \
--replace TestPBcopy SkipTestPBcopy
'';
nativeBuildInputs = [ installShellFiles makeWrapper pkg-config ];
buildInputs = lib.optional withGui vte;
@ -31,7 +35,7 @@ buildGoModule rec {
installManPage o.1
'' + lib.optionalString withGui ''
make install-gui PREFIX=$out
wrapProgram $out/bin/ko --prefix PATH : $out/bin
wrapProgram $out/bin/og --prefix PATH : $out/bin
'';
meta = with lib; {

View file

@ -20,14 +20,14 @@ let
version = "6.8";
src = fetchurl {
url = "https://download.pinegrow.com/PinegrowLinux64.${versions."6".version}.zip";
sha256 = "sha256-gqRmu0VR8Aj57UwYYLKICd4FnYZMhM6pTTSGIY5MLMk=";
hash = "sha256-gqRmu0VR8Aj57UwYYLKICd4FnYZMhM6pTTSGIY5MLMk=";
};
};
"7" = {
version = "7.03";
version = "7.05.2";
src = fetchurl {
url = "https://download.pinegrow.com/PinegrowLinux64.${versions."7".version}.zip";
sha256 = "sha256-MdaJBmOPr1+J235IZPd3EBzbDTiORginyVKsjSkKbpE=";
url = "https://github.com/Pinegrow/PinegrowReleases/releases/download/pg${builtins.substring 0 4 (versions."7".version)}/PinegrowLinux64.${versions."7".version}.zip";
hash = "sha256-Cvy4JwnQHMp7K0mKtIH8lk1bZ9hwa8nvtmimBK0UAf8=";
};
};
};

View file

@ -1,26 +1,14 @@
{ lib, stdenv, appimageTools, autoPatchelfHook, desktop-file-utils
{ callPackage, lib, stdenv, appimageTools, autoPatchelfHook, desktop-file-utils
, fetchurl, libsecret }:
let
version = "3.23.69";
srcjson = builtins.fromJSON (builtins.readFile ./src.json);
version = srcjson.version;
pname = "standardnotes";
name = "${pname}-${version}";
throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
plat = {
i686-linux = "i386";
x86_64-linux = "x86_64";
}.${stdenv.hostPlatform.system} or throwSystem;
sha256 = {
i686-linux = "sha256-/A2LjV8ky20bcKgs0ijwldryi5VkyROwz49vWYXYQus=";
x86_64-linux = "sha256-fA9WH9qUtvAHF9hTFRtxQdpz2dpK0joD0zX9VYBo10g=";
}.${stdenv.hostPlatform.system} or throwSystem;
src = fetchurl {
url = "https://github.com/standardnotes/app/releases/download/%40standardnotes%2Fdesktop%40${version}/standard-notes-${version}-linux-${plat}.AppImage";
inherit sha256;
};
src = fetchurl (srcjson.appimage.${stdenv.hostPlatform.system} or throwSystem);
appimageContents = appimageTools.extract {
inherit name src;
@ -47,6 +35,8 @@ in appimageTools.wrapType2 rec {
ln -s ${appimageContents}/usr/share/icons share
'';
passthru.updateScript = callPackage ./update.nix {};
meta = with lib; {
description = "A simple and private notes app";
longDescription = ''
@ -55,8 +45,8 @@ in appimageTools.wrapType2 rec {
'';
homepage = "https://standardnotes.org";
license = licenses.agpl3;
maintainers = with maintainers; [ mgregoire chuangzhu ];
maintainers = with maintainers; [ mgregoire chuangzhu squalus ];
sourceProvenance = [ sourceTypes.binaryNativeCode ];
platforms = [ "i686-linux" "x86_64-linux" ];
platforms = builtins.attrNames srcjson.appimage;
};
}

View file

@ -0,0 +1,17 @@
{
"version": "3.129.0",
"appimage": {
"x86_64-linux": {
"url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.129.0/standard-notes-3.129.0-linux-x86_64.AppImage",
"hash": "sha512-JLO2jX9Us6BjqmTZIkVyxy2pqFM/eFGpwi6vXicMOgDB0UsgEMTK+Ww+9g+vJ1KbFRFmlt187qkdSNcevQPt7w=="
},
"aarch64-linux": {
"url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.129.0/standard-notes-3.129.0-linux-arm64.AppImage",
"hash": "sha512-LGUSRqMrJ+hVHyi/bjI/NkWRVsmY0Kh/wRY9RNJXm0C3dKQSFV8ca4GeY9+VCuJEecR4LGnWp4agS5jPybPP6w=="
},
"i686-linux": {
"url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.129.0/standard-notes-3.129.0-linux-i386.AppImage",
"hash": "sha512-XbQ4hn3QJ61hDC12cK95zsUowbyXPYArHZoRDx5trQ30phtQxtz6nV+pL00m4S9kYeEhsAwk1wXlRq9Ylbz2IA=="
}
}
}

View file

@ -0,0 +1,55 @@
{ writeScript
, lib, curl, runtimeShell, jq, coreutils, moreutils, nix, gnused }:
writeScript "update-standardnotes" ''
#!${runtimeShell}
PATH=${lib.makeBinPath [ jq curl nix coreutils moreutils gnused ]}
set -euo pipefail
set -x
tmpDir=$(mktemp -d)
srcJson=pkgs/applications/editors/standardnotes/src.json
jsonPath="$tmpDir"/latest
oldVersion=$(jq -r .version < "$srcJson")
curl https://api.github.com/repos/standardnotes/app/releases/latest > "$jsonPath"
tagName=$(jq -r .tag_name < "$jsonPath")
if [[ ! "$tagName" =~ "desktop" ]]; then
echo "latest release '$tagName' not a desktop release"
exit 1
fi
newVersion=$(jq -r .tag_name < "$jsonPath" | sed s,@standardnotes/desktop@,,g)
if [[ "$oldVersion" == "$newVersion" ]]; then
echo "version did not change"
exit 0
fi
function getDownloadUrl() {
jq -r ".assets[] | select(.name==\"standard-notes-$newVersion-$1.AppImage\") | .browser_download_url" < "$jsonPath"
}
function setJsonKey() {
jq "$1 = \"$2\"" "$srcJson" | sponge "$srcJson"
}
function updatePlatform() {
nixPlatform="$1"
upstreamPlatform="$2"
url=$(getDownloadUrl "$upstreamPlatform")
hash=$(nix-prefetch-url "$url" --type sha512)
sriHash=$(nix hash to-sri --type sha512 $hash)
setJsonKey .appimage[\""$nixPlatform"\"].url "$url"
setJsonKey .appimage[\""$nixPlatform"\"].hash "$sriHash"
}
updatePlatform x86_64-linux linux-x86_64
updatePlatform aarch64-linux linux-arm64
updatePlatform i686-linux linux-i386
setJsonKey .version "$newVersion"
''

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
{ buildGrammar, fetchFromBitbucket, fetchFromGitHub, fetchFromGitLab, fetchFromGitea, fetchFromGitiles, fetchFromRepoOrCz, fetchFromSourcehut, fetchgit, fetchhg, fetchsvn }:
{ buildGrammar, fetchCrate, fetchFromBitbucket, fetchFromGitHub, fetchFromGitLab, fetchFromGitea, fetchFromGitiles, fetchFromRepoOrCz, fetchFromSourcehut, fetchHex, fetchgit, fetchhg, fetchsvn }:
{
ada = buildGrammar {
@ -115,12 +115,12 @@
};
c_sharp = buildGrammar {
language = "c_sharp";
version = "3b661ce";
version = "2574501";
source = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-c-sharp";
rev = "3b661ced8d510aa424e2f68314520c281dd8c113";
hash = "sha256-Z+ueKX2CAtWTCMipElZUl97hrUEb8Dv1po8xSLI3iJA=";
rev = "2574501b475b7ba7bc10d08dd1ff9732d3769662";
hash = "sha256-bXwGZJ+lYTJyaD7kbQGL6hagpkgqqCsPHBiz9AOXfNc=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-c-sharp";
};
@ -402,6 +402,17 @@
};
meta.homepage = "https://github.com/stadelmanma/tree-sitter-fortran";
};
fsh = buildGrammar {
language = "fsh";
version = "fa33477";
source = fetchFromGitHub {
owner = "mgramigna";
repo = "tree-sitter-fsh";
rev = "fa3347712f7a59ed02ccf508284554689c6cde28";
hash = "sha256-6TLG2edQeo+jRVAnO6mq3pC8RYNFi2UVVT3mQGZqk5U=";
};
meta.homepage = "https://github.com/mgramigna/tree-sitter-fsh";
};
fusion = buildGrammar {
language = "fusion";
version = "19db2f4";
@ -448,12 +459,12 @@
};
gitcommit = buildGrammar {
language = "gitcommit";
version = "0ef7dd0";
version = "190d288";
source = fetchFromGitHub {
owner = "gbprod";
repo = "tree-sitter-gitcommit";
rev = "0ef7dd07236141a878b4cc2c488375baa5cc9d5d";
hash = "sha256-8OyjmnCLR14ivJBf/9KO4rmc99xL818iMY8uxkjtVGw=";
rev = "190d288a1746bddb4abe96b597fb7d17b76e5522";
hash = "sha256-PPdwdUfJ+2TCxVdEvexxGSBMDZmI1GW7eSfc/X3Me7Y=";
};
meta.homepage = "https://github.com/gbprod/tree-sitter-gitcommit";
};
@ -482,12 +493,12 @@
};
glimmer = buildGrammar {
language = "glimmer";
version = "fee3427";
version = "c0bfd26";
source = fetchFromGitHub {
owner = "alexlafroscia";
repo = "tree-sitter-glimmer";
rev = "fee34278dc212869dcfc92fce3007ee79a752867";
hash = "sha256-a3goK+QSkrdsKvimT8vpsJ1bt8FhLf1bws0aqjncv3A=";
rev = "c0bfd260cdcbe2976f4633547c218f09f7222a89";
hash = "sha256-Goj900MJxO44KYkzD0UpGFEGHAwr6qhe2bmCzpx5BhE=";
};
meta.homepage = "https://github.com/alexlafroscia/tree-sitter-glimmer";
};
@ -903,23 +914,23 @@
};
meson = buildGrammar {
language = "meson";
version = "6c5f7ef";
version = "5f3138d";
source = fetchFromGitHub {
owner = "Decodetalkers";
repo = "tree-sitter-meson";
rev = "6c5f7ef944f9c6ae8a0fc28b9071a4b493652238";
hash = "sha256-r/H7v6a1blsendVBxx9Qy4f2i4V3LsxSwe+9/PRbfG8=";
rev = "5f3138d555aceef976ec9a1d4a3f78e13b31e45f";
hash = "sha256-P0S2JpRjAznDLaU97NMzLuuNyPqqy4RNqBa+PKvyl6s=";
};
meta.homepage = "https://github.com/Decodetalkers/tree-sitter-meson";
};
nickel = buildGrammar {
language = "nickel";
version = "7867780";
version = "092e901";
source = fetchFromGitHub {
owner = "nickel-lang";
repo = "tree-sitter-nickel";
rev = "7867780e52ebeda0daa4a55acb870100e070d274";
hash = "sha256-SXM15LbQ4bGKx+2QY7jMHq4G4ATtak2Umnb3SHFUqM0=";
rev = "092e90142667482996880044d2c04837d3d1c266";
hash = "sha256-y0Lx6HdkoC7rOzm8fOfLBUt6672qe7AHe1SI6YY/aHE=";
};
meta.homepage = "https://github.com/nickel-lang/tree-sitter-nickel";
};
@ -1082,12 +1093,12 @@
};
pug = buildGrammar {
language = "pug";
version = "63e2149";
version = "148608f";
source = fetchFromGitHub {
owner = "zealot128";
repo = "tree-sitter-pug";
rev = "63e214905970e75f065688b1e8aa90823c3aacdc";
hash = "sha256-t/KRUV1DMlU/xu5BRe1VZm+dliXdtUVhFO+6psiHf+Q=";
rev = "148608f3a88708829ac4e79ff9cb1c4a618e01b7";
hash = "sha256-wEUJdu+2deObsc54BNPdUyTAR9Eih8hGbWRrwP5bhMk=";
};
meta.homepage = "https://github.com/zealot128/tree-sitter-pug";
};
@ -1236,23 +1247,23 @@
};
scala = buildGrammar {
language = "scala";
version = "fd05f09";
version = "f6bbf35";
source = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-scala";
rev = "fd05f09043051c82fba695aa95cee9c534fbc533";
hash = "sha256-/o9TsnKGeukIGgfOjwNDjdxPkr5zyIPh1bZsvr2FX90=";
rev = "f6bbf35de41653b409ca9a3537a154f2b095ef64";
hash = "sha256-GNGD5UIPzpRQbGCp/fcBV6laPRhU5YQGbNiaAGis0CY=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-scala";
};
scheme = buildGrammar {
language = "scheme";
version = "16bdcf0";
version = "67b90a3";
source = fetchFromGitHub {
owner = "6cdh";
repo = "tree-sitter-scheme";
rev = "16bdcf0495865e17ae5b995257458e31e8b7f450";
hash = "sha256-+K+T5IgcEdTZK4s60AmkPg7L6Aw0mj36FMsWaRxUT0I=";
rev = "67b90a365bebf4406af4e5a546d6336de787e135";
hash = "sha256-aHYOzOPK74Jd6MWFsap/k+dG+aJDTXQ05q7NoP5kfd8=";
};
meta.homepage = "https://github.com/6cdh/tree-sitter-scheme";
};
@ -1313,12 +1324,12 @@
};
sql = buildGrammar {
language = "sql";
version = "3647b9f";
version = "9d98029";
source = fetchFromGitHub {
owner = "derekstride";
repo = "tree-sitter-sql";
rev = "3647b9f5b937269f43ac6e4b6ebcb6f52e033c17";
hash = "sha256-flZtgmMflDlWggMisUfVOA7ikGpkYwAGxzlc4jYzrrQ=";
rev = "9d9802991aa1d1bc00eee7713a838dab1eb4f149";
hash = "sha256-Iy5rqNZem1r++aI7vGITzBSFGjdDLGHFOgBWqIgKZX0=";
};
generate = true;
meta.homepage = "https://github.com/derekstride/tree-sitter-sql";
@ -1358,12 +1369,12 @@
};
swift = buildGrammar {
language = "swift";
version = "5f0ffaf";
version = "0fe0de5";
source = fetchFromGitHub {
owner = "alex-pinkus";
repo = "tree-sitter-swift";
rev = "5f0ffaf21c7fda4d758d9ef5b20d563271653ce0";
hash = "sha256-tPcCa3hqWN2NuQZOJXnB10h0m1MzRL4M+dvrtlpkAGs=";
rev = "0fe0de56b528cbf24a654c734ca181b48be3831d";
hash = "sha256-tU6UTyTR5biS6qBG0z6NbjJQUtZItzzscAKftUAzLq0=";
};
generate = true;
meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
@ -1428,12 +1439,12 @@
};
tlaplus = buildGrammar {
language = "tlaplus";
version = "f2ad727";
version = "7c5452a";
source = fetchFromGitHub {
owner = "tlaplus-community";
repo = "tree-sitter-tlaplus";
rev = "f2ad7272d145598ff2d27fda15379d26aa33a7e1";
hash = "sha256-lnl0q9vJiIoqU3Lo+uCIcMdMueXTQ/MVgZUCHvXeqhs=";
rev = "7c5452a0720271a349d6174b8778e76b189bebef";
hash = "sha256-DJIA2gvwWWqTGrC48FZiRZNt048KiQ/4sZxYSnHmlEg=";
};
meta.homepage = "https://github.com/tlaplus-community/tree-sitter-tlaplus";
};
@ -1507,12 +1518,12 @@
};
v = buildGrammar {
language = "v";
version = "497563e";
version = "0b03983";
source = fetchFromGitHub {
owner = "vlang";
repo = "vls";
rev = "497563e140bf17d73f28e20b5a65e72740c2dc65";
hash = "sha256-2AU/QGAroq5NReGhCbSJkAnGvftubtCG4hnnBjPKbdY=";
rev = "0b039830a33e759f0c9ee978b47ad10b82d37349";
hash = "sha256-sQxq/tWNN/aWD3ZmNhil45cnjzfy/2AXn2X/NhzvnKk=";
};
location = "tree_sitter_v";
meta.homepage = "https://github.com/vlang/vls";

View file

@ -1052,7 +1052,7 @@ self: super: {
libiconv
];
cargoSha256 = "sha256-ls4WZQees78SNJilXoL3CSXAaILxX1/WUMCyO7+14IM=";
cargoSha256 = "sha256-v9RXW5RSPMotRVR/9ljBJ9VNbrLnSkU3zlEU79Xem28=";
};
in
''

View file

@ -77,6 +77,7 @@ https://github.com/rbgrouleff/bclose.vim/,,
https://github.com/max397574/better-escape.nvim/,,
https://github.com/sblumentritt/bitbake.vim/,,
https://github.com/blueballs-theme/blueballs-neovim/,,
https://github.com/nat-418/boole.nvim/,HEAD,
https://github.com/turbio/bracey.vim/,,
https://github.com/fruit-in/brainfuck-vim/,,
https://github.com/famiu/bufdelete.nvim/,,
@ -223,6 +224,7 @@ https://github.com/onsails/diaglist.nvim/,,
https://github.com/nvim-lua/diagnostic-nvim/,,
https://github.com/monaqa/dial.nvim/,HEAD,
https://github.com/sindrets/diffview.nvim/,,
https://github.com/elihunter173/dirbuf.nvim/,HEAD,
https://github.com/direnv/direnv.vim/,,
https://github.com/doki-theme/doki-theme-vim/,,
https://github.com/Mofiqul/dracula.nvim/,HEAD,
@ -551,6 +553,7 @@ https://github.com/neovim/nvimdev.nvim/,,
https://github.com/glepnir/oceanic-material/,,
https://github.com/mhartington/oceanic-next/,,
https://github.com/pwntester/octo.nvim/,,
https://github.com/stevearc/oil.nvim/,HEAD,
https://github.com/Hoffs/omnisharp-extended-lsp.nvim/,HEAD,
https://github.com/Th3Whit3Wolf/one-nvim/,,
https://github.com/navarasu/onedark.nvim/,,

View file

@ -762,8 +762,8 @@ let
mktplcRef = {
name = "vscode-markdownlint";
publisher = "DavidAnson";
version = "0.48.1";
sha256 = "sha256-3TpZGvas+pfabHayaA6Yd9nOO2MbfXbCvCiTcbja9Vo=";
version = "0.49.0";
sha256 = "sha256-Mh/OoRK410aXEr3sK2CYFDsXGSqFT+JOWi9jHOdK01Y=";
};
meta = with lib; {
changelog = "https://marketplace.visualstudio.com/items/DavidAnson.vscode-markdownlint/changelog";
@ -998,8 +998,8 @@ let
mktplcRef = {
name = "prettier-vscode";
publisher = "esbenp";
version = "9.10.3";
sha256 = "sha256-BTuTTElPYRtbzQvUC3iMYlj7NDkGSDa/IppOGBXjfUM=";
version = "9.10.4";
sha256 = "sha256-khtyB0Qbm+iuM1GsAaF32YRv1VBTIy7daeCKdgwCIC8=";
};
meta = with lib; {
changelog = "https://marketplace.visualstudio.com/items/esbenp.prettier-vscode/changelog";
@ -1438,8 +1438,8 @@ let
mktplcRef = {
name = "elixir-ls";
publisher = "JakeBecker";
version = "0.12.0";
sha256 = "sha256-ZwdGcsvmEKDH5ZAkKiLEV/3ru74BittnxibMWbdkaco=";
version = "0.13.0";
sha256 = "sha256-1uaLFTMvkcYrYAt9qDdISJneKxHo9qsris70iowGW2s=";
};
meta = with lib; {
changelog = "https://marketplace.visualstudio.com/items/JakeBecker.elixir-ls/changelog";

View file

@ -90,7 +90,6 @@ let
vscodeDefault = vscode;
};
vscodeExts2nix = import ./vscodeExts2nix.nix {
inherit lib writeShellScriptBin;
vscodeDefault = vscode;
@ -100,10 +99,41 @@ let
inherit lib buildEnv writeShellScriptBin extensionsFromVscodeMarketplace jq;
vscodeDefault = vscode;
};
toExtensionJsonEntry = ext: rec {
identifier = {
id = ext.vscodeExtUniqueId;
uuid = "";
};
version = ext.version;
location = {
"$mid" = 1;
fsPath = ext.outPath + "/share/vscode/extensions/${ext.vscodeExtUniqueId}";
path = location.fsPath;
scheme = "file";
};
metadata = {
id = "";
publisherId = "";
publisherDisplayName = ext.vscodeExtPublisher;
targetPlatform = "undefined";
isApplicationScoped = false;
updated = false;
isPreReleaseVersion = false;
installedTimestamp = 0;
preRelease = false;
};
};
toExtensionJson = extensions: builtins.toJSON (map toExtensionJsonEntry extensions);
in
{
inherit fetchVsixFromVscodeMarketplace buildVscodeExtension
buildVscodeMarketplaceExtension extensionFromVscodeMarketplace
extensionsFromVscodeMarketplace
vscodeWithConfiguration vscodeExts2nix vscodeEnv;
vscodeWithConfiguration vscodeExts2nix vscodeEnv
toExtensionJsonEntry toExtensionJson;
}

View file

@ -1,4 +1,4 @@
{ lib, stdenv, runCommand, buildEnv, vscode, makeWrapper, writeText
{ lib, stdenv, runCommand, buildEnv, vscode, vscode-utils, makeWrapper, writeTextFile
, vscodeExtensions ? [] }:
/*
@ -46,44 +46,15 @@ let
wrappedPkgVersion = lib.getVersion vscode;
wrappedPkgName = lib.removeSuffix "-${wrappedPkgVersion}" vscode.name;
toExtensionJsonEntry = drv: rec {
identifier = {
id = "${drv.vscodeExtPublisher}.${drv.vscodeExtName}";
uuid = "";
};
version = drv.version;
location = {
"$mid" = 1;
fsPath = drv.outPath + "/share/vscode/extensions/${drv.vscodeExtUniqueId}";
path = location.fsPath;
scheme = "file";
};
metadata = {
id = identifier.uuid;
publisherId = "";
publisherDisplayName = drv.vscodeExtPublisher;
targetPlatform = "undefined";
isApplicationScoped = false;
updated = false;
isPreReleaseVersion = false;
installedTimestamp = 0;
preRelease = false;
};
extensionJsonFile = writeTextFile {
name = "vscode-extensions-json";
destination = "/share/vscode/extensions/extensions.json";
text = vscode-utils.toExtensionJson vscodeExtensions;
};
extensionJson = builtins.toJSON (map toExtensionJsonEntry vscodeExtensions);
extensionJsonFile = writeText "extensions.json" extensionJson;
extensionJsonOutput = runCommand "vscode-extensions-json" {} ''
mkdir -p $out/share/vscode/extensions
cp ${extensionJsonFile} $out/share/vscode/extensions/extensions.json
'';
combinedExtensionsDrv = buildEnv {
name = "vscode-extensions";
paths = vscodeExtensions ++ [ extensionJsonOutput ];
paths = vscodeExtensions ++ [ extensionJsonFile ];
};
extensionsFlag = ''
@ -91,8 +62,6 @@ let
'';
in
# When no extensions are requested, we simply redirect to the original
# non-wrapped vscode executable.
runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ vscode ];

View file

@ -1,4 +1,4 @@
{ stdenv, lib, fetchzip, wxGTK32, coreutils, SDL2, openal, alsa-lib, pkg-config
{ stdenv, lib, fetchzip, wxGTK32, coreutils, SDL2, openal, alsa-lib, pkg-config, gtk3, wrapGAppsHook
, autoreconfHook, withNetworking ? true, withALSA ? true }:
stdenv.mkDerivation rec {
@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
sha256 = "067pbnc15h6a4pnnym82klr1w8qwfm6p0pkx93gx06wvwqsxvbdv";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];
buildInputs = [ wxGTK32 coreutils SDL2 openal ]
nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook ];
buildInputs = [ wxGTK32 coreutils SDL2 openal gtk3 ]
++ lib.optional withALSA alsa-lib;
configureFlags = [ "--enable-release-build" ]

View file

@ -19,13 +19,13 @@
rustPlatform.buildRustPackage rec {
pname = "ruffle";
version = "nightly-2022-09-26";
version = "nightly-2022-12-16";
src = fetchFromGitHub {
owner = "ruffle-rs";
repo = pname;
rev = version;
sha256 = "sha256-o0geKXODFRPKN4JgW+Sg16uPhBS5rrlMCmFSc9AcNPQ=";
sha256 = "sha256-VOaXn/dJB0AbuZ8owBbUYEPrL/H8DM73MhwhBjxq2Pg=";
};
nativeBuildInputs = [
@ -71,7 +71,7 @@ rustPlatform.buildRustPackage rec {
"''${gappsWrapperArgs[@]}"
'';
cargoSha256 = "sha256-erqBuU66k7SGG9ueyYEINjeXbyC7A2I/r1bBqdsJemY=";
cargoSha256 = "sha256-h5qshincT48zYvbNLMXcvxw7Ovupnn9c93lpqY7oNtc=";
meta = with lib; {
description = "An Adobe Flash Player emulator written in the Rust programming language.";

View file

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec {
pname = "felix";
version = "2.2.2";
version = "2.2.3";
src = fetchFromGitHub {
owner = "kyoheiu";
repo = pname;
rev = "v${version}";
sha256 = "sha256-VKesly7Jp1PgukArNKvDGzSRh7DaL3A/Dub3dLR6ET4=";
sha256 = "sha256-VQTZj2BCdV2TnXrYRaJqrf9sR35zsojmeoe7t+I3kyQ=";
};
cargoSha256 = "sha256-7+4SIBnu4R2mbH2nWBX9BmJL1n8t46d1vrMpNaUHAo4=";
cargoSha256 = "sha256-jH2BaPiGanBOlOU7JQZ0c0ObCaVURpjvmx2m92Fbdm4=";
nativeBuildInputs = [ pkg-config ];

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "jpeginfo";
version = "1.6.2";
version = "1.7.0";
src = fetchurl {
url = "https://www.kokkonen.net/tjko/src/${pname}-${version}.tar.gz";
sha256 = "sha256-HV/alZ68VA+pyBN25gCHVkmaUkpfZvgSnIeRXkzNoAQ=";
sha256 = "sha256-3JhQg0SNlwfULkm+2CaiR8Db2mkTyHDppdm/fHSTllk=";
};
buildInputs = [ libjpeg ];

View file

@ -47,14 +47,14 @@
stdenv.mkDerivation rec {
pname = "monado";
version = "unstable-2022-05-28";
version = "unstable-2023-01-14";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "monado";
repo = "monado";
rev = "011bcbdcff227e25507e5f2d81a83a2bbe478856";
sha256 = "sha256-8velNKSCZJtKO8ATwXDl1nU8RbxZ8TeyGiUQFOXifuI=";
rev = "1ef49b92f2d6cb519039edd7ba7f70e8073fbe88";
sha256 = "sha256-zieJmI6BKHpYyCPOOUora9qoWn+NXehbHKvoi4h81UA=";
};
nativeBuildInputs = [

View file

@ -0,0 +1,25 @@
{ lib, appimageTools, requireFile }:
appimageTools.wrapType1 rec {
pname = "pureref";
version = "1.11.1";
src = requireFile {
name = "PureRef-${version}_x64.Appimage";
sha256 = "05naywdgykqrsgc3xybskr418cyvbx7vqs994yv9w8zf98gxvbvm";
url = "https://www.pureref.com/download.php";
};
extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
'';
meta = with lib; {
description = "Reference Image Viewer";
homepage = "https://www.pureref.com";
license = licenses.unfree;
maintainers = with maintainers; [ elnudev ];
platforms = [ "x86_64-linux" ];
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
};
}

View file

@ -5,13 +5,13 @@
mkDerivation rec {
pname = "yacreader";
version = "9.10.0";
version = "9.11.0";
src = fetchFromGitHub {
owner = "YACReader";
repo = pname;
rev = version;
sha256 = "sha256-77+lsEvmwQ34maW+HA/IpPsEezlzYEYipc74yR6inwU=";
sha256 = "sha256-/fSIV+4j516PgHGn6zF+TfVaVW/lVWykf5J8bnQuttg=";
};
nativeBuildInputs = [ qmake pkg-config ];

View file

@ -10,12 +10,12 @@
stdenv.mkDerivation rec {
pname = "authy";
# curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/authy?channel=stable' | jq '.download_url,.version'
version = "2.2.1";
rev = "11";
version = "2.2.2";
rev = "12";
src = fetchurl {
url = "https://api.snapcraft.io/api/v1/snaps/download/H8ZpNgIoPyvmkgxOWw5MSzsXK1wRZiHn_${rev}.snap";
sha256 = "sha256-/a0pMXVd7mEp7oaN2mBIJv5uOv1zQ3gvfgiz1XL9ZmM=";
sha256 = "sha256-vSbqT2s5lLEU1SSDaC+sS6qt446iSKYUgKudO5WMOu4=";
};
nativeBuildInputs = [ autoPatchelfHook makeWrapper squashfsTools ];

View file

@ -0,0 +1,32 @@
{ lib
, buildPythonApplication
, fetchPypi
, pynput
, xdg
}:
buildPythonApplication rec {
pname = "bitwarden-menu";
version = "0.4.1";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-OC+MHEiUU6bDT2wSSDtu0KnwDwBpbLTBta0xjfuzlOI=";
};
propagatedBuildInputs = [
pynput
xdg
];
doCheck = false;
meta = with lib; {
changelog = "https://github.com/firecat53/bitwarden-menu/releases/tag/v${version}";
description = "Dmenu/Rofi frontend for managing Bitwarden vaults. Uses the Bitwarden CLI tool to interact with the Bitwarden database.";
homepage = "https://github.com/firecat53/bitwarden-menu";
license = licenses.mit;
maintainers = [ maintainers.rodrgz ];
};
}

View file

@ -1,5 +1,6 @@
{ lib, stdenv, fetchurl, perl, libX11, libXinerama, libjpeg, libpng, libtiff, libwebp, pkg-config,
librsvg, glib, gtk2, libXext, libXxf86vm, poppler, vlc, ghostscript, makeWrapper, tzdata }:
{ lib, stdenv, fetchurl, perl, libX11, libXinerama, libjpeg, libpng, libtiff
, libwebp, pkg-config, librsvg, glib, gtk2, libXext, libXxf86vm, poppler, vlc
, ghostscript, makeWrapper, tzdata, makeDesktopItem, copyDesktopItems }:
stdenv.mkDerivation rec {
pname = "eaglemode";
@ -15,15 +16,17 @@ stdenv.mkDerivation rec {
substituteInPlace src/emClock/emTimeZonesModel.cpp --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
'';
nativeBuildInputs = [ pkg-config makeWrapper ];
nativeBuildInputs = [ pkg-config makeWrapper copyDesktopItems ];
buildInputs = [ perl libX11 libXinerama libjpeg libpng libtiff libwebp
librsvg glib gtk2 libXxf86vm libXext poppler vlc ghostscript ];
# The program tries to dlopen Xxf86vm, Xext and Xinerama, so we use the
# trick on NIX_LDFLAGS and dontPatchELF to make it find them.
buildPhase = ''
runHook preBuild
export NIX_LDFLAGS="$NIX_LDFLAGS -lXxf86vm -lXext -lXinerama"
perl make.pl build
runHook postBuild
'';
dontPatchELF = true;
@ -31,16 +34,33 @@ stdenv.mkDerivation rec {
forceShare = [ "man" "info" ];
installPhase = ''
runHook preInstall
perl make.pl install dir=$out
wrapProgram $out/bin/eaglemode --set EM_DIR "$out" --prefix LD_LIBRARY_PATH : "$out/lib" --prefix PATH : "${ghostscript}/bin"
for i in 32 48 96; do
mkdir -p $out/share/icons/hicolor/''${i}x''${i}/apps
ln -s $out/res/icons/${pname}$i.png $out/share/icons/hicolor/''${i}x''${i}/apps/${pname}.png
done
runHook postInstall
'';
desktopItems = [
(makeDesktopItem {
name = pname;
exec = pname;
icon = pname;
desktopName = "Eagle Mode";
genericName = meta.description;
categories = [ "Game" "Graphics" "System" "Utility" ];
})
];
meta = with lib; {
homepage = "http://eaglemode.sourceforge.net";
description = "Zoomable User Interface";
changelog = "https://eaglemode.sourceforge.net/ChangeLog.html";
license = licenses.gpl3;
maintainers = with maintainers; [ chuangzhu ];
maintainers = with maintainers; [ chuangzhu ehmry ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,53 @@
{ stdenv
, lib
, fetchurl
, wrapGAppsNoGuiHook
, meson
, ninja
, pkg-config
, gnome
, gdk-pixbuf
, glib
, libarchive
, librsvg
, libxml2
}:
stdenv.mkDerivation rec {
pname = "gnome-epub-thumbnailer";
version = "1.7";
src = fetchurl {
url = "mirror://gnome/sources/gnome-epub-thumbnailer/${lib.versions.majorMinor version}/gnome-epub-thumbnailer-${version}.tar.xz";
sha256 = "sha256-S7Ah++RCgNuY3xTBH6XkMgsWe4GpG9e6WGvqDE+il1I=";
};
nativeBuildInputs = [
wrapGAppsNoGuiHook
meson
ninja
pkg-config
];
buildInputs = [
gdk-pixbuf
glib
libarchive
librsvg
libxml2
];
passthru = {
updateScript = gnome.updateScript {
packageName = "gnome-epub-thumbnailer";
};
};
meta = with lib; {
description = "Thumbnailer for EPub and MOBI books";
homepage = "https://gitlab.gnome.org/GNOME/gnome-epub-thumbnailer";
license = licenses.gpl2Plus;
maintainers = teams.gnome.members;
platforms = platforms.linux;
};
}

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "hugo";
version = "0.109.0";
version = "0.110.0";
src = fetchFromGitHub {
owner = "gohugoio";
repo = pname;
rev = "v${version}";
sha256 = "sha256-Eak4sU8UwzPQ5iuoNX+KrAJdZ6ZvBdDyJx4xeQI4sjY=";
hash = "sha256-7B0C8191lUGsv81+0eKDrBm+5hLlFjID3RTuajSg/RM=";
};
vendorSha256 = "sha256-0m5flwvchExP1IDAuE/oTB2eUEbq5KCE8Zvzp5e7yZ8=";
vendorHash = "sha256-GtywXjtAF5Q4jUz2clfseUJVqiU+eSguG/ZoKy2TzuA=";
doCheck = false;

View file

@ -5,14 +5,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "jrnl";
version = "3.0";
version = "3.3";
format = "pyproject";
src = fetchFromGitHub {
owner = "jrnl-org";
repo = pname;
rev = "v${version}";
sha256 = "sha256-wyN7dlAbQwqvES8qEJ4Zo+fDMM/Lh9tNjf215Ywop10=";
rev = "refs/tags/v${version}";
sha256 = "sha256-e2w0E8t6s0OWx2ROme2GdyzWhmCc6hnMfSdLTZqt3bg=";
};
nativeBuildInputs = with python3.pkgs; [
@ -51,7 +51,7 @@ python3.pkgs.buildPythonApplication rec {
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'tzlocal = ">2.0, <3.0"' 'tzlocal = ">2.0, !=3.0"'
--replace 'rich = "^12.2.0"' 'rich = ">=12.2.0, <14.0.0"'
'';
preCheck = ''
@ -66,6 +66,6 @@ python3.pkgs.buildPythonApplication rec {
description = "Simple command line journal application that stores your journal in a plain text file";
homepage = "https://jrnl.sh/";
license = licenses.gpl3Only;
maintainers = with maintainers; [ zalakain ];
maintainers = with maintainers; [ bryanasdev000 zalakain ];
};
}

View file

@ -1,11 +1,11 @@
{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libzen, libmediainfo, zlib }:
stdenv.mkDerivation rec {
version = "22.06";
version = "22.12";
pname = "mediainfo";
src = fetchurl {
url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
sha256 = "sha256-mGowC8wnNJij5dpOlwHX3m7uGZ7TbUInPdP+nsesi30=";
sha256 = "sha256-kyuCc59zjn22A89bsXByBzGp58YdFFwqVKq7PNC3U7w=";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];

View file

@ -83,7 +83,7 @@ let
hash = "sha256-DCUesPy4/g7DYN/9CDRvwAWHcv4dFsF+gsysg5UWThQ=";
};
propagatedBuildInputs = with super; [
propagatedBuildInputs = with self; [
argon2-cffi
blinker
cachelib
@ -136,7 +136,7 @@ let
py.pkgs.appdirs
];
checkInputs = with super; [
checkInputs = with self; [
ddt
mock
pytestCheckHook
@ -146,7 +146,7 @@ let
# substitute pip and let it find out, that it can't write anywhere
(substituteAll {
src = ./pip-path.patch;
pip = "${super.pip}/bin/pip";
pip = "${self.pip}/bin/pip";
})
# hardcore path to ffmpeg and hide related settings
@ -172,6 +172,7 @@ let
"Flask-Login"
"werkzeug"
"flask"
"Flask-Limiter"
];
in
''

View file

@ -47,6 +47,10 @@ rustPlatform.buildRustPackage rec {
--add-rpath ${lib.makeLibraryPath [ libGL libxkbcommon wayland ]}
'';
# enables pipewire API deprecated in 0.3.64
# fixes error caused by https://gitlab.freedesktop.org/pipewire/pipewire-rs/-/issues/55
NIX_CFLAGS_COMPILE = [ "-DPW_ENABLE_DEPRECATED" ];
meta = with lib; {
description = "A simple and elegant pipewire graph editor ";
homepage = "https://github.com/ax9d/pw-viz";

View file

@ -19,9 +19,13 @@
, curl
, openssl
, file
, darwin
, gitUpdater
}:
let
inherit (darwin.apple_sdk.frameworks) Cocoa;
in
stdenv.mkDerivation rec {
pname = "pwsafe";
version = "1.16.0"; # do NOT update to 3.x Windows releases
@ -33,6 +37,8 @@ stdenv.mkDerivation rec {
hash = "sha256-5/TOg+hiy22vlPJHheE638abhS3B5Jrul0Umgwu+gi0=";
};
strictDeps = true;
nativeBuildInputs = [
cmake
gettext
@ -42,24 +48,29 @@ stdenv.mkDerivation rec {
];
buildInputs = [
wxGTK32
curl
qrencode
openssl
xercesc
file
] ++ lib.optionals stdenv.isLinux [
libXext
libXi
libXt
libXtst
wxGTK32
curl
qrencode
libuuid
openssl
xercesc
libyubikey
yubikey-personalization
file
] ++ lib.optionals stdenv.isDarwin [
Cocoa
];
cmakeFlags = [
"-DNO_GTEST=ON"
"-DCMAKE_CXX_FLAGS=-I${yubikey-personalization}/include/ykpers-1"
] ++ lib.optionals stdenv.isDarwin [
"-DNO_YUBI=ON"
];
postPatch = ''
@ -79,6 +90,8 @@ stdenv.mkDerivation rec {
for f in $(grep -Rl /usr/bin/ .) ; do
substituteInPlace $f --replace /usr/bin/ ""
done
'' + lib.optionalString stdenv.isDarwin ''
substituteInPlace src/ui/cli/CMakeLists.txt --replace "uuid" ""
'';
installFlags = [ "PREFIX=${placeholder "out"}" ];
@ -99,7 +112,7 @@ stdenv.mkDerivation rec {
'';
homepage = "https://pwsafe.org/";
maintainers = with maintainers; [ c0bw3b pjones ];
platforms = platforms.linux;
platforms = platforms.unix;
license = licenses.artistic2;
};
}

View file

@ -0,0 +1,25 @@
{ lib, buildNpmPackage, fetchFromGitHub, nix-update-script }:
buildNpmPackage rec {
pname = "terminal-stocks";
version = "1.0.14";
src = fetchFromGitHub {
owner = "shweshi";
repo = pname;
rev = "v${version}";
hash = "sha256-AzLMqp5t9u1ne+xCKp0dq/3V3DKJ1Ou9riAN+KqkStg=";
};
npmDepsHash = "sha256-GOg6B8BWkWegxeYmlHSJjFNrb/frb6jdzjjNSGF38Zo=";
dontNpmBuild = true;
passthru.updateScript = nix-update-script {};
meta = with lib; {
description = "Terminal based application that provides stock price information";
homepage = "https://github.com/shweshi/terminal-stocks";
maintainers = with maintainers; [ mislavzanic ];
license = licenses.mit;
};
}

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, dpkg, wrapGAppsHook, autoPatchelfHook
{ lib, stdenv, requireFile, dpkg, wrapGAppsHook, autoPatchelfHook
, alsa-lib, atk, at-spi2-atk, at-spi2-core, cairo, cups, dbus, expat, fontconfig, freetype
, gdk-pixbuf, glib, gtk3, libcxx, libdrm, libnotify, libpulseaudio, libuuid, libX11, libxcb
, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender
@ -6,11 +6,12 @@
stdenv.mkDerivation rec {
pname = "upwork";
version = "5.6.10.13";
version = "5.8.0.24";
src = fetchurl {
url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_6_10_13_3c485d1dd2af4f61/${pname}_${version}_amd64.deb";
sha256 = "c3e1ecf14c99596f434edf93a2e08f031fbaa167025d1280cf19f68b829d6b79";
src = requireFile {
name = "${pname}_${version}_amd64.deb";
url = "https://www.upwork.com/ab/downloads/os/linux/";
sha256 = "sha256-9X1U/ImI8GfCiYLpLD+jICYAYsAr1NJLlOMvecXK7hc=";
};
nativeBuildInputs = [

View file

@ -3,7 +3,7 @@
stdenv.mkDerivation rec {
pname = "whalebird";
version = "4.6.5";
version = "4.7.4";
src = let
downloads = "https://github.com/h3poteto/whalebird-desktop/releases/download/${version}";
@ -11,12 +11,12 @@ stdenv.mkDerivation rec {
if stdenv.system == "x86_64-linux" then
fetchurl {
url = downloads + "/Whalebird-${version}-linux-x64.tar.bz2";
sha256 = "sha256-WeZnWEwRbZEnYkLwWf6EC3ZbwI+Cr59czdKxxG/Lhn0=";
sha256 = "sha256-jRtlnKlrh6If9wy3FqVBtctQO3rZJRwceUWAPmieT4A=";
}
else if stdenv.system == "aarch64-linux" then
fetchurl {
url = downloads + "/Whalebird-${version}-linux-arm64.tar.bz2";
sha256 = "sha256-5iKVP7zOci5X+EhnfJx5cZ5RiqZKz1pFLDUwZncynUc=";
sha256 = "sha256-gWCBH2zfhJdJ3XUAxvZ0+gBHye5uYCUgX1BDEoaruxY=";
}
else
throw "Whalebird is not supported for ${stdenv.system}";
@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
# Necessary steps to find the tray icon
asar extract opt/Whalebird/resources/app.asar "$TMP/work"
substituteInPlace $TMP/work/dist/electron/main.js \
--replace "Ao,\"tray_icon.png\"" "\"$out/opt/Whalebird/resources/build/icons/tray_icon.png\""
--replace "qt,\"tray_icon.png\"" "\"$out/opt/Whalebird/resources/build/icons/tray_icon.png\""
asar pack --unpack='{*.node,*.ftz,rect-overlay}' "$TMP/work" opt/Whalebird/resources/app.asar
runHook postBuild

View file

@ -1,9 +1,24 @@
{ lib, stdenv, fetchurl, fetchpatch, pkg-config, intltool, xorg, pcre, gst_all_1, glib
, xosd, libnotify, enchant, wrapGAppsHook, gdk-pixbuf }:
{ stdenv
, lib
, fetchurl
, fetchpatch
, autoreconfHook
, intltool
, pkg-config
, wrapGAppsHook
, enchant
, gdk-pixbuf
, glib
, gst_all_1
, libnotify
, pcre
, xorg
, xosd
}:
stdenv.mkDerivation {
pname = "xneur";
version = "0.20.0";
pname = "xneur";
version = "0.20.0";
src = fetchurl {
url = "https://github.com/AndrewCrewKuznetsov/xneur-devel/raw/f66723feb272c68f7c22a8bf0dbcafa5e3a8a5ee/dists/0.20.0/xneur_0.20.0.orig.tar.gz";
@ -11,14 +26,26 @@ stdenv.mkDerivation {
};
nativeBuildInputs = [
pkg-config intltool wrapGAppsHook
autoreconfHook
intltool
pkg-config
wrapGAppsHook
];
buildInputs = [
xorg.libX11 xorg.libXtst pcre gst_all_1.gstreamer glib
xosd xorg.libXext xorg.libXi libnotify
enchant gdk-pixbuf
gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
enchant
gdk-pixbuf
glib
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gstreamer
libnotify
pcre
xorg.libX11
xorg.libXext
xorg.libXi
xorg.libXtst
xosd
];
patches = [
@ -27,10 +54,15 @@ stdenv.mkDerivation {
url = "https://salsa.debian.org/debian/xneur/-/raw/da38ad9c8e1bf4e349f5ed4ad909f810fdea44c9/debian/patches/gcc-10.patch";
sha256 = "0pc17a4sdrnrc4z7gz28889b9ywqsm5mzm6m41h67j2f5zh9k3fy";
})
(fetchpatch {
name = "enchant2.patch";
url = "https://salsa.debian.org/debian/xneur/-/raw/695b0fea56cde4ff6cf0f3988218c5cb9d7ff5ae/debian/patches/enchant2.patch";
sha256 = "02a3kkfzdvs5f8dfm6j5x3jcn5j8qah9ykfymp6ffqsf4fijp65n";
})
];
postPatch = ''
sed -e 's@for xosd_dir in@for xosd_dir in ${xosd} @' -i configure
sed -e 's@for xosd_dir in@for xosd_dir in ${xosd} @' -i configure.ac
'';
meta = with lib; {

View file

@ -197,6 +197,9 @@ in stdenv.mkDerivation {
export CHROME_DEVEL_SANDBOX="$sandbox/bin/${sandboxExecutableName}"
fi
# Make generated desktop shortcuts have a valid executable name.
export CHROME_WRAPPER='chromium'
'' + lib.optionalString (libPath != "") ''
# To avoid loading .so files from cwd, LD_LIBRARY_PATH here must not
# contain an empty section before or after a colon.

View file

@ -3,10 +3,10 @@
rec {
firefox = buildMozillaMach rec {
pname = "firefox";
version = "108.0.2";
version = "109.0";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "f856ef034fa4a526e19968aed092c9ee99e124d2d271ec1c1bbd091d9a03e23293d69c7a9ae17c43258cde7e73c294534b471e36441e576377854f607c9bfa3a";
sha512 = "9e2b6e20353e414da3d2eb9dcd3d77757664a98a4438a8e84f19a1c7c203e40136b08bf96a458fac05ddc627347217d32f1f6337980c5ca918874993657a58e7";
};
meta = {
@ -29,11 +29,11 @@ rec {
firefox-esr-102 = buildMozillaMach rec {
pname = "firefox-esr-102";
version = "102.6.0esr";
version = "102.7.0esr";
applicationName = "Mozilla Firefox ESR";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "c0f0160bea612d0ae74c29dd44beb7fd9a1c292694b8cd5c4faf2e54feb5c27684eee821b67dd40df714d69866a4e3a8b19e22182d9bc3023050d2d96b02d308";
sha512 = "2a9d212b5d15e1bf7a6156495126cbc9161d2057aeedea8f7a5a0670a19a9b00cf35044075935c8f3c788118856ba2cc00f9b297c5ac713f094857683f7cd13b";
};
meta = {

View file

@ -1,11 +1,11 @@
{
"packageVersion": "108.0.2-1",
"packageVersion": "109.0-1",
"source": {
"rev": "108.0.2-1",
"sha256": "0mzar03yq8vphhxhjzr2n4v9jm8z5j5vaxfzby7wf42pw7p0fml6"
"rev": "109.0-1",
"sha256": "18nd0shx1r2y2gn42sa2jlckcymmnx3fkm4fp58c80gcppslh1fs"
},
"firefox": {
"version": "108.0.2",
"sha512": "f856ef034fa4a526e19968aed092c9ee99e124d2d271ec1c1bbd091d9a03e23293d69c7a9ae17c43258cde7e73c294534b471e36441e576377854f607c9bfa3a"
"version": "109.0",
"sha512": "9e2b6e20353e414da3d2eb9dcd3d77757664a98a4438a8e84f19a1c7c203e40136b08bf96a458fac05ddc627347217d32f1f6337980c5ca918874993657a58e7"
}
}

View file

@ -1,14 +1,14 @@
{ mkYarnPackage, fetchFromGitHub, electron, makeWrapper, makeDesktopItem, lib, p7zip }:
{ mkYarnPackage, fetchFromGitHub, electron, makeWrapper, makeDesktopItem, lib }:
mkYarnPackage rec {
pname = "vieb";
version = "7.2.0";
version = "9.5.0";
src = fetchFromGitHub {
owner = "Jelmerro";
repo = pname;
rev = version;
sha256 = "sha256-4iokmUzs72aVHb95D98ZITRygn4gGAc/K+M5uMnF2NM=";
sha256 = "sha256-SWHjzrEvRlTn4HJnT81Le4KsFDypN3QH3F/z7zZ8p3E=";
};
packageJSON = ./package.json;
@ -37,8 +37,6 @@ mkYarnPackage rec {
unlink $out/libexec/vieb/deps/vieb/node_modules
ln -s $out/libexec/vieb/node_modules $out/libexec/vieb/deps/vieb/node_modules
find $out/libexec/vieb/node_modules/7zip-bin -name 7za -exec ln -s -f ${p7zip}/bin/7za {} ';'
install -Dm0644 {${desktopItem},$out}/share/applications/vieb.desktop
pushd $out/libexec/vieb/node_modules/vieb/app/img/icons
@ -48,7 +46,8 @@ mkYarnPackage rec {
popd
makeWrapper ${electron}/bin/electron $out/bin/vieb \
--add-flags $out/libexec/vieb/node_modules/vieb/app
--add-flags $out/libexec/vieb/node_modules/vieb/app \
--set npm_package_version ${version}
'';
distPhase = ":"; # disable useless $out/tarballs directory

View file

@ -1,20 +1,16 @@
{
"name": "vieb",
"productName": "Vieb",
"version": "7.1.2",
"version": "9.5.0",
"description": "Vim Inspired Electron Browser",
"main": "app/index.js",
"scripts": {
"build": "node build.js",
"buildall": "node build.js --linux --win --mac",
"buildlinux": "node build.js --linux",
"buildmac": "node build.js --mac",
"buildwin": "node build.js --win",
"dev": "electron app --datafolder=./ViebData/",
"fix": "eslint --fix app .eslintrc.js build.js",
"lint": "eslint app .eslintrc.js build.js",
"start": "electron app",
"test": "TZ=UTC jest --testEnvironment jsdom --coverage --collectCoverageFrom 'app/**/*.js' -u && npm run lint && echo 'All good :)'"
"test": "TZ=UTC jest --testEnvironment jsdom --coverage --collectCoverageFrom 'app/**/*.js' -u",
"test:all": "npm run test && npm run lint && echo 'All good :)'"
},
"repository": "https://github.com/Jelmerro/Vieb",
"homepage": "https://vieb.dev",
@ -26,20 +22,28 @@
],
"author": "Jelmer van Arnhem",
"email": "Jelmerro@users.noreply.github.com",
"funding": "https://github.com/sponsors/Jelmerro/",
"license": "GPL-3.0-or-later",
"devDependencies": {
"electron": "17.0.1",
"electron-builder": "22.14.13",
"eslint": "8.9.0",
"electron": "22.0.0",
"electron-builder": "24.0.0-alpha.7",
"eslint": "8.29.0",
"eslint-plugin-sort-keys": "2.3.5",
"jest": "27.5.1",
"jest-environment-jsdom": "27.5.1"
"jest": "29.3.1",
"jest-environment-jsdom": "29.3.1",
"terser-webpack-plugin": "5.3.6",
"webpack": "5.75.0",
"webpack-cli": "5.0.1",
"webpack-node-externals": "3.0.0"
},
"dependencies": {
"7zip-bin": "5.1.1",
"@cliqz/adblocker-electron": "1.23.6",
"@cliqz/adblocker-electron-preload": "1.23.6",
"is-svg": "4.3.2",
"rimraf": "3.0.2"
"@cliqz/adblocker-electron": "1.25.1",
"@cliqz/adblocker-electron-preload": "1.25.1",
"@mozilla/readability": "0.4.2",
"darkreader": "4.9.58",
"highlight.js": "11.7.0",
"jsdom": "20.0.3",
"marked": "4.2.4",
"picomatch": "2.3.1"
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "argo-rollouts";
version = "1.3.2";
version = "1.4.0";
src = fetchFromGitHub {
owner = "argoproj";
repo = "argo-rollouts";
rev = "v${version}";
sha256 = "sha256-hsUpZrtgjP6FaVhw0ijDTlvfz9Ok+A4nyAwi2VNxvEg=";
sha256 = "sha256-HdYbrcz1uumwfUleDayc7obv4Grpg3TiUxKr8aF5bXM=";
};
vendorSha256 = "sha256-gm96rQdQJGsIcxVgEI7sI7BvEETU/+HsQ6PnDjFXb/0=";
vendorHash = "sha256-ZIFZCMyhpfKK/Irq2/MvkXuXX1jExDaSK/nXZgzCZgU=";
# Disable tests since some test fail because of missing test data
doCheck = false;

View file

@ -12,16 +12,25 @@ let
# We build the CLI without the static server for simplicity, but the tool is still required for
# compilation to succeed.
# See: https://github.com/argoproj/argo/blob/d7690e32faf2ac5842468831daf1443283703c25/Makefile#L117
staticfiles = pkgsBuildBuild.buildGoPackage rec {
staticfiles = pkgsBuildBuild.buildGoModule rec {
name = "staticfiles";
src = fetchFromGitHub {
owner = "bouk";
repo = "staticfiles";
rev = "827d7f6389cd410d0aa3f3d472a4838557bf53dd";
sha256 = "0xarhmsqypl8036w96ssdzjv3k098p2d4mkmw5f6hkp1m3j67j61";
hash = "sha256-wchj5KjhTmhc4XVW0sRFCcyx5W9am8TNAIhej3WFWXU=";
};
goPackagePath = "bou.ke/staticfiles";
vendorHash = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
excludedPackages = [ "./example" ];
preBuild = ''
cp ${./staticfiles.go.mod} go.mod
'';
ldflags = [ "-s" "-w" ];
};
in
buildGoModule rec {
@ -55,7 +64,8 @@ buildGoModule rec {
'';
ldflags = [
"-s" "-w"
"-s"
"-w"
"-X github.com/argoproj/argo-workflows/v3.buildDate=unknown"
"-X github.com/argoproj/argo-workflows/v3.gitCommit=${src.rev}"
"-X github.com/argoproj/argo-workflows/v3.gitTag=${src.rev}"

View file

@ -0,0 +1,3 @@
module bou.ke/staticfiles
go 1.18

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "cni-plugins";
version = "1.1.1";
version = "1.2.0";
src = fetchFromGitHub {
owner = "containernetworking";
repo = "plugins";
rev = "v${version}";
sha256 = "sha256-I9OmTO5obTwAj4hkecUfmRYR4Q3rdllMfbpESv66eEQ=";
sha256 = "sha256-p6gvXn8v7KZMiCPj2EQlk/2au1nZ6EJlLxcMZHzlEp8=";
};
vendorSha256 = null;
@ -24,6 +24,7 @@ buildGoModule rec {
"plugins/ipam/host-local"
"plugins/ipam/static"
"plugins/main/bridge"
"plugins/main/dummy"
"plugins/main/host-device"
"plugins/main/ipvlan"
"plugins/main/loopback"

View file

@ -2,15 +2,15 @@
buildGoModule rec {
pname = "kubernetes-helm";
version = "3.10.3";
version = "3.11.0";
src = fetchFromGitHub {
owner = "helm";
repo = "helm";
rev = "v${version}";
sha256 = "sha256-SUPa6bbops2rrzzzYM5fH0l4DT7/rIkOqc396lTesao=";
sha256 = "sha256-Pes1p7rTO17Bef6qacsQWJkhb1CWilzmVYQe886EepU=";
};
vendorSha256 = "sha256-vyHT/N5lat/vqM2jK4Q+jJOtZpS52YCYGcJqfa5e0KM=";
vendorSha256 = "sha256-LRMDrBSl5EGQqQt5FUU4JJHqdwfYt5qsVpe76jUQBVI=";
subPackages = [ "cmd/helm" ];
ldflags = [
@ -37,7 +37,8 @@ buildGoModule rec {
postInstall = ''
$out/bin/helm completion bash > helm.bash
$out/bin/helm completion zsh > helm.zsh
installShellCompletion helm.{bash,zsh}
$out/bin/helm completion fish > helm.fish
installShellCompletion helm.{bash,zsh,fish}
'';
meta = with lib; {

View file

@ -39,7 +39,7 @@ buildGoModule rec {
'';
meta = with lib; {
broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
broken = (stdenv.isLinux && stdenv.isAarch64);
description = "Network, Service & Security Observability for Kubernetes using eBPF";
license = licenses.asl20;
homepage = "https://github.com/cilium/hubble/";

View file

@ -0,0 +1,10 @@
{
traefik-crd = {
url = "https://k3s.io/k3s-charts/assets/traefik-crd/traefik-crd-20.3.1+up20.3.0.tgz";
sha256 = "1775vjldvqvhzdbzanxhbaqbmkih09yb91im651q8bc7z5sb9ckn";
};
traefik = {
url = "https://k3s.io/k3s-charts/assets/traefik/traefik-20.3.1+up20.3.0.tgz";
sha256 = "1rj0f0n0vgjcbzfwzhqmsd501i2f6vw145w9plbp8gwdyzmg2nc6";
};
}

View file

@ -47,31 +47,31 @@ with lib;
# Those pieces of software we entirely ignore upstream's handling of, and just
# make sure they're in the path if desired.
let
k3sVersion = "1.25.3+k3s1"; # k3s git tag
k3sCommit = "f2585c1671b31b4b34bddbb3bf4e7d69662b0821"; # k3s git commit at the above version
k3sRepoSha256 = "0zwf3iwjcidx14zw36s1hr0q8wmmbfc0rfqwd7fmpjq597h8zkms";
k3sVendorSha256 = "sha256-U67tJRGqPFk5AfRe7I50zKGC9HJ2oh+iI/C7qF/76BQ=";
k3sVersion = "1.26.0+k3s2"; # k3s git tag
k3sCommit = "f0ec6a4c127b2c671b271974a2f21783f0e3c525"; # k3s git commit at the above version
k3sRepoSha256 = "0yc2k45s321hjir3c2wabqihk96wbjxp274dpbh9kv3471j89lkm";
k3sVendorSha256 = "sha256-ptC39SgzCA4CULA+VmcMGlPG8KsLRbWlVI/jQrrF/RU=";
# taken from ./manifests/traefik.yaml, extracted from '.spec.chart' https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/download#L9
# The 'patch' and 'minor' versions are currently hardcoded as single digits only, so ignore the trailing two digits. Weird, I know.
traefikChartVersion = "12.0.0";
traefikChartSha256 = "1sqmi71fi3ad5dh5fmsp9mv80x6pkgqwi4r9fr8l6i9sdnai6f1a";
# nix generated by update.sh
# Based on the traefik charts here: https://github.com/k3s-io/k3s/blob/d71ab6317e22dd34673faa307a412a37a16767f6/scripts/download#L29-L32
# see also https://github.com/k3s-io/k3s/blob/d71ab6317e22dd34673faa307a412a37a16767f6/manifests/traefik.yaml#L8
# At the time of writing, there are two traefik charts, and that's it
charts = import ./chart-versions.nix;
# taken from ./scripts/version.sh VERSION_ROOT https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L47
k3sRootVersion = "0.11.0";
k3sRootSha256 = "016n56vi09xkvjph7wgzb2m86mhd5x65fs4d11pmh20hl249r620";
k3sRootVersion = "0.12.1";
k3sRootSha256 = "0724yx3zk89m2239fmdgwzf9w672pik71xqrvgb7pdmknmmdn9f4";
# taken from ./scripts/version.sh VERSION_CNIPLUGINS https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L45
k3sCNIVersion = "1.1.1-k3s1";
k3sCNISha256 = "14mb3zsqibj1sn338gjmsyksbm0mxv9p016dij7zidccx2rzn6nl";
# taken from go.mod, the 'github.com/containerd/containerd' line
# run `grep github.com/containerd/containerd go.mod | head -n1 | awk '{print $4}'`
containerdVersion = "1.5.13-k3s2";
containerdSha256 = "1pfr2ji4aij9js90gf4a3hqnhyw5hshcjdccm62l700j68gs5z97";
# taken from ./scripts/version.sh VERSION_CONTAINERD
containerdVersion = "1.6.14-k3s1";
containerdSha256 = "01zs2xbpmww6hdh248px4dlh1n7xy9gzj2b8afyfmv3c2m2alf5p";
# run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag
criCtlVersion = "1.25.0-k3s1";
criCtlVersion = "1.26.0-rc.0-k3s1";
baseMeta = {
description = "A lightweight Kubernetes distribution";
@ -99,10 +99,9 @@ let
];
# bundled into the k3s binary
traefikChart = fetchurl {
url = "https://helm.traefik.io/traefik/traefik-${traefikChartVersion}.tgz";
sha256 = traefikChartSha256;
};
traefikChart = fetchurl charts.traefik;
traefik-crdChart = fetchurl charts.traefik-crd;
# so, k3s is a complicated thing to package
# This derivation attempts to avoid including any random binaries from the
# internet. k3s-root is _mostly_ binaries built to be bundled in k3s (which
@ -224,10 +223,6 @@ buildGoModule rec {
src = k3sRepo;
vendorSha256 = k3sVendorSha256;
patches = [
./patches/0001-scrips-download-strip-downloading-just-package-CRD.patch
];
postPatch = ''
# Nix prefers dynamically linked binaries over static binary.
@ -295,11 +290,9 @@ buildGoModule rec {
ln -vsf ${k3sContainerd}/bin/* ./bin/
rsync -a --no-perms --chmod u=rwX ${k3sRoot}/etc/ ./etc/
mkdir -p ./build/static/charts
# Note, upstream's chart has a 00 suffix. This seems to not matter though, so we're ignoring that naming detail.
export TRAEFIK_CHART_FILE=${traefikChart}
# place the traefik chart using their code since it's complicated
# We trim the actual download, see patches
./scripts/download
cp ${traefikChart} ./build/static/charts
cp ${traefik-crdChart} ./build/static/charts
export ARCH=$GOARCH
export DRONE_TAG="v${k3sVersion}"

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