# modules/alerts/sms.nix { config, pkgs, lib, ... }: { # services.xserver.enable = true; services.xserver.xkb.extraLayouts.bepovim = { description = "Clavier Bepovim – 4 niveaux"; languages = [ "fr" ]; # IMPORTANT: c'est `symbolsFile`, pas `symbols`. symbolsFile = builtins.toFile "bepovim.xkb" '' xkb_symbols "basic" { name[Group1] = "Bepovim"; key { [ Escape ] }; key { [ dollar, numbersign ] }; key { [ less, 1, guillemotleft ] }; key { [ greater, 2, guillemotright ] }; key { [ parenleft, 3, bracketleft ] }; key { [ parenright, 4, bracketright ] }; key { [ at, 5, braceleft ] }; key { [ plus, 6, braceright ] }; key { [ minus, 7, asciitilde ] }; key { [ asterisk, 8 ] }; key { [ slash, 9, backslash ] }; key { [ quotedbl, 0 ] }; key { [ equal, ampersand ] }; key { [ BackSpace ] }; key { [ Tab, ISO_Left_Tab ] }; key { [ b, B ] }; key { [ eacute, Eacute ] }; key { [ p, P ] }; key { [ o, O ] }; key { [ r, R ] }; key { [ dead_circumflex, grave ] }; key { [ v, V ] }; key { [ s, S ] }; key { [ t, T ] }; key { [ d, D ] }; key { [ egrave, Egrave ] }; key { [ ccedilla, Ccedilla ] }; key { [ Return ] }; key { [ c, C ] }; key { [ a, A ] }; key { [ u, U ] }; key { [ i, I ] }; key { [ e, E, EuroSign ] }; key { [ period, question ] }; key { [ n, N ] }; key { [ h, H, Left ] }; key { [ j, J, Down ] }; key { [ k, K, Up ] }; key { [ l, L, Right ] }; key { [ m, M ] }; key { [ Shift_L ] }; key { [ q, Q ] }; key { [ w, W ] }; key { [ agrave, Agrave ] }; key { [ f, F ] }; key { [ colon, bar ] }; key { [ comma, semicolon ] }; key { [ apostrophe, exclam ] }; key { [ x, X ] }; key { [ g, G ] }; key { [ z, Z ] }; key { [ y, Y ] }; key { [ Up ] }; key { [ Left ] }; key { [ Down ] }; key { [ Right ] }; key { [ Control_L ] }; key { [ Alt_L ] }; key { [ space, underscore, nobreakspace, U202F ] }; key { [ ISO_Level3_Shift ] }; key { [ F1, F1 ] }; key { [ F2, F2 ] }; key { [ F3, F3 ] }; key { [ F4, F4 ] }; key { [ F5, F5 ] }; key { [ F6, F6 ] }; key { [ F7, F7 ] }; key { [ F8, F8 ]}; key { [ F9, F9 ] }; key { [ F10, F10 ] }; key { [ F11, F11 ] }; }; ''; }; services.xserver.xkb.layout = "bepovim"; services.xserver.xkb.variant = "basic"; services.xserver.xkb.options = "lv3:ralt_switch"; console.useXkbConfig = true; }