Working on config

This commit is contained in:
Thomas Forgione 2023-11-07 17:53:57 +01:00
parent 9698245f4d
commit 4116dc127f
2 changed files with 98 additions and 6 deletions

View File

@ -1,19 +1,68 @@
source ~/.config/nushell/init.nu
# Change default config
$env.config.cursor_shape = {
emacs: block
vi_insert: block
vi_normal: underscore
}
# ls aliases
alias builtin_ls = ls
def ls [] {
builtin_ls | sort-by type name -i | grid -c
def l [dir?: string] {
builtin_ls (if $dir == null { "" } else { $dir }) | sort-by type name -i | grid -c
}
def ll [] {
builtin_ls | sort-by type name -i
def ls [dir?: string] {
builtin_ls (if $dir == null { "" } else { $dir }) | sort-by type name -i | grid -c
}
def la [dir?: string] {
builtin_ls -a (if $dir == null { "" } else { $dir }) | sort-by type name -i
}
def ll [dir?: string] {
builtin_ls (if $dir == null { "" } else { $dir }) | sort-by type name -i
}
# cool df
def df [] {
^df -h
| str replace "Sys. de fichiers" "Filesystem"
| str replace "Monté sur" "Mountpoint"
| str replace "Sys. de fichiers" "@1"
| str replace "Monté sur" "@2"
| detect columns
| rename "Sys. de fichiers" "Taille" "Utilisé" "Dispo" "Uti%" "Monté sur"
}
# vim aliases
alias v = nvim
# git aliases
alias g = git
alias ga = git add
alias gaa = git add --all
alias gco = git checkout
alias gcb = git checkout -b
alias gc = git commit --verbose
alias gca = git commit --verbose --all
alias gd = git diff
alias glog = git log --oneline --decorate --graph
alias gl = git pull
alias gp = git push
alias gst = git status
alias gs = git status
def gpsup [] { git push --set-upstream origin (git rev-parse --abbrev-ref HEAD) }
# Useful aliases
alias :q = exit
alias pdf = evince
alias u = update
alias rg = rg -uu
alias p = pass
alias pc = pass --clip
export def-env mkcd [dir: string] { mkdir $dir; cd $dir }
export def-env cdg [key: string] { cd (CLICOLOR_FORCE=1 pgd $key) }
# Start tfetch
tfetch

View File

@ -42,6 +42,25 @@ def create_left_prompt [] {
let dir_color = ansi blue_bold
let reset_ansi = ansi reset
let git_color = [(ansi reset), (ansi yellow)] | str join
let git_branch = do { git rev-parse --abbrev-ref HEAD }
| complete
| update stdout (echo $in.stdout | str trim -c "\n")
let git_status = do { git status -s } | complete
let git_changed = if git_status.stdout == "" {
""
} else {
"*"
}
let git_branch_content = if $git_branch.exit_code == 0 {
[$git_color, " ", $git_branch.stdout, $git_changed, " "] | str join
} else {
""
}
[
$arrow_color
$first_line_arrow
@ -57,6 +76,7 @@ def create_left_prompt [] {
$second_delimiter
$dir_color
$dir
$git_branch_content
"\n"
$reset_ansi
$arrow_color
@ -66,11 +86,13 @@ def create_left_prompt [] {
def create_right_prompt [] {
let last_exit_code = if ($env.LAST_EXIT_CODE != 0) {([
"\e[B"
(ansi red_bold)
($env.LAST_EXIT_CODE)
" ↵ "
] | str join)
} else {([
"\e[B"
(ansi green_bold)
($env.LAST_EXIT_CODE)
" ↵ "
@ -131,5 +153,26 @@ $env.NU_PLUGIN_DIRS = [
($nu.default-config-dir | path join 'plugins') # add <nushell-config-dir>/plugins
]
# Text file editor
$env.EDITOR = nvim
# Backtrace for rust
$env.RUST_BACKTRACE = full
# Gclone env
$env.GCLONE_PATH = '/home/thomas/.git'
$env.GCLONE_FORCE_SSH = 'true'
# Python virtual env
$env.VIRTUAL_ENV = '/home/thomas/.venv'
# 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')
$env.PATH = ($env.PATH
| split row (char esep)
| prepend '/home/thomas/.config/dotfiles/bin'
| prepend '/home/thomas/.config/dotfiles/bin-extra'
| prepend '/home/thomas/.cargo/bin'
| prepend '/home/thomas/.npmbin/bin'
| prepend '/home/thomas/.venv/bin'
)