Experiment with keyboard layouts, system update
This commit is contained in:
parent
9cfe98fbc9
commit
1b91d2e7d8
|
|
@ -93,6 +93,8 @@
|
|||
programs.bash.shellAliases = {
|
||||
nixos-rebuild-system-flake-switch = "sudo nixos-rebuild switch --flake /etc/nixos#desktop";
|
||||
nixos-rebuild-system-flake-boot = "sudo nixos-rebuild boot --flake /etc/nixos#desktop";
|
||||
|
||||
home-manager-rebuild-system-flake-switch = "nix run home-manager -- switch --flake /etc/nixos#desktop";
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,6 +51,8 @@
|
|||
programs.bash.shellAliases = {
|
||||
nixos-rebuild-system-flake-switch = "sudo nixos-rebuild switch --flake /etc/nixos#laptop";
|
||||
nixos-rebuild-system-flake-boot = "sudo nixos-rebuild boot --flake /etc/nixos#laptop";
|
||||
|
||||
home-manager-rebuild-system-flake-switch = "nix run home-manager -- switch --flake /etc/nixos#laptop";
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
|
|
|
|||
48
flake.lock
48
flake.lock
|
|
@ -86,11 +86,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763198244,
|
||||
"narHash": "sha256-oLugbe2pJv39BjWg7kAljn6vUxjVr/ArkITDX8fFd2Y=",
|
||||
"lastModified": 1764194569,
|
||||
"narHash": "sha256-iUM9ktarEzThkayyZrzQ7oycPshAY2XRQqVKz0xX/L0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "c3bc79be5ee97455262c6c677bbf065eed07948c",
|
||||
"rev": "9651819d75f6c7ffaf8a9227490ac704f29659f0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -111,11 +111,11 @@
|
|||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763126448,
|
||||
"narHash": "sha256-LVYJJObvkWwR8QB/Srr6Rks+Fw2lYvnRNOH0etV9DM8=",
|
||||
"lastModified": 1764165116,
|
||||
"narHash": "sha256-DN0m9X9dFPxNTfhaUWlHoM2CFbNiWgxVHzC4j0AIiuc=",
|
||||
"owner": "sodiboo",
|
||||
"repo": "niri-flake",
|
||||
"rev": "add7bcf2925547e180cc2fe6d5f4b5e7c579d086",
|
||||
"rev": "ae097a3c5ef217f9441d0da1c0bc14bbb4796b94",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -144,11 +144,11 @@
|
|||
"niri-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1763014447,
|
||||
"narHash": "sha256-nmu7S8J9IJKLQyIkSU8QWYHygrfw76NHGTkcr+bXMX0=",
|
||||
"lastModified": 1764160906,
|
||||
"narHash": "sha256-6Dud/oe0UnkgCe+JAGF+GjXl6S6ynpcAUYWCdbXjJL4=",
|
||||
"owner": "YaLTeR",
|
||||
"repo": "niri",
|
||||
"rev": "a52df533c4694b5ed0a04140af60fd26146df911",
|
||||
"rev": "8370c539fb584f78924b826d0ac0ad8fa068cf95",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -167,11 +167,11 @@
|
|||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1761572354,
|
||||
"narHash": "sha256-3aXsnYf/wXad8DRLTSTOlulS+65qp93eMo5R7pmaHi4=",
|
||||
"lastModified": 1763964548,
|
||||
"narHash": "sha256-JTRoaEWvPsVIMFJWeS4G2isPo15wqXY/otsiHPN0zww=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixd",
|
||||
"rev": "b9229d79b1cd722257c16027ea79d8f033c3aa4e",
|
||||
"rev": "d4bf15e56540422e2acc7bc26b20b0a0934e3f5e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -182,11 +182,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1762977756,
|
||||
"narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=",
|
||||
"lastModified": 1763966396,
|
||||
"narHash": "sha256-6eeL1YPcY1MV3DDStIDIdy/zZCDKgHdkCmsrLJFiZf0=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55",
|
||||
"rev": "5ae3b07d8d6527c42f17c876e404993199144b6a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -210,11 +210,11 @@
|
|||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1763049705,
|
||||
"narHash": "sha256-A5LS0AJZ1yDPTa2fHxufZN++n8MCmtgrJDtxFxrH4S8=",
|
||||
"lastModified": 1763948260,
|
||||
"narHash": "sha256-dY9qLD0H0zOUgU3vWacPY6Qc421BeQAfm8kBuBtPVE0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3acb677ea67d4c6218f33de0db0955f116b7588c",
|
||||
"rev": "1c8ba8d3f7634acac4a2094eef7c32ad9106532c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -403,11 +403,11 @@
|
|||
"xwayland-satellite-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1762747449,
|
||||
"narHash": "sha256-Z1TKiux8K09a93w4PFDFsj8HFugXNy3iCC3Z8MpR5Rk=",
|
||||
"lastModified": 1763704521,
|
||||
"narHash": "sha256-ceYEV6PnvUN8Zixao4gpPuN+VT3B0SlAXKuPNHZhqUY=",
|
||||
"owner": "Supreeeme",
|
||||
"repo": "xwayland-satellite",
|
||||
"rev": "6338574bc5c036487486acde264f38f39ea15fad",
|
||||
"rev": "f379ff5722a821212eb59ada9cf8e51cb3654aad",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -424,11 +424,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763046220,
|
||||
"narHash": "sha256-2ORtgLIbqvsExqPw5gbyaZBfB/GBGZIqyB4b3Y9OowE=",
|
||||
"lastModified": 1763809017,
|
||||
"narHash": "sha256-mv13dHeIA4cWHZRmFKIF11s7keVP9NhVtpaAYKX40jk=",
|
||||
"owner": "Benexl",
|
||||
"repo": "yt-x",
|
||||
"rev": "a9050c9dddd21e788f8d79b5745f59c848cbbb1e",
|
||||
"rev": "efe0465cdf54d13c0606b76780046ab6ecc60a6c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
23
flake.nix
23
flake.nix
|
|
@ -62,6 +62,29 @@
|
|||
};
|
||||
|
||||
outputs = { self, nixpkgs, ... }@inputs: {
|
||||
# Home Manager configurations when we want to run it independently
|
||||
homeConfigurations = {
|
||||
desktop = inputs.home-manager.lib.homeManagerConfiguration {
|
||||
extraSpecialArgs = {inherit inputs;};
|
||||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
};
|
||||
modules = [
|
||||
./configurations/desktop/home.nix
|
||||
];
|
||||
};
|
||||
laptop = inputs.home-manager.lib.homeManagerConfiguration {
|
||||
extraSpecialArgs = {inherit inputs;};
|
||||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
};
|
||||
modules = [
|
||||
./configurations/laptop/home.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# Dedicated NixOS configurations
|
||||
nixosConfigurations = {
|
||||
desktop = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs;};
|
||||
|
|
|
|||
|
|
@ -122,6 +122,14 @@ fi
|
|||
|
||||
# Chawan Configuration
|
||||
"chawan/config.toml".source = ./global-resources/home-manager/.config/chawan/config.toml;
|
||||
|
||||
# Custom Keyboard Layout Configuration
|
||||
# Standalone XKB
|
||||
"xkb/engrammer.xkb".source = ./global-resources/home-manager/.config/xkb/engrammer.xkb;
|
||||
|
||||
# Symbol
|
||||
"xkb/symbols/engrammer".source = ./global-resources/home-manager/.config/xkb/symbols/engrammer;
|
||||
"xkb/symbols/canary".source = ./global-resources/home-manager/.config/xkb/symbols/canary;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,67 @@
|
|||
// ENGRAMMER BEGIN ////////////////////////////////////////
|
||||
//
|
||||
// Engrammer - Arno's Engram 2.0 https://engram.dev variant
|
||||
// with standard shifted pairs, for programmers
|
||||
//
|
||||
// `~ 1! 2@ 3# 4$ 5% 6^ 7& 8* 9( 0) [{ ]}
|
||||
// bB yY oO uU '" ;: lL dD wW vV zZ =+ \|
|
||||
// cC iI eE aA ,< .> hH tT sS nN qQ
|
||||
// gG xX jJ kK -_ /? rR mM fF pP
|
||||
//
|
||||
partial alphanumeric_keys
|
||||
xkb_symbols "engrammer"
|
||||
{
|
||||
include "gb(basic)"
|
||||
|
||||
key <TLDE> { [ grave, asciitilde ] }; // `~
|
||||
key <AE01> { [ 1, exclam ] }; // 1!
|
||||
key <AE02> { [ 2, at ] }; // 2@
|
||||
key <AE03> { [ 3, numbersign ] }; // 3#
|
||||
key <AE04> { [ 4, dollar ] }; // 4$
|
||||
key <AE05> { [ 5, percent ] }; // 5%
|
||||
key <AE06> { [ 6, asciicircum] }; // 6^
|
||||
key <AE07> { [ 7, ampersand ] }; // 7&
|
||||
key <AE08> { [ 8, asterisk ] }; // 8*
|
||||
key <AE09> { [ 9, parenleft ] }; // 9(
|
||||
key <AE10> { [ 0, parenright ] }; // 0)
|
||||
key <AE11> { [ bracketleft, braceleft ] }; // [{
|
||||
key <AE12> { [ bracketright, braceright ] }; // ]}
|
||||
|
||||
key <AD01> { [ b, B ] }; // bB
|
||||
key <AD02> { [ y, Y ] }; // yY
|
||||
key <AD03> { [ o, O ] }; // oO
|
||||
key <AD04> { [ u, U ] }; // uU
|
||||
key <AD05> { [ apostrophe, quotedbl ] }; // '"
|
||||
key <AD06> { [ semicolon, colon ] }; // ;:
|
||||
key <AD07> { [ l, L ] }; // lL
|
||||
key <AD08> { [ d, D ] }; // dD
|
||||
key <AD09> { [ w, W ] }; // wW
|
||||
key <AD10> { [ v, V ] }; // vV
|
||||
key <AD11> { [ z, Z ] }; // zZ
|
||||
key <AD12> { [ equal, plus ] }; // =+
|
||||
key <BKSL> { [ backslash, bar ] }; // \|
|
||||
|
||||
key <AC01> { [ c, C ] }; // cC
|
||||
key <AC02> { [ i, I ] }; // iI
|
||||
key <AC03> { [ e, E ] }; // eE
|
||||
key <AC04> { [ a, A ] }; // aA
|
||||
key <AC05> { [ comma, less ] }; // ,<
|
||||
key <AC06> { [ period, greater ] }; // .>
|
||||
key <AC07> { [ h, H ] }; // hH
|
||||
key <AC08> { [ t, T ] }; // tT
|
||||
key <AC09> { [ s, S ] }; // sS
|
||||
key <AC10> { [ n, N ] }; // nN
|
||||
key <AC11> { [ q, Q ] }; // qQ
|
||||
|
||||
key <AB01> { [ g, G ] }; // gG
|
||||
key <AB02> { [ x, X ] }; // xX
|
||||
key <AB03> { [ j, J ] }; // jJ
|
||||
key <AB04> { [ k, K ] }; // kK
|
||||
key <AB05> { [ minus, underscore ] }; // -_
|
||||
key <AB06> { [ slash, question ] }; // /?
|
||||
key <AB07> { [ r, R ] }; // rR
|
||||
key <AB08> { [ m, M ] }; // mM
|
||||
key <AB09> { [ f, F ] }; // fF
|
||||
key <AB10> { [ p, P ] }; // pP
|
||||
};
|
||||
// ENGRAMMER END //////////////////////////////////////////
|
||||
|
|
@ -0,0 +1,338 @@
|
|||
// ENGRAMMER BEGIN ////////////////////////////////////////
|
||||
//
|
||||
// Engrammer - Arno's Engram 2.0 https://engram.dev variant
|
||||
// with standard shifted pairs, for programmers
|
||||
//
|
||||
// `~ 1! 2@ 3# 4$ 5% 6^ 7& 8* 9( 0) [{ ]}
|
||||
// bB yY oO uU '" ;: lL dD wW vV zZ =+ \|
|
||||
// cC iI eE aA ,< .> hH tT sS nN qQ
|
||||
// gG xX jJ kK -_ /? rR mM fF pP
|
||||
//
|
||||
xkb_keymap {
|
||||
xkb_keycodes { include "evdev+aliases(qwerty)" };
|
||||
xkb_types { include "complete" };
|
||||
xkb_compat { include "complete" };
|
||||
xkb_geometry { include "pc(pc105)" };
|
||||
|
||||
xkb_symbols "engrammer" {
|
||||
name[group1]="Arnos Engram (Engrammer)";
|
||||
|
||||
key <TLDE> { [ grave, asciitilde ] }; // `~
|
||||
key <AE01> { [ 1, exclam ] }; // 1!
|
||||
key <AE02> { [ 2, at ] }; // 2@
|
||||
key <AE03> { [ 3, numbersign ] }; // 3#
|
||||
key <AE04> { [ 4, dollar ] }; // 4$
|
||||
key <AE05> { [ 5, percent ] }; // 5%
|
||||
key <AE06> { [ 6, asciicircum] }; // 6^
|
||||
key <AE07> { [ 7, ampersand ] }; // 7&
|
||||
key <AE08> { [ 8, asterisk ] }; // 8*
|
||||
key <AE09> { [ 9, parenleft ] }; // 9(
|
||||
key <AE10> { [ 0, parenright ] }; // 0)
|
||||
key <AE11> { [ bracketleft, braceleft ] }; // [{
|
||||
key <AE12> { [ bracketright, braceright ] }; // ]}
|
||||
|
||||
key <AD01> { [ b, B ] }; // bB
|
||||
key <AD02> { [ y, Y ] }; // yY
|
||||
key <AD03> { [ o, O ] }; // oO
|
||||
key <AD04> { [ u, U ] }; // uU
|
||||
key <AD05> { [ apostrophe, quotedbl ] }; // '"
|
||||
key <AD06> { [ semicolon, colon ] }; // ;:
|
||||
key <AD07> { [ l, L ] }; // lL
|
||||
key <AD08> { [ d, D ] }; // dD
|
||||
key <AD09> { [ w, W ] }; // wW
|
||||
key <AD10> { [ v, V ] }; // vV
|
||||
key <AD11> { [ z, Z ] }; // zZ
|
||||
key <AD12> { [ equal, plus ] }; // =+
|
||||
key <BKSL> { [ backslash, bar ] }; // \|
|
||||
|
||||
key <AC01> { [ c, C ] }; // cC
|
||||
key <AC02> { [ i, I ] }; // iI
|
||||
key <AC03> { [ e, E ] }; // eE
|
||||
key <AC04> { [ a, A ] }; // aA
|
||||
key <AC05> { [ comma, less ] }; // ,<
|
||||
key <AC06> { [ period, greater ] }; // .>
|
||||
key <AC07> { [ h, H ] }; // hH
|
||||
key <AC08> { [ t, T ] }; // tT
|
||||
key <AC09> { [ s, S ] }; // sS
|
||||
key <AC10> { [ n, N ] }; // nN
|
||||
key <AC11> { [ q, Q ] }; // qQ
|
||||
|
||||
key <AB01> { [ g, G ] }; // gG
|
||||
key <AB02> { [ x, X ] }; // xX
|
||||
key <AB03> { [ j, J ] }; // jJ
|
||||
key <AB04> { [ k, K ] }; // kK
|
||||
key <AB05> { [ minus, underscore ] }; // -_
|
||||
key <AB06> { [ slash, question ] }; // /?
|
||||
key <AB07> { [ r, R ] }; // rR
|
||||
key <AB08> { [ m, M ] }; // mM
|
||||
key <AB09> { [ f, F ] }; // fF
|
||||
key <AB10> { [ p, P ] }; // pP
|
||||
|
||||
|
||||
|
||||
// Boilerplate
|
||||
key <ESC> { [ Escape ] };
|
||||
key <BKSP> { [ BackSpace, BackSpace ] };
|
||||
key <TAB> { [ Tab, ISO_Left_Tab ] };
|
||||
key <RTRN> { [ Return ] };
|
||||
key <LCTL> { [ Control_L ] };
|
||||
key <LFSH> { [ Shift_L ] };
|
||||
key <RTSH> { [ Shift_R ] };
|
||||
key <KPMU> {
|
||||
type= "CTRL+ALT",
|
||||
symbols[Group1]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86ClearGrab ]
|
||||
};
|
||||
|
||||
|
||||
key <LALT> { [ Alt_L ] };
|
||||
key <SPCE> { [ space ] };
|
||||
key <CAPS> { [ Caps_Lock ] };
|
||||
key <FK01> {
|
||||
type= "CTRL+ALT",
|
||||
symbols[Group1]= [ F1, F1, F1, F1, XF86Switch_VT_1 ]
|
||||
};
|
||||
key <FK02> {
|
||||
type= "CTRL+ALT",
|
||||
symbols[Group1]= [ F2, F2, F2, F2, XF86Switch_VT_2 ]
|
||||
};
|
||||
key <FK03> {
|
||||
type= "CTRL+ALT",
|
||||
symbols[Group1]= [ F3, F3, F3, F3, XF86Switch_VT_3 ]
|
||||
};
|
||||
key <FK04> {
|
||||
type= "CTRL+ALT",
|
||||
symbols[Group1]= [ F4, F4, F4, F4, XF86Switch_VT_4 ]
|
||||
};
|
||||
key <FK05> {
|
||||
type= "CTRL+ALT",
|
||||
symbols[Group1]= [ F5, F5, F5, F5, XF86Switch_VT_5 ]
|
||||
};
|
||||
key <FK06> {
|
||||
type= "CTRL+ALT",
|
||||
symbols[Group1]= [ F6, F6, F6, F6, XF86Switch_VT_6 ]
|
||||
};
|
||||
key <FK07> {
|
||||
type= "CTRL+ALT",
|
||||
symbols[Group1]= [ F7, F7, F7, F7, XF86Switch_VT_7 ]
|
||||
};
|
||||
key <FK08> {
|
||||
type= "CTRL+ALT",
|
||||
symbols[Group1]= [ F8, F8, F8, F8, XF86Switch_VT_8 ]
|
||||
};
|
||||
key <FK09> {
|
||||
type= "CTRL+ALT",
|
||||
symbols[Group1]= [ F9, F9, F9, F9, XF86Switch_VT_9 ]
|
||||
};
|
||||
key <FK10> {
|
||||
type= "CTRL+ALT",
|
||||
symbols[Group1]= [ F10, F10, F10, F10, XF86Switch_VT_10 ]
|
||||
};
|
||||
key <NMLK> { [ Num_Lock ] };
|
||||
key <SCLK> { [ Scroll_Lock ] };
|
||||
key <KP7> { [ KP_Home, KP_7 ] };
|
||||
key <KP8> { [ KP_Up, KP_8 ] };
|
||||
key <KP9> { [ KP_Prior, KP_9 ] };
|
||||
key <KPSU> {
|
||||
type= "CTRL+ALT",
|
||||
symbols[Group1]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86Prev_VMode ]
|
||||
};
|
||||
key <KP4> { [ KP_Left, KP_4 ] };
|
||||
key <KP5> { [ KP_Begin, KP_5 ] };
|
||||
key <KP6> { [ KP_Right, KP_6 ] };
|
||||
key <KPAD> {
|
||||
type= "CTRL+ALT",
|
||||
symbols[Group1]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86Next_VMode ]
|
||||
};
|
||||
key <KP1> { [ KP_End, KP_1 ] };
|
||||
key <KP2> { [ KP_Down, KP_2 ] };
|
||||
key <KP3> { [ KP_Next, KP_3 ] };
|
||||
key <KP0> { [ KP_Insert, KP_0 ] };
|
||||
key <KPDL> { [ KP_Delete, KP_Decimal ] };
|
||||
key <LVL3> { [ ISO_Level3_Shift ] };
|
||||
key <ZEHA> { [ XF86TouchpadToggle ] };
|
||||
key <LSGT> {
|
||||
type= "FOUR_LEVEL",
|
||||
symbols[Group1]= [ backslash, bar, bar, brokenbar ]
|
||||
};
|
||||
key <FK11> {
|
||||
type= "CTRL+ALT",
|
||||
symbols[Group1]= [ F11, F11, F11, F11, XF86Switch_VT_11 ]
|
||||
};
|
||||
key <FK12> {
|
||||
type= "CTRL+ALT",
|
||||
symbols[Group1]= [ F12, F12, F12, F12, XF86Switch_VT_12 ]
|
||||
};
|
||||
key <KATA> { [ Katakana ] };
|
||||
key <HIRA> { [ Hiragana ] };
|
||||
key <HENK> { [ Henkan_Mode ] };
|
||||
key <HKTG> { [ Hiragana_Katakana ] };
|
||||
key <MUHE> { [ Muhenkan ] };
|
||||
key <KPEN> { [ KP_Enter ] };
|
||||
key <RCTL> { [ Control_R ] };
|
||||
key <KPDV> {
|
||||
type= "CTRL+ALT",
|
||||
symbols[Group1]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86Ungrab ]
|
||||
};
|
||||
key <PRSC> {
|
||||
type= "PC_ALT_LEVEL2",
|
||||
symbols[Group1]= [ Print, Sys_Req ]
|
||||
};
|
||||
key <RALT> {
|
||||
type= "ONE_LEVEL",
|
||||
symbols[Group1]= [ ISO_Level3_Shift ]
|
||||
};
|
||||
key <LNFD> { [ Linefeed ] };
|
||||
key <HOME> { [ Home ] };
|
||||
key <UP> { [ Up ] };
|
||||
key <PGUP> { [ Prior ] };
|
||||
key <LEFT> { [ Left ] };
|
||||
key <RGHT> { [ Right ] };
|
||||
key <END> { [ End ] };
|
||||
key <DOWN> { [ Down ] };
|
||||
key <PGDN> { [ Next ] };
|
||||
key <INS> { [ Insert ] };
|
||||
key <DELE> { [ Delete ] };
|
||||
key <MUTE> { [ XF86AudioMute ] };
|
||||
key <VOL-> { [ XF86AudioLowerVolume ] };
|
||||
key <VOL+> { [ XF86AudioRaiseVolume ] };
|
||||
key <POWR> { [ XF86PowerOff ] };
|
||||
key <KPEQ> { [ KP_Equal ] };
|
||||
key <I126> { [ plusminus ] };
|
||||
key <PAUS> {
|
||||
type= "PC_CONTROL_LEVEL2",
|
||||
symbols[Group1]= [ Pause, Break ]
|
||||
};
|
||||
key <I128> { [ XF86LaunchA ] };
|
||||
key <I129> { [ KP_Decimal, KP_Decimal ] };
|
||||
key <HNGL> { [ Hangul ] };
|
||||
key <HJCV> { [ Hangul_Hanja ] };
|
||||
key <LWIN> { [ Super_L ] };
|
||||
key <RWIN> { [ Super_R ] };
|
||||
key <COMP> { [ Menu ] };
|
||||
key <STOP> { [ Cancel ] };
|
||||
key <AGAI> { [ Redo ] };
|
||||
key <PROP> { [ SunProps ] };
|
||||
key <UNDO> { [ Undo ] };
|
||||
key <FRNT> { [ SunFront ] };
|
||||
key <COPY> { [ XF86Copy ] };
|
||||
key <OPEN> { [ XF86Open ] };
|
||||
key <PAST> { [ XF86Paste ] };
|
||||
key <FIND> { [ Find ] };
|
||||
key <CUT> { [ XF86Cut ] };
|
||||
key <HELP> { [ Help ] };
|
||||
key <I147> { [ XF86MenuKB ] };
|
||||
key <I148> { [ XF86Calculator ] };
|
||||
key <I150> { [ XF86Sleep ] };
|
||||
key <I151> { [ XF86WakeUp ] };
|
||||
key <I152> { [ XF86Explorer ] };
|
||||
key <I153> { [ XF86Send ] };
|
||||
key <I155> { [ XF86Xfer ] };
|
||||
key <I156> { [ XF86Launch1 ] };
|
||||
key <I157> { [ XF86Launch2 ] };
|
||||
key <I158> { [ XF86WWW ] };
|
||||
key <I159> { [ XF86DOS ] };
|
||||
key <I160> { [ XF86ScreenSaver ] };
|
||||
key <I161> { [ XF86RotateWindows ] };
|
||||
key <I162> { [ XF86TaskPane ] };
|
||||
key <I163> { [ XF86Mail ] };
|
||||
key <I164> { [ XF86Favorites ] };
|
||||
key <I165> { [ XF86MyComputer ] };
|
||||
key <I166> { [ XF86Back ] };
|
||||
key <I167> { [ XF86Forward ] };
|
||||
key <I169> { [ XF86Eject ] };
|
||||
key <I170> { [ XF86Eject ] };
|
||||
key <I171> { [ XF86AudioNext ] };
|
||||
key <I172> { [ XF86AudioPlay, XF86AudioPause ] };
|
||||
key <I173> { [ XF86AudioPrev ] };
|
||||
key <I174> { [ XF86AudioStop, XF86Eject ] };
|
||||
key <I175> { [ XF86AudioRecord ] };
|
||||
key <I176> { [ XF86AudioRewind ] };
|
||||
key <I177> { [ XF86Phone ] };
|
||||
key <I179> { [ XF86Tools ] };
|
||||
key <I180> { [ XF86HomePage ] };
|
||||
key <I181> { [ XF86Reload ] };
|
||||
key <I182> { [ XF86Close ] };
|
||||
key <I185> { [ XF86ScrollUp ] };
|
||||
key <I186> { [ XF86ScrollDown ] };
|
||||
key <I187> { [ parenleft ] };
|
||||
key <I188> { [ parenright ] };
|
||||
key <I189> { [ XF86New ] };
|
||||
key <I190> { [ Redo ] };
|
||||
key <FK13> { [ XF86Tools ] };
|
||||
key <FK14> { [ XF86Launch5 ] };
|
||||
key <FK15> { [ XF86Launch6 ] };
|
||||
key <FK16> { [ XF86Launch7 ] };
|
||||
key <FK17> { [ XF86Launch8 ] };
|
||||
key <FK18> { [ XF86Launch9 ] };
|
||||
key <FK20> { [ XF86AudioMicMute ] };
|
||||
key <FK21> { [ XF86TouchpadToggle ] };
|
||||
key <FK22> { [ XF86TouchpadOn ] };
|
||||
key <FK23> {
|
||||
type= "PC_SHIFT_SUPER_LEVEL2",
|
||||
symbols[Group1]= [ XF86TouchpadOff, XF86Assistant ]
|
||||
};
|
||||
key <LVL5> { [ ISO_Level5_Shift ] };
|
||||
key <ALT> { [ NoSymbol, Alt_L ] };
|
||||
key <META> { [ NoSymbol, Meta_L ] };
|
||||
key <SUPR> { [ NoSymbol, Super_L ] };
|
||||
key <HYPR> { [ NoSymbol, Hyper_L ] };
|
||||
key <I208> { [ XF86AudioPlay ] };
|
||||
key <I209> { [ XF86AudioPause ] };
|
||||
key <I210> { [ XF86Launch3 ] };
|
||||
key <I211> { [ XF86Launch4 ] };
|
||||
key <I212> { [ XF86LaunchB ] };
|
||||
key <I213> { [ XF86Suspend ] };
|
||||
key <I214> { [ XF86Close ] };
|
||||
key <I215> { [ XF86AudioPlay ] };
|
||||
key <I216> { [ XF86AudioForward ] };
|
||||
key <I218> { [ Print ] };
|
||||
key <I220> { [ XF86WebCam ] };
|
||||
key <I221> { [ XF86AudioPreset ] };
|
||||
key <I223> { [ XF86Mail ] };
|
||||
key <I224> { [ XF86Messenger ] };
|
||||
key <I225> { [ XF86Search ] };
|
||||
key <I226> { [ XF86Go ] };
|
||||
key <I227> { [ XF86Finance ] };
|
||||
key <I228> { [ XF86Game ] };
|
||||
key <I229> { [ XF86Shop ] };
|
||||
key <I231> { [ Cancel ] };
|
||||
key <I232> { [ XF86MonBrightnessDown ] };
|
||||
key <I233> { [ XF86MonBrightnessUp ] };
|
||||
key <I234> { [ XF86AudioMedia ] };
|
||||
key <I235> { [ XF86Display ] };
|
||||
key <I236> { [ XF86KbdLightOnOff ] };
|
||||
key <I237> { [ XF86KbdBrightnessDown ] };
|
||||
key <I238> { [ XF86KbdBrightnessUp ] };
|
||||
key <I239> { [ XF86Send ] };
|
||||
key <I240> { [ XF86Reply ] };
|
||||
key <I241> { [ XF86MailForward ] };
|
||||
key <I242> { [ XF86Save ] };
|
||||
key <I243> { [ XF86Documents ] };
|
||||
key <I244> { [ XF86Battery ] };
|
||||
key <I245> { [ XF86Bluetooth ] };
|
||||
key <I246> { [ XF86WLAN ] };
|
||||
key <I247> { [ XF86UWB ] };
|
||||
key <I249> { [ XF86Next_VMode ] };
|
||||
key <I250> { [ XF86Prev_VMode ] };
|
||||
key <I251> { [ XF86MonBrightnessCycle ] };
|
||||
key <I252> { [ XF86BrightnessAuto ] };
|
||||
key <I253> { [ XF86DisplayOff ] };
|
||||
key <I254> { [ XF86WWAN ] };
|
||||
key <I255> { [ XF86RFKill ] };
|
||||
modifier_map Control { <LCTL> };
|
||||
modifier_map Shift { <LFSH> };
|
||||
modifier_map Shift { <RTSH> };
|
||||
modifier_map Mod1 { <LALT> };
|
||||
modifier_map Lock { <CAPS> };
|
||||
modifier_map Mod2 { <NMLK> };
|
||||
modifier_map Mod5 { <LVL3> };
|
||||
modifier_map Control { <RCTL> };
|
||||
modifier_map Mod4 { <LWIN> };
|
||||
modifier_map Mod4 { <RWIN> };
|
||||
modifier_map Mod3 { <LVL5> };
|
||||
modifier_map Mod1 { <ALT> };
|
||||
modifier_map Mod1 { <META> };
|
||||
modifier_map Mod4 { <SUPR> };
|
||||
};
|
||||
};
|
||||
// ENGRAMMER END //////////////////////////////////////////
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
// CANARY BEGIN ////////////////////////////////////////
|
||||
//
|
||||
// Canary
|
||||
//
|
||||
// w l y p k z x o u ; [ ] \
|
||||
// c r s t b f n e i a '
|
||||
// j v d g q m h / , .
|
||||
|
||||
default partial alphanumeric_keys
|
||||
xkb_symbols "basic"
|
||||
{
|
||||
include "gb(basic)"
|
||||
|
||||
name[group1]="Canary (Staggered)";
|
||||
|
||||
key <CAPS> { [ Control_L ] };
|
||||
modifier_map Control { <CAPS> };
|
||||
|
||||
key <AD01> { [ w, W ] }; // wW
|
||||
key <AD02> { [ l, L ] }; // lL
|
||||
key <AD03> { [ y, Y ] }; // yY
|
||||
key <AD04> { [ p, P ] }; // pP
|
||||
key <AD05> { [ k, K ] }; // kK
|
||||
key <AD06> { [ z, Z ] }; // zZ
|
||||
key <AD07> { [ x, X ] }; // xX
|
||||
key <AD08> { [ o, O ] }; // oO
|
||||
key <AD09> { [ u, U ] }; // uU
|
||||
key <AD10> { [ semicolon, colon ] }; // ;:
|
||||
key <AD11> { [ bracketleft, braceright ] }; // [{
|
||||
key <AD12> { [ bracketright, braceleft ] }; // ]}
|
||||
key <BKSL> { [ backslash, bar ] }; // \|
|
||||
|
||||
key <AC01> { [ c, C ] }; // cC
|
||||
key <AC02> { [ r, R ] }; // rR
|
||||
key <AC03> { [ s, S ] }; // sS
|
||||
key <AC04> { [ t, T ] }; // tT
|
||||
key <AC05> { [ b, B ] }; // bB
|
||||
key <AC06> { [ f, F ] }; // fF
|
||||
key <AC07> { [ n, N ] }; // nN
|
||||
key <AC08> { [ e, E ] }; // eE
|
||||
key <AC09> { [ i, I ] }; // iI
|
||||
key <AC10> { [ a, A ] }; // aA
|
||||
key <AC11> { [ apostrophe, quotedbl ] }; // '"
|
||||
|
||||
key <AB01> { [ j, J ] }; // jJ
|
||||
key <AB02> { [ v, V ] }; // vV
|
||||
key <AB03> { [ d, D ] }; // dD
|
||||
key <AB04> { [ g, G ] }; // gG
|
||||
key <AB05> { [ q, Q ] }; // qQ
|
||||
key <AB06> { [ m, M ] }; // mM
|
||||
key <AB07> { [ h, H ] }; // hH
|
||||
key <AB08> { [ slash, question ] }; // /?
|
||||
key <AB09> { [ comma, less ] }; // ,<
|
||||
key <AB10> { [ period, greater ] }; // .>
|
||||
};
|
||||
// CANARY END //////////////////////////////////////////
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
// ENGRAMMER BEGIN ////////////////////////////////////////
|
||||
//
|
||||
// Engrammer - Arno's Engram 2.0 https://engram.dev variant
|
||||
// with standard shifted pairs, for programmers
|
||||
//
|
||||
// `~ 1! 2@ 3# 4$ 5% 6^ 7& 8* 9( 0) [{ ]}
|
||||
// bB yY oO uU '" ;: lL dD wW vV zZ =+ \|
|
||||
// cC iI eE aA ,< .> hH tT sS nN qQ
|
||||
// gG xX jJ kK -_ /? rR mM fF pP
|
||||
//
|
||||
default partial alphanumeric_keys
|
||||
xkb_symbols "basic"
|
||||
{
|
||||
include "gb(basic)"
|
||||
|
||||
name[group1]="Arnos Engram (Engrammer)";
|
||||
|
||||
key <TLDE> { [ grave, asciitilde ] }; // `~
|
||||
key <AE01> { [ 1, exclam ] }; // 1!
|
||||
key <AE02> { [ 2, at ] }; // 2@
|
||||
key <AE03> { [ 3, numbersign ] }; // 3#
|
||||
key <AE04> { [ 4, dollar ] }; // 4$
|
||||
key <AE05> { [ 5, percent ] }; // 5%
|
||||
key <AE06> { [ 6, asciicircum] }; // 6^
|
||||
key <AE07> { [ 7, ampersand ] }; // 7&
|
||||
key <AE08> { [ 8, asterisk ] }; // 8*
|
||||
key <AE09> { [ 9, parenleft ] }; // 9(
|
||||
key <AE10> { [ 0, parenright ] }; // 0)
|
||||
key <AE11> { [ bracketleft, braceleft ] }; // [{
|
||||
key <AE12> { [ bracketright, braceright ] }; // ]}
|
||||
|
||||
key <AD01> { [ b, B ] }; // bB
|
||||
key <AD02> { [ y, Y ] }; // yY
|
||||
key <AD03> { [ o, O ] }; // oO
|
||||
key <AD04> { [ u, U ] }; // uU
|
||||
key <AD05> { [ apostrophe, quotedbl ] }; // '"
|
||||
key <AD06> { [ semicolon, colon ] }; // ;:
|
||||
key <AD07> { [ l, L ] }; // lL
|
||||
key <AD08> { [ d, D ] }; // dD
|
||||
key <AD09> { [ w, W ] }; // wW
|
||||
key <AD10> { [ v, V ] }; // vV
|
||||
key <AD11> { [ z, Z ] }; // zZ
|
||||
key <AD12> { [ equal, plus ] }; // =+
|
||||
key <BKSL> { [ backslash, bar ] }; // \|
|
||||
|
||||
key <AC01> { [ c, C ] }; // cC
|
||||
key <AC02> { [ i, I ] }; // iI
|
||||
key <AC03> { [ e, E ] }; // eE
|
||||
key <AC04> { [ a, A ] }; // aA
|
||||
key <AC05> { [ comma, less ] }; // ,<
|
||||
key <AC06> { [ period, greater ] }; // .>
|
||||
key <AC07> { [ h, H ] }; // hH
|
||||
key <AC08> { [ t, T ] }; // tT
|
||||
key <AC09> { [ s, S ] }; // sS
|
||||
key <AC10> { [ n, N ] }; // nN
|
||||
key <AC11> { [ q, Q ] }; // qQ
|
||||
|
||||
key <AB01> { [ g, G ] }; // gG
|
||||
key <AB02> { [ x, X ] }; // xX
|
||||
key <AB03> { [ j, J ] }; // jJ
|
||||
key <AB04> { [ k, K ] }; // kK
|
||||
key <AB05> { [ minus, underscore ] }; // -_
|
||||
key <AB06> { [ slash, question ] }; // /?
|
||||
key <AB07> { [ r, R ] }; // rR
|
||||
key <AB08> { [ m, M ] }; // mM
|
||||
key <AB09> { [ f, F ] }; // fF
|
||||
key <AB10> { [ p, P ] }; // pP
|
||||
};
|
||||
// ENGRAMMER END //////////////////////////////////////////
|
||||
|
||||
|
|
@ -155,6 +155,7 @@
|
|||
# buildInputs = oldAttrs.buildInputs ++ [ pkgs.xorg.libX11 ];
|
||||
#})) # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||
neovim
|
||||
neovide
|
||||
xorg.libX11
|
||||
zoxide # A fast cd command that learns your habits
|
||||
tealdeer # A very fast implementation of tldr in Rust
|
||||
|
|
@ -213,7 +214,7 @@
|
|||
wineasio
|
||||
|
||||
firefox
|
||||
librewolf
|
||||
librewolf-bin
|
||||
ungoogled-chromium
|
||||
# nyxt
|
||||
# qutebrowser
|
||||
|
|
@ -465,6 +466,7 @@
|
|||
fonts.packages = with pkgs; [
|
||||
#nerdfonts
|
||||
#inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd
|
||||
|
||||
inputs.apple-fonts.packages.${pkgs.system}.sf-compact-nerd
|
||||
inputs.apple-fonts.packages.${pkgs.system}.sf-mono-nerd
|
||||
inputs.apple-fonts.packages.${pkgs.system}.sf-arabic-nerd
|
||||
|
|
|
|||
|
|
@ -14,8 +14,16 @@ input {
|
|||
|
||||
// For example:
|
||||
layout "gb"
|
||||
|
||||
// We can switch keyboard layouts between engrammer and default with Super + Space
|
||||
options "grp:win_space_toggle"
|
||||
// options "grp:win_space_toggle,compose:ralt,ctrl:nocaps"
|
||||
}
|
||||
|
||||
// Engrammer Keyboard Layout
|
||||
//xkb {
|
||||
// file "~/.config/xkb/engrammer.xkb"
|
||||
//}
|
||||
}
|
||||
|
||||
// Next sections include libinput settings.
|
||||
|
|
|
|||
Loading…
Reference in New Issue