add terminal settings
This commit is contained in:
117
.config/alacritty/alacritty.toml
Normal file
117
.config/alacritty/alacritty.toml
Normal file
@@ -0,0 +1,117 @@
|
||||
#custom_cursor_colors = true
|
||||
#decorations = "buttonless"
|
||||
import = [
|
||||
"~/.config/alacritty_font.toml",
|
||||
]
|
||||
|
||||
# Colors (One Dark)
|
||||
|
||||
# Default colors
|
||||
[colors.primary]
|
||||
background = '#2d3237'
|
||||
foreground = '#abb2bf'
|
||||
|
||||
# Normal colors
|
||||
[colors.normal]
|
||||
black = '#1e2127'
|
||||
red = '#e06c75'
|
||||
green = '#98c379'
|
||||
yellow = '#d19a66'
|
||||
blue = '#61afef'
|
||||
magenta = '#c678dd'
|
||||
cyan = '#56b6c2'
|
||||
white = '#abb2bf'
|
||||
|
||||
# Bright colors
|
||||
[colors.bright]
|
||||
black = '#5c6370'
|
||||
red = '#e06c75'
|
||||
green = '#98c379'
|
||||
yellow = '#d19a66'
|
||||
blue = '#61afef'
|
||||
magenta = '#c678dd'
|
||||
cyan = '#56b6c2'
|
||||
white = '#ffffff'
|
||||
|
||||
[debug]
|
||||
render_timer = false
|
||||
|
||||
[env]
|
||||
term = "xterm-256color"
|
||||
|
||||
[font]
|
||||
size = 13
|
||||
|
||||
[font.bold]
|
||||
family = "Hurmit Nerd Font"
|
||||
style = "Bold"
|
||||
#family = "Jetbrains Mono Nerd Font"
|
||||
#style = "Medium"
|
||||
|
||||
[font.glyph_offset]
|
||||
x = 0
|
||||
y = -2
|
||||
|
||||
[font.italic]
|
||||
family = "Hurmit Nerd Font"
|
||||
style = "Light Italic"
|
||||
#family = "JetbrainsMonoNL Nerd Font"
|
||||
#style = "Light Italic"
|
||||
|
||||
[font.normal]
|
||||
family = "Hurmit Nerd Font"
|
||||
style = "Regular"
|
||||
#family = "JetbrainsMonoNL Nerd Font"
|
||||
#style = "Regular"
|
||||
|
||||
[font.offset]
|
||||
x = 0
|
||||
y = -3
|
||||
|
||||
[[keyboard.bindings]]
|
||||
action = "ToggleViMode"
|
||||
key = "F7"
|
||||
|
||||
[scrolling]
|
||||
history = 2000
|
||||
|
||||
[selection]
|
||||
save_to_clipboard = true
|
||||
|
||||
[shell]
|
||||
program = "/usr/bin/fish"
|
||||
|
||||
[window]
|
||||
decorations = "none"
|
||||
dynamic_padding = false
|
||||
opacity = 0.30
|
||||
blur = true
|
||||
|
||||
[window.padding]
|
||||
x = 0
|
||||
y = 0
|
||||
|
||||
# Everforest color theme
|
||||
|
||||
# [colors.bright]
|
||||
# black = "0x475258"
|
||||
# blue = "0x7fbbb3"
|
||||
# cyan = "0x83c092"
|
||||
# green = "0xa7c080"
|
||||
# magenta = "0xd699b6"
|
||||
# red = "0xe67e80"
|
||||
# yellow = "0xdbbc7f"
|
||||
#
|
||||
# [colors.normal]
|
||||
# black = "0x475258"
|
||||
# blue = "0x7fbbb3"
|
||||
# cyan = "0x83c092"
|
||||
# green = "0xa7c080"
|
||||
# magenta = "0xd699b6"
|
||||
# red = "0xe67e80"
|
||||
# white = "0xd3c6aa"
|
||||
# yellow = "0xdbbc7f"
|
||||
#
|
||||
# [colors.primary]
|
||||
# background = "0x2d353b"
|
||||
# foreground = "0xd3c6aa"
|
||||
68
.config/fish/config.fish
Executable file
68
.config/fish/config.fish
Executable file
@@ -0,0 +1,68 @@
|
||||
# Configure Jump
|
||||
# status --is-interactive; and source (jump shell fish | psub)
|
||||
|
||||
# Load all saved ssh keys
|
||||
#/usr/bin/ssh-add >> &/dev/null&
|
||||
eval (ssh-agent -c)
|
||||
|
||||
function last_history_item
|
||||
echo $history[1]
|
||||
end
|
||||
|
||||
# add abbreviations
|
||||
abbr -a -- gcp git cherry-pick
|
||||
abbr -a -- gs git status
|
||||
abbr -a -- lgb git lgb
|
||||
abbr -a !! --position anywhere --function last_history_item
|
||||
abbr -a mksilent --position anywhere "&>/dev/null&"
|
||||
abbr -a inbg --position anywhere "&>/dev/null& && jobs | disown"
|
||||
abbr -a -- rm-orphans "sudo pacman -Qtdq | sudo pacman -Rns -"
|
||||
abbr -a -- screenl "systemctl hybrid-sleep && hyprlock &>/dev/null&"
|
||||
abbr -a -- tree "eza -T"
|
||||
abbr -a -- trd "eza -T -D"
|
||||
abbr -a -- trl "eza -T -L "
|
||||
abbr -a -- trld "eza -T -D -L "
|
||||
abbr -a -- trdl "eza -T -D -L "
|
||||
abbr -a "packagelist-update" "pacman -Qe | sed 's/ .*//g' | tee ~/Sync/explicitly_installed"
|
||||
abbr -a "nvim-headless-update" 'nvim --headless "+Lazy! sync" +qa'
|
||||
abbr -a "nvim-headless-clean" 'nvim --headless "+Lazy! clean" +qa'
|
||||
alias ll "eza -lh"
|
||||
alias la "eza -lha"
|
||||
alias ls "eza"
|
||||
|
||||
# Fish syntax highlighting
|
||||
set -g fish_color_autosuggestion '555' 'brblack'
|
||||
set -g fish_color_cancel -r
|
||||
set -g fish_color_command --bold
|
||||
set -g fish_color_comment red
|
||||
set -g fish_color_cwd green
|
||||
set -g fish_color_cwd_root red
|
||||
set -g fish_color_end brmagenta
|
||||
set -g fish_color_error brred
|
||||
set -g fish_color_escape 'bryellow' '--bold'
|
||||
set -g fish_color_history_current --bold
|
||||
set -g fish_color_host normal
|
||||
set -g fish_color_match --background=brblue
|
||||
set -g fish_color_normal normal
|
||||
set -g fish_color_operator bryellow
|
||||
set -g fish_color_param cyan
|
||||
set -g fish_color_quote yellow
|
||||
set -g fish_color_redirection brblue
|
||||
set -g fish_color_search_match 'bryellow' '--background=brblack'
|
||||
set -g fish_color_selection 'white' '--bold' '--background=brblack'
|
||||
set -g fish_color_user brgreen
|
||||
set -g fish_color_valid_path --underline
|
||||
|
||||
# exports, execute only once and manually
|
||||
# set -Ux RUSTC_WRAPPER sccache
|
||||
# set -Ux ELECTRON_OZONE_PLATFORM_HINT wayland
|
||||
|
||||
starship init fish | source
|
||||
zoxide init --cmd cd fish | source
|
||||
|
||||
# pnpm
|
||||
set -gx PNPM_HOME "/home/felix/.local/share/pnpm"
|
||||
if not string match -q -- $PNPM_HOME $PATH
|
||||
set -gx PATH "$PNPM_HOME" $PATH
|
||||
end
|
||||
# pnpm end
|
||||
63
.config/fish/fish_variables
Normal file
63
.config/fish/fish_variables
Normal file
@@ -0,0 +1,63 @@
|
||||
# This file contains fish universal variable definitions.
|
||||
# VERSION: 3.0
|
||||
SETUVAR --export BAT_THEME:OneHalfDark
|
||||
SETUVAR --export EDITOR:nvim
|
||||
SETUVAR --export ELECTRON_OSZONE_PLATFORM_HINT:wayland
|
||||
SETUVAR --export ELECTRON_OZONE_PLATFORM_HINT:wayland
|
||||
SETUVAR FLASK_ENV:development
|
||||
SETUVAR --export --path GODOT_ADDON_PATH:\x7e/\x2elocal/share/godot/addons
|
||||
SETUVAR LANG:en_GB\x2eUTF\x2d8
|
||||
SETUVAR LANGUAGE:en_GB\x2eUTF\x2d8
|
||||
SETUVAR --export LAST_DIR:/home/felix/Code/CODE/tutorials/rust_web_server
|
||||
SETUVAR --export MY_GITLAB_TOKEN:glpat\x2dye6rAJswy24rQcRNnmLo
|
||||
SETUVAR --export RUSTC_WRAPPER:sccache
|
||||
SETUVAR --export SUDO_ASKPASS:/usr/bin/ksshaskpass
|
||||
SETUVAR TERMINAL_FONT_SIZE:14
|
||||
SETUVAR --export VISUAL_EDITOR:nvim
|
||||
SETUVAR __fish_initialized:3400
|
||||
SETUVAR _fish_abbr_audio_2D_switch:\x7e/Code/scripts/alsa\x2dfp\x2dswitch\x2esh
|
||||
SETUVAR _fish_abbr_clera:clear
|
||||
SETUVAR _fish_abbr_current_2D_project:vim\x20Code/side/first_rust_gui
|
||||
SETUVAR _fish_abbr_secscreen:\x2e/Code/scripts/act_second_monitor\x2esh
|
||||
SETUVAR _fish_abbr_uin:sudo\x20pacman\x20\x2dRuscn
|
||||
SETUVAR fish_color_autosuggestion:969896
|
||||
SETUVAR fish_color_cancel:\x2d\x2dreverse
|
||||
SETUVAR fish_color_command:b294bb
|
||||
SETUVAR fish_color_comment:f0c674
|
||||
SETUVAR fish_color_cwd:green
|
||||
SETUVAR fish_color_cwd_root:red
|
||||
SETUVAR fish_color_end:b294bb
|
||||
SETUVAR fish_color_error:cc6666
|
||||
SETUVAR fish_color_escape:00a6b2
|
||||
SETUVAR fish_color_history_current:\x2d\x2dbold
|
||||
SETUVAR fish_color_host:normal
|
||||
SETUVAR fish_color_host_remote:\x1d
|
||||
SETUVAR fish_color_keyword:\x1d
|
||||
SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue
|
||||
SETUVAR fish_color_normal:normal
|
||||
SETUVAR fish_color_operator:00a6b2
|
||||
SETUVAR fish_color_option:\x1d
|
||||
SETUVAR fish_color_param:81a2be
|
||||
SETUVAR fish_color_quote:b5bd68
|
||||
SETUVAR fish_color_redirection:8abeb7
|
||||
SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
|
||||
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
|
||||
SETUVAR fish_color_status:red
|
||||
SETUVAR fish_color_user:brgreen
|
||||
SETUVAR fish_color_valid_path:\x2d\x2dunderline
|
||||
SETUVAR fish_greeting:Welcome\x20to\x20fish\x2c\x20the\x20friendly\x20interactive\x20shell\x0aType\x20\x60help\x60\x20for\x20instructions\x20on\x20how\x20to\x20use\x20fish
|
||||
SETUVAR fish_key_bindings:fish_default_key_bindings
|
||||
SETUVAR fish_pager_color_background:\x1d
|
||||
SETUVAR fish_pager_color_completion:normal
|
||||
SETUVAR fish_pager_color_description:B3A06D
|
||||
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
|
||||
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
||||
SETUVAR fish_pager_color_secondary_background:\x1d
|
||||
SETUVAR fish_pager_color_secondary_completion:\x1d
|
||||
SETUVAR fish_pager_color_secondary_description:\x1d
|
||||
SETUVAR fish_pager_color_secondary_prefix:\x1d
|
||||
SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3dbrblack
|
||||
SETUVAR fish_pager_color_selected_completion:\x1d
|
||||
SETUVAR fish_pager_color_selected_description:\x1d
|
||||
SETUVAR fish_pager_color_selected_prefix:\x1d
|
||||
SETUVAR fish_user_paths:/home/felix/\x2ecargo/bin
|
||||
3
.config/fish/functions/fish_greeting.fish
Normal file
3
.config/fish/functions/fish_greeting.fish
Normal file
@@ -0,0 +1,3 @@
|
||||
function fish_greeting
|
||||
fortune -a vimtips billwurtz
|
||||
end
|
||||
19
.config/fish/functions/fish_prompt.fish
Executable file
19
.config/fish/functions/fish_prompt.fish
Executable file
@@ -0,0 +1,19 @@
|
||||
function fish_prompt --description 'Informative prompt'
|
||||
#Save the return status of the previous command
|
||||
set -l last_pipestatus $pipestatus
|
||||
|
||||
switch "$USER"
|
||||
case root toor
|
||||
printf '%s@%s %s%s%s# ' $USER (prompt_hostname) (set -q fish_color_cwd_root
|
||||
and set_color $fish_color_cwd_root
|
||||
or set_color $fish_color_cwd) \
|
||||
(prompt_pwd) (set_color normal)
|
||||
case '*'
|
||||
set -l pipestatus_string (__fish_print_pipestatus "[" "] " "|" (set_color $fish_color_status) \
|
||||
(set_color --bold $fish_color_status) $last_pipestatus)
|
||||
|
||||
printf '[%s] %s%s@%s %s%s %s%s%s \f\r> ' (date "+%H:%M:%S") (set_color brblue) \
|
||||
$USER (prompt_hostname) (set_color $fish_color_cwd) $PWD $pipestatus_string \
|
||||
(set_color normal)
|
||||
end
|
||||
end
|
||||
4
.config/fish/functions/restart.fish
Normal file
4
.config/fish/functions/restart.fish
Normal file
@@ -0,0 +1,4 @@
|
||||
function restart --argument x
|
||||
|
||||
pkill $x && $x &>/dev/null& && jobs | disown
|
||||
end
|
||||
6
.config/fish/functions/setscreenb.fish
Normal file
6
.config/fish/functions/setscreenb.fish
Normal file
@@ -0,0 +1,6 @@
|
||||
function setscreenb --argument x
|
||||
|
||||
for i in (seq 1 2)
|
||||
sudo ddcutil setvcp 10 $x -d $i
|
||||
end
|
||||
end
|
||||
4
.config/fish/functions/silentstart.fish
Normal file
4
.config/fish/functions/silentstart.fish
Normal file
@@ -0,0 +1,4 @@
|
||||
function silentstart --argument x
|
||||
|
||||
$x &>/dev/null& && sleep 1 && jobs | disown
|
||||
end
|
||||
70
.config/kitty/current-theme.conf
Normal file
70
.config/kitty/current-theme.conf
Normal file
@@ -0,0 +1,70 @@
|
||||
# vim:ft=kitty
|
||||
## name: Everforest Dark Hard
|
||||
## author: Sainnhe Park
|
||||
## license: MIT
|
||||
## upstream: https://github.com/ewal/kitty-everforest/blob/master/themes/everforest_dark_hard.conf
|
||||
## blurb: A green based color scheme designed to be warm and soft
|
||||
|
||||
foreground #d3c6aa
|
||||
background #272e33
|
||||
selection_foreground #9da9a0
|
||||
selection_background #464e53
|
||||
|
||||
cursor #d3c6aa
|
||||
cursor_text_color #2e383c
|
||||
|
||||
url_color #7fbbb3
|
||||
|
||||
active_border_color #a7c080
|
||||
inactive_border_color #4f5b58
|
||||
bell_border_color #e69875
|
||||
visual_bell_color none
|
||||
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
active_tab_background #272e33
|
||||
active_tab_foreground #d3c6aa
|
||||
inactive_tab_background #374145
|
||||
inactive_tab_foreground #9da9a0
|
||||
tab_bar_background #2e383c
|
||||
tab_bar_margin_color none
|
||||
|
||||
mark1_foreground #272e33
|
||||
mark1_background #7fbbb3
|
||||
mark2_foreground #272e33
|
||||
mark2_background #d3c6aa
|
||||
mark3_foreground #272e33
|
||||
mark3_background #d699b6
|
||||
|
||||
#: black
|
||||
color0 #343f44
|
||||
color8 #868d80
|
||||
|
||||
#: red
|
||||
color1 #e67e80
|
||||
color9 #e67e80
|
||||
|
||||
#: green
|
||||
color2 #a7c080
|
||||
color10 #a7c080
|
||||
|
||||
#: yellow
|
||||
color3 #dbbc7f
|
||||
color11 #dbbc7f
|
||||
|
||||
#: blue
|
||||
color4 #7fbbb3
|
||||
color12 #7fbbb3
|
||||
|
||||
#: magenta
|
||||
color5 #d699b6
|
||||
color13 #d699b6
|
||||
|
||||
#: cyan
|
||||
color6 #83c092
|
||||
color14 #83c092
|
||||
|
||||
#: white
|
||||
color7 #859289
|
||||
color15 #9da9a0
|
||||
72
.config/kitty/kitty.conf
Normal file
72
.config/kitty/kitty.conf
Normal file
@@ -0,0 +1,72 @@
|
||||
# BEGIN_KITTY_THEME
|
||||
# Everforest Dark Hard
|
||||
include current-theme.conf
|
||||
# END_KITTY_THEME
|
||||
|
||||
# BEGIN_COLOR_SCHEME
|
||||
# background #1e1e1e
|
||||
background_opacity 0.7
|
||||
background_blur 1
|
||||
background_tint 1.0
|
||||
transparent_background_colors #22262D #2D313B #303030 #000
|
||||
# END_COLOR_SCHEME
|
||||
|
||||
# BEGIN_KITTY_FONTS
|
||||
font_family family='Hurmit Nerd Font' style=Light
|
||||
bold_font auto
|
||||
italic_font family='Hurmit Nerd Font' style='Light Italic'
|
||||
bold_italic_font auto
|
||||
font_size 13.0
|
||||
# END_KITTY_FONTS
|
||||
|
||||
# BEGIN_SCROLLBACK
|
||||
touch_scroll_multiplier 5.0
|
||||
# END_SCROLLBACK
|
||||
|
||||
# BEGIN_WINDOW_LAYOUT
|
||||
hide_window_decorations yes
|
||||
#window_padding_width 0
|
||||
placement_strategy bottom
|
||||
# END_WINDOW_LAYOUT
|
||||
|
||||
# BEGIN_TAB_BAR
|
||||
tab_bar_style powerline
|
||||
tab_powerline_style slanted
|
||||
tab_title_template "{index} {title}"
|
||||
tab_title_max_length 20
|
||||
# active_tab_background #1e1e1e
|
||||
# active_tab_foreground #b4cdbe
|
||||
# active_tab_font_style Light
|
||||
# inactive_tab_background #1e1e1e
|
||||
# inactive_tab_foreground #48736e
|
||||
inactive_tab_font_style Light
|
||||
# END_TAB_BAR
|
||||
|
||||
# BEGIN_PERFORMANCE_TUNING
|
||||
repaint_delay 8
|
||||
# END_PERFORMANCE_TUNING
|
||||
|
||||
# BEGIN_KEYBOARD_SHORTCUTS
|
||||
## BEGIN_WINDOW_MANAGEMENT
|
||||
map ctrl+shift+enter new_window
|
||||
map ctrl+alt+enter launch --cwd=current
|
||||
map ctrl+alt+1 goto_tab 1
|
||||
map ctrl+alt+2 goto_tab 2
|
||||
map ctrl+alt+3 goto_tab 3
|
||||
map ctrl+alt+4 goto_tab 4
|
||||
map ctrl+alt+5 goto_tab 5
|
||||
map ctrl+alt+6 goto_tab 6
|
||||
map ctrl+alt+7 goto_tab 7
|
||||
map ctrl+alt+8 goto_tab 8
|
||||
map ctrl+alt+9 goto_tab 9
|
||||
|
||||
## BEGIN_LAYOUT_MANAGEMENT
|
||||
map ctrl+alt+t goto_layout tall
|
||||
map ctrl+alt+s goto_layout wide
|
||||
map ctrl+alt+p last_used_layout
|
||||
map ctrl+alt+z toggle_layout stack
|
||||
# END_KEYBOARD_SHORTCUTS
|
||||
|
||||
# BEGIN_LAYOUT_DEFINITION
|
||||
enabled_layouts tall:bias=50;full_size=1;mirrored=false, grid, fat:bias=50;full_size=1;mirrored=false , stack, splits:split_axis=auto
|
||||
# END_LAYOUT_DEFINITION
|
||||
73
.config/kitty/kitty.conf.bak
Normal file
73
.config/kitty/kitty.conf.bak
Normal file
@@ -0,0 +1,73 @@
|
||||
# BEGIN_KITTY_THEME
|
||||
# One Half Dark
|
||||
include current-theme.conf
|
||||
# END_KITTY_THEME
|
||||
|
||||
# BEGIN_COLOR_SCHEME
|
||||
background #1e1e1e
|
||||
#background_opacity 0.4
|
||||
background_blur 1
|
||||
background_tint 1.0
|
||||
transparent_background_colors #22262D #2D313B #303030 #000
|
||||
# END_COLOR_SCHEME
|
||||
|
||||
# BEGIN_KITTY_FONTS
|
||||
font_family family='Hurmit Nerd Font' style=Light
|
||||
bold_font auto
|
||||
italic_font family='Hurmit Nerd Font' style='Light Italic'
|
||||
bold_italic_font auto
|
||||
font_size 13.0
|
||||
# END_KITTY_FONTS
|
||||
|
||||
# BEGIN_SCROLLBACK
|
||||
touch_scroll_multiplier 5.0
|
||||
# END_SCROLLBACK
|
||||
|
||||
# BEGIN_WINDOW_LAYOUT
|
||||
hide_window_decorations yes
|
||||
#window_padding_width 0
|
||||
placement_strategy bottom
|
||||
# END_WINDOW_LAYOUT
|
||||
|
||||
# BEGIN_TAB_BAR
|
||||
tab_bar_style powerline
|
||||
tab_powerline_style slanted
|
||||
tab_title_template "{index} {title}"
|
||||
tab_title_max_length 20
|
||||
|
||||
active_tab_background #1e1e1e
|
||||
active_tab_foreground #b4cdbe
|
||||
# active_tab_font_style Light
|
||||
|
||||
inactive_tab_background #1e1e1e
|
||||
inactive_tab_foreground #48736e
|
||||
inactive_tab_font_style Light
|
||||
# END_TAB_BAR
|
||||
|
||||
# BEGIN_PERFORMANCE_TUNING
|
||||
repaint_delay 8
|
||||
# END_PERFORMANCE_TUNING
|
||||
|
||||
# BEGIN_KEYBOARD_SHORTCUTS
|
||||
## BEGIN_WINDOW_MANAGEMENT
|
||||
map ctrl+shift+enter new_window
|
||||
map ctrl+alt+1 goto_tab 1
|
||||
map ctrl+alt+2 goto_tab 2
|
||||
map ctrl+alt+3 goto_tab 3
|
||||
map ctrl+alt+4 goto_tab 4
|
||||
map ctrl+alt+5 goto_tab 5
|
||||
map ctrl+alt+6 goto_tab 6
|
||||
map ctrl+alt+7 goto_tab 7
|
||||
map ctrl+alt+8 goto_tab 8
|
||||
map ctrl+alt+9 goto_tab 9
|
||||
|
||||
## BEGIN_LAYOUT_MANAGEMENT
|
||||
map ctrl+alt+t goto_layout tall
|
||||
map ctrl+alt+s goto_layout wide
|
||||
map ctrl+alt+p last_used_layout
|
||||
map ctrl+alt+z toggle_layout stack
|
||||
# END_KEYBOARD_SHORTCUTS
|
||||
|
||||
# BEGIN_LAYOUT_DEFINITION
|
||||
enabled_layouts tall:bias=50;full_size=1;mirrored=false, grid, fat:bias=50;full_size=1;mirrored=false , stack, splits:split_axis=auto
|
||||
# END_LAYOUT_DEFINITION
|
||||
767
.config/nushell/config.nu
Normal file
767
.config/nushell/config.nu
Normal file
@@ -0,0 +1,767 @@
|
||||
# Nushell Config File
|
||||
#
|
||||
# version = "0.84.0"
|
||||
|
||||
|
||||
# For more information on defining custom themes, see
|
||||
# https://www.nushell.sh/book/coloring_and_theming.html
|
||||
# And here is the theme collection
|
||||
# https://github.com/nushell/nu_scripts/tree/main/themes
|
||||
let dark_theme = {
|
||||
# color for nushell primitives
|
||||
separator: white
|
||||
leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
|
||||
header: green_bold
|
||||
empty: blue
|
||||
# Closures can be used to choose colors for specific values.
|
||||
# The value (in this case, a bool) is piped into the closure.
|
||||
# eg) {|| if $in { 'light_cyan' } else { 'light_gray' } }
|
||||
bool: light_cyan
|
||||
int: white
|
||||
filesize: cyan
|
||||
duration: white
|
||||
date: purple
|
||||
range: white
|
||||
float: white
|
||||
string: white
|
||||
nothing: white
|
||||
binary: white
|
||||
cellpath: white
|
||||
row_index: green_bold
|
||||
record: white
|
||||
list: white
|
||||
block: white
|
||||
hints: dark_gray
|
||||
search_result: {bg: red fg: white}
|
||||
shape_and: purple_bold
|
||||
shape_binary: purple_bold
|
||||
shape_block: blue_bold
|
||||
shape_bool: light_cyan
|
||||
shape_closure: green_bold
|
||||
shape_custom: green
|
||||
shape_datetime: cyan_bold
|
||||
shape_directory: cyan
|
||||
shape_external: cyan
|
||||
shape_externalarg: green_bold
|
||||
shape_filepath: cyan
|
||||
shape_flag: blue_bold
|
||||
shape_float: purple_bold
|
||||
# shapes are used to change the cli syntax highlighting
|
||||
shape_garbage: { fg: white bg: red attr: b}
|
||||
shape_globpattern: cyan_bold
|
||||
shape_int: purple_bold
|
||||
shape_internalcall: cyan_bold
|
||||
shape_list: cyan_bold
|
||||
shape_literal: blue
|
||||
shape_match_pattern: green
|
||||
shape_matching_brackets: { attr: u }
|
||||
shape_nothing: light_cyan
|
||||
shape_operator: yellow
|
||||
shape_or: purple_bold
|
||||
shape_pipe: purple_bold
|
||||
shape_range: yellow_bold
|
||||
shape_record: cyan_bold
|
||||
shape_redirection: purple_bold
|
||||
shape_signature: green_bold
|
||||
shape_string: green
|
||||
shape_string_interpolation: cyan_bold
|
||||
shape_table: blue_bold
|
||||
shape_variable: purple
|
||||
shape_vardecl: purple
|
||||
}
|
||||
|
||||
let light_theme = {
|
||||
# color for nushell primitives
|
||||
separator: dark_gray
|
||||
leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
|
||||
header: green_bold
|
||||
empty: blue
|
||||
# Closures can be used to choose colors for specific values.
|
||||
# The value (in this case, a bool) is piped into the closure.
|
||||
# eg) {|| if $in { 'dark_cyan' } else { 'dark_gray' } }
|
||||
bool: dark_cyan
|
||||
int: dark_gray
|
||||
filesize: cyan_bold
|
||||
duration: dark_gray
|
||||
date: purple
|
||||
range: dark_gray
|
||||
float: dark_gray
|
||||
string: dark_gray
|
||||
nothing: dark_gray
|
||||
binary: dark_gray
|
||||
cellpath: dark_gray
|
||||
row_index: green_bold
|
||||
record: white
|
||||
list: white
|
||||
block: white
|
||||
hints: dark_gray
|
||||
search_result: {fg: white bg: red}
|
||||
shape_and: purple_bold
|
||||
shape_binary: purple_bold
|
||||
shape_block: blue_bold
|
||||
shape_bool: light_cyan
|
||||
shape_closure: green_bold
|
||||
shape_custom: green
|
||||
shape_datetime: cyan_bold
|
||||
shape_directory: cyan
|
||||
shape_external: cyan
|
||||
shape_externalarg: green_bold
|
||||
shape_filepath: cyan
|
||||
shape_flag: blue_bold
|
||||
shape_float: purple_bold
|
||||
# shapes are used to change the cli syntax highlighting
|
||||
shape_garbage: { fg: white bg: red attr: b}
|
||||
shape_globpattern: cyan_bold
|
||||
shape_int: purple_bold
|
||||
shape_internalcall: cyan_bold
|
||||
shape_list: cyan_bold
|
||||
shape_literal: blue
|
||||
shape_match_pattern: green
|
||||
shape_matching_brackets: { attr: u }
|
||||
shape_nothing: light_cyan
|
||||
shape_operator: yellow
|
||||
shape_or: purple_bold
|
||||
shape_pipe: purple_bold
|
||||
shape_range: yellow_bold
|
||||
shape_record: cyan_bold
|
||||
shape_redirection: purple_bold
|
||||
shape_signature: green_bold
|
||||
shape_string: green
|
||||
shape_string_interpolation: cyan_bold
|
||||
shape_table: blue_bold
|
||||
shape_variable: purple
|
||||
shape_vardecl: purple
|
||||
}
|
||||
|
||||
# External completer example
|
||||
# let carapace_completer = {|spans|
|
||||
# carapace $spans.0 nushell $spans | from json
|
||||
# }
|
||||
|
||||
# The default config record. This is where much of your global configuration is setup.
|
||||
$env.config = {
|
||||
show_banner: false # true or false to enable or disable the welcome banner at startup
|
||||
|
||||
ls: {
|
||||
use_ls_colors: true # use the LS_COLORS environment variable to colorize output
|
||||
clickable_links: true # enable or disable clickable links. Your terminal has to support links.
|
||||
}
|
||||
|
||||
rm: {
|
||||
always_trash: false # always act as if -t was given. Can be overridden with -p
|
||||
}
|
||||
|
||||
|
||||
table: {
|
||||
mode: rounded # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other
|
||||
index_mode: always # "always" show indexes, "never" show indexes, "auto" = show indexes when a table has "index" column
|
||||
show_empty: true # show 'empty list' and 'empty record' placeholders for command output
|
||||
padding: { left: 1, right: 1 } # a left right padding of each column in a table
|
||||
trim: {
|
||||
methodology: wrapping # wrapping or truncating
|
||||
wrapping_try_keep_words: true # A strategy used by the 'wrapping' methodology
|
||||
truncating_suffix: "..." # A suffix used by the 'truncating' methodology
|
||||
}
|
||||
header_on_separator: false # show header text on separator/border line
|
||||
}
|
||||
|
||||
# datetime_format determines what a datetime rendered in the shell would look like.
|
||||
# Behavior without this configuration point will be to "humanize" the datetime display,
|
||||
# showing something like "a day ago."
|
||||
datetime_format: {
|
||||
# normal: '%a, %d %b %Y %H:%M:%S %z' # shows up in displays of variables or other datetime's outside of tables
|
||||
# table: '%m/%d/%y %I:%M:%S%p' # generally shows up in tabular outputs such as ls. commenting this out will change it to the default human readable datetime format
|
||||
}
|
||||
|
||||
explore: {
|
||||
try: {
|
||||
border_color: {fg: "white"}
|
||||
},
|
||||
status_bar_background: {fg: "#1D1F21", bg: "#C4C9C6"},
|
||||
command_bar_text: {fg: "#C4C9C6"},
|
||||
highlight: {fg: "black", bg: "yellow"},
|
||||
status: {
|
||||
error: {fg: "white", bg: "red"},
|
||||
warn: {}
|
||||
info: {}
|
||||
},
|
||||
table: {
|
||||
split_line: {fg: "#404040"},
|
||||
selected_cell: {},
|
||||
selected_row: {},
|
||||
selected_column: {},
|
||||
show_cursor: true,
|
||||
line_head_top: true,
|
||||
line_head_bottom: true,
|
||||
line_shift: true,
|
||||
line_index: true,
|
||||
},
|
||||
config: {
|
||||
border_color: {fg: "white"}
|
||||
cursor_color: {fg: "black", bg: "light_yellow"}
|
||||
},
|
||||
}
|
||||
|
||||
history: {
|
||||
max_size: 100_000 # Session has to be reloaded for this to take effect
|
||||
sync_on_enter: true # Enable to share history between multiple sessions, else you have to close the session to write history to file
|
||||
file_format: "plaintext" # "sqlite" or "plaintext"
|
||||
isolation: false # only available with sqlite file_format. true enables history isolation, false disables it. true will allow the history to be isolated to the current session using up/down arrows. false will allow the history to be shared across all sessions.
|
||||
}
|
||||
|
||||
completions: {
|
||||
case_sensitive: false # set to true to enable case-sensitive completions
|
||||
quick: true # set this to false to prevent auto-selecting completions when only one remains
|
||||
partial: true # set this to false to prevent partial filling of the prompt
|
||||
algorithm: "prefix" # prefix or fuzzy
|
||||
external: {
|
||||
enable: true # set to false to prevent nushell looking into $env.PATH to find more suggestions, `false` recommended for WSL users as this look up may be very slow
|
||||
max_results: 100 # setting it lower can improve completion performance at the cost of omitting some options
|
||||
completer: null # check 'carapace_completer' above as an example
|
||||
}
|
||||
}
|
||||
|
||||
filesize: {
|
||||
metric: true # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard)
|
||||
format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, auto
|
||||
}
|
||||
|
||||
cursor_shape: {
|
||||
emacs: line # block, underscore, line, blink_block, blink_underscore, blink_line (line is the default)
|
||||
vi_insert: block # block, underscore, line , blink_block, blink_underscore, blink_line (block is the default)
|
||||
vi_normal: underscore # block, underscore, line, blink_block, blink_underscore, blink_line (underscore is the default)
|
||||
}
|
||||
|
||||
color_config: $dark_theme # if you want a more interesting theme, you can replace the empty record with `$dark_theme`, `$light_theme` or another custom record
|
||||
footer_mode: always # always, never, number_of_rows, auto
|
||||
float_precision: 2 # the precision for displaying floats in tables
|
||||
buffer_editor: "" # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL
|
||||
use_ansi_coloring: true
|
||||
bracketed_paste: true # enable bracketed paste, currently useless on windows
|
||||
edit_mode: emacs # emacs, vi
|
||||
#shell_integration: kitty # enables terminal shell integration. Off by default, as some terminals have issues with this.
|
||||
render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt.
|
||||
|
||||
hooks: {
|
||||
pre_prompt: [{ null }] # run before the prompt is shown
|
||||
pre_execution: [{ null }] # run before the repl input is run
|
||||
env_change: {
|
||||
PWD: [{|before, after| null }] # run if the PWD environment is different since the last repl input
|
||||
}
|
||||
display_output: "if (term size).columns >= 100 { table -e } else { table }" # run to display the output of a pipeline
|
||||
command_not_found: { null } # return an error message when a command is not found
|
||||
}
|
||||
|
||||
menus: [
|
||||
# Configuration for default nushell menus
|
||||
# Note the lack of source parameter
|
||||
{
|
||||
name: completion_menu
|
||||
only_buffer_difference: false
|
||||
marker: "| "
|
||||
type: {
|
||||
layout: columnar
|
||||
columns: 4
|
||||
col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
|
||||
col_padding: 2
|
||||
}
|
||||
style: {
|
||||
text: green
|
||||
selected_text: green_reverse
|
||||
description_text: yellow
|
||||
}
|
||||
}
|
||||
{
|
||||
name: history_menu
|
||||
only_buffer_difference: true
|
||||
marker: "? "
|
||||
type: {
|
||||
layout: list
|
||||
page_size: 10
|
||||
}
|
||||
style: {
|
||||
text: green
|
||||
selected_text: green_reverse
|
||||
description_text: yellow
|
||||
}
|
||||
}
|
||||
{
|
||||
name: help_menu
|
||||
only_buffer_difference: true
|
||||
marker: "? "
|
||||
type: {
|
||||
layout: description
|
||||
columns: 4
|
||||
col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
|
||||
col_padding: 2
|
||||
selection_rows: 4
|
||||
description_rows: 10
|
||||
}
|
||||
style: {
|
||||
text: green
|
||||
selected_text: green_reverse
|
||||
description_text: yellow
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
keybindings: [
|
||||
{
|
||||
name: completion_menu
|
||||
modifier: none
|
||||
keycode: tab
|
||||
mode: [emacs vi_normal vi_insert]
|
||||
event: {
|
||||
until: [
|
||||
{ send: menu name: completion_menu }
|
||||
{ send: menunext }
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: history_menu
|
||||
modifier: control
|
||||
keycode: char_r
|
||||
mode: [emacs, vi_insert, vi_normal]
|
||||
event: { send: menu name: history_menu }
|
||||
}
|
||||
{
|
||||
name: help_menu
|
||||
modifier: none
|
||||
keycode: f1
|
||||
mode: [emacs, vi_insert, vi_normal]
|
||||
event: { send: menu name: help_menu }
|
||||
}
|
||||
{
|
||||
name: completion_previous_menu
|
||||
modifier: shift
|
||||
keycode: backtab
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: { send: menuprevious }
|
||||
}
|
||||
{
|
||||
name: next_page_menu
|
||||
modifier: control
|
||||
keycode: char_x
|
||||
mode: emacs
|
||||
event: { send: menupagenext }
|
||||
}
|
||||
{
|
||||
name: undo_or_previous_page_menu
|
||||
modifier: control
|
||||
keycode: char_z
|
||||
mode: emacs
|
||||
event: {
|
||||
until: [
|
||||
{ send: menupageprevious }
|
||||
{ edit: undo }
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: escape
|
||||
modifier: none
|
||||
keycode: escape
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: { send: esc } # NOTE: does not appear to work
|
||||
}
|
||||
{
|
||||
name: cancel_command
|
||||
modifier: control
|
||||
keycode: char_c
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: { send: ctrlc }
|
||||
}
|
||||
{
|
||||
name: quit_shell
|
||||
modifier: control
|
||||
keycode: char_d
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: { send: ctrld }
|
||||
}
|
||||
{
|
||||
name: clear_screen
|
||||
modifier: control
|
||||
keycode: char_l
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: { send: clearscreen }
|
||||
}
|
||||
{
|
||||
name: search_history
|
||||
modifier: control
|
||||
keycode: char_q
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: { send: searchhistory }
|
||||
}
|
||||
{
|
||||
name: open_command_editor
|
||||
modifier: control
|
||||
keycode: char_o
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: { send: openeditor }
|
||||
}
|
||||
{
|
||||
name: move_up
|
||||
modifier: none
|
||||
keycode: up
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {
|
||||
until: [
|
||||
{send: menuup}
|
||||
{send: up}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: move_down
|
||||
modifier: none
|
||||
keycode: down
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {
|
||||
until: [
|
||||
{send: menudown}
|
||||
{send: down}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: move_left
|
||||
modifier: none
|
||||
keycode: left
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {
|
||||
until: [
|
||||
{send: menuleft}
|
||||
{send: left}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: move_right_or_take_history_hint
|
||||
modifier: none
|
||||
keycode: right
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {
|
||||
until: [
|
||||
{send: historyhintcomplete}
|
||||
{send: menuright}
|
||||
{send: right}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: move_one_word_left
|
||||
modifier: control
|
||||
keycode: left
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {edit: movewordleft}
|
||||
}
|
||||
{
|
||||
name: move_one_word_right_or_take_history_hint
|
||||
modifier: control
|
||||
keycode: right
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {
|
||||
until: [
|
||||
{send: historyhintwordcomplete}
|
||||
{edit: movewordright}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: move_to_line_start
|
||||
modifier: none
|
||||
keycode: home
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {edit: movetolinestart}
|
||||
}
|
||||
{
|
||||
name: move_to_line_start
|
||||
modifier: control
|
||||
keycode: char_a
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {edit: movetolinestart}
|
||||
}
|
||||
{
|
||||
name: move_to_line_end_or_take_history_hint
|
||||
modifier: none
|
||||
keycode: end
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {
|
||||
until: [
|
||||
{send: historyhintcomplete}
|
||||
{edit: movetolineend}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: move_to_line_end_or_take_history_hint
|
||||
modifier: control
|
||||
keycode: char_e
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {
|
||||
until: [
|
||||
{send: historyhintcomplete}
|
||||
{edit: movetolineend}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: move_to_line_start
|
||||
modifier: control
|
||||
keycode: home
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {edit: movetolinestart}
|
||||
}
|
||||
{
|
||||
name: move_to_line_end
|
||||
modifier: control
|
||||
keycode: end
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {edit: movetolineend}
|
||||
}
|
||||
{
|
||||
name: move_up
|
||||
modifier: control
|
||||
keycode: char_p
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {
|
||||
until: [
|
||||
{send: menuup}
|
||||
{send: up}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: move_down
|
||||
modifier: control
|
||||
keycode: char_t
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {
|
||||
until: [
|
||||
{send: menudown}
|
||||
{send: down}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: delete_one_character_backward
|
||||
modifier: none
|
||||
keycode: backspace
|
||||
mode: [emacs, vi_insert]
|
||||
event: {edit: backspace}
|
||||
}
|
||||
{
|
||||
name: delete_one_word_backward
|
||||
modifier: control
|
||||
keycode: backspace
|
||||
mode: [emacs, vi_insert]
|
||||
event: {edit: backspaceword}
|
||||
}
|
||||
{
|
||||
name: delete_one_character_forward
|
||||
modifier: none
|
||||
keycode: delete
|
||||
mode: [emacs, vi_insert]
|
||||
event: {edit: delete}
|
||||
}
|
||||
{
|
||||
name: delete_one_character_forward
|
||||
modifier: control
|
||||
keycode: delete
|
||||
mode: [emacs, vi_insert]
|
||||
event: {edit: delete}
|
||||
}
|
||||
{
|
||||
name: delete_one_character_forward
|
||||
modifier: control
|
||||
keycode: char_h
|
||||
mode: [emacs, vi_insert]
|
||||
event: {edit: backspace}
|
||||
}
|
||||
{
|
||||
name: delete_one_word_backward
|
||||
modifier: control
|
||||
keycode: char_w
|
||||
mode: [emacs, vi_insert]
|
||||
event: {edit: backspaceword}
|
||||
}
|
||||
{
|
||||
name: move_left
|
||||
modifier: none
|
||||
keycode: backspace
|
||||
mode: vi_normal
|
||||
event: {edit: moveleft}
|
||||
}
|
||||
{
|
||||
name: newline_or_run_command
|
||||
modifier: none
|
||||
keycode: enter
|
||||
mode: emacs
|
||||
event: {send: enter}
|
||||
}
|
||||
{
|
||||
name: move_left
|
||||
modifier: control
|
||||
keycode: char_b
|
||||
mode: emacs
|
||||
event: {
|
||||
until: [
|
||||
{send: menuleft}
|
||||
{send: left}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: move_right_or_take_history_hint
|
||||
modifier: control
|
||||
keycode: char_f
|
||||
mode: emacs
|
||||
event: {
|
||||
until: [
|
||||
{send: historyhintcomplete}
|
||||
{send: menuright}
|
||||
{send: right}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: redo_change
|
||||
modifier: control
|
||||
keycode: char_g
|
||||
mode: emacs
|
||||
event: {edit: redo}
|
||||
}
|
||||
{
|
||||
name: undo_change
|
||||
modifier: control
|
||||
keycode: char_z
|
||||
mode: emacs
|
||||
event: {edit: undo}
|
||||
}
|
||||
{
|
||||
name: paste_before
|
||||
modifier: control
|
||||
keycode: char_y
|
||||
mode: emacs
|
||||
event: {edit: pastecutbufferbefore}
|
||||
}
|
||||
{
|
||||
name: cut_word_left
|
||||
modifier: control
|
||||
keycode: char_w
|
||||
mode: emacs
|
||||
event: {edit: cutwordleft}
|
||||
}
|
||||
{
|
||||
name: cut_line_to_end
|
||||
modifier: control
|
||||
keycode: char_k
|
||||
mode: emacs
|
||||
event: {edit: cuttoend}
|
||||
}
|
||||
{
|
||||
name: cut_line_from_start
|
||||
modifier: control
|
||||
keycode: char_u
|
||||
mode: emacs
|
||||
event: {edit: cutfromstart}
|
||||
}
|
||||
{
|
||||
name: swap_graphemes
|
||||
modifier: control
|
||||
keycode: char_t
|
||||
mode: emacs
|
||||
event: {edit: swapgraphemes}
|
||||
}
|
||||
{
|
||||
name: move_one_word_left
|
||||
modifier: alt
|
||||
keycode: left
|
||||
mode: emacs
|
||||
event: {edit: movewordleft}
|
||||
}
|
||||
{
|
||||
name: move_one_word_right_or_take_history_hint
|
||||
modifier: alt
|
||||
keycode: right
|
||||
mode: emacs
|
||||
event: {
|
||||
until: [
|
||||
{send: historyhintwordcomplete}
|
||||
{edit: movewordright}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: move_one_word_left
|
||||
modifier: alt
|
||||
keycode: char_b
|
||||
mode: emacs
|
||||
event: {edit: movewordleft}
|
||||
}
|
||||
{
|
||||
name: move_one_word_right_or_take_history_hint
|
||||
modifier: alt
|
||||
keycode: char_f
|
||||
mode: emacs
|
||||
event: {
|
||||
until: [
|
||||
{send: historyhintwordcomplete}
|
||||
{edit: movewordright}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: delete_one_word_forward
|
||||
modifier: alt
|
||||
keycode: delete
|
||||
mode: emacs
|
||||
event: {edit: deleteword}
|
||||
}
|
||||
{
|
||||
name: delete_one_word_backward
|
||||
modifier: alt
|
||||
keycode: backspace
|
||||
mode: emacs
|
||||
event: {edit: backspaceword}
|
||||
}
|
||||
{
|
||||
name: delete_one_word_backward
|
||||
modifier: alt
|
||||
keycode: char_m
|
||||
mode: emacs
|
||||
event: {edit: backspaceword}
|
||||
}
|
||||
{
|
||||
name: cut_word_to_right
|
||||
modifier: alt
|
||||
keycode: char_d
|
||||
mode: emacs
|
||||
event: {edit: cutwordright}
|
||||
}
|
||||
{
|
||||
name: upper_case_word
|
||||
modifier: alt
|
||||
keycode: char_u
|
||||
mode: emacs
|
||||
event: {edit: uppercaseword}
|
||||
}
|
||||
{
|
||||
name: lower_case_word
|
||||
modifier: alt
|
||||
keycode: char_l
|
||||
mode: emacs
|
||||
event: {edit: lowercaseword}
|
||||
}
|
||||
{
|
||||
name: capitalize_char
|
||||
modifier: alt
|
||||
keycode: char_c
|
||||
mode: emacs
|
||||
event: {edit: capitalizechar}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
use ~/.cache/starship/init.nu
|
||||
88
.config/nushell/env.nu
Normal file
88
.config/nushell/env.nu
Normal file
@@ -0,0 +1,88 @@
|
||||
# Nushell Environment Config File
|
||||
#
|
||||
# version = "0.84.0"
|
||||
|
||||
def create_left_prompt [] {
|
||||
mut home = ""
|
||||
try {
|
||||
if $nu.os-info.name == "windows" {
|
||||
$home = $env.USERPROFILE
|
||||
} else {
|
||||
$home = $env.HOME
|
||||
}
|
||||
}
|
||||
|
||||
let dir = ([
|
||||
($env.PWD | str substring 0..($home | str length) | str replace $home "~"),
|
||||
($env.PWD | str substring ($home | str length)..)
|
||||
] | str join)
|
||||
|
||||
let path_color = (if (is-admin) { ansi red_bold } else { ansi green_bold })
|
||||
let separator_color = (if (is-admin) { ansi light_red_bold } else { ansi light_green_bold })
|
||||
let path_segment = $"($path_color)($dir)"
|
||||
|
||||
$path_segment | str replace --all (char path_sep) $"($separator_color)/($path_color)"
|
||||
}
|
||||
|
||||
def create_right_prompt [] {
|
||||
# create a right prompt in magenta with green separators and am/pm underlined
|
||||
let time_segment = ([
|
||||
(ansi reset)
|
||||
(ansi magenta)
|
||||
(date now | format date '%Y/%m/%d %r')
|
||||
] | str join | str replace --regex --all "([/:])" $"(ansi green)${1}(ansi magenta)" |
|
||||
str replace --regex --all "([AP]M)" $"(ansi magenta_underline)${1}")
|
||||
|
||||
let last_exit_code = if ($env.LAST_EXIT_CODE != 0) {([
|
||||
(ansi rb)
|
||||
($env.LAST_EXIT_CODE)
|
||||
] | str join)
|
||||
} else { "" }
|
||||
|
||||
([$last_exit_code, (char space), $time_segment] | str join)
|
||||
}
|
||||
|
||||
# Use nushell functions to define your right and left prompt
|
||||
$env.PROMPT_COMMAND = {|| create_left_prompt }
|
||||
# $env.PROMPT_COMMAND_RIGHT = {|| create_right_prompt }
|
||||
|
||||
|
||||
# The prompt indicators are environmental variables that represent
|
||||
# the state of the prompt
|
||||
$env.PROMPT_INDICATOR = {|| "> " }
|
||||
$env.PROMPT_INDICATOR_VI_INSERT = {|| ": " }
|
||||
$env.PROMPT_INDICATOR_VI_NORMAL = {|| "> " }
|
||||
$env.PROMPT_MULTILINE_INDICATOR = {|| "::: " }
|
||||
|
||||
# Specifies how environment variables are:
|
||||
# - converted from a string to a value on Nushell startup (from_string)
|
||||
# - converted from a value back to a string when running external commands (to_string)
|
||||
# Note: The conversions happen *after* config.nu is loaded
|
||||
$env.ENV_CONVERSIONS = {
|
||||
"PATH": {
|
||||
from_string: { |s| $s | split row (char esep) | path expand --no-symlink }
|
||||
to_string: { |v| $v | path expand --no-symlink | str join (char esep) }
|
||||
}
|
||||
"Path": {
|
||||
from_string: { |s| $s | split row (char esep) | path expand --no-symlink }
|
||||
to_string: { |v| $v | path expand --no-symlink | str join (char esep) }
|
||||
}
|
||||
}
|
||||
|
||||
# Directories to search for scripts when calling source or use
|
||||
$env.NU_LIB_DIRS = [
|
||||
# ($nu.default-config-dir | path join 'scripts') # add <nushell-config-dir>/scripts
|
||||
]
|
||||
|
||||
# Directories to search for plugin binaries when calling register
|
||||
$env.NU_PLUGIN_DIRS = [
|
||||
# ($nu.default-config-dir | path join 'plugins') # add <nushell-config-dir>/plugins
|
||||
]
|
||||
|
||||
# To add entries to PATH (on Windows you might use Path), you can use the following pattern:
|
||||
# $env.PATH = ($env.PATH | split row (char esep) | prepend '/some/path')
|
||||
|
||||
mkdir ~/.cache/starship
|
||||
starship init nu | save -f ~/.cache/starship/init.nu
|
||||
$env.HOSTNAME = "Dvergr"
|
||||
$env.STARSHIP_SHELL = "nu"
|
||||
1210
.config/nushell/history.txt
Normal file
1210
.config/nushell/history.txt
Normal file
File diff suppressed because it is too large
Load Diff
142
.config/starship.toml
Normal file
142
.config/starship.toml
Normal file
@@ -0,0 +1,142 @@
|
||||
#format = """
|
||||
#[╭─user───❯](bold blue) $username
|
||||
#[┣─system─❯](bold yellow) $hostname
|
||||
#[┣─project❯](bold red) $directory$rust$git_branch$git_status$package$golang$terraform$docker_context$python$docker_context$nodejs
|
||||
#[╰─cmd────❯](bold green)
|
||||
#"""
|
||||
add_newline = false
|
||||
|
||||
#format = """
|
||||
#$time\
|
||||
#$user\
|
||||
#$hostname\
|
||||
#$directory\
|
||||
#$cmd_time\
|
||||
#$line_break\
|
||||
#$character\
|
||||
#"""
|
||||
|
||||
[time]
|
||||
format = '[\[ $time \]]($style) '#🕙
|
||||
disabled = false
|
||||
|
||||
[username]
|
||||
style_user = "green bold"
|
||||
style_root = "red bold"
|
||||
format = "[$user]($style) "
|
||||
disabled = false
|
||||
show_always = true
|
||||
|
||||
[hostname]
|
||||
ssh_only = false
|
||||
format = 'on [$hostname](bold yellow) '
|
||||
trim_at = "."
|
||||
disabled = false
|
||||
|
||||
# Replace the "❯" symbol in the prompt with "➜"
|
||||
[character] # The name of the module we are configuring is "character"
|
||||
success_symbol = "[❯](bold green)" # The "success_symbol" segment is being set to "➜" with the color "bold green"
|
||||
error_symbol = "[✗](bold red)"
|
||||
#
|
||||
# configure directory
|
||||
[directory]
|
||||
read_only = " "
|
||||
truncation_length = 10
|
||||
truncate_to_repo = true # truncates directory to root folder if in github repo
|
||||
style = "bold italic blue"
|
||||
|
||||
[cmd_duration]
|
||||
min_time = 4
|
||||
show_milliseconds = false
|
||||
disabled = false
|
||||
style = "bold italic red"
|
||||
|
||||
[aws]
|
||||
symbol = " "
|
||||
|
||||
[conda]
|
||||
symbol = " "
|
||||
|
||||
[dart]
|
||||
symbol = " "
|
||||
|
||||
#[directory]
|
||||
#read_only = " "
|
||||
|
||||
[docker_context]
|
||||
symbol = " "
|
||||
format = "via [$symbol$context]($style) "
|
||||
style = "blue bold"
|
||||
only_with_files = true
|
||||
detect_files = ["docker-compose.yml", "docker-compose.yaml", "Dockerfile"]
|
||||
detect_folders = []
|
||||
disabled = false
|
||||
|
||||
[elixir]
|
||||
symbol = " "
|
||||
|
||||
[elm]
|
||||
symbol = " "
|
||||
|
||||
[git_branch]
|
||||
symbol = " "
|
||||
|
||||
[golang]
|
||||
symbol = " "
|
||||
|
||||
[hg_branch]
|
||||
symbol = " "
|
||||
|
||||
[java]
|
||||
symbol = " "
|
||||
|
||||
[julia]
|
||||
symbol = " "
|
||||
|
||||
[memory_usage]
|
||||
symbol = " "
|
||||
|
||||
[nim]
|
||||
symbol = " "
|
||||
|
||||
[nix_shell]
|
||||
symbol = " "
|
||||
|
||||
[package]
|
||||
symbol = " "
|
||||
|
||||
[perl]
|
||||
symbol = " "
|
||||
|
||||
[php]
|
||||
symbol = " "
|
||||
|
||||
[python]
|
||||
symbol = " "
|
||||
#pyenv_version_name = true
|
||||
format = 'via [${symbol}python (${version} )(\($virtualenv\) )]($style)'
|
||||
style = "bold yellow"
|
||||
pyenv_prefix = "venv "
|
||||
python_binary = ["./venv/bin/python", "python", "python3", "python2"]
|
||||
detect_extensions = ["py"]
|
||||
version_format = "v${raw}"
|
||||
|
||||
[ruby]
|
||||
symbol = " "
|
||||
|
||||
[rust]
|
||||
#symbol = " "
|
||||
|
||||
[scala]
|
||||
symbol = " "
|
||||
|
||||
[shlvl]
|
||||
symbol = " "
|
||||
|
||||
[swift]
|
||||
symbol = "ﯣ "
|
||||
|
||||
[nodejs]
|
||||
format = "via [ Node.js $version](bold green) "
|
||||
detect_files = ["package.json", ".node-version"]
|
||||
detect_folders = ["node_modules"]
|
||||
36
.config/tmux/tmux.conf
Normal file
36
.config/tmux/tmux.conf
Normal file
@@ -0,0 +1,36 @@
|
||||
# set true color
|
||||
set-option -g default-terminal "$TERM"
|
||||
set-option -ag terminal-overrides ",$TERM:Tc"
|
||||
set -g mouse on
|
||||
|
||||
# set transparent background
|
||||
set -g status-style bg=default
|
||||
|
||||
# start windows and panes at 1, not 0
|
||||
set -g base-index 1
|
||||
set -g pane-base-index 1
|
||||
set-window-option -g pane-base-index 1
|
||||
set-option -g renumber-windows on
|
||||
|
||||
# set prefix
|
||||
unbind C-b
|
||||
set -g prefix C-Space
|
||||
bind C-Space send-prefix
|
||||
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
# set -g @plugin 'bobcats/everforest-tmux'
|
||||
set -g @plugin 'odedlaz/tmux-onedark-theme'
|
||||
# set -g @plugin 'dreamsofcode-io/catppuccin-tmux'
|
||||
# set -g @everforest_theme 'dark-hard'
|
||||
|
||||
# set vi mode
|
||||
# bind-key -T copy-mode-vi v send-keys -X begin-selection
|
||||
# bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
||||
# bind-key -T copy mode-vi C-v send-keys-X rectangle-toggle
|
||||
|
||||
# Open pane sin current directory
|
||||
bind '"' split-window -v -c "#{pane_current_path}"
|
||||
bind % split-window -h -c "#{pane_current_path}"
|
||||
|
||||
run '/usr/share/tmux-plugin-manager/tpm'
|
||||
Reference in New Issue
Block a user