Merge branch 'staging-next' into staging

This commit is contained in:
Vladimír Čunát 2024-07-14 08:35:35 +02:00
commit 211398c03e
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
591 changed files with 4385 additions and 2719 deletions

View File

@ -69,8 +69,8 @@ let
$epubPath
echo "application/epub+zip" > mimetype
zip -0Xq "$out" mimetype
cd scratch && zip -Xr9D "$out" *
zip -0Xq -b "$TMPDIR" "$out" mimetype
cd scratch && zip -Xr9D -b "$TMPDIR" "$out" *
'';
# NB: This file describes the Nixpkgs manual, which happens to use module

View File

@ -283,7 +283,10 @@ in {
];
composerRepository = php.mkComposerRepository {
inherit (finalAttrs) src;
inherit (finalAttrs) pname version src;
composerNoDev = true;
composerNoPlugins = true;
composerNoScripts = true;
# Specifying a custom composer.lock since it is not present in the sources.
composerLock = ./composer.lock;
# The composer vendor hash

View File

@ -11,7 +11,8 @@ On NixOS, you need to explicitly enable `ibus` with given engines before customi
```nix
{ pkgs, ... }: {
i18n.inputMethod = {
enabled = "ibus";
enable = true;
type = "ibus";
ibus.engines = with pkgs.ibus-engines; [ typing-booster ];
};
}

View File

@ -20276,6 +20276,12 @@
githubId = 2845239;
name = "Tim Put";
};
timschumi = {
email = "timschumi@gmx.de";
github = "timschumi";
githubId = 16820960;
name = "Tim Schumacher";
};
timstott = {
email = "stott.timothy@gmail.com";
github = "timstott";

View File

@ -91,9 +91,11 @@ def make_worktree() -> Generator[Tuple[str, str], None, None]:
target_directory = f'{wt}/nixpkgs'
subprocess.run(['git', 'worktree', 'add', '-b', branch_name, target_directory])
yield (target_directory, branch_name)
subprocess.run(['git', 'worktree', 'remove', '--force', target_directory])
subprocess.run(['git', 'branch', '-D', branch_name])
try:
yield (target_directory, branch_name)
finally:
subprocess.run(['git', 'worktree', 'remove', '--force', target_directory])
subprocess.run(['git', 'branch', '-D', branch_name])
async def commit_changes(name: str, merge_lock: asyncio.Lock, worktree: str, branch: str, changes: List[Dict]) -> None:
for change in changes:

View File

@ -2,8 +2,7 @@
Common configuration for headless machines (e.g., Amazon EC2 instances).
Disables [sound](#opt-sound.enable),
[vesa](#opt-boot.vesa), serial consoles,
Disables [vesa](#opt-boot.vesa), serial consoles,
[emergency mode](#opt-systemd.enableEmergencyMode),
[grub splash images](#opt-boot.loader.grub.splashImage)
and configures the kernel to reboot automatically on panic.

View File

@ -5,5 +5,4 @@ graphical stuff. It's a very short file that enables
[noXlibs](#opt-environment.noXlibs), sets
[](#opt-i18n.supportedLocales) to
only support the user-selected locale,
[disables packages' documentation](#opt-documentation.enable),
and [disables sound](#opt-sound.enable).
and [disables packages' documentation](#opt-documentation.enable).

View File

@ -197,6 +197,8 @@
- `services.roundcube.maxAttachmentSize` will multiply the value set with `1.37` to offset overhead introduced by the base64 encoding applied to attachments.
- The `sound` options have been removed or renamed, as they had a lot of unintended side effects. See [below](#sec-release-24.11-migration-sound) for details.
- The `services.mxisd` module has been removed as both [mxisd](https://github.com/kamax-matrix/mxisd) and [ma1sd](https://github.com/ma1uta/ma1sd) are not maintained any longer.
Consequently the package `pkgs.ma1sd` has also been removed.
@ -223,6 +225,9 @@
The derivation now installs "impl" headers selectively instead of by a wildcard.
Use `imgui.src` if you just want to access the unpacked sources.
- The `i18n.inputMethod` module introduces two new properties:
`enable` and `type`, for declaring whether to enable an alternative input method and defining which input method respectfully. The options available in `type` are the same as the existing `enabled` option. `enabled` is now deprecated, and will be removed in a future release.
- `security.pam.u2f` now follows RFC42.
All module options are now settable through the freeform `.settings`.
@ -240,3 +245,46 @@
{option}`services.gitlab-runner.services.<name>.registrationConfigFile` option.
- `iproute2` now has libbpf support.
## Detailed migration information {#sec-release-24.11-migration}
### `sound` options removal {#sec-release-24.11-migration-sound}
The `sound` options have been largely removed, as they are unnecessary for most modern setups, and cause issues when enabled.
If you set `sound.enable` in your configuration:
- If you are using Pulseaudio or PipeWire, simply remove that option
- If you are not using an external sound server, and want volumes to be persisted across shutdowns, set `hardware.alsa.enablePersistence = true` instead
If you set `sound.enableOSSEmulation` in your configuration:
- Make sure it is still necessary, as very few applications actually use OSS
- If necessary, set `boot.kernelModules = [ "snd_pcm_oss" ]`
If you set `sound.extraConfig` in your configuration:
- If you are using another sound server, like Pulseaudio, JACK or PipeWire, migrate your configuration to that
- If you are not using an external sound server, set `environment.etc."asound.conf".text = yourExtraConfig` instead
If you set `sound.mediaKeys` in your configuration:
- Preferably switch to handling media keys in your desktop environment/compositor
- If you want to maintain the exact behavior of the option, use the following snippet
```nix
services.actkbd = let
volumeStep = "1%";
in {
enable = true;
bindings = [
# "Mute" media key
{ keys = [ 113 ]; events = [ "key" ]; command = "${alsa-utils}/bin/amixer -q set Master toggle"; }
# "Lower Volume" media key
{ keys = [ 114 ]; events = [ "key" "rep" ]; command = "${alsa-utils}/bin/amixer -q set Master ${volumeStep}- unmute"; }
# "Raise Volume" media key
{ keys = [ 115 ]; events = [ "key" "rep" ]; command = "${alsa-utils}/bin/amixer -q set Master ${volumeStep}+ unmute"; }
# "Mic Mute" media key
{ keys = [ 190 ]; events = [ "key" ]; command = "${alsa-utils}/bin/amixer -q set Capture toggle"; }
];
};
```

View File

@ -6,7 +6,6 @@ with lib;
let
cfg = config.hardware.pulseaudio;
alsaCfg = config.sound;
hasZeroconf = let z = cfg.zeroconf; in z.publish.enable || z.discovery.enable;
@ -58,7 +57,7 @@ let
# Write an /etc/asound.conf that causes all ALSA applications to
# be re-routed to the PulseAudio server through ALSA's Pulse
# plugin.
alsaConf = writeText "asound.conf" (''
alsaConf = ''
pcm_type.pulse {
libs.native = ${pkgs.alsa-plugins}/lib/alsa-lib/libasound_module_pcm_pulse.so ;
${lib.optionalString enable32BitAlsaPlugins
@ -76,8 +75,7 @@ let
ctl.!default {
type pulse
}
${alsaCfg.extraConfig}
'');
'';
in {
@ -221,10 +219,8 @@ in {
environment.systemPackages = [ overriddenPackage ];
sound.enable = true;
environment.etc = {
"asound.conf".source = alsaConf;
"alsa/conf.d/99-pulseaudio.conf".text = alsaConf;
"pulse/daemon.conf".source = writeText "daemon.conf"
(lib.generators.toKeyValue {} cfg.daemon.config);

View File

@ -25,7 +25,8 @@ The following snippet can be used to configure IBus:
```nix
{
i18n.inputMethod = {
enabled = "ibus";
enable = true;
type = "ibus";
ibus.engines = with pkgs.ibus-engines; [ anthy hangul mozc ];
};
}
@ -81,7 +82,8 @@ The following snippet can be used to configure Fcitx:
```nix
{
i18n.inputMethod = {
enabled = "fcitx5";
enable = true;
type = "fcitx5";
fcitx5.addons = with pkgs; [ fcitx5-mozc fcitx5-hangul fcitx5-m17n ];
};
}
@ -119,7 +121,8 @@ The following snippet can be used to configure Nabi:
```nix
{
i18n.inputMethod = {
enabled = "nabi";
enable = true;
type = "nabi";
};
}
```
@ -134,7 +137,8 @@ The following snippet can be used to configure uim:
```nix
{
i18n.inputMethod = {
enabled = "uim";
enable = true;
type = "uim";
};
}
```
@ -154,7 +158,8 @@ The following snippet can be used to configure Hime:
```nix
{
i18n.inputMethod = {
enabled = "hime";
enable = true;
type = "hime";
};
}
```
@ -168,7 +173,8 @@ The following snippet can be used to configure Kime:
```nix
{
i18n.inputMethod = {
enabled = "kime";
enable = true;
type = "kime";
};
}
```

View File

@ -4,6 +4,8 @@ with lib;
let
cfg = config.i18n.inputMethod;
allowedTypes = types.enum [ "ibus" "fcitx5" "nabi" "uim" "hime" "kime" ];
gtk2_cache = pkgs.runCommand "gtk2-immodule.cache"
{ preferLocalBuild = true;
allowSubstitutes = false;
@ -28,10 +30,23 @@ in
{
options.i18n = {
inputMethod = {
enable = mkEnableOption "an additional input method type" // {
default = cfg.enabled != null;
defaultText = literalMD "`true` if the deprecated option `enabled` is set, false otherwise";
};
enabled = mkOption {
type = types.nullOr (types.enum [ "ibus" "fcitx5" "nabi" "uim" "hime" "kime" ]);
type = types.nullOr allowedTypes;
default = null;
example = "fcitx5";
description = "Deprecated - use `type` and `enable = true` instead";
};
type = mkOption {
type = types.nullOr allowedTypes;
default = cfg.enabled;
defaultText = literalMD "The value of the deprecated option `enabled`, defaulting to null";
example = "fcitx5";
description = ''
Select the enabled input method. Input methods is a software to input symbols that are not available on standard input devices.
@ -59,7 +74,8 @@ in
};
};
config = mkIf (cfg.enabled != null) {
config = mkIf cfg.enable {
warnings = optional (cfg.enabled != null) "i18n.inputMethod.enabled will be removed in a future release. Please use .type, and .enable = true instead";
environment.systemPackages = [ cfg.package gtk2_cache gtk3_cache ];
};

View File

@ -3,8 +3,8 @@
with lib;
let
im = config.i18n.inputMethod;
cfg = im.fcitx5;
imcfg = config.i18n.inputMethod;
cfg = imcfg.fcitx5;
fcitx5Package =
if cfg.plasma6Support
then pkgs.qt6Packages.fcitx5-with-addons.override { inherit (cfg) addons; }
@ -108,7 +108,7 @@ in
'')
];
config = mkIf (im.enabled == "fcitx5") {
config = mkIf (imcfg.enable && imcfg.type == "fcitx5") {
i18n.inputMethod.package = fcitx5Package;
i18n.inputMethod.fcitx5.addons = lib.optionals (cfg.quickPhrase != { }) [

View File

@ -1,8 +1,12 @@
{ config, pkgs, lib, ... }:
with lib;
let
imcfg = config.i18n.inputMethod;
in
{
config = mkIf (config.i18n.inputMethod.enabled == "hime") {
config = mkIf (imcfg.enable && imcfg.type == "hime") {
i18n.inputMethod.package = pkgs.hime;
environment.variables = {
GTK_IM_MODULE = "hime";

View File

@ -3,7 +3,8 @@
with lib;
let
cfg = config.i18n.inputMethod.ibus;
imcfg = config.i18n.inputMethod;
cfg = imcfg.ibus;
ibusPackage = pkgs.ibus-with-plugins.override { plugins = cfg.engines; };
ibusEngine = lib.types.mkOptionType {
name = "ibus-engine";
@ -53,7 +54,7 @@ in
};
};
config = mkIf (config.i18n.inputMethod.enabled == "ibus") {
config = mkIf (imcfg.enable && imcfg.type == "ibus") {
i18n.inputMethod.package = ibusPackage;
environment.systemPackages = [

View File

@ -1,5 +1,6 @@
{ config, pkgs, lib, generators, ... }:
let imcfg = config.i18n.inputMethod;
let
imcfg = config.i18n.inputMethod;
in {
imports = [
(lib.mkRemovedOptionModule [ "i18n" "inputMethod" "kime" "config" ] "Use i18n.inputMethod.kime.* instead")
@ -31,7 +32,7 @@ in {
};
};
config = lib.mkIf (imcfg.enabled == "kime") {
config = lib.mkIf (imcfg.enable && imcfg.type == "kime") {
i18n.inputMethod.package = pkgs.kime;
environment.variables = {

View File

@ -1,8 +1,11 @@
{ config, pkgs, lib, ... }:
with lib;
let
imcfg = config.i18n.inputMethod;
in
{
config = mkIf (config.i18n.inputMethod.enabled == "nabi") {
config = mkIf (imcfg.enable && imcfg.type == "nabi") {
i18n.inputMethod.package = pkgs.nabi;
environment.variables = {

View File

@ -3,7 +3,8 @@
with lib;
let
cfg = config.i18n.inputMethod.uim;
imcfg = config.i18n.inputMethod;
cfg = imcfg.uim;
in
{
options = {
@ -21,7 +22,7 @@ in
};
config = mkIf (config.i18n.inputMethod.enabled == "uim") {
config = mkIf (imcfg.enable && imcfg.type == "uim") {
i18n.inputMethod.package = pkgs.uim;
environment.variables = {

View File

@ -14,6 +14,8 @@
.Op Fl -root Ar root
.Op Fl -system Ar path
.Op Fl -flake Ar flake-uri
.Op Fl -file | f Ar path
.Op Fl -attr | A Ar attrPath
.Op Fl -impure
.Op Fl -channel Ar channel
.Op Fl -no-channel-copy
@ -111,6 +113,32 @@ output named
.Ql nixosConfigurations. Ns Ar name Ns
\&.
.
.It Fl -file Ar path , Fl f Ar path
Enable and build the NixOS system from the specified file. The file must
evaluate to an attribute set, and it must contain a valid NixOS configuration
at attribute
.Va attrPath Ns
\&. This is useful for building a NixOS system from a nix file that is not
a flake or a NixOS configuration module. Attribute set a with valid NixOS
configuration can be made using
.Va nixos
function in nixpkgs or importing and calling
.Pa nixos/lib/eval-config.nix
from nixpkgs. If specified without
.Fl -attr
option, builds the configuration from the top-level
attribute of the file.
.
.It Fl -attr Ar attrPath , Fl A Ar attrPath
Enable and build the NixOS system from nix file and use the specified attribute
path from file specified by the
.Fl -file
option. If specified without
.Fl -file
option, uses
.Va [root] Ns Pa /etc/nixos/default.nix Ns
\&.
.
.It Fl -channel Ar channel
If this option is provided, do not copy the current
.Dq nixos

View File

@ -17,6 +17,9 @@ mountPoint=/mnt
channelPath=
system=
verbosity=()
attr=
buildFile=
buildingAttribute=1
while [ "$#" -gt 0 ]; do
i="$1"; shift 1
@ -41,6 +44,24 @@ while [ "$#" -gt 0 ]; do
flakeFlags=(--experimental-features 'nix-command flakes')
shift 1
;;
--file|-f)
if [ -z "$1" ]; then
log "$0: '$i' requires an argument"
exit 1
fi
buildFile="$1"
buildingAttribute=
shift 1
;;
--attr|-A)
if [ -z "$1" ]; then
log "$0: '$i' requires an argument"
exit 1
fi
attr="$1"
buildingAttribute=
shift 1
;;
--recreate-lock-file|--no-update-lock-file|--no-write-lock-file|--no-registries|--commit-lock-file)
lockFlags+=("$i")
;;
@ -101,17 +122,30 @@ while [[ "$checkPath" != "/" ]]; do
checkPath="$(dirname "$checkPath")"
done
# Get the path of the NixOS configuration file.
if [[ -z $NIXOS_CONFIG ]]; then
NIXOS_CONFIG=$mountPoint/etc/nixos/configuration.nix
fi
if [[ ${NIXOS_CONFIG:0:1} != / ]]; then
echo "$0: \$NIXOS_CONFIG is not an absolute path"
# Verify that user is not trying to use attribute building and flake
# at the same time
if [[ -z $buildingAttribute && -n $flake ]]; then
echo "$0: '--flake' cannot be used with '--file' or '--attr'"
exit 1
fi
if [[ -n $flake ]]; then
# Get the path of the NixOS configuration file.
if [[ -z $flake && -n $buildingAttribute ]]; then
if [[ -z $NIXOS_CONFIG ]]; then
NIXOS_CONFIG=$mountPoint/etc/nixos/configuration.nix
fi
if [[ ${NIXOS_CONFIG:0:1} != / ]]; then
echo "$0: \$NIXOS_CONFIG is not an absolute path"
exit 1
fi
elif [[ -z $buildingAttribute ]]; then
if [[ -z $buildFile ]]; then
buildFile="$mountPoint/etc/nixos/default.nix"
elif [[ -d $buildFile ]]; then
buildFile="$buildFile/default.nix"
fi
elif [[ -n $flake ]]; then
if [[ $flake =~ ^(.*)\#([^\#\"]*)$ ]]; then
flake="${BASH_REMATCH[1]}"
flakeAttr="${BASH_REMATCH[2]}"
@ -129,11 +163,16 @@ if [[ -n $flake ]]; then
flake=$(nix "${flakeFlags[@]}" flake metadata --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url)
fi
if [[ ! -e $NIXOS_CONFIG && -z $system && -z $flake ]]; then
if [[ ! -e $NIXOS_CONFIG && -z $system && -z $flake && -n $buildingAttribute ]]; then
echo "configuration file $NIXOS_CONFIG doesn't exist"
exit 1
fi
if [[ ! -z $buildingAttribute && -e $buildFile && -z $system ]]; then
echo "configuration file $buildFile doesn't exist"
exit 1
fi
# A place to drop temporary stuff.
tmpdir="$(mktemp -d -p "$mountPoint")"
trap 'rm -rf $tmpdir' EXIT
@ -163,11 +202,20 @@ fi
# Build the system configuration in the target filesystem.
if [[ -z $system ]]; then
outLink="$tmpdir/system"
if [[ -z $flake ]]; then
if [[ -z $flake && -n $buildingAttribute ]]; then
echo "building the configuration in $NIXOS_CONFIG..."
nix-build --out-link "$outLink" --store "$mountPoint" "${extraBuildFlags[@]}" \
--extra-substituters "$sub" \
'<nixpkgs/nixos>' -A system -I "nixos-config=$NIXOS_CONFIG" "${verbosity[@]}"
elif [[ -z $buildingAttribute ]]; then
if [[ -n $attr ]]; then
echo "building the configuration in $buildFile and attribute $attr..."
else
echo "building the configuration in $buildFile..."
fi
nix-build --out-link "$outLink" --store "$mountPoint" "${extraBuildFlags[@]}" \
--extra-substituters "$sub" \
"$buildFile" -A "${attr:+$attr.}config.system.build.toplevel" "${verbosity[@]}"
else
echo "building the flake in $flake..."
nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.toplevel" \

View File

@ -205,6 +205,7 @@
./programs/goldwarden.nix
./programs/gpaste.nix
./programs/gphoto2.nix
./programs/gpu-screen-recorder.nix
./programs/haguichi.nix
./programs/hamster.nix
./programs/htop.nix

View File

@ -0,0 +1,40 @@
{ config, lib, pkgs, ... }:
let
cfg = config.programs.gpu-screen-recorder;
package = cfg.package.override {
inherit (config.security) wrapperDir;
};
in {
options = {
programs.gpu-screen-recorder = {
package = lib.mkPackageOption pkgs "gpu-screen-recorder" {};
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether to install gpu-screen-recorder and generate setcap
wrappers for promptless recording.
'';
};
};
};
config = lib.mkIf cfg.enable {
security.wrappers."gsr-kms-server" = {
owner = "root";
group = "root";
capabilities = "cap_sys_admin+ep";
source = "${package}/bin/gsr-kms-server";
};
security.wrappers."gpu-screen-recorder" = {
owner = "root";
group = "root";
capabilities = "cap_sys_nice+ep";
source = "${package}/bin/gpu-screen-recorder";
};
};
meta.maintainers = with lib.maintainers; [ timschumi ];
}

View File

@ -3,132 +3,38 @@
with lib;
let
inherit (pkgs) alsa-utils;
pulseaudioEnabled = config.hardware.pulseaudio.enable;
in
{
imports = [
(mkRenamedOptionModule [ "sound" "enableMediaKeys" ] [ "sound" "mediaKeys" "enable" ])
(mkRemovedOptionModule [ "sound" ] "The option was heavily overloaded and can be removed from most configurations.")
];
###### interface
options = {
sound = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable ALSA sound.
'';
};
enableOSSEmulation = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable ALSA OSS emulation (with certain cards sound mixing may not work!).
'';
};
extraConfig = mkOption {
type = types.lines;
default = "";
example = ''
defaults.pcm.!card 3
'';
description = ''
Set addition configuration for system-wide alsa.
'';
};
mediaKeys = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable volume and capture control with keyboard media keys.
You want to leave this disabled if you run a desktop environment
like KDE, Gnome, Xfce, etc, as those handle such things themselves.
You might want to enable this if you run a minimalistic desktop
environment or work from bare linux ttys/framebuffers.
Enabling this will turn on {option}`services.actkbd`.
'';
};
volumeStep = mkOption {
type = types.str;
default = "1";
example = "1%";
description = ''
The value by which to increment/decrement volume on media keys.
See amixer(1) for allowed values.
'';
};
};
};
options.hardware.alsa.enablePersistence = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable ALSA sound card state saving on shutdown.
This is generally not necessary if you're using an external sound server.
'';
};
###### implementation
config = mkIf config.sound.enable {
environment.systemPackages = [ alsa-utils ];
environment.etc = mkIf (!pulseaudioEnabled && config.sound.extraConfig != "")
{ "asound.conf".text = config.sound.extraConfig; };
config = mkIf config.hardware.alsa.enablePersistence {
# ALSA provides a udev rule for restoring volume settings.
services.udev.packages = [ alsa-utils ];
boot.kernelModules = optional config.sound.enableOSSEmulation "snd_pcm_oss";
systemd.services.alsa-store =
{ description = "Store Sound Card State";
wantedBy = [ "multi-user.target" ];
unitConfig.RequiresMountsFor = "/var/lib/alsa";
unitConfig.ConditionVirtualization = "!systemd-nspawn";
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p /var/lib/alsa";
ExecStart = "${alsa-utils}/sbin/alsactl restore --ignore";
ExecStop = "${alsa-utils}/sbin/alsactl store --ignore";
};
systemd.services.alsa-store = {
description = "Store Sound Card State";
wantedBy = [ "multi-user.target" ];
unitConfig = {
RequiresMountsFor = "/var/lib/alsa";
ConditionVirtualization = "!systemd-nspawn";
};
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p /var/lib/alsa";
ExecStart = "${alsa-utils}/sbin/alsactl restore --ignore";
ExecStop = "${alsa-utils}/sbin/alsactl store --ignore";
};
services.actkbd = mkIf config.sound.mediaKeys.enable {
enable = true;
bindings = [
# "Mute" media key
{ keys = [ 113 ]; events = [ "key" ]; command = "${alsa-utils}/bin/amixer -q set Master toggle"; }
# "Lower Volume" media key
{ keys = [ 114 ]; events = [ "key" "rep" ]; command = "${alsa-utils}/bin/amixer -q set Master ${config.sound.mediaKeys.volumeStep}- unmute"; }
# "Raise Volume" media key
{ keys = [ 115 ]; events = [ "key" "rep" ]; command = "${alsa-utils}/bin/amixer -q set Master ${config.sound.mediaKeys.volumeStep}+ unmute"; }
# "Mic Mute" media key
{ keys = [ 190 ]; events = [ "key" ]; command = "${alsa-utils}/bin/amixer -q set Capture toggle"; }
];
};
};
}

View File

@ -122,7 +122,7 @@ in {
config = mkMerge [
(mkIf pcmPlugin {
sound.extraConfig = ''
environment.etc."alsa/conf.d/98-jack.conf".text = ''
pcm_type.jack {
libs.native = ${pkgs.alsa-plugins}/lib/alsa-lib/libasound_module_pcm_jack.so ;
${lib.optionalString enable32BitAlsaPlugins
@ -139,7 +139,7 @@ in {
(mkIf loopback {
boot.kernelModules = [ "snd-aloop" ];
boot.kernelParams = [ "snd-aloop.index=${toString cfg.loopback.index}" ];
sound.extraConfig = cfg.loopback.config;
environment.etc."alsa/conf.d/99-jack-loopback.conf".text = cfg.loopback.config;
})
(mkIf cfg.jackd.enable {

View File

@ -11,6 +11,7 @@ let
DEBUG = "0";
DEBUG_TOOLBAR = "0";
MEDIA_ROOT = "/var/lib/tandoor-recipes";
GUNICORN_MEDIA = true;
} // optionalAttrs (config.time.timeZone != null) {
TZ = config.time.timeZone;
} // (

View File

@ -314,7 +314,16 @@ def install_bootloader(args: argparse.Namespace) -> None:
).stdout
# See status_binaries() in systemd bootctl.c for code which generates this
installed_match = re.search(r"^\W+File:.*/EFI/(?:BOOT|systemd)/.*\.efi \(systemd-boot ([\d.]+[^)]*)\)$",
# Matches
# Available Boot Loaders on ESP:
# ESP: /boot (/dev/disk/by-partuuid/9b39b4c4-c48b-4ebf-bfea-a56b2395b7e0)
# File: └─/EFI/systemd/systemd-bootx64.efi (systemd-boot 255.2)
# But also:
# Available Boot Loaders on ESP:
# ESP: /boot (/dev/disk/by-partuuid/9b39b4c4-c48b-4ebf-bfea-a56b2395b7e0)
# File: ├─/EFI/systemd/HashTool.efi
# └─/EFI/systemd/systemd-bootx64.efi (systemd-boot 255.2)
installed_match = re.search(r"^\W+.*/EFI/(?:BOOT|systemd)/.*\.efi \(systemd-boot ([\d.]+[^)]*)\)$",
installed_out, re.IGNORECASE | re.MULTILINE)
available_match = re.search(r"^\((.*)\)$", available_out)

View File

@ -15,7 +15,6 @@
usb = "off";
usbehci = "off";
};
sound.enable = false;
documentation.man.enable = false;
documentation.nixos.enable = false;

View File

@ -16,14 +16,14 @@ import ./make-test-python.nix ({ pkgs, ... }: {
# list probes
machine.succeed("bpftrace -l")
# simple BEGIN probe (user probe on bpftrace itself)
print(machine.succeed("bpftrace -e 'BEGIN { print(\"ok\"); exit(); }'"))
print(machine.succeed("bpftrace -e 'BEGIN { print(\"ok\\n\"); exit(); }'"))
# tracepoint
print(machine.succeed("bpftrace -e 'tracepoint:syscalls:sys_enter_* { print(probe); exit() }'"))
# kprobe
print(machine.succeed("bpftrace -e 'kprobe:schedule { print(probe); exit() }'"))
# BTF
print(machine.succeed("bpftrace -e 'kprobe:schedule { "
" printf(\"tgid: %d\", ((struct task_struct*) curtask)->tgid); exit() "
" printf(\"tgid: %d\\n\", ((struct task_struct*) curtask)->tgid); exit() "
"}'"))
# module BTF (bpftrace >= 0.17)
# test is currently disabled on aarch64 as kfunc does not work there yet
@ -32,5 +32,8 @@ import ./make-test-python.nix ({ pkgs, ... }: {
"bpftrace -e 'kfunc:nft_trans_alloc_gfp { "
" printf(\"portid: %d\\n\", args->ctx->portid); "
"} BEGIN { exit() }'"))
# glibc includes
print(machine.succeed("bpftrace -e '#include <errno.h>\n"
"BEGIN { printf(\"ok %d\\n\", EINVAL); exit(); }'"))
'';
})

View File

@ -10,7 +10,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
];
services.xserver.enable = true;
sound.enable = true;
environment.systemPackages = [ pkgs.domination ];
};

View File

@ -21,8 +21,7 @@ import ./make-test-python.nix ({ lib, pkgs, firefoxPackage, ... }:
# Create a virtual sound device, with mixing
# and all, for recording audio.
boot.kernelModules = [ "snd-aloop" ];
sound.enable = true;
sound.extraConfig = ''
environment.etc."asound.conf".text = ''
pcm.!default {
type plug
slave.pcm pcm.dmixer

View File

@ -8,8 +8,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
imports = [
./common/x11.nix
];
sound.enable = true;
environment.systemPackages = [ pkgs.ft2-clone ];
};

View File

@ -5,7 +5,10 @@ makeInstalledTest {
testConfig = {
i18n.supportedLocales = [ "all" ];
i18n.inputMethod.enabled = "ibus";
i18n.inputMethod = {
enable = true;
type = "ibus";
};
systemd.user.services.ibus-daemon = {
serviceConfig.ExecStart = "${pkgs.ibus}/bin/ibus-daemon --xim --verbose";
wantedBy = [ "graphical-session.target" ];

View File

@ -11,7 +11,7 @@ let
# The configuration to install.
makeConfig = { bootLoader, grubDevice, grubIdentifier, grubUseEfi
, extraConfig, forceGrubReinstallCount ? 0, flake ? false
, extraConfig, forceGrubReinstallCount ? 0, withTestInstrumentation ? true
, clevisTest
}:
pkgs.writeText "configuration.nix" ''
@ -19,7 +19,7 @@ let
{ imports =
[ ./hardware-configuration.nix
${if flake
${if !withTestInstrumentation
then "" # Still included, but via installer/flake.nix
else "<nixpkgs/nixos/modules/testing/test-instrumentation.nix>"}
];
@ -81,7 +81,7 @@ let
# partitions and filesystems.
testScriptFun = { bootLoader, createPartitions, grubDevice, grubUseEfi, grubIdentifier
, postInstallCommands, postBootCommands, extraConfig
, testSpecialisationConfig, testFlakeSwitch, clevisTest, clevisFallbackTest
, testSpecialisationConfig, testFlakeSwitch, testByAttrSwitch, clevisTest, clevisFallbackTest
, disableFileSystems
}:
let
@ -316,6 +316,119 @@ let
target.shutdown()
''
+ optionalString testByAttrSwitch ''
with subtest("Configure system with attribute set"):
target.succeed("""
mkdir /root/my-config
mv /etc/nixos/hardware-configuration.nix /root/my-config/
rm /etc/nixos/configuration.nix
""")
target.copy_from_host_via_shell(
"${makeConfig {
inherit bootLoader grubDevice grubIdentifier grubUseEfi extraConfig clevisTest;
forceGrubReinstallCount = 1;
withTestInstrumentation = false;
}}",
"/root/my-config/configuration.nix",
)
target.copy_from_host_via_shell(
"${./installer/byAttrWithChannel.nix}",
"/root/my-config/default.nix",
)
with subtest("Switch to attribute set based config with channels"):
target.succeed("nixos-rebuild switch --file /root/my-config/default.nix")
target.shutdown()
${startTarget}
target.succeed("""
rm /root/my-config/default.nix
""")
target.copy_from_host_via_shell(
"${./installer/byAttrNoChannel.nix}",
"/root/my-config/default.nix",
)
target.succeed("""
pkgs=$(readlink -f /nix/var/nix/profiles/per-user/root/channels)/nixos
if ! [[ -e $pkgs/pkgs/top-level/default.nix ]]; then
echo 1>&2 "$pkgs does not seem to be a nixpkgs source. Please fix the test so that pkgs points to a nixpkgs source.";
exit 1;
fi
sed -e s^@nixpkgs@^$pkgs^ -i /root/my-config/default.nix
""")
with subtest("Switch to attribute set based config without channels"):
target.succeed("nixos-rebuild switch --file /root/my-config/default.nix")
target.shutdown()
${startTarget}
with subtest("nix-channel command is not available anymore"):
target.succeed("! which nix-channel")
with subtest("builtins.nixPath is now empty"):
target.succeed("""
[[ "[ ]" == "$(nix-instantiate builtins.nixPath --eval --expr)" ]]
""")
with subtest("<nixpkgs> does not resolve"):
target.succeed("""
! nix-instantiate '<nixpkgs>' --eval --expr
""")
with subtest("Evaluate attribute set based config in fresh env without nix-channel"):
target.succeed("nixos-rebuild switch --file /root/my-config/default.nix")
with subtest("Evaluate attribute set based config in fresh env without channel profiles"):
target.succeed("""
(
exec 1>&2
mkdir -p /root/restore
mv -v /root/.nix-channels /root/restore/
mv -v ~/.nix-defexpr /root/restore/
mkdir -p /root/restore/channels
mv -v /nix/var/nix/profiles/per-user/root/channels* /root/restore/channels/
)
""")
target.succeed("nixos-rebuild switch --file /root/my-config/default.nix")
''
+ optionalString (testByAttrSwitch && testFlakeSwitch) ''
with subtest("Restore channel profiles"):
target.succeed("""
(
exec 1>&2
mv -v /root/restore/.nix-channels /root/
mv -v /root/restore/.nix-defexpr ~/.nix-defexpr
mv -v /root/restore/channels/* /nix/var/nix/profiles/per-user/root/
rm -vrf /root/restore
)
""")
with subtest("Restore /etc/nixos"):
target.succeed("""
mv -v /root/my-config/hardware-configuration.nix /etc/nixos/
""")
target.copy_from_host_via_shell(
"${makeConfig {
inherit bootLoader grubDevice grubIdentifier grubUseEfi extraConfig clevisTest;
forceGrubReinstallCount = 1;
}}",
"/etc/nixos/configuration.nix",
)
with subtest("Restore /root/my-config"):
target.succeed("""
rm -vrf /root/my-config
""")
''
+ optionalString (testByAttrSwitch && !testFlakeSwitch) ''
target.shutdown()
''
+ optionalString testFlakeSwitch ''
${startTarget}
@ -330,7 +443,7 @@ let
"${makeConfig {
inherit bootLoader grubDevice grubIdentifier grubUseEfi extraConfig clevisTest;
forceGrubReinstallCount = 1;
flake = true;
withTestInstrumentation = false;
}}",
"/root/my-config/configuration.nix",
)
@ -399,6 +512,7 @@ let
, enableOCR ? false, meta ? {}
, testSpecialisationConfig ? false
, testFlakeSwitch ? false
, testByAttrSwitch ? false
, clevisTest ? false
, clevisFallbackTest ? false
, disableFileSystems ? false
@ -533,7 +647,7 @@ let
testScript = testScriptFun {
inherit bootLoader createPartitions postInstallCommands postBootCommands
grubDevice grubIdentifier grubUseEfi extraConfig
testSpecialisationConfig testFlakeSwitch clevisTest clevisFallbackTest
testSpecialisationConfig testFlakeSwitch testByAttrSwitch clevisTest clevisFallbackTest
disableFileSystems;
};
};
@ -589,6 +703,15 @@ let
testFlakeSwitch = true;
};
simple-test-config-by-attr = simple-test-config // {
testByAttrSwitch = true;
};
simple-test-config-from-by-attr-to-flake = simple-test-config // {
testByAttrSwitch = true;
testFlakeSwitch = true;
};
simple-uefi-grub-config = {
createPartitions = ''
installer.succeed(
@ -782,6 +905,10 @@ in {
switchToFlake = makeInstallerTest "switch-to-flake" simple-test-config-flake;
switchToByAttr = makeInstallerTest "switch-to-by-attr" simple-test-config-by-attr;
switchFromByAttrToFlake = makeInstallerTest "switch-from-by-attr-to-flake" simple-test-config-from-by-attr-to-flake;
# Test cloned configurations with the simple grub configuration
simpleSpecialised = makeInstallerTest "simpleSpecialised" (simple-test-config // specialisation-test-extraconfig);

View File

@ -0,0 +1,18 @@
# This file gets copied into the installation
let
nixpkgs = "@nixpkgs@";
in
{ evalConfig ? import "${nixpkgs}/nixos/lib/eval-config.nix" }:
evalConfig {
modules = [
./configuration.nix
( import "${nixpkgs}/nixos/modules/testing/test-instrumentation.nix" )
{
# Disable nix channels
nix.channel.enable = false;
}
];
}

View File

@ -0,0 +1,10 @@
# This file gets copied into the installation
{ evalConfig ? import <nixpkgs/nixos/lib/eval-config.nix> }:
evalConfig {
modules = [
./configuration.nix
( import <nixpkgs/nixos/modules/testing/test-instrumentation.nix> )
];
}

View File

@ -1,3 +1,4 @@
# Tests whether container images are imported and auto deploying manifests work
import ../make-test-python.nix (
{
pkgs,
@ -108,8 +109,8 @@ import ../make-test-python.nix (
machine.succeed("ls /var/lib/rancher/k3s/server/manifests/hello.yaml")
# check if container images got imported
machine.succeed("crictl img | grep 'test\.local/pause'")
machine.succeed("crictl img | grep 'test\.local/hello'")
machine.wait_until_succeeds("crictl img | grep 'test\.local/pause'")
machine.wait_until_succeeds("crictl img | grep 'test\.local/hello'")
# check if resources of manifests got created
machine.wait_until_succeeds("kubectl get ns foo")

View File

@ -7,9 +7,7 @@ let
allK3s = lib.filterAttrs (n: _: lib.strings.hasPrefix "k3s_" n) pkgs;
in
{
# Test whether container images are imported and auto deploying manifests work
auto-deploy = lib.mapAttrs (_: k3s: import ./auto-deploy.nix { inherit system pkgs k3s; }) allK3s;
# Testing K3s with Etcd backend
etcd = lib.mapAttrs (
_: k3s:
import ./etcd.nix {
@ -17,8 +15,6 @@ in
inherit (pkgs) etcd;
}
) allK3s;
# Run a single node k3s cluster and verify a pod can run
single-node = lib.mapAttrs (_: k3s: import ./single-node.nix { inherit system pkgs k3s; }) allK3s;
# Run a multi-node k3s cluster and verify pod networking works across nodes
multi-node = lib.mapAttrs (_: k3s: import ./multi-node.nix { inherit system pkgs k3s; }) allK3s;
}

View File

@ -1,3 +1,4 @@
# Tests K3s with Etcd backend
import ../make-test-python.nix (
{
pkgs,

View File

@ -1,3 +1,4 @@
# A test that runs a multi-node k3s cluster and verify pod networking works across nodes
import ../make-test-python.nix (
{
pkgs,

View File

@ -1,3 +1,4 @@
# A test that runs a single node k3s cluster and verify a pod can run
import ../make-test-python.nix (
{
pkgs,

View File

@ -9,7 +9,6 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }:
nodes.machine =
{ pkgs, lib, ... }:
{ boot.kernelPackages = lib.mkIf latestKernel pkgs.linuxPackages_latest;
sound.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
};
testScript = ''

View File

@ -37,7 +37,6 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
mkServer = { mpd, musicService, }:
{ boot.kernelModules = [ "snd-dummy" ];
sound.enable = true;
services.mpd = mpd;
systemd.services.musicService = musicService;
};

View File

@ -10,7 +10,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
];
services.xserver.enable = true;
sound.enable = true;
environment.systemPackages = [ pkgs.pt2-clone ];
};

View File

@ -10,7 +10,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
];
services.xserver.enable = true;
sound.enable = true;
environment.systemPackages = [ pkgs.sfxr-qt ];
};

View File

@ -10,7 +10,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
];
services.xserver.enable = true;
sound.enable = true;
environment.systemPackages = [ pkgs.shattered-pixel-dungeon ];
};

View File

@ -8,8 +8,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
enable = true;
extraArguments = "-s 127.0.0.1 -d slimproto=info";
};
sound.enable = true;
boot.initrd.kernelModules = ["snd-dummy"];
boot.kernelModules = ["snd-dummy"];
};
testScript =

View File

@ -9,7 +9,6 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }:
nodes.machine =
{ pkgs, lib, ... }:
{ boot.kernelPackages = lib.mkIf latestKernel pkgs.linuxPackages_latest;
sound.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
};
testScript = ''

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation (finalAttrs: {
version = "0.1";
src = fetchurl {
url = "http://www.sndio.org/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
url = "http://www.sndio.org/aucatctl-${finalAttrs.version}.tar.gz";
sha256 = "524f2fae47db785234f166551520d9605b9a27551ca438bd807e3509ce246cf0";
};

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "falkTX";
repo = finalAttrs.pname;
repo = "carla";
rev = "v${finalAttrs.version}";
hash = "sha256-H15T/z/IRfgWdqToTzq2eJ7q3n9Kj44IZXsd4uaipuU=";
};

View File

@ -8,14 +8,14 @@
, fmt_9
}:
stdenv.mkDerivation (finalAttrs: {
stdenv.mkDerivation {
pname = "jack-passthrough";
version = "2021-9-25";
# https://github.com/guysherman/jack-passthrough
src = fetchFromGitHub {
owner = "guysherman";
repo = finalAttrs.pname;
repo = "jack-passthrough";
rev = "aad03b7c5ccc4a4dcb8fa38c49aa64cb9d628660";
hash = "sha256-9IsNaLW5dYAqiwe+vX0+D3oIKFP2TIfy1q1YaqmS6wE=";
};
@ -37,4 +37,4 @@ stdenv.mkDerivation (finalAttrs: {
platforms = [ "x86_64-linux" ];
mainProgram = "jack-passthru";
};
})
}

View File

@ -5,7 +5,7 @@ python3Packages.buildPythonApplication rec {
version = "1.1.5";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-wg9zcOKfZQRhpyA1Cu5wvdwKpmrlcr2m9mrqBHgUXAQ=";
hash = "sha256-wg9zcOKfZQRhpyA1Cu5wvdwKpmrlcr2m9mrqBHgUXAQ=";
};
propagatedBuildInputs = with python3Packages; [ mopidy pykka ];

View File

@ -6,7 +6,7 @@ python3Packages.buildPythonApplication rec {
src = fetchPypi {
inherit pname version;
sha256 = "sha256-PEAXnapiyxozijR053I7zQYRYLeDOV719L0QbO2r4r4=";
hash = "sha256-PEAXnapiyxozijR053I7zQYRYLeDOV719L0QbO2r4r4=";
};
propagatedBuildInputs = [

View File

@ -7,7 +7,7 @@ python3Packages.buildPythonApplication rec {
src = fetchPypi {
inherit version;
pname = "Mopidy-Jellyfin";
sha256 = "sha256-cZliraTxTAJ2dXaxttWI3x4wCkmEhEo33GTNtAYwgTc=";
hash = "sha256-cZliraTxTAJ2dXaxttWI3x4wCkmEhEo33GTNtAYwgTc=";
};
propagatedBuildInputs = [ mopidy python3Packages.unidecode python3Packages.websocket-client ];

View File

@ -6,7 +6,7 @@ pythonPackages.buildPythonApplication rec {
src = fetchPypi {
inherit pname version;
sha256 = "sha256-RlCC+39zC+LeA/QDWPHYx5TrEwOgVrnvcH1Xg12qSLE=";
hash = "sha256-RlCC+39zC+LeA/QDWPHYx5TrEwOgVrnvcH1Xg12qSLE=";
};
propagatedBuildInputs = with pythonPackages; [ mopidy configobj ];

View File

@ -6,7 +6,7 @@ python3Packages.buildPythonApplication rec {
src = fetchPypi {
inherit pname version;
sha256 = "sha256-CeLMRqj9cwBvQrOx7XHVV8MjDjwOosONVlsN2o+vTVM=";
hash = "sha256-CeLMRqj9cwBvQrOx7XHVV8MjDjwOosONVlsN2o+vTVM=";
};
propagatedBuildInputs = [ mopidy ];

View File

@ -7,7 +7,7 @@ python3Packages.buildPythonApplication rec {
src = fetchPypi {
inherit version;
pname = "Mopidy-MPRIS";
sha256 = "sha256-rHQgNIyludTEL7RDC8dIpyGTMOt1Tazn6i/orKlSP4U=";
hash = "sha256-rHQgNIyludTEL7RDC8dIpyGTMOt1Tazn6i/orKlSP4U=";
};
propagatedBuildInputs = [

View File

@ -7,7 +7,7 @@ pythonPackages.buildPythonApplication rec {
src = fetchPypi {
inherit version;
pname = "Mopidy-Muse";
sha256 = "sha256-CEPAPWtMrD+HljyqBB6EAyGVeOjzkvVoEywlE4XEJGs=";
hash = "sha256-CEPAPWtMrD+HljyqBB6EAyGVeOjzkvVoEywlE4XEJGs=";
};
propagatedBuildInputs = [

View File

@ -6,7 +6,7 @@ pythonPackages.buildPythonApplication rec {
src = fetchPypi {
inherit pname version;
sha256 = "sha256-8FT4O4k0wEsdHA1vJaOW9UamJ3QLyO47HwL5XcSU3Pc=";
hash = "sha256-8FT4O4k0wEsdHA1vJaOW9UamJ3QLyO47HwL5XcSU3Pc=";
};
propagatedBuildInputs = [

View File

@ -7,7 +7,7 @@ python3Packages.buildPythonApplication rec {
src = fetchPypi {
inherit version;
pname = "Mopidy-Podcast";
sha256 = "sha256-grNPVEVM2PlpYhBXe6sabFjWVB9+q+apIRjcHUxH52A=";
hash = "sha256-grNPVEVM2PlpYhBXe6sabFjWVB9+q+apIRjcHUxH52A=";
};
propagatedBuildInputs = [

View File

@ -13,14 +13,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "qpwgraph";
version = "0.7.4";
version = "0.7.5";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "rncbc";
repo = "qpwgraph";
rev = "v${finalAttrs.version}";
sha256 = "sha256-1YExpvhCHIdRqFCvOmiG3G7k/qs7q1ITwtZXGMc/SRk=";
sha256 = "sha256-EMBoP0gmJ1JwjkCc1UjTM4BgeYhFSFhUOD14rJRow1o=";
};
nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];

View File

@ -5,7 +5,7 @@ python3Packages.buildPythonApplication rec {
src = fetchPypi {
inherit pname version;
sha256 = "sha256-XJMkiQR1FoeIPfAuJT22kfYJdc/ABuxExELh0EEev8k=";
hash = "sha256-XJMkiQR1FoeIPfAuJT22kfYJdc/ABuxExELh0EEev8k=";
};
preBuild = ''

View File

@ -133,8 +133,6 @@ stdenv.mkDerivation {
mkdir -p $libdir
mv ./usr/* $out/
cp meta/snap.yaml $out
# Work around Spotify referring to a specific minor version of
# OpenSSL.

View File

@ -7,6 +7,7 @@
, flac
, libjxl
, librsvg
, game-music-emu
, gobject-introspection
, gtk3
, kissfft
@ -26,13 +27,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "tauon";
version = "7.7.2";
version = "7.8.0";
src = fetchFromGitHub {
owner = "Taiko2k";
repo = "TauonMusicBox";
rev = "v${finalAttrs.version}";
hash = "sha256-IVl7XL6nn42zaY4bDraF9os0dXfquUql4E96djfVdVg=";
hash = "sha256-8UnUcEvG206tPwyD+WqxcJgDvQlYvTJ6v+sm0u30Z3k=";
};
postUnpack = ''
@ -75,6 +76,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
flac
game-music-emu
gtk3
libappindicator
libnotify

View File

@ -82,7 +82,7 @@ stdenv.mkDerivation (finalAttrs: {
version = "1.0.0-rc.1";
src = fetchzip {
url = "https://www.zrythm.org/releases/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
url = "https://www.zrythm.org/releases/zrythm-${finalAttrs.version}.tar.xz";
sha256 = "sha256-Ljbw7bjGI6js4OP9KEXCkhC9AMbInSz0nn+pROm4vXw=";
};

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation (finalAttrs: {
outputs = [ "out" "dev" "doc" "man" ];
src = fetchurl {
url = "https://download.geany.org/${finalAttrs.pname}-${finalAttrs.version}.tar.bz2";
url = "https://download.geany.org/geany-${finalAttrs.version}.tar.bz2";
hash = "sha256-VltM0vAxHB46Fn7HHEoy26ZC4P5VSuW7a4F3t6dMzJI=";
};

View File

@ -87,6 +87,7 @@
glib
, gobject-introspection
, wrapGAppsHook3
, writeText
, # sniprun dependencies
bashInteractive
, coreutils
@ -1482,12 +1483,19 @@
install -Dt $out/bin ftplugin/evinceSync.py
'';
};
# the vim plugin expects evinceSync.py to be a python file, but it is a C wrapper
pythonWrapper = writeText "evinceSync-wrapper.py" /* python */ ''
#!${python3}/bin/python3
import os
import sys
os.execv("${svedbackend}/bin/evinceSync.py", sys.argv)
'';
in
super.sved.overrideAttrs {
preferLocalBuild = true;
postPatch = ''
rm ftplugin/evinceSync.py
ln -s ${svedbackend}/bin/evinceSync.py ftplugin/evinceSync.py
install -m 544 ${pythonWrapper} ftplugin/evinceSync.py
'';
meta = {
description = "synctex support between vim/neovim and evince";

View File

@ -30,21 +30,21 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = {
x86_64-linux = "0bzf0mx1rgndpdd4a97kr01xsgsgp86gyscg8js2cvaad4265bmv";
x86_64-darwin = "1m7f91cqbbv00difvfqld8fqkj9kvyddihmzi3zyzn4gfkv8gvf0";
aarch64-linux = "09mxsk4qkq34yg1sd67cdasfxwdhdzcfij50fv1nl3kdjzp2i0iz";
aarch64-darwin = "1jxjzfz6gr0pcp2anwjqwm38ma2i8fnzf5zpscfdklrlbhf438k2";
armv7l-linux = "1yp4npgw4dkx8halsr1vm5ll1w4phx67dwd4krz1914mddx7x2kr";
x86_64-linux = "0ighhwwmc8cxdabq2wkzzr21sv6zaj90pnqi2cy8krfwm88w6jc0";
x86_64-darwin = "1fbpw0xib9vm47ab028frg789vgmkpwcdxs8m2in7ywrckl6xycy";
aarch64-linux = "0n0f518xl1fh17llsd159ldi50z2vihkghfq7plfnbnngpf0swy9";
aarch64-darwin = "03v3869yblx03j0c3njlvg7qgdmqrg8jvj9s1iyhqw1xpb2lc41c";
armv7l-linux = "12dv0vqqzriqr8ysjjx62hy2b41dky2p0rcr11wznqi259bryckr";
}.${system} or throwSystem;
in
callPackage ./generic.nix rec {
# Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem.
version = "1.91.0";
version = "1.91.1";
pname = "vscode" + lib.optionalString isInsiders "-insiders";
# This is used for VS Code - Remote SSH test
rev = "ea1445cc7016315d0f5728f8e8b12a45dc0a7286";
rev = "f1e16e1e6214d7c44d078b1f0607b2388f29d729";
executableName = "code" + lib.optionalString isInsiders "-insiders";
longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
@ -68,7 +68,7 @@ in
src = fetchurl {
name = "vscode-server-${rev}.tar.gz";
url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
sha256 = "08mgfrwiji16q8x8kwmw3pdmb0325hfr9pd2fa5g5kmy9gnfw38v";
sha256 = "0k38pkfz9kpbpx0n50iq531mrm7qxqggks092cs4zicv815jk8wg";
};
};

View File

@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: {
version = "0.8.5";
src = fetchurl {
url = "mirror://gnome/sources/${finalAttrs.pname}/${lib.versions.majorMinor finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
url = "mirror://gnome/sources/ocrfeeder/${lib.versions.majorMinor finalAttrs.version}/ocrfeeder-${finalAttrs.version}.tar.xz";
sha256 = "sha256-sD0qWUndguJzTw0uy0FIqupFf4OX6dTFvcd+Mz+8Su0=";
};

View File

@ -6,12 +6,12 @@
}:
let
pname = "bazecor";
version = "1.3.11";
version = "1.4.0";
src = appimageTools.extract {
inherit pname version;
src = fetchurl {
url = "https://github.com/Dygmalab/Bazecor/releases/download/v${version}/Bazecor-${version}-x64.AppImage";
hash = "sha256-iMurQDF0CBMnJnjmEgNIKYd8C5B4FguMi4Jqa3dHr3o=";
hash = "sha256-BKTOWpQT+5DCbPl+lQvbGBtpfRe098BJmQr+bMMMjKg=";
};
# Workaround for https://github.com/Dygmalab/Bazecor/issues/370
@ -19,7 +19,7 @@ let
substituteInPlace \
$out/usr/lib/bazecor/resources/app/.webpack/main/index.js \
--replace-fail \
'checkUdev=()=>{try{if(c.default.existsSync(f))return c.default.readFileSync(f,"utf-8").trim()===l.trim()}catch(e){console.error(e)}return!1}' \
'checkUdev=()=>{try{if(c.default.existsSync(f))return c.default.readFileSync(f,"utf-8").trim()===d.trim()}catch(e){u.default.error(e)}return!1}' \
'checkUdev=()=>{return 1}'
'';
};

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "Cloudef";
repo = finalAttrs.pname;
repo = "bemenu";
rev = finalAttrs.version;
hash = "sha256-wdOrVX4AgGXySlwmqFRp9OWoSkEYBIZumBGTrFfyNpg=";
};

View File

@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "bibletime";
repo = finalAttrs.pname;
repo = "bibletime";
rev = "v${finalAttrs.version}";
hash = "sha256-4O8F5/EyoJFJBEWOAs9lzN3TKuu/CEdKfPaOF8gNqps=";
};

View File

@ -26,7 +26,7 @@ buildPythonApplication rec {
src = fetchPypi {
inherit pname version;
sha256 = "sha256-3fVo+B71SsJs+XF4+FWH2nz0ouTnpC/02fXYr1C9Jrk=";
hash = "sha256-3fVo+B71SsJs+XF4+FWH2nz0ouTnpC/02fXYr1C9Jrk=";
};
# Relax requirements from "==" to ">="

View File

@ -105,7 +105,7 @@ stdenv.mkDerivation (finalAttrs: {
version = "4.1.1";
src = fetchurl {
url = "https://download.blender.org/source/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
url = "https://download.blender.org/source/blender-${finalAttrs.version}.tar.xz";
hash = "sha256-T7s69k0/hN9ccQN0hFQibBiFwawu1Tc9DOoegOgsCEg=";
};

View File

@ -7,7 +7,7 @@ python3Packages.buildPythonApplication rec {
src = fetchPypi {
inherit pname version;
sha256 = "sha256-AjE+1MkSkZOtEUPKEPBKQ3n+aOB8cwsorBpL5skNskU=";
hash = "sha256-AjE+1MkSkZOtEUPKEPBKQ3n+aOB8cwsorBpL5skNskU=";
};
doCheck = false; # there are no tests

View File

@ -27,7 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = finalAttrs.pname;
repo = "citations";
rev = finalAttrs.version;
hash = "sha256-RV9oQcXzRsNcvZc/8Xt7qZ/88DvHofC2Av0ftxzeF6Q=";
};

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation (finalAttrs: {
version = "1.0.7";
src = fetchurl {
url = "https://github.com/mrlem/genesys/releases/download/v${finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
url = "https://github.com/mrlem/genesys/releases/download/v${finalAttrs.version}/genesys-${finalAttrs.version}.tar.gz";
hash = "sha256-I1lEVvwRiGf1f4zUtqKhSb+it/nC8WAmw5S6edquOj8=";
};

View File

@ -6,7 +6,7 @@ python3.pkgs.buildPythonApplication rec {
src = fetchPypi {
inherit pname version;
sha256 = "sha256-WfMKDaPD2j6wT02+GO5HY5E7aF2Z7IQY/VdKiMSRxJA=";
hash = "sha256-WfMKDaPD2j6wT02+GO5HY5E7aF2Z7IQY/VdKiMSRxJA=";
};
nativeBuildInputs = with python3.pkgs; [

View File

@ -6,7 +6,7 @@ python3Packages.buildPythonApplication rec {
src = fetchPypi {
inherit pname version;
sha256 = "sha256-L/hu0mYCAxHkp5me96a6HlEY6QsuJDESpTNhlzVRHWs=";
hash = "sha256-L/hu0mYCAxHkp5me96a6HlEY6QsuJDESpTNhlzVRHWs=";
};
nativeBuildInputs = [ python3Packages.setuptools-scm ];

View File

@ -6,7 +6,7 @@ buildPythonApplication rec {
src = fetchPypi {
inherit pname version;
sha256 = "sha256-82P9tE3jiUlKBGZCiWDoL+9VJ06Bc+If+aMfcEEU90U=";
hash = "sha256-82P9tE3jiUlKBGZCiWDoL+9VJ06Bc+If+aMfcEEU90U=";
};
propagatedBuildInputs = with python3Packages; [ screeninfo paramiko pynput libevdev ];

View File

@ -5,13 +5,13 @@
, bluez
}:
stdenv.mkDerivation (finalAttrs: {
stdenv.mkDerivation {
pname = "rofi-bluetooth";
version = "unstable-2023-02-03";
src = fetchFromGitHub {
owner = "nickclyde";
repo = finalAttrs.pname;
repo = "rofi-bluetooth";
# https://github.com/nickclyde/rofi-bluetooth/issues/19
rev = "9d91c048ff129819f4c6e9e48a17bd54343bbffb";
sha256 = "sha256-1Xe3QFThIvJDCUznDP5ZBzwZEMuqmxpDIV+BcVvQDG8=";
@ -38,4 +38,4 @@ stdenv.mkDerivation (finalAttrs: {
mainProgram = "rofi-bluetooth";
platforms = platforms.linux;
};
})
}

View File

@ -7,7 +7,7 @@ python3Packages.buildPythonApplication rec {
src = fetchPypi {
inherit pname version;
sha256 = "sha256-RBs28FC7f82DrxRcmvTP9nljVpm7tjrGuvr05l32hDM=";
hash = "sha256-RBs28FC7f82DrxRcmvTP9nljVpm7tjrGuvr05l32hDM=";
};
doCheck = false; # there are no tests

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, gtk3 }:
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, gtk3, makeWrapper }:
stdenv.mkDerivation rec {
pname = "spotify-tray";
@ -19,10 +19,14 @@ stdenv.mkDerivation rec {
})
];
nativeBuildInputs = [ autoreconfHook pkg-config ];
nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper ];
buildInputs = [ gtk3 ];
postFixup = ''
wrapProgram $out/bin/spotify-tray --set GDK_BACKEND x11
'';
meta = with lib; {
homepage = "https://github.com/tsmetana/spotify-tray";
description = "Adds a tray icon to the Spotify Linux client application";

View File

@ -35,14 +35,14 @@ https://github.com/NixOS/nixpkgs/issues/199596#issuecomment-1310136382 */
}:
stdenv.mkDerivation (finalAttrs: {
version = "1.5.4";
version = "1.5.5";
pname = "syncthingtray";
src = fetchFromGitHub {
owner = "Martchus";
repo = "syncthingtray";
rev = "v${finalAttrs.version}";
hash = "sha256-3Z9heiQiuYzWtReKs/XeA+ENRKgxHR74ANzrDcdyjh4=";
hash = "sha256-NfFB+4cqe1rHqc+w0Enl9h33gPjJ3CfrFpyOhysmz0Q=";
};
buildInputs = [

View File

@ -7,16 +7,16 @@
, libappindicator-gtk3
, libnotify
, librsvg
, python3
, python3Packages
, udisks2
, wrapGAppsHook3
, testers
, udiskie
}:
python3.pkgs.buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
pname = "udiskie";
version = "2.5.2";
version = "2.5.3";
pyproject = true;
@ -24,7 +24,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "coldfix";
repo = "udiskie";
rev = "v${version}";
hash = "sha256-r9ppuWYY3e2thsfFh4ooOgfqNvmCVw7fS0SpJCJcysQ=";
hash = "sha256-asrVQR0d+5l76COsXp88srtGZQHU+AwbP3HwDiwRlnE=";
};
patches = [
@ -39,10 +39,13 @@ python3.pkgs.buildPythonApplication rec {
asciidoc # Man page
gobject-introspection
installShellFiles
python3.pkgs.setuptools
wrapGAppsHook3
];
build-system = with python3Packages; [
setuptools
];
dontWrapGApps = true;
buildInputs = [
@ -53,7 +56,7 @@ python3.pkgs.buildPythonApplication rec {
udisks2
];
propagatedBuildInputs = with python3.pkgs; [
dependencies = with python3Packages; [
docopt
keyutils
pygobject3
@ -76,7 +79,7 @@ python3.pkgs.buildPythonApplication rec {
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
nativeCheckInputs = with python3.pkgs; [
nativeCheckInputs = with python3Packages; [
pytestCheckHook
];

View File

@ -14,7 +14,7 @@ buildPythonApplication rec {
src = fetchPypi {
inherit pname version;
sha256 = "sha256-qDfY6GWnDQ44Sh540xQzDwANEI+mLjpy2a7G3sfKIzw=";
hash = "sha256-qDfY6GWnDQ44Sh540xQzDwANEI+mLjpy2a7G3sfKIzw=";
};
propagatedBuildInputs = [

View File

@ -1,15 +1,15 @@
{
"packageVersion": "127.0.2-2",
"packageVersion": "128.0-2",
"source": {
"rev": "127.0.2-2",
"sha256": "1f4xz496x1nf7lmvk50hakj9p6q0kzxl5f9s2k0b6kczvyc8gw5n"
"rev": "128.0-2",
"sha256": "0239m5r5nfn291slpxh1qhj3g3q2pskyp967ahvn7nbsqlvjyhag"
},
"settings": {
"rev": "1debc2d30949baff2d1e7df23e87900f1987a8ae",
"sha256": "12xgjv40mihbyfsah26vvdyb4yirydc1a884v2chnca4f5q00lc2"
},
"firefox": {
"version": "127.0.2",
"sha512": "d5a959a032309b8a42690b7f5afd5110c2e6ca7de426e1529d50f59cf065e67623ed98bf3aab39ce4d345ccfad2a273b24ce4f87c7ba7e6eccf2e9dfe3008d8b"
"version": "128.0",
"sha512": "309c0e2a0bea5699e6daf4fa02300ad7fd118d2c02c35cb5fa97a5fcc6e250cc7aec34e50fe872b8fd516436bfcfe37ddf33c9d0f9291860388cd6f3f08ea9f1"
}
}

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "cilium-cli";
version = "0.16.11";
version = "0.16.13";
src = fetchFromGitHub {
owner = "cilium";
repo = pname;
rev = "v${version}";
hash = "sha256-muIVjT6ssNejp5O8ju06h9e7ZVcfwXyHgQIa0IEP4Xg=";
hash = "sha256-69LDIKaAJYbxTp0qBgfnE/YG6vnyN9/HgyxEBPqFY+4=";
};
vendorHash = null;

View File

@ -8,16 +8,16 @@
buildGoModule rec {
pname = "helmfile";
version = "0.165.0";
version = "0.166.0";
src = fetchFromGitHub {
owner = "helmfile";
repo = "helmfile";
rev = "v${version}";
hash = "sha256-fXrfthjWaCo0p7NwP9EWa0uFeCCHInzi7h2tgawHlh0=";
hash = "sha256-TZskvZyNihklCJB0yMFXk1bLEuhetQvJ+6uLnYiLBs0=";
};
vendorHash = "sha256-nWfj/E3Lg58wZ27LEI91+Ns9lj+unK6xYTEcxdAFOXI=";
vendorHash = "sha256-aQ/g7MWMWvxRcTHPUYRGjaaPX9ZH6m+TJ6BdsFeGOsY=";
doCheck = false;

View File

@ -88,12 +88,12 @@ lib:
# make sure they're in the path if desired.
let
baseMeta = with lib; {
baseMeta = {
description = "Lightweight Kubernetes distribution";
license = licenses.asl20;
license = lib.licenses.asl20;
homepage = "https://k3s.io";
maintainers = lib.teams.k3s.members;
platforms = platforms.linux;
platforms = lib.platforms.linux;
# resolves collisions with other installations of kubectl, crictl, ctr
# prefer non-k3s versions
@ -367,6 +367,7 @@ buildGoModule rec {
# https://github.com/NixOS/nixpkgs/pull/158089#discussion_r799965694
# So, why do we use buildGoModule at all? For the `vendorHash` / `go mod download` stuff primarily.
buildPhase = ''
runHook preBuild
patchShebangs ./scripts/package-cli ./scripts/download ./scripts/build-upload
# copy needed 'go generate' inputs into place
@ -387,12 +388,14 @@ buildGoModule rec {
./scripts/package-cli
mkdir -p $out/bin
runHook postBuild
'';
# Otherwise it depends on 'getGoDirs', which is normally set in buildPhase
doCheck = false;
installPhase = ''
runHook preInstall
# wildcard to match the arm64 build too
install -m 0755 dist/artifacts/k3s* -D $out/bin/k3s
wrapProgram $out/bin/k3s \
@ -404,27 +407,31 @@ buildGoModule rec {
install -m 0755 ${k3sKillallSh} -D $out/bin/k3s-killall.sh
wrapProgram $out/bin/k3s-killall.sh \
--prefix PATH : ${lib.makeBinPath (k3sRuntimeDeps ++ k3sKillallDeps)}
runHook postInstall
'';
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
$out/bin/k3s --version | grep -F "v${k3sVersion}" >/dev/null
runHook postInstallCheck
'';
passthru.updateScript = updateScript;
passthru.mkTests =
version:
let
k3s_version = "k3s_" + lib.replaceStrings [ "." ] [ "_" ] (lib.versions.majorMinor version);
in
{
auto-deploy = nixosTests.k3s.auto-deploy.${k3s_version};
etcd = nixosTests.k3s.etcd.${k3s_version};
single-node = nixosTests.k3s.single-node.${k3s_version};
multi-node = nixosTests.k3s.multi-node.${k3s_version};
};
passthru.tests = passthru.mkTests k3sVersion;
passthru = {
k3sCNIPlugins = k3sCNIPlugins;
k3sContainerd = k3sContainerd;
k3sRepo = k3sRepo;
k3sRoot = k3sRoot;
k3sServer = k3sServer;
mkTests =
version:
let
k3s_version = "k3s_" + lib.replaceStrings [ "." ] [ "_" ] (lib.versions.majorMinor version);
in
lib.mapAttrs (name: value: nixosTests.k3s.${name}.${k3s_version}) nixosTests.k3s;
tests = passthru.mkTests k3sVersion;
updateScript = updateScript;
};
meta = baseMeta;
}

View File

@ -6,7 +6,7 @@ python3.pkgs.buildPythonApplication rec {
src = fetchPypi {
inherit pname version;
sha256 = "sha256-/HkLJ0dRXdGcZz77uOTJrOX0xc3DH45/k9xmfesuxsg=";
hash = "sha256-/HkLJ0dRXdGcZz77uOTJrOX0xc3DH45/k9xmfesuxsg=";
};
propagatedBuildInputs = with python3.pkgs; [ python-dateutil tornado python-daemon boto3 tenacity ];

View File

@ -9,14 +9,14 @@
}:
buildGoModule rec {
pname = "openshift";
version = "4.14.0";
gitCommit = "0c63f9d";
version = "4.16.0";
gitCommit = "fa84651";
src = fetchFromGitHub {
owner = "openshift";
repo = "oc";
rev = "0c63f9da2694c080257111616c60005f32a5bf47";
hash = "sha256-viNSRwGNB0TGgw501cQuj4ajmAgvqk4vj2RmW8/DCB8=";
rev = "fa846511dbeb7e08cf77265056397283c6c896f9";
hash = "sha256-mGItCpZQqQOKoNm2amwpHrEIcZdVNirQFa7DGvmnR9s=";
};
vendorHash = null;

View File

@ -12,7 +12,7 @@ buildPythonApplication rec {
version = "2.1.1";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-21gd6sPYCZll3Q2O7kucTRhXvc5byXeQr50+1bZVT3M=";
hash = "sha256-21gd6sPYCZll3Q2O7kucTRhXvc5byXeQr50+1bZVT3M=";
};
buildInputs = [python.pkgs.sphinx];

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
version = "0.92.2";
src = fetchurl {
url = "mirror://gnome/sources/${finalAttrs.pname}/${lib.versions.majorMinor finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
url = "mirror://gnome/sources/gnome-network-displays/${lib.versions.majorMinor finalAttrs.version}/gnome-network-displays-${finalAttrs.version}.tar.xz";
sha256 = "sha256-df35UJnRolVSiYcArpnrglxNKbTKA3LAGsNwlDF7cj4=";
};

View File

@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: builtins.removeAttrs pinData [ "hashes" ] // {
src = fetchFromGitHub {
owner = "vector-im";
repo = finalAttrs.pname;
repo = "element-web";
rev = "v${finalAttrs.version}";
hash = webSrcHash;
};

View File

@ -13,7 +13,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "vector-im";
repo = finalAttrs.pname;
repo = "hydrogen-web";
rev = "v${finalAttrs.version}";
hash = "sha256-u8Yex3r7EZH+JztQHJbfncYeyyl6hgb1ZNFIg//wcb0=";
};

View File

@ -1,5 +1,4 @@
{ lib
, stdenv
, fetchFromGitHub
, python310Packages
, testers
@ -10,13 +9,13 @@ python310Packages.buildPythonApplication rec {
pname = "stig";
# This project has a different concept for pre release / alpha,
# Read the project's README for details: https://github.com/rndusr/stig#stig
version = "0.12.8a0";
version = "0.12.10a0";
src = fetchFromGitHub {
owner = "rndusr";
repo = "stig";
rev = "v${version}";
sha256 = "sha256-vfmuA6DqWvAygcS6N+qX1h+Ag+P4eOwm41DhAFZR3r8=";
sha256 = "sha256-lSFI4/DxWl17KFgLXZ7c5nW/e5IUGN7s8Gm6wTM5ZWg=";
};
propagatedBuildInputs = with python310Packages; [
@ -58,12 +57,13 @@ python310Packages.buildPythonApplication rec {
version = "stig version ${version}";
};
# https://github.com/rndusr/stig/issues/214#issuecomment-1995651219
dontUsePytestCheck = true;
meta = with lib; {
description = "TUI and CLI for the BitTorrent client Transmission";
homepage = "https://github.com/rndusr/stig";
license = licenses.gpl3Plus;
# Too many broken tests, and it fails to launch
broken = true;
maintainers = with maintainers; [ ];
};
}

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation (finalAttrs: {
version = "2.0.30";
src = fetchurl {
url = "https://d2atcrkye2ik4e.cloudfront.net/download/linux/linux_deb_x64/${finalAttrs.pname}-${finalAttrs.version}-amd64.deb";
url = "https://d2atcrkye2ik4e.cloudfront.net/download/linux/linux_deb_x64/ticktick-${finalAttrs.version}-amd64.deb";
hash = "sha256-oo1ssIU6nYMBoEc888xAiTS7PHuEkoaC7KsPRTwL0ZA=";
};

View File

@ -27,7 +27,7 @@ python3Packages.buildPythonApplication rec {
src = fetchPypi {
inherit pname version;
sha256 = "sha256-XIPzpVIttTgP34rbA705vFoRZE9dj8Of3BR23DbpQPk=";
hash = "sha256-XIPzpVIttTgP34rbA705vFoRZE9dj8Of3BR23DbpQPk=";
};
nativeBuildInputs = [

View File

@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "qlog";
version = "0.37.0";
version = "0.37.1";
src = fetchFromGitHub {
owner = "foldynl";
repo = "QLog";
rev = "v${version}";
hash = "sha256-OXE+8e8Wr2EETEfdDaI/fb+SSsRhippqPzTXTlwLP4c=";
hash = "sha256-ZIgKyPRTzlk6N23SmDEPNM8vXXh0FizXb9/WqtbmSCU=";
fetchSubmodules = true;
};

View File

@ -12,7 +12,7 @@ python3.pkgs.buildPythonApplication rec {
src = fetchPypi {
inherit pname version;
sha256 = "sha256-2QCFUV7FpNiqGPHLXAMHJcnCn9FOk1mx12P9ZDtvVvg=";
hash = "sha256-2QCFUV7FpNiqGPHLXAMHJcnCn9FOk1mx12P9ZDtvVvg=";
};
buildInputs = [

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation (finalAttrs: {
pname = "migrate";
src = fetchurl {
url = "https://peterbeerli.com/migrate-html5/download_version4/${finalAttrs.pname}-${finalAttrs.version}.src.tar.gz";
url = "https://peterbeerli.com/migrate-html5/download_version4/migrate-${finalAttrs.version}.src.tar.gz";
hash = "sha256-twkoR9L6VPUye12OC0B5w0PxcxyKain6RkhCswLEdwg=";
};

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