mirror of
https://github.com/elwrcl/copnix.git
synced 2026-10-31 14:28:02 +03:00
42 lines
1015 B
Nix
42 lines
1015 B
Nix
{ ... }:
|
|
{
|
|
flake.homeModules.home-nushell-commandline-copy =
|
|
{ pkgs, lib, ... }:
|
|
let
|
|
inherit (lib.meta) getExe';
|
|
wlCopy = getExe' pkgs.wl-clipboard "wl-copy";
|
|
in
|
|
{
|
|
home.packages = [ pkgs.wl-clipboard ];
|
|
|
|
programs.nushell.extraConfig = ''
|
|
def nu-highlight-default [] {
|
|
let input = $in
|
|
$env.config.color_config = {}
|
|
$input | nu-highlight
|
|
}
|
|
|
|
def "nu-keybind commandline-copy" []: nothing -> nothing {
|
|
commandline
|
|
| nu-highlight-default
|
|
| [ "```ansi" $in "```" ]
|
|
| str join (char nl)
|
|
| ^${wlCopy}
|
|
}
|
|
|
|
$env.config.keybindings ++= [
|
|
{
|
|
name: copy_color_commandline
|
|
modifier: control_alt
|
|
keycode: char_c
|
|
mode: [ emacs vi_insert vi_normal ]
|
|
event: {
|
|
send: executehostcommand
|
|
cmd: 'nu-keybind commandline-copy'
|
|
}
|
|
}
|
|
]
|
|
'';
|
|
};
|
|
}
|