{ pkgs, ... }: let dashie = pkgs.writeText "dashie" '' xkb_symbols "dashie" { include "us(basic)" include "level3(ralt_switch)" key { [ a, A, adiaeresis, Adiaeresis ] }; key { [ o, O, odiaeresis, Odiaeresis ] }; key { [ u, U, udiaeresis, Udiaeresis ] }; }; ''; in { environment.systemPackages = [ pkgs.xorg.xkbcomp ]; services.xserver.xkb.extraLayouts.dashie = { description = "US layout with 'umlaut'"; languages = [ "eng" ]; symbolsFile = "${dashie}"; }; }