jiebi/CodeConvo huggingface dataset:
Change:
Project description Wayland compositor similar to Plan 9's rio (mirror). Note that the upstream for this software was due to being unmaintained and depending on an outdated wlroots. I am proposing that this fork of that software is to pkgs and the entry for the original in is amended to point to the fork. Note also that the only changes made from the original wio derivation to build the software (other then changing ) is the addition of . I am pinging because they where the maintainer of the deprecated software that this addition will posthumously replace. Metadata homepage URL: source URL: license: BSD 3-Clause platforms: linux
I am happy to know!

Discussion:
<ins> { lib , stdenv , fetchFromGitHub , alacritty , cage , cairo , libxkbcommon , makeWrapper , mesa , meson , ninja , pkg-config , udev , unstableGitUpdater , wayland , wayland-protocols , wlroots , xwayland }: stdenv.mkDerivation (finalAttrs: { pname = "wio"; version = "unstable-2023-05-28"; src = fetchFromGitHub { owner = "Rubo3"; repo = "wio"; rev = "9d33d60839d3005ee16b5b04ae7f42c049939058"; hash = "sha256-ylJ8VHQU4TWLrhxGRo6HHOB7RWTVAThMQRw0uAFboNE="; }; nativeBuildInputs = [ makeWrapper meson ninja pkg-config ]; buildInputs = [ cairo libxkbcommon mesa udev wayland wayland-protocols wlroots xwayland ]; strictDeps = false; # why is it so hard? env.NIX_CFLAGS_COMPILE = "-Wno-error=maybe-uninitialized"; postInstall = '' wrapProgram $out/bin/wio  --prefix PATH ":" "${lib.makeBinPath [ alacritty cage ]}" ''; passthru = { providedSessions = [ "wio" ]; updateScript = unstableGitUpdater { }; }; meta = { homepage = "https://github.com/Rubo3/wio"; description = "Wayland compositor similar to Plan 9's rio"; longDescription = '' Wio is a Wayland compositor for Linux and FreeBSD which has a similar look and feel to plan9's rio. ''; license = with lib.licenses; [ bsd3 ]; mainProgram = "wio"; maintainers = with lib.maintainers; [ AndersonTorres ]; inherit (wayland.meta) platforms; }; }) </ins>

''; # Add 2023-07-29 wcm = throw "'wcm' has been renamed to/replaced by 'wayfirePlugins.wcm'"; # Add 2023-07-29 webkitgtk_5_0 = throw "'webkitgtk_5_0' has been superseded by 'webkitgtk_6_0'"; # Added 2023-02-25 <del> wio = throw "wio has been removed from nixpkgs, it was unmaintained and required wlroots_0_14 at the time of removal"; # Added 2023-04-28 </del> wineWayland = wine-wayland; win-qemu = throw "'win-qemu' has been replaced by 'virtio-win'"; # Added 2023-08-16 win-virtio = virtio-win; # Added 2023-10-17
Change:
Steps to reproduce the behavior: At the end of the logs - Introduced at Suspected offender - (pointed out by on Matrix) where the options were removed on and <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --
I'm working on a PR.

Discussion:
HZ = freeform "1000"; HZ_1000 = yes; } // lib.optionalAttrs (isLqx) { <del> # Google's BBRv2 TCP congestion Control TCP_CONG_BBR2 = yes; DEFAULT_BBR2 = yes; DEFAULT_TCP_CONG = freeform "bbr2"; </del> <ins> # Google's BBRv3 TCP congestion Control TCP_CONG_BBR = yes; DEFAULT_BBR = yes; DEFAULT_TCP_CONG = freeform "bbr"; </ins> # PDS Process Scheduler SCHED_ALT = yes;
Change:
Project description slurm started as a FreeBSD port of the Linux ppp link monitor called pppstatus by Gabriel Montenegro. Hendrik Scholz ripped off the ppp dependent parts and the email checks to turn in into a generic network load monitor for BSD, Linux, HP-UX and Solaris. Metadata homepage URL: source URL: license: gpl2 platforms: unix, linux

Discussion:
githubId = 43088426; name = "Mihnea Stoian"; }; <ins> mikaelfangel = { email = "nixpkgs.bottle597@passfwd.com"; github = "MikaelFangel"; githubId = 34864484; name = "Mikael Fangel"; }; </ins> mikefaille = { email = "michael@faille.io"; github = "mikefaille";

<ins> { stdenv , lib , fetchFromGitHub , pkg-config , meson , ncurses , ninja }: stdenv.mkDerivation rec { pname = "slurm"; version = "0.4.4"; src = fetchFromGitHub { owner = "mattthias"; repo = "slurm"; rev = "upstream/${version}"; hash = "sha256-w77SIXFctMwwNw9cQm0HQaEaMs/5NXQjn1LpvkpCCB8="; }; nativeBuildInputs = [ pkg-config meson ninja ]; buildInputs = [ ncurses ]; meta = with lib; { description = "A generic network load monitor"; homepage = "https://github.com/mattthias/slurm"; license = licenses.gpl2Plus; platforms = with platforms; [ "x86_64-linux" ]; maintainers = with maintainers; [ mikaelfangel ]; mainProgram = "slurm"; }; } </ins>
Change:
Project description is a distributed object programming environment for Guile (a Racket version is also currently maintained). It is mantained by and is built to be the core layer for building broader decentralized networking technologies. Metadata homepage URL: https://spritely.institute/goblins/ source URL: https://spritely.institute/files/releases/guile-goblins/guile-goblins- license: Apache v2 platforms: Linux, maybe Darwin, maybe Unix

Discussion:
githubId = 11212268; name = "gruve-p"; }; <ins> grxnola = { github = "grxnola"; githubId = 49906709; name = "grxnola"; }; </ins> gschwartz = { email = "gsch@pennmedicine.upenn.edu"; github = "GregorySchwartz";

<ins> { lib , stdenv , fetchurl , guile , guile-fibers , guile-gcrypt , texinfo , pkg-config }: stdenv.mkDerivation rec { pname = "guile-goblins"; version = "0.11.0"; src = fetchurl { url = "https://spritely.institute/files/releases/guile-goblins/guile-goblins-${version}.tar.gz"; hash = "sha256-1FD35xvayqC04oPdgts08DJl6PVnhc9K/Dr+NYtxhMU="; }; strictDeps = true; nativeBuildInputs = [ guile pkg-config texinfo ]; buildInputs = [ guile guile-fibers guile-gcrypt ]; makeFlags = [ "GUILE_AUTO_COMPILE=0" ]; # tests hang on darwin, and fail randomly on aarch64-linux on ofborg doCheck = !stdenv.isDarwin && !stdenv.isAarch64; meta = with lib; { description = "Spritely Goblins for Guile"; homepage = "https://spritely.institute/goblins/"; license = licenses.asl20; maintainers = with maintainers; [ grxnola ]; platforms = guile.meta.platforms; }; } </ins>
Change:
Project description <!-- Describe the project a little: --kubectl plugin to remove clutter from Kubernetes manifests to make them more readable. Metadata homepage URL: source URL: license: Apache License 2.0 platforms: linux, darwin

Discussion:
<ins> { lib, buildGoModule, fetchFromGitHub, bash }: buildGoModule rec { pname = "kubectl-neat"; version = "2.0.3"; src = fetchFromGitHub { owner = "itaysk"; repo = "kubectl-neat"; rev = "v${version}"; hash = "sha256-j8v0zJDBqHzmLamIZPW9UvMe9bv/m3JUQKY+wsgMTFk="; }; vendorHash = "sha256-vGXoYR0DT9V1BD/FN/4szOal0clsLlqReTFkAd2beMw="; postBuild = '' # Replace path to bash in a script # Without this change, there's a problem when running tests sed 's,#!/bin/bash,#!${bash}/bin/bash,' -i test/kubectl-stub ''; meta = with lib; { description = "Clean up Kubernetes yaml and json output to make it readable"; homepage = "https://github.com/itaysk/kubectl-neat"; changelog = "https://github.com/itaysk/kubectl-neat/releases/tag/v${version}"; license = licenses.asl20; maintainers = [ maintainers.koralowiec ]; }; } </ins>
Change:
faillog: Cannot open /etc/faillog: No such file or directory
I guess I'm missing just because there have been no failed logs recently.
no because pam_tally is not used, thus fails are not logged at all. I will make a PR for that.
Right.

Discussion:
import ./generic.nix ( rec { <del> version = "3.4.2"; </del> <ins> version = "3.4.4"; </ins> testing = false; preConfigure = ''

src = fetchurl { url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz"; <del> sha256 = "0pd96g1qcp2wgdnvk79hljjrpr6xjk0159lks47n181a3yirzf4x"; </del> <ins> sha256 = "0l4h7amhsmgpnii8rgwi32nd7ajsifk2xckjd39pfzwdifacw5yw"; </ins> }; config = configWithPlatform stdenv.platform;
Change:
Project description VCFloat: A Unified Coq Framework for Verifying C Programs with Floating-Point Computations Metadata homepage URL: source URL: license: LGPL platforms: <uncertain limitations here

Discussion:
githubId = 1332289; name = "Quentin Machu"; }; <ins> quinn-dougherty = { email = "quinnd@riseup.net"; github = "quinn-dougherty"; githubId = 39039420; name = "Quinn Dougherty"; }; </ins> qyliss = { email = "hi@alyssa.is"; github = "alyssais";

<ins> { lib, mkCoqDerivation, coq, interval, compcert, flocq, bignums, version ? null }: with lib; mkCoqDerivation { pname = "vcfloat"; owner = "VeriNum"; inherit version; defaultVersion = with versions; switch coq.coq-version [ { case = range "8.16" "8.17"; out = "2.1.1"; } ] null; release."2.1.1".sha256 = "sha256-bd/XSQhyFUAnSm2bhZEZBWB6l4/Ptlm9JrWu6w9BOpw="; releaseRev = v: "v${v}"; propagatedBuildInputs = [ interval compcert flocq bignums ]; meta = { description = "A tool for Coq proofs about floating-point round-off error"; maintainers = with maintainers; [ quinn-dougherty ]; license = licenses.lgpl3Plus; }; } </ins>

tlc = callPackage ../development/coq-modules/tlc {}; topology = callPackage ../development/coq-modules/topology {}; trakt = callPackage ../development/coq-modules/trakt {}; <ins> vcfloat = callPackage ../development/coq-modules/vcfloat {}; </ins> Velisarios = callPackage ../development/coq-modules/Velisarios {}; Verdi = callPackage ../development/coq-modules/Verdi {}; VST = callPackage ../development/coq-modules/VST ((lib.optionalAttrs
Change:
Package name: codebraid Latest released version: <!-- Search your package here: --- Current version on the unstable channel: 0.5.0-unstable-2020-08-14 Current version on the stable/release channel: 0.5.0-unstable-2020-08-14 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- The currently packaged version of codebraid does not work with the currently packaged version of pandoc as it's too new. The (mathematically weird) error message is ... If I get time before someone else does I'll make a PR, but flagging it up anyway. Note for maintainers: Please tag this issue in your PR.

Discussion:
python3Packages.buildPythonApplication rec { pname = "codebraid"; <del> version = "0.5.0-unstable-2020-08-14"; </del> <ins> version = "0.11.0"; format = "pyproject"; </ins> src = fetchFromGitHub { owner = "gpoore"; repo = pname; <del> rev = "526a223c4fc32c37d6c5c9133524dfa0e1811ca4"; sha256 = "0qkqaj49k584qzgx9jlsf5vlv4lq7x403s1kig8v87i0kgh55p56"; </del> <ins> rev = "v${version}"; hash = "sha256-E9vzGK9ZEVwF+UBpSkdM+hm6vINen/A+LgnnPpc77QQ="; </ins> }; <ins> nativeBuildInputs = with python3Packages; [ setuptools ]; </ins> propagatedBuildInputs = with python3Packages; [ bespon ]; # unfortunately upstream doesn't contain tests checkPhase = ''
Change:
Project description Qt decoration plugin implementing Adwaita-like client-side decorations (Replacement for ) <!-- Describe the project a little: --Metadata homepage URL: source URL: license: LGPL2.1 platforms: linux
QGnomePlatform is discontinued and will no longer receive updates the replacement is QAdwaitaDecorations.
CC

Discussion:
<ins> { lib , stdenv , fetchFromGitHub , cmake , qt5 , qt6 , wayland , nix-update-script , useQt6 ? false # Shadows support on Qt5 requires the feature backported from Qt6: # https://src.fedoraproject.org/rpms/qt5-qtwayland/blob/rawhide/f/qtwayland-decoration-support-backports-from-qt6.patch , qt5ShadowsSupport ? false }: let qt = if useQt6 then qt6 else qt5; qtVersion = if useQt6 then "6" else "5"; in stdenv.mkDerivation (finalAttrs: { pname = "qadwaitadecorations"; version = "0.1.3"; src = fetchFromGitHub { owner = "FedoraQt"; repo = "QAdwaitaDecorations"; rev = finalAttrs.version; hash = "sha256-9uK2ojukuwzOz/genWiCch4c3pL5qEfyy8ERpFxS8/8="; }; nativeBuildInputs = [ cmake ]; buildInputs = with qt; [ qtbase qtsvg qtwayland wayland ]; dontWrapQtApps = true; cmakeFlags = [ "-DQT_PLUGINS_DIR=${placeholder "out"}/${qt.qtbase.qtPluginPrefix}" ] ++ lib.optional useQt6 "-DUSE_QT6=true" ++ lib.optional qt5ShadowsSupport "-DHAS_QT6_SUPPORT=true"; passthru.updateScript = nix-update-script { }; meta = { description = "Qt${qtVersion} Wayland decoration plugin using libadwaita style"; homepage = "https://github.com/FedoraQt/QAdwaitaDecorations"; license = lib.licenses.lgpl21Plus; maintainers = with lib.maintainers; [ samlukeyes123 ]; platforms = lib.platforms.linux; }; }) </ins>

qrupdate = callPackage ../development/libraries/qrupdate { }; <ins> qadwaitadecorations-qt6 = callPackage ../by-name/qa/qadwaitadecorations/package.nix { useQt6 = true; }; </ins> qgnomeplatform = libsForQt5.callPackage ../development/libraries/qgnomeplatform { }; qgnomeplatform-qt6 = qt6Packages.callPackage ../development/libraries/qgnomeplatform {
Change:
It looks like PR messed something up with fish environment as now connecting to a server with mosh fails giving fish: Unknown command 'mosh-server new -c 256 -s -l LANG=enUS.UTF-8 -l LCALL=enUS.UTF-8' fish: mosh-server 'new' '-c' '256' '-s' '-l' 'LANG=enUS.UTF-8' '-l' 'LCALL=enUS.UTF-8' I reverted the commit (it was mistakenly merged into 17.03) and mosh started working again. the system
I will likely not get a chance to really look into this until next week, but I will definitely figure out what went wrong here. Sorry about this! :-(
Don't worry too much, it's not something critical (hopefully it's the only thing affected). I'll try to sort this out though I have little experience here.
there's a fix in this commit:

Discussion:
<ins> {stdenv, fetchurl, yacc, flex, pkgconfig, glib, xz}: stdenv.mkDerivation rec { version = "0.15.2"; name = "vala-${version}"; src = fetchurl { url = "mirror://gnome/sources/vala/0.15/${name}.tar.xz"; sha256 = "0g71zq6dpqrw2f40wfzdf18fdw41ymr17laqniy2kr622hkxdi8w"; }; buildNativeInputs = [ yacc flex pkgconfig xz ]; buildInputs = [ glib ]; meta = { description = "Compiler for the GObject type system"; homepage = "http://live.gnome.org/Vala"; license = "free-copyleft"; platforms = stdenv.lib.platforms.all; maintainers = [ stdenv.lib.maintainers.antono ]; }; } </ins>

<ins> {stdenv, fetchurl, yacc, flex, pkgconfig, glib, xz}: stdenv.mkDerivation rec { version = "0.16.1"; name = "vala-${version}"; src = fetchurl { url = "mirror://gnome/sources/vala/0.16/${name}.tar.xz"; sha256 = "1n708n9ixyy9qrzyv1wf4ybvcclx43ib9ki028wwpvkz6kv8zqlb"; }; buildNativeInputs = [ yacc flex pkgconfig xz ]; buildInputs = [ glib ]; meta = { description = "Compiler for the GObject type system"; homepage = "http://live.gnome.org/Vala"; license = "free-copyleft"; platforms = stdenv.lib.platforms.all; maintainers = [ stdenv.lib.maintainers.antono ]; }; } </ins>

{stdenv, fetchurl, yacc, flex, pkgconfig, glib, xz}: stdenv.mkDerivation rec { <del> name = "vala-0.14.2"; </del> <ins> version = "0.17.2"; name = "vala-${version}"; </ins> src = fetchurl { <del> url = mirror://gnome/sources/vala/0.14/vala-0.14.2.tar.xz; sha256 = "1l5kllw9vpwv24lzv9fp64l3sad46wpxgvsgryrwlrjg91w6jzl0"; </del> <ins> url = "mirror://gnome/sources/vala/0.17/${name}.tar.xz"; sha256 = "09i2s0dwmrk147ind2dx7nq845g12fp6fsjqrphhrr0dbi0zzgh3"; </ins> }; buildNativeInputs = [ yacc flex pkgconfig xz ];

meta = { description = "Compiler for the GObject type system"; homepage = "http://live.gnome.org/Vala"; <ins> license = "free-copyleft"; platforms = stdenv.lib.platforms.all; maintainers = [ stdenv.lib.maintainers.antono ]; </ins> }; }

urweb = callPackage ../development/compilers/urweb { }; <del> vala = callPackage ../development/compilers/vala { }; </del> <ins> vala = vala17; vala15 = callPackage ../development/compilers/vala/15.2.nix { }; vala16 = callPackage ../development/compilers/vala/16.1.nix { }; vala17 = callPackage ../development/compilers/vala/default.nix { }; </ins> visualcpp = callPackage ../development/compilers/visual-c++ { };
Change:
Setting to while setting to any non-empty value will cause a build failure because and both attempt to create The correct result would be for the contents of to be written out at the end of , after the stanzas provided by pulseaudio. Somewhat relatedly, the in and in pulseaudio's generated config doesn't make a whole lot of sense. means "override", currently there is nothing for it to override, and we would like user config to override generated config, not the other way around. However, as long as user config is placed in the file after generated config then I don't think the actually makes any difference.
I am having this issue as well. Easily replicated by setting those two options.
Can you make a pull request?
Should be fixed with . If there still is a problem, please reopen this issue.

Discussion:
let cfg = config.hardware.pulseaudio; <ins> alsaCfg = config.sound; </ins> systemWide = cfg.enable && cfg.systemWide; nonSystemWide = cfg.enable && !cfg.systemWide;

ctl.!default { type pulse } <ins> ${alsaCfg.extraConfig} </ins> ''); in {

inherit (pkgs) alsaUtils; <ins> pulseaudioEnabled = config.hardware.pulseaudio.enable; </ins> in {

environment.systemPackages = [ alsaUtils ]; <del> environment.etc = mkIf (config.sound.extraConfig != "") </del> <ins> environment.etc = mkIf (!pulseaudioEnabled && config.sound.extraConfig != "") </ins> [ { source = pkgs.writeText "asound.conf" config.sound.extraConfig; target = "asound.conf";
Change:
Package name: albert Latest released version: 0.22.9 <!-- Search your package here: --- Current version on the unstable channel: 0.22.4 Current version on the stable/release channel: 0.20.13 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. --Note for maintainers: Please tag this issue in your PR.

Discussion:
, qt5compat , wrapQtAppsHook , nix-update-script <ins> , pkg-config </ins> }: stdenv.mkDerivation (finalAttrs: { pname = "albert"; <del> version = "0.22.4"; </del> <ins> version = "0.22.9"; </ins> src = fetchFromGitHub { owner = "albertlauncher"; repo = "albert"; rev = "v${finalAttrs.version}"; <del> sha256 = "sha256-M5wMi/yH5c08Y7tpHpOulcz0utnnduGsR5z3EHeBecM="; </del> <ins> sha256 = "sha256-MhZHklb//VH2GkAzK46P7EwCIa50l5y+2VssrgpTlWA="; </ins> fetchSubmodules = true; }; nativeBuildInputs = [ cmake <ins> pkg-config </ins> wrapQtAppsHook ];
Change:
Steps to reproduce the behavior: clisp Fail to build clisp on x86_64-darwin Please run and paste the result.
For context: afaik this was previously marked broken on all darwin systems, so this isn't a regression so much as "we could choose to mark x86_64-darwin broken again". It does work on aarch64-darwin.
Sorry, I wasn't clear. It fails at stage, where the derivation configures modules. I did succeed to build it with Is there any difference in the way to build the package in nixpkgs from this?
Sorry for removing the broken flag on x86_64 when I only tested aarch64.
This is one of those tooling issues IMO. I'm surprised we are allowed to merge PRs with broken builds like this without much noise from CI.
I've been taking a look at this and I think there are two problems: configure phase is failing early in nix build, but not when you run it yourself manually (try --it will get much further than a standard ). I'm not sure what the problem is here. you get past configure, actual build of clisp is still broken with all the currently enabled flags on x86_64-darwin. I have a fix for issue 1, which is cosmetic, but at least it makes the build in nixpkgs "fail consistently". :)
Fixed in .
I can confirm fixes it. Thanks everyone!

Discussion:
, xorgproto , coreutils # build options <del> , threadSupport ? stdenv.hostPlatform.isx86 , x11Support ? stdenv.hostPlatform.isx86 </del> <ins> , threadSupport ? (stdenv.hostPlatform.isx86 && ! stdenv.hostPlatform.isDarwin) , x11Support ? (stdenv.hostPlatform.isx86 && ! stdenv.hostPlatform.isDarwin) </ins> , dllSupport ? true , withModules ? [ "pcre"

''; preConfigure = lib.optionalString stdenv.isDarwin ('' <del> cd src autoreconf -f -i -I m4 -I glm4 cd - </del> <ins> ( cd src autoreconf -f -i -I m4 -I glm4 ) </ins> '' + lib.concatMapStrings (x: '' <del> cd modules/${x} autoreconf -f -i -I ../../src -I ../../src/m4 -I ../../src/glm4 cd - </del> <ins> ( root="$PWD" cd modules/${x} autoreconf -f -i -I "$root/src" -I "$root/src/m4" -I "$root/src/glm4" ) </ins> '') withModules); configureFlags = [ "builddir" ]
Change:
Composite layers in keyd MUST always be defined after regular layers (see ) Currently it seems to be impossible to keep the settings order
Hello. I didn't know about these possibilities (composite layers and ), thanks for showing them. Unforntunately in nix, there is no easy way to preserve the order of attributes. See: The simplest solution I can see is to add option. E.g: Will this solution satisfy you?
Yep, that would work. Though, I think that it's possible to preserve the order by using arrays instead of dictionaries. E.g.
At this point, I think I'll add . Why? will want to save their config (except section) in raw string format (when moving from another OS). your suggestion looks fine to me, it's breaking changes anyway. Maybe in the future, if there are more advantages in your syntax, we will rewrite the module.

Discussion:
with lib; let cfg = config.services.keyd; <del> settingsFormat = pkgs.formats.ini { }; </del> keyboardOptions = { ... }: { options = {

}; settings = mkOption { <del> type = settingsFormat.type; </del> <ins> type = (pkgs.formats.ini { }).type; </ins> default = { }; example = { main = {

See <https://github.com/rvaiya/keyd> how to configure. ''; }; <ins> extraConfig = mkOption { type = types.lines; default = ""; example = '' [control+shift] h = left ''; description = lib.mdDoc '' Extra configuration that is appended to the end of the file. **Do not** write `ids` section here, use a separate option for it. You can use this option to define compound layers that must always be defined after the layer they are comprised. ''; }; </ins> }; }; in

environment.etc = mapAttrs' (name: options: nameValuePair "keyd/${name}.conf" { <del> source = pkgs.runCommand "${name}.conf" { ids = '' [ids] ${concatStringsSep "n" options.ids} ''; passAsFile = [ "ids" ]; } '' cat $idsPath <(echo) ${settingsFormat.generate "keyd-${name}.conf" options.settings} >$out </del> <ins> text = '' [ids] ${concatStringsSep "n" options.ids} ${generators.toINI {} options.settings} ${options.extraConfig} </ins> ''; }) cfg.keyboards;

''; <del> mkKeyboardTest = name: { settings, test }: with pkgs.lib; makeTest { </del> <ins> mkKeyboardTest = name: { default, test }: with pkgs.lib; makeTest { </ins> inherit name; nodes.machine = { services.keyd = { enable = true; <del> keyboards.default = { inherit settings; }; </del> <ins> keyboards = { inherit default; }; </ins> }; };

in pkgs.lib.mapAttrs mkKeyboardTest { swap-ab_and_ctrl-as-shift = { <del> test.press = [ "a" "ctrl-b" "c" ]; test.expect = [ "b" "A" "c" ]; </del> <ins> test.press = [ "a" "ctrl-b" "c" "alt_r-h" ]; test.expect = [ "b" "A" "c" "q" ]; </ins> <del> settings.main = { "a" = "b"; "b" = "a"; "control" = "oneshot(shift)"; </del> <ins> default = { settings.main = { "a" = "b"; "b" = "a"; "control" = "oneshot(shift)"; "rightalt" = "layer(rightalt)"; }; extraConfig = '' [rightalt:G] h = q ''; </ins> }; }; }