Loading nixos/modules/module-list.nix +1 −0 Original line number Diff line number Diff line Loading @@ -637,6 +637,7 @@ ./services/hardware/actkbd.nix ./services/hardware/amdgpu.nix ./services/hardware/argonone.nix ./services/hardware/arsenik.nix ./services/hardware/asusd.nix ./services/hardware/auto-cpufreq.nix ./services/hardware/auto-epp.nix Loading nixos/modules/services/hardware/arsenik.nix 0 → 100644 +130 −0 Original line number Diff line number Diff line { lib, config, pkgs, ... }: let cfg = config.services.arsenik; in { options.services.arsenik = { enable = lib.mkEnableOption "A 33-key layout that works with all keyboards."; package = lib.mkPackageOption pkgs "arsenik" { }; tap_timeout = lib.mkOption { default = 200; description = "The key must be pressed twice in XX ms to enable repetitions."; type = lib.types.int; }; hold_timeout = lib.mkOption { default = 200; description = "The key must be held XX ms to become a layer shift."; type = lib.types.int; }; long_hold_timeout = lib.mkOption { default = 300; description = "Slightly higher value for typing keys, to prevent unexpected hold effect."; type = lib.types.int; }; mac = lib.mkOption { default = false; description = "Original key arrangement on your keyboard: Mac or PC."; type = lib.types.bool; }; anglemod = lib.mkOption { default = false; description = '' Choose here if you want to add an angle mod: ZXCVB are shifted to the left. See https://colemakmods.github.io/ergonomic-mods/angle.html for more details. ''; type = lib.types.bool; }; wide = lib.mkOption { default = false; description = "The right hand is moved one key to the right."; type = lib.types.bool; }; lt = lib.mkOption { default = false; description = "Enable layer-taps."; type = lib.types.bool; }; hrm = lib.mkOption { default = false; description = "Enable homerow."; type = lib.types.bool; }; lafayette = lib.mkOption { default = false; description = "Add AltGr programmation layer like Ergo‑L"; type = lib.types.bool; }; num = lib.mkOption { default = false; description = "Add NumRow layer"; type = lib.types.bool; }; vim = lib.mkOption { default = false; description = "Navigation layer: ESDF or HJKL?"; type = lib.types.bool; }; run = lib.mkOption { default = "M-p"; description = "The keyboard shortcut of your application launcher."; type = lib.types.str; }; layout = lib.mkOption { default = "ergol"; description = '' Your keyboard layout. Possible values are: ergol qwerty-lafayette qwerty azerty qwertz bepo optimot ''; type = lib.types.str; }; }; config = lib.mkIf cfg.enable { assertions = [ { assertion = cfg.wide -> cfg.anglemod; message = "service.arsenik.wide requires service.arsenik.anglemod"; } { assertion = cfg.hrm -> cfg.lt; message = "service.arsenik.hrm requires service.arsenik.lt"; } ]; services.kanata = let src = "${cfg.package}/share/arsenik"; defsrc = "${if cfg.mac then "mac" else "pc"}${if cfg.wide then "_wide" else ""}${ if cfg.anglemod then "_anglemod" else "" }"; base = "base${if cfg.lt then "_lt" else ""}${if cfg.hrm then "_hrm" else ""}"; symbols = "symbols_${if cfg.lafayette then "lafayette" else "noop"}${ if cfg.num then "_num" else "" }"; navigation = "navigation${if cfg.vim then "_vim" else ""}"; alias = "${cfg.layout}_${if cfg.mac then "mac" else "pc"}"; in { enable = true; keyboards.arsenik.config = '' (defvar tap_timeout ${builtins.toString cfg.tap_timeout} hold_timeout ${builtins.toString cfg.hold_timeout} long_hold_timeout ${builtins.toString cfg.long_hold_timeout} ) (include ${src}/defsrc/${defsrc}.kbd) (include ${src}/deflayer/${base}.kbd) (include ${src}/deflayer/${symbols}.kbd) (include ${src}/deflayer/${navigation}.kbd) (defalias run ${cfg.run}) (include ${src}/defalias/${alias}.kbd) ''; }; }; } pkgs/applications/editors/vim/plugins/generated.nix +13 −0 Original line number Diff line number Diff line Loading @@ -14500,6 +14500,19 @@ final: prev: { meta.hydraPlatforms = [ ]; }; stringbreaker-nvim = buildVimPlugin { pname = "stringbreaker.nvim"; version = "2025-09-24"; src = fetchFromGitHub { owner = "duqcyxwd"; repo = "stringbreaker.nvim"; rev = "f6310ad154063151078548b21e8de05bec1f6ac9"; sha256 = "14k7cvjh9kz3p33np275qp2p2aipbxm934kqz2yc7l08fag9sg3x"; }; meta.homepage = "https://github.com/duqcyxwd/stringbreaker.nvim/"; meta.hydraPlatforms = [ ]; }; styler-nvim = buildVimPlugin { pname = "styler.nvim"; version = "2025-10-28"; Loading pkgs/applications/editors/vim/plugins/vim-plugin-names +1 −0 Original line number Diff line number Diff line Loading @@ -1113,6 +1113,7 @@ https://github.com/darfink/starsearch.vim/,, https://github.com/max397574/startup.nvim/,HEAD, https://github.com/luukvbaal/statuscol.nvim/,, https://github.com/arnamak/stay-centered.nvim/,HEAD, https://github.com/duqcyxwd/stringbreaker.nvim/,HEAD, https://github.com/folke/styler.nvim/,, https://github.com/teto/stylish.nvim/,HEAD, https://github.com/gbprod/substitute.nvim/,HEAD, Loading pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix +2 −2 Original line number Diff line number Diff line Loading @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "claude-code"; publisher = "anthropic"; version = "2.0.47"; hash = "sha256-2wvViSXJQO5h8WGYqXpn+gRQ8Tzfb9O+MoJBTLaevUw="; version = "2.0.49"; hash = "sha256-norWEwxgAFlylLH+NphYdmpb0vkVcmkidi0SN8Kr6R0="; }; meta = { Loading Loading
nixos/modules/module-list.nix +1 −0 Original line number Diff line number Diff line Loading @@ -637,6 +637,7 @@ ./services/hardware/actkbd.nix ./services/hardware/amdgpu.nix ./services/hardware/argonone.nix ./services/hardware/arsenik.nix ./services/hardware/asusd.nix ./services/hardware/auto-cpufreq.nix ./services/hardware/auto-epp.nix Loading
nixos/modules/services/hardware/arsenik.nix 0 → 100644 +130 −0 Original line number Diff line number Diff line { lib, config, pkgs, ... }: let cfg = config.services.arsenik; in { options.services.arsenik = { enable = lib.mkEnableOption "A 33-key layout that works with all keyboards."; package = lib.mkPackageOption pkgs "arsenik" { }; tap_timeout = lib.mkOption { default = 200; description = "The key must be pressed twice in XX ms to enable repetitions."; type = lib.types.int; }; hold_timeout = lib.mkOption { default = 200; description = "The key must be held XX ms to become a layer shift."; type = lib.types.int; }; long_hold_timeout = lib.mkOption { default = 300; description = "Slightly higher value for typing keys, to prevent unexpected hold effect."; type = lib.types.int; }; mac = lib.mkOption { default = false; description = "Original key arrangement on your keyboard: Mac or PC."; type = lib.types.bool; }; anglemod = lib.mkOption { default = false; description = '' Choose here if you want to add an angle mod: ZXCVB are shifted to the left. See https://colemakmods.github.io/ergonomic-mods/angle.html for more details. ''; type = lib.types.bool; }; wide = lib.mkOption { default = false; description = "The right hand is moved one key to the right."; type = lib.types.bool; }; lt = lib.mkOption { default = false; description = "Enable layer-taps."; type = lib.types.bool; }; hrm = lib.mkOption { default = false; description = "Enable homerow."; type = lib.types.bool; }; lafayette = lib.mkOption { default = false; description = "Add AltGr programmation layer like Ergo‑L"; type = lib.types.bool; }; num = lib.mkOption { default = false; description = "Add NumRow layer"; type = lib.types.bool; }; vim = lib.mkOption { default = false; description = "Navigation layer: ESDF or HJKL?"; type = lib.types.bool; }; run = lib.mkOption { default = "M-p"; description = "The keyboard shortcut of your application launcher."; type = lib.types.str; }; layout = lib.mkOption { default = "ergol"; description = '' Your keyboard layout. Possible values are: ergol qwerty-lafayette qwerty azerty qwertz bepo optimot ''; type = lib.types.str; }; }; config = lib.mkIf cfg.enable { assertions = [ { assertion = cfg.wide -> cfg.anglemod; message = "service.arsenik.wide requires service.arsenik.anglemod"; } { assertion = cfg.hrm -> cfg.lt; message = "service.arsenik.hrm requires service.arsenik.lt"; } ]; services.kanata = let src = "${cfg.package}/share/arsenik"; defsrc = "${if cfg.mac then "mac" else "pc"}${if cfg.wide then "_wide" else ""}${ if cfg.anglemod then "_anglemod" else "" }"; base = "base${if cfg.lt then "_lt" else ""}${if cfg.hrm then "_hrm" else ""}"; symbols = "symbols_${if cfg.lafayette then "lafayette" else "noop"}${ if cfg.num then "_num" else "" }"; navigation = "navigation${if cfg.vim then "_vim" else ""}"; alias = "${cfg.layout}_${if cfg.mac then "mac" else "pc"}"; in { enable = true; keyboards.arsenik.config = '' (defvar tap_timeout ${builtins.toString cfg.tap_timeout} hold_timeout ${builtins.toString cfg.hold_timeout} long_hold_timeout ${builtins.toString cfg.long_hold_timeout} ) (include ${src}/defsrc/${defsrc}.kbd) (include ${src}/deflayer/${base}.kbd) (include ${src}/deflayer/${symbols}.kbd) (include ${src}/deflayer/${navigation}.kbd) (defalias run ${cfg.run}) (include ${src}/defalias/${alias}.kbd) ''; }; }; }
pkgs/applications/editors/vim/plugins/generated.nix +13 −0 Original line number Diff line number Diff line Loading @@ -14500,6 +14500,19 @@ final: prev: { meta.hydraPlatforms = [ ]; }; stringbreaker-nvim = buildVimPlugin { pname = "stringbreaker.nvim"; version = "2025-09-24"; src = fetchFromGitHub { owner = "duqcyxwd"; repo = "stringbreaker.nvim"; rev = "f6310ad154063151078548b21e8de05bec1f6ac9"; sha256 = "14k7cvjh9kz3p33np275qp2p2aipbxm934kqz2yc7l08fag9sg3x"; }; meta.homepage = "https://github.com/duqcyxwd/stringbreaker.nvim/"; meta.hydraPlatforms = [ ]; }; styler-nvim = buildVimPlugin { pname = "styler.nvim"; version = "2025-10-28"; Loading
pkgs/applications/editors/vim/plugins/vim-plugin-names +1 −0 Original line number Diff line number Diff line Loading @@ -1113,6 +1113,7 @@ https://github.com/darfink/starsearch.vim/,, https://github.com/max397574/startup.nvim/,HEAD, https://github.com/luukvbaal/statuscol.nvim/,, https://github.com/arnamak/stay-centered.nvim/,HEAD, https://github.com/duqcyxwd/stringbreaker.nvim/,HEAD, https://github.com/folke/styler.nvim/,, https://github.com/teto/stylish.nvim/,HEAD, https://github.com/gbprod/substitute.nvim/,HEAD, Loading
pkgs/applications/editors/vscode/extensions/anthropic.claude-code/default.nix +2 −2 Original line number Diff line number Diff line Loading @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "claude-code"; publisher = "anthropic"; version = "2.0.47"; hash = "sha256-2wvViSXJQO5h8WGYqXpn+gRQ8Tzfb9O+MoJBTLaevUw="; version = "2.0.49"; hash = "sha256-norWEwxgAFlylLH+NphYdmpb0vkVcmkidi0SN8Kr6R0="; }; meta = { Loading