commit 493bdf504593297b070dacd0f700c72fa50e1620 Author: LinMihigo Date: Sun Jun 29 21:47:20 2025 +0200 Add config files diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..e496671 --- /dev/null +++ b/.bashrc @@ -0,0 +1,166 @@ +# ~/.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 -alF' +alias la='ls -A' +alias l='ls -CF' + +# Add an "alert" alias for long running commands. Use like so: +# sleep 10; alert +alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' + +# 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 PATH=$PATH:/home/lin/.local/bin + +if [ -f ~/.last_dir ]; then + cd "$(cat ~/.last_dir)" +fi + +function cd() { + builtin cd "$@" + pwd > ~/.last_dir +} + +: <<'COMMENT' +##----------------------------------------------------- +## synth-shell-greeter.sh +if [ -f /home/lin/.config/synth-shell/synth-shell-greeter.sh ] && [ -n "$( echo $- | grep i )" ]; then + source /home/lin/.config/synth-shell/synth-shell-greeter.sh +fi + +##----------------------------------------------------- +## synth-shell-prompt.sh +if [ -f /home/lin/.config/synth-shell/synth-shell-prompt.sh ] && [ -n "$( echo $- | grep i )" ]; then + source /home/lin/.config/synth-shell/synth-shell-prompt.sh +fi + +##----------------------------------------------------- +## better-ls +if [ -f /home/lin/.config/synth-shell/better-ls.sh ] && [ -n "$( echo $- | grep i )" ]; then + source /home/lin/.config/synth-shell/better-ls.sh +fi + +##----------------------------------------------------- +## alias +if [ -f /home/lin/.config/synth-shell/alias.sh ] && [ -n "$( echo $- | grep i )" ]; then + source /home/lin/.config/synth-shell/alias.sh +fi + +##----------------------------------------------------- +## better-history +if [ -f /home/lin/.config/synth-shell/better-history.sh ] && [ -n "$( echo $- | grep i )" ]; then + source /home/lin/.config/synth-shell/better-history.sh +fi +COMMENT + +export PYTHONPATH=$PYTHONPATH:/home/lin/dev/ALx/alx-higher_level_programming/0x0C-python-almost_a_circle + +# Add RVM to PATH for scripting. Make sure this is the last PATH variable change. +export PATH="$PATH:$HOME/.rvm/bin" + +. "$HOME/.local/bin/env" diff --git a/.tmux.conf b/.tmux.conf new file mode 100644 index 0000000..dceed40 --- /dev/null +++ b/.tmux.conf @@ -0,0 +1,35 @@ +# Source the tmux config file +bind r source-file ~/.tmux.conf \; display "Reloaded!" + +# Mouse usage +set -g mouse on + +# Increase history +set-option -g history-limit 5000 + +# Intuitive split commands +bind | split-window -hc "#{pane_current_path}" +bind - split-window -vc "#{pane_current_path}" + +# Swapping windows +bind -r "<" swap-window -d -t -1 +bind -r ">" swap-window -d -t +1 + +# Keeping current path +bind c new-window -c "#{pane_current_path}" + +# Toggle windows and sessions +bind Space last-window + +# List of plugins +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'tmux-plugins/tmux-sensible' + +# Other examples: +# set -g @plugin 'github_username/plugin_name' +# set -g @plugin 'github_username/plugin_name#branch' +# set -g @plugin 'git@github.com:user/plugin' +# set -g @plugin 'git@bitbucket.com:user/plugin' + +# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) +run '~/.tmux/plugins/tpm/tpm' diff --git a/.vimrc b/.vimrc new file mode 100644 index 0000000..031d9c3 --- /dev/null +++ b/.vimrc @@ -0,0 +1,64 @@ +" Disable compatibility with vi which can cause unexpected issues. +set nocompatible + +" Enable type file detection. Vim will be able to try to detect the type of file in use. +filetype on + +" Enable plugins and load plugin for the detected file type. +filetype plugin on + +" Load an indent file for the detected file type. +filetype indent on + +" Turn syntax highlighting on. +syntax on + +" Add numbers to each line on the left-hand side. +set number + +" Set shift width to 4 spaces. +set shiftwidth=4 + +" Set tab width to 4 columns. +set tabstop=4 + +" Use space characters instead of tabs. +set expandtab + +" Do not save backup files. +set nobackup + +" Do not let cursor scroll below or above N number of lines when scrolling. +set scrolloff=10 + +" Do not wrap lines. Allow long lines to extend as far as the line goes. +set nowrap + +" While searching though a file incrementally highlight matching characters as you type. +set incsearch + +" Ignore capital letters during search. +set ignorecase + +" Override the ignorecase option if searching for capital letters. +" This will allow you to search specifically for capital letters. +set smartcase + +" Show partial command you type in the last line of the screen. +set showcmd + +" Show the mode you are on the last line. +set showmode + +" Show matching words during a search. +set showmatch + +" Use highlighting when doing a search. +set hlsearch + +" Set the commands to save in history default number is 20. +set history=1000 + +" Change cursor shape in diff modes +let &t_SI = "\e[6 q" " Insert mode - Vertical bar +let &t_EI = "\e[2 q" " Normal mode - block diff --git a/.zshrc b/.zshrc new file mode 100644 index 0000000..6e36548 --- /dev/null +++ b/.zshrc @@ -0,0 +1,124 @@ +# If you come from bash you might have to change your $PATH. +# export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH + +# Path to your Oh My Zsh installation. +export ZSH="$HOME/.oh-my-zsh" + +# Set name of the theme to load --- if set to "random", it will +# load a random theme each time Oh My Zsh is loaded, in which case, +# to know which specific one was loaded, run: echo $RANDOM_THEME +# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes +ZSH_THEME="robbyrussell" + +# Set list of themes to pick from when loading at random +# Setting this variable when ZSH_THEME=random will cause zsh to load +# a theme from this variable instead of looking in $ZSH/themes/ +# If set to an empty array, this variable will have no effect. +# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) + +# Uncomment the following line to use case-sensitive completion. +# CASE_SENSITIVE="true" + +# Uncomment the following line to use hyphen-insensitive completion. +# Case-sensitive completion must be off. _ and - will be interchangeable. +# HYPHEN_INSENSITIVE="true" + +# Uncomment one of the following lines to change the auto-update behavior +# zstyle ':omz:update' mode disabled # disable automatic updates +# zstyle ':omz:update' mode auto # update automatically without asking +# zstyle ':omz:update' mode reminder # just remind me to update when it's time + +# Uncomment the following line to change how often to auto-update (in days). +# zstyle ':omz:update' frequency 13 + +# Uncomment the following line if pasting URLs and other text is messed up. +# DISABLE_MAGIC_FUNCTIONS="true" + +# Uncomment the following line to disable colors in ls. +# DISABLE_LS_COLORS="true" + +# Uncomment the following line to disable auto-setting terminal title. +# DISABLE_AUTO_TITLE="true" + +# Uncomment the following line to enable command auto-correction. +# ENABLE_CORRECTION="true" + +# Uncomment the following line to display red dots whilst waiting for completion. +# You can also set it to another string to have that shown instead of the default red dots. +# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f" +# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765) +# COMPLETION_WAITING_DOTS="true" + +# Uncomment the following line if you want to disable marking untracked files +# under VCS as dirty. This makes repository status check for large repositories +# much, much faster. +# DISABLE_UNTRACKED_FILES_DIRTY="true" + +# Uncomment the following line if you want to change the command execution time +# stamp shown in the history command output. +# You can set one of the optional three formats: +# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" +# or set a custom format using the strftime function format specifications, +# see 'man strftime' for details. +# HIST_STAMPS="mm/dd/yyyy" + +# Would you like to use another custom folder than $ZSH/custom? +# ZSH_CUSTOM=/path/to/new-custom-folder + +# Which plugins would you like to load? +# Standard plugins can be found in $ZSH/plugins/ +# Custom plugins may be added to $ZSH_CUSTOM/plugins/ +# Example format: plugins=(rails git textmate ruby lighthouse) +# Add wisely, as too many plugins slow down shell startup. +plugins=(git) + +source $ZSH/oh-my-zsh.sh + +# User configuration + +# export MANPATH="/usr/local/man:$MANPATH" + +# You may need to manually set your language environment +# export LANG=en_US.UTF-8 + +# Preferred editor for local and remote sessions +# if [[ -n $SSH_CONNECTION ]]; then +# export EDITOR='vim' +# else +# export EDITOR='nvim' +# fi + +# Compilation flags +# export ARCHFLAGS="-arch $(uname -m)" + +# Set personal aliases, overriding those provided by Oh My Zsh libs, +# plugins, and themes. Aliases can be placed here, though Oh My Zsh +# users are encouraged to define aliases within a top-level file in +# the $ZSH_CUSTOM folder, with .zsh extension. Examples: +# - $ZSH_CUSTOM/aliases.zsh +# - $ZSH_CUSTOM/macos.zsh +# For a full list of active aliases, run `alias`. +# +# Example aliases +# alias zshconfig="mate ~/.zshrc" +# +# alias ohmyzsh="mate ~/.oh-my-zsh" +if [ -f ~/.last_dir ]; then + cd "$(cat ~/.last_dir)" +fi + +function cd() { + builtin cd "$@" + pwd > ~/.last_dir +} + +export PYTHONPATH=$PYTHONPATH:/home/lin/dev/ALx/alx-higher_level_programming/0x0C-python-almost_a_circle + +# Add RVM to PATH for scripting. Make sure this is the last PATH variable change. +export PATH="$PATH:$HOME/.rvm/bin" + +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 + +. "$HOME/.local/bin/env" diff --git a/README.md b/README.md new file mode 100644 index 0000000..3c9b659 --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +# config +Contains: +- Vim config +- alacritty config +- bashrc setup +- zshrc config +- tmux config +- python env .txt diff --git a/alacritty.toml b/alacritty.toml new file mode 100755 index 0000000..f610ef5 --- /dev/null +++ b/alacritty.toml @@ -0,0 +1,84 @@ +# shell config +shell = "wsl.exe" +live_config_reload = true + +[window] +dimensions = { columns = 160, lines = 40 } +position.x = 750 +position.y = 450 +padding = { x = 5, y = 3 } +blur = true +dynamic_title = true +decorations = "full" +decorations_theme_variant = "None" + +[scrolling] +history = 10000 +multiplier = 3 + +# Default colors +[colors.primary] +background = '#24292e' +foreground = '#d1d5da' + +# Normal colors +[colors.normal] +black = '#586069' +red = '#ea4a5a' +green = '#34d058' +yellow = '#ffea7f' +blue = '#2188ff' +magenta = '#b392f0' +cyan = '#39c5cf' +white = '#d1d5da' + +# Bright colors +[colors.bright] +black = '#959da5' +red = '#f97583' +green = '#85e89d' +yellow = '#ffea7f' +blue = '#79b8ff' +magenta = '#b392f0' +cyan = '#56d4dd' +white = '#fafbfc' + +[[colors.indexed_colors]] +index = 16 +color = '#d18616' + +[[colors.indexed_colors]] +index = 17 +color = '#f97583' + +[font] +normal.family = "Consolas" +normal.style = "Regular" +bold.family = "Consolas" +bold.style = "Bold" +italic.family = "Consolas" +italic.style = "Italic" +bold_italic.family = "Consolas" +bold_italic.style = "Bold Italic" +size = 9.5 + +[selection] +save_to_clipboard = true + +[cursor] +style.blinking = "On" +blink_interval = 750 + +[terminal] +osc52 = "CopyPaste" + +[mouse] +hide_when_typing = true + +[keyboard] +bindings = [ + { key = "W", mods = "Control", action = "Quit" }, + { key = "T", mods = "Control" , action = "SpawnNewInstance" }, + { key = "C", mods = "Control", action = "Copy" }, + { key = "V", mods = "Control", action = "Paste" } +] diff --git a/env.txt b/env.txt new file mode 100644 index 0000000..96f8110 --- /dev/null +++ b/env.txt @@ -0,0 +1,178 @@ +alembic==1.16.1 +annotated-types==0.7.0 +anyio==4.9.0 +attrs==25.3.0 +Automat==25.4.16 +babel==2.17.0 +bcrypt==4.3.0 +beautifulsoup4==4.13.4 +blinker==1.9.0 +boto3==1.38.27 +botocore==1.38.27 +build==1.2.2.post1 +CacheControl==0.14.3 +cachelib==0.13.0 +cachetools==6.0.0 +certifi==2025.4.26 +cffi==1.17.1 +chardet==5.2.0 +charset-normalizer==3.4.2 +cleo==2.1.0 +click==8.2.1 +colorama==0.4.6 +configobj==5.0.9 +constantly==23.10.4 +copier==9.7.1 +crashtest==0.4.1 +cryptography==45.0.3 +cssselect==1.3.0 +cssutils==2.11.1 +distlib==0.3.9 +distro==1.9.0 +dnspython==2.7.0 +dulwich==0.22.8 +dunamai==1.24.1 +ecdsa==0.19.1 +email_validator==2.2.0 +emails==0.6 +fastapi==0.115.12 +fastapi-cli==0.0.7 +fastjsonschema==2.21.1 +filelock==3.18.0 +findpython==0.6.3 +Flask==3.1.1 +flask-babel==4.0.0 +Flask-Caching==2.3.1 +flask-cors==6.0.0 +Flask-Login==0.6.3 +Flask-SQLAlchemy==3.1.1 +funcy==2.0 +greenlet==3.2.2 +h11==0.16.0 +html5lib==1.1 +httpcore==1.0.9 +httplib2==0.22.0 +httptools==0.6.4 +httpx==0.28.1 +hyperlink==21.0.0 +idna==3.10 +importlib_metadata==8.7.0 +incremental==24.7.2 +iniconfig==2.1.0 +installer==0.7.0 +itsdangerous==2.2.0 +jaraco.classes==3.4.0 +jaraco.context==6.0.1 +jaraco.functools==4.1.0 +jeepney==0.9.0 +Jinja2==3.1.6 +jinja2-ansible-filters==1.3.2 +jmespath==1.0.1 +jsonpatch==1.33 +jsonpointer==3.0.0 +jsonschema==4.24.0 +jsonschema-specifications==2025.4.1 +keyring==25.6.0 +launchpadlib==2.1.0 +lazr.restfulclient==0.14.6 +lazr.uri==1.0.7 +lxml==5.4.0 +Mako==1.3.10 +markdown-it-py==3.0.0 +MarkupSafe==3.0.2 +mdurl==0.1.2 +more-itertools==10.7.0 +msgpack==1.1.0 +mysql-connector-python==9.3.0 +mysqlclient==2.2.7 +netifaces==0.11.0 +oauthlib==3.2.2 +ordered-set==4.1.0 +packaging==25.0 +passlib==1.7.4 +pathspec==0.12.1 +pbs-installer==2025.5.17 +pdfminer.six==20250506 +pexpect==4.9.0 +pkginfo==1.12.1.2 +platformdirs==4.3.8 +pluggy==1.6.0 +plumbum==1.9.0 +poetry-core==2.1.3 +premailer==3.10.0 +prompt_toolkit==3.0.51 +psycopg==3.2.9 +psycopg-binary==3.2.9 +ptyprocess==0.7.0 +pyasn1==0.6.1 +pyasn1_modules==0.4.2 +pycodestyle==2.13.0 +pycparser==2.22 +pycurl==7.45.6 +pydantic==2.11.5 +pydantic-settings==2.9.1 +pydantic_core==2.33.2 +Pygments==2.19.1 +PyHamcrest==2.1.0 +PyJWT==2.10.1 +PyLaTeX==1.4.2 +pymacaroons==0.13.0 +pymongo==4.13.0 +PyNaCl==1.5.0 +pyOpenSSL==25.1.0 +pyparsing==3.2.3 +pyproject_hooks==1.2.0 +pyrsistent==0.20.0 +pyserial==3.5 +pytest==8.4.0 +python-dateutil==2.9.0.post0 +python-dotenv==1.1.0 +python-jose==3.5.0 +python-magic==0.4.27 +python-multipart==0.0.20 +pytz==2025.2 +PyYAML==6.0.2 +questionary==2.1.0 +RapidFuzz==3.13.0 +referencing==0.36.2 +requests==2.32.3 +requests-toolbelt==1.0.0 +rich==14.0.0 +rich-toolkit==0.14.7 +rpds-py==0.25.1 +rsa==4.9.1 +s3transfer==0.13.0 +SecretStorage==3.3.3 +sentry-sdk==1.45.1 +service-identity==24.2.0 +setuptools==80.9.0 +shellingham==1.5.4 +six==1.17.0 +sniffio==1.3.1 +soupsieve==2.7 +SQLAlchemy==2.0.41 +sqlmodel==0.0.24 +ssh-import-id==5.11 +starlette==0.46.2 +tenacity==8.2.3 +tomlkit==0.13.2 +trove-classifiers==2025.5.9.12 +Twisted==24.11.0 +typer==0.16.0 +typing==3.7.4.3 +typing-inspection==0.4.1 +typing_extensions==4.13.2 +urllib3==2.4.0 +uvicorn==0.34.2 +uvloop==0.21.0 +virtualenv==20.31.2 +wadllib==2.0.0 +watchfiles==1.0.5 +wcwidth==0.2.13 +webencodings==0.5.1 +websockets==15.0.1 +Werkzeug==3.1.3 +wheel==0.45.1 +zipp==3.22.0 +zope.interface==7.2 +zstandard==0.23.0