1
0

Compare commits

..

14 Commits

Author SHA1 Message Date
9e4797d36f FIX: Remove zsh history file from the tree, to prevent future credential leaks 2024-04-06 18:34:16 +02:00
b81d284291 FEAT: Adding scripts and adding web_search plugin to zshrc
-   Also change Clang PATH
2024-04-06 18:30:27 +02:00
8c09d67779 FEAT: Adding i3 config, customizing soon... 2024-04-06 18:28:48 +02:00
76497acfb5 FEAT: Adding fzf, ripgrep and ollama to my install.sh script 2024-04-04 22:38:27 +02:00
4ad3dfc644 FEAT: Started install script
Added completion and suggestions for fzf
      Set git Signin on by default
      Changed prefix key to C-z
FIX: Made sure forward and backward search keymappings will still work
2024-04-03 21:14:04 +02:00
ecd737e373 FEAT: Added Vi mode to zshrc 2024-04-03 18:22:40 +02:00
2682a25658 FIX: Cleanup and restructure of .zshrc 2024-04-02 19:35:57 +00:00
b2234868cf FEAT: Add sane keybinds for splitting window 2024-04-02 19:21:33 +00:00
8cd0f1a9ec Add tmux/.tmux.conf 2024-04-02 19:13:55 +00:00
50e9ac06a2 FIX: Removing gtk and dotnet generated file from dotfiles repo 2024-03-31 14:26:20 +02:00
58f5f318b3 FEAT: Added signing key to gitconfig and adding new paths to \$PATH 2024-03-31 14:23:39 +02:00
760a821a06 FEAT: nvim config as a submodule 2024-03-31 14:16:27 +02:00
671da08d23 Adding neovim kickstarter configuration 2024-03-20 17:02:05 +01:00
9d5d6ffe12 Adding alacritty config to the Linux setup 2024-03-02 16:30:21 +01:00
20 changed files with 671 additions and 9945 deletions

3
.gitignore vendored
View File

@ -1,3 +0,0 @@
.DS_Store
nvm/.git
vscode/extensions

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "nvim"]
path = nvim
url = gitea@git.barink.dev:Nigel/neovim_config.git

22
alacritty/alacritty.toml Normal file
View File

@ -0,0 +1,22 @@
# Live config reload
live_config_reload = true
[env]
projects = "~/Documents/Development"
[window]
opacity = 0.8
startup_mode = "Windowed"
dynamic_title = false
title = "Alacritty Terminal"
[font]
size = 13
normal = {family="Hack Nerd Font", style="Regular" }
bold = {family="Hack Nerd Font", style="Bold" }
italic = {family="Hack Nerd Font", style="Italic" }
bold_italic = {family="Hack Nerd Font", style="Bold Italic" }
[cursor]
style = { shape="Block", blinking="On" }

109
bash/.bash_history Normal file
View File

@ -0,0 +1,109 @@
/etc/init.d/gdm start
/etc/init.d/gdm3 start
apt -f install
sudo apt -f install
su
cd /
exit
gpg
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
ls
ls -a
nano .bashrc
source .
source .bashrc
nvm --version
nvm install --lts
node --version
npm --version
apt install vim
su -
apt install tmux
su -
exit
javac --version
echo $PATH
vim .bashrc
javac --version
source .
source .bashrc
javac --version
exit
javac --version
apt install build-essential
su -
vim ~/.bashrc
source ~/.bashrc
ghidra
su -
docker ps -a
sudo docker ps -a
su -
exit
docker --version
docker ps -a
sudo docker ps -a
exit
ls
exit
eixt
exit
cd /usr/go
mkdir /usr/go
sudo mkdir /usr/go
su -
cd Downloads/
ls
tar -C /usr/local -xzf go1.16.2.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.16.2.linux-amd64.tar.gz
su -
vim .bashrc
ls
cd
ls
vim .bashrc
source .
source .bashrc
go version
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
rustc --version
ls
cd Development/
ls
go --version
entr
go version
exit
apt update
su -
docker ps
echo $GOPATH
go run main
go run main.go
cd helloworld/
ls
go run main.go
which go
zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
su -
chsh -s /bin/zsh
exit
zsh
exit
zsh
exit
echo $terminal.integrated.shell.linux
zsh
exit
cd sqlite-tools-linux-x86-3350300/
ls
./sqlite3 test.db
ll
ls
./sqlite3 test.db
sqlite3 test.db
exit
clion
exit

7
bash/.bash_logout Normal file
View File

@ -0,0 +1,7 @@
# ~/.bash_logout: executed by bash(1) when login shell exits.
# when leaving the console clear the screen to increase privacy
if [ "$SHLVL" = 1 ]; then
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi

142
bash/.bashrc Normal file
View File

@ -0,0 +1,142 @@
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
# shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
#shopt -s checkwinsize
# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar
# make less more friendly for non-text input files, see lesspipe(1)
#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color|*-256color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
#alias grep='grep --color=auto'
#alias fgrep='fgrep --color=auto'
#alias egrep='egrep --color=auto'
fi
# colored GCC warnings and errors
export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
# some more ls aliases
alias ll='ls -l'
alias la='ls -A'
alias l='ls -CF'
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
#if ! shopt -oq posix; then
# if [ -f /usr/share/bash-completion/bash_completion ]; then
# . /usr/share/bash-completion/bash_completion
# elif [ -f /etc/bash_completion ]; then
# . /etc/bash_completion
# fi
#fi
#
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
# Add java to the path
export PATH=$PATH:/opt/jdk-16/bin
# Add Ghidra to the path
export PATH=$PATH:/opt/ghidra
alias ghidra=ghidraRun
# Add Go to the path
export PATH=$PATH:/usr/local/go/bin
# Add sqlite3 tools
export PATH=$PATH:/opt/sqlite3-tools
# Add Clang-Tools
export PATH=$PATH:$HOME/llvm/build/bin
# Add cargo
source "$HOME/.cargo/env"
# Manualy added binaries to the path
export PATH=$PATH:/opt
# Add path for CLION
export PATH=$PATH:/home/nigel/Programs/clion/bin

View File

@ -1,17 +0,0 @@
# Live config reload
live_config_reload = true
[env]
projects = "~/Documents/Development"
[window]
opacity = 0.8
startup_mode = "Windowed"
dynamic_title = false
title = "Alacritty Terminal"
[font]
size = 13
[cursor]
style = { shape = "Block", blinking= "On"}

View File

@ -1 +0,0 @@
/Users/nigel/Library/Application Support/iTerm2

View File

@ -1,6 +1,7 @@
[user]
email = nigelbarink@hotmail.com
name = Nigel
signingkey = C54278C495538619
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
@ -8,3 +9,5 @@
required = true
[init]
defaultBranch = main
[commit]
gpgsign = true

170
i3/config Normal file
View File

@ -0,0 +1,170 @@
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:monospace 8
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8
# Before i3 v4.8, we used to recommend this one as the default:
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# The font above is very space-efficient, that is, it looks good, sharp and
# clear in small sizes. However, its unicode glyph coverage is limited, the old
# X core fonts rendering does not support right-to-left and this being a bitmap
# font, it doesnt scale on retina/hidpi displays.
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec i3-sensible-terminal
# kill focused window
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
# change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+semicolon move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+h split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# switch to workspace
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym semicolon resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape or $mod+r
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
status_command i3status
}

21
install.sh Normal file
View File

@ -0,0 +1,21 @@
#!/bin/bash
# install fzf
git clone --depth 1 https://github.com/junegunn/fzf.git /tmp/fzf-source
starting_dir=$(pwd)
cd /tmp/fzf-source
./install
cd $starting_dir
# install ripgrep (Using APT! NOTE: Most likely not the latest version )
apt update
apt install ripgrep
# install tmux plugin manager
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# Install local Ollama runner
curl -fsSL https://ollama.com/install.sh | sh
ollama run codellama:7b # See https://ollama.com/library/codellama for available models

1
nvim Submodule

Submodule nvim added at 9843cf6e0c

1
nvm

Submodule nvm deleted from bab86d5de5

54
scripts/chtsht.sh Executable file
View File

@ -0,0 +1,54 @@
#!/bin/bash
if [ $# -eq 0 ]
then
# provide a list of options
CHOICE=$(echo $'search\nlearn\ncheatsheet'| fzf)
echo $CHOICE
if [ $CHOICE = "search" ]
then
echo -n "enter program: "
read
p=$REPLY
echo -n "enter search term: "
read
t=$REPLY
curl cheat.sh/$p~$t | less
elif [ $CHOICE = "learn" ]
then
echo -n "Enter Programming Language: "
read
curl cheat.sh/$REPLY/:learn | less -R
elif [ $CHOICE = "cheatsheet" ]
then
echo -n "Enter a thing you want to cheat: "
read
curl cheat.sh/$REPLY | less -R
else
echo "Someone messed up!!!"
fi
exit
fi
if [ $# -eq 1 ]
then
curl cheat.sh/$1 | less
exit
elif [ $# -eq 1]
then
# parse the input
echo "Parse!!!"
exit
else
# no clue!!
echo "Don\'t know what you want ?? "
echo "Please provide a clear goal"
fi

42
tmux/.tmux.conf Normal file
View File

@ -0,0 +1,42 @@
##########################################################
## ##
## My TMUX Config ##
## ##
##########################################################
# Rebind the prefix key
unbind C-b
set-option -g prefix C-z
# Map pane selection to more easy vim like bindings
bind-key -n 'M-h' select-pane -L
bind-key -n 'M-j' select-pane -D
bind-key -n 'M-k' select-pane -U
bind-key -n 'M-l' select-pane -R
bind h split-window -h
bind v split-window -v
# set Status bar options
set-option -g status-position top
set-window-option -g window-status-style fg=White,bg="#61f230"
set-window-option -g window-status-current-style fg=White,bg="#9aff78"
set-option -g allow-rename off
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'dracula/tmux'
set -g @dracula-plugins 'cpu-usage git ram-usage time'
set -g @dracula-show-left-icon \uebc8
# set some sanity options
# - This makes sure to keep the window/pane count starting at 1
setw -g base-index 1
setw -g pane-base-index 1
# - This prevents me from having to press escape twice
set -s escape-time 50
# allow mouse interaction
set-option -g mouse on
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'

View File

@ -1,20 +0,0 @@
// This configuration file allows you to pass permanent command line arguments to VS Code.
// Only a subset of arguments is currently supported to reduce the likelihood of breaking
// the installation.
//
// PLEASE DO NOT CHANGE WITHOUT UNDERSTANDING THE IMPACT
//
// NOTE: Changing this file requires a restart of VS Code.
{
// Use software rendering instead of hardware accelerated rendering.
// This can help in cases where you see rendering issues in VS Code.
// "disable-hardware-acceleration": true,
// Allows to disable crash reporting.
// Should restart the app if the value is changed.
"enable-crash-reporter": true,
// Unique id used for correlating crash reports sent from this instance.
// Do not edit this value.
"crash-reporter-id": "637bd37c-573e-4a4d-b17e-f66f377f3875"
}

View File

@ -1,2 +0,0 @@
eval "$(starship init zsh)"
eval "$(/usr/local/bin/brew shellenv)"

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
. "$HOME/.cargo/env"

View File

@ -1,9 +1,99 @@
# attach to an existing tmux session or create a new one if none exist
if [ "$TMUX" = "" ] && [ -z "$TMUX"]; then
tmux attach -t $(tmux display-message -p '#S') || tmux new-session
fi
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
# Path to your oh-my-zsh installation.
export ZSH="/home/nigel/.oh-my-zsh"
bindkey -v
bindkey '^R' history-incremental-search-backward
bindkey '^S' history-incremental-search-forward
ZSH_THEME="lambda"
# Use case-sensitive completion.
CASE_SENSITIVE="true"
# Disable auto-setting terminal title.
DISABLE_AUTO_TITLE="true"
# Enable command auto-correction.
ENABLE_CORRECTION="true"
HIST_STAMPS="dd/mm/yyyy"
# Which plugins would you like to load?
plugins=(git vi-mode zsh-autosuggestions zsh-syntax-highlighting tmux debian themes web-search)
source $ZSH/oh-my-zsh.sh
# Add the fzf key-bindings and completions
source /usr/share/fzf/key-bindings.zsh
source /usr/share/fzf/completion.zsh
# User configuration
source ~/.bashrc
# Set my language environment
export LANG=en_GB.UTF-8
# Preferred editor for local and remote sessions
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='vim'
else
export EDITOR='nvim'
fi
# Personal aliases
alias zshconfig="nvim ~/.zshrc"
alias ohmyzsh="nvim ~/.oh-my-zsh"
alias dev="cd /home/nigel/Development"
alias dotfiles="cd /home/nigel/.dotfiles"
# Set Environment Variables
DOTNET_ROOT=$HOME/dotnet
PATH=$PATH:$HOME/dotnet
export PATH=$PATH:/home/nigel/Hacking/Development/depot_tools
# Personal Aliases
alias zshconfig="mate ~/.zshrc"
alias ohmyzsh="mate ~/.oh-my-zsh"
# Add Clang-Tools
export PATH=$PATH:/usr/local/llvm
# Add nvim
export PATH=$PATH:/usr/local/bin/nvim/bin:
export PATH=$PATH:/opt/gradle/gradle-8.7/bin
# Add GoLang
export PATH=$PATH:/usr/local/go/bin
# Add Autocompletion tools
_dotnet_zsh_complete()
{
local completions=("$(dotnet complete "$word")")
reply=( "${(ps:\n:)completions}")
}
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
# zsh paramater for dotnet cli tab completion
compctl -K _dotnet_zsh_complete dotnet
eval "$(fzf --zsh)"
eval "$(starship init zsh)"
eval "$(/usr/local/bin/brew shellenv)"
echo "Hello, Nigel Barink"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion