diff --git a/.bashrc b/.bashrc new file mode 100755 index 0000000..a14cc84 --- /dev/null +++ b/.bashrc @@ -0,0 +1,197 @@ +# ~/.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|*) 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="\`if [[ \$? == 0 ]]; then echo '\[\e[1;32m\]✔'; else echo \"\[\e[1;31m\]✘:\$?\"; fi\` \[\033[0;37m\]\t \[\033[1;35m\]\u\[\033[0;35m\]@\h\[\033[0;35m\]:\[\e[0;34m\]\w\[\e[0;33m\]\`parse_git_branch\`\[\e[0;37m\]\\$ \[\e[m\]" +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' + +# Cs private Aliases +# workdirectory + +# change keyboard language +# set keyboard layout german +alias de='setxkbmap de' + +# set keyboard layout british +alias gb='setxkbmap gb' + +# get current branch in git repo +function parse_git_branch() { + BRANCH=`git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'` + if [ ! "${BRANCH}" == "" ] + then + STAT=`parse_git_dirty` + echo "[${BRANCH}${STAT}]" + else + echo "" + exit 1 + fi +} + +# get current status of git repo +function parse_git_dirty { + status=`git status 2>&1 | tee` + dirty=`echo -n "${status}" 2> /dev/null | grep "modified:" &> /dev/null; echo "$?"` + untracked=`echo -n "${status}" 2> /dev/null | grep "Untracked files" &> /dev/null; echo "$?"` + ahead=`echo -n "${status}" 2> /dev/null | grep "Your branch is ahead of" &> /dev/null; echo "$?"` + newfile=`echo -n "${status}" 2> /dev/null | grep "new file:" &> /dev/null; echo "$?"` + renamed=`echo -n "${status}" 2> /dev/null | grep "renamed:" &> /dev/null; echo "$?"` + deleted=`echo -n "${status}" 2> /dev/null | grep "deleted:" &> /dev/null; echo "$?"` + bits='' + if [ "${renamed}" == "0" ]; then + bits=">${bits}" + fi + if [ "${ahead}" == "0" ]; then + bits="*${bits}" + fi + if [ "${newfile}" == "0" ]; then + bits="+${bits}" + fi + if [ "${untracked}" == "0" ]; then + bits="?${bits}" + fi + if [ "${deleted}" == "0" ]; then + bits="x${bits}" + fi + if [ "${dirty}" == "0" ]; then + bits="!${bits}" + fi + if [ ! "${bits}" == "" ]; then + echo " ${bits}" + else + echo "" + fi +} + +# 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 + +# notifications with longterm processes # add ; alert to call +#if [ -x /usr/bin/notify-send ]; then + # alias alert='notify-send -i gnome-terminal "[$?] $(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/;\s*alert$//'\'')"' +#fi + +# path for cargo +#export PATH="$HOME/.cargo/bin:$PATH" + +# path for PostgreSQL +#export PATH="/usr/local/pgsql:$PATH" + +# python +#export PATH="$PATH:$HOME/.local/lib/python3.8/site-packages" +#export PATH="$PATH:/usr/local/lib/python3.8" +export PATH="$PATH:~/.local/bin" +export PATH="$PATH:/usr/bin/" +export PATH="$PATH:/usr/share/vim/vim81/colors" + +# vim +export PATH=/opt/vim/src:$PATH + + +# autostart RVM +#source /etc/profile.d/rvm.sh +export PATH=/opt/vim/src:$PATH diff --git a/makefile b/makefile old mode 100755 new mode 100644 index e7ff074..35f691b --- a/makefile +++ b/makefile @@ -8,15 +8,12 @@ SHELL := /bin/bash build: # Build the live system/ISO image↵ sudo lb clean --all - #sudo lb config --debug --distribution bullseye --backports true --archive-areas "main contrib non-free non-free-firmware" --hdd-label NIHAL --uefi-secure-boot disable --image-name NIHAL-bullseye --linux-packages "linux-image li nux-headers" - lb config \ - --debian-installer live \ - --image-name NIHAL- \ - --hdd-label NIHAL \ - + #sudo lb config --debug --distribution bullseye --backports true --archive-areas "main contrib non-free non-free-firmware" --hdd-label NIHAL --uefi-secure-boot disable --image-name NIHAL-bullseye --linux-packages "linux-image linux-headers" + sudo lb config --debug --memtest memtest86+ --bootappend-live "boot=live component username=nihal" --distribution bookworm --debian-installer live --backports true --archive-areas "main contrib non-free non-free-firmware" --hdd-label NIHAL-bookworm --uefi-secure-boot disable --image-name NIHAL-bookworm --linux-packages "linux-image linux-headers" # add debian installer mkdir -p config/package-lists mkdir -p config/includes.installer + #mkdir -p config/includes.chroot/hooks/live mkdir -p config/includes.chroot/lib/live/config mkdir -p config/includes.chroot/etc/skel/.vim/colors mkdir -p config/includes.chroot/etc/skel/.config/sway @@ -28,21 +25,20 @@ build: # add packages cat packages.list > config/package-lists/desktop.list.chroot # automaticially start sway after start - #echo "exec sway" > config/includes.chroot/etc/skel/rc.local + echo "exec sway" > config/includes.chroot/etc/skel/rc.local # add User-Config cp bash_profile config/includes.chroot/etc/skel/.bash_profile + cp .bashrc config/includes.chroot/etc/skel/.bashrc mkdir -p config/includes.chroot/etc/skel/ mkdir -p config/includes.chroot/etc/systemd/system - #mkdir -p config/includes.chroot/etc/systemd/system/graphical.target.wants cp vimrc config/includes.chroot/etc/skel/.vimrc cp swaysystemd config/includes.chroot/etc/systemd/system/sway.service - #cp swaysystemd config/includes.chroot/etc/systemd/system/graphical.target.wants/sway.service cp startscript.sh config/hooks/live/startscript.hook.chroot cp forest_refuge.vim config/includes.chroot/etc/skel/.vim/colors/ cp swayconfig config/includes.chroot/etc/skel/.config/sway/config cp swayaudio.sh config/includes.chroot/etc/skel/.config/sway/audio.sh cp swayexit.sh config/includes.chroot/etc/skel/.config/sway/exit.sh - #cp rc.local config/includes.chroot/etc/rc.local + cp rc.local config/includes.chroot/etc/rc.local cp swaylock_screen.sh config/includes.chroot/etc/skel/.config/sway/lock_screen.sh #cp waybarconfig config/includes.chroot/etc/skel/.config/waybar/config #cp waybarstyles.css config/includes.chroot/etc/skel/.config/waybar/syles.css diff --git a/packages.list b/packages.list index 1e0d1b6..0ed6915 100644 --- a/packages.list +++ b/packages.list @@ -85,6 +85,7 @@ xdg-desktop-portal-wlr swayidle libwayland-dev wayland-protocols +xwayland libgles2-mesa-dev libdrm-dev libgbm-dev @@ -118,3 +119,7 @@ bzip2 secure-delete jq terminator +xdg-desktop-portal +bash-completion +network-manager +task-laptop diff --git a/swayconfig b/swayconfig old mode 100755 new mode 100644 index ffd8559..9e88b03 --- a/swayconfig +++ b/swayconfig @@ -54,7 +54,7 @@ bar { # Keyboard Shortcuts (Sway-specific) # #====================================# # Set the modifier key to super: -set $mod Mod1 +set $mod Mod4 # Set the ALT key to $alt (since Mod1 is harder to remember): set $alt Mod1 @@ -237,6 +237,7 @@ bindsym ctrl+$mod+f exec pcmanfm # Open a terminal emulator: set $term alacritty bindsym $mod+t exec terminator +bindsym $alt+t exec termiantor # Kill focused window: bindsym $mod+Shift+q kill diff --git a/vimrc b/vimrc index ef8d41c..a6a65a6 100644 --- a/vimrc +++ b/vimrc @@ -3,36 +3,39 @@ set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize -" set rtp+=~/.vim/bundle/Vundle.vim +"set rtp+=~/.vim/bundle/Vundle.vim +"call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required -#Plugin 'VundleVim/Vundle.vim' +" for installing plugin: call ':PluginInstall' +"Plugin 'VundleVim/Vundle.vim' " The following are examples of different formats supported. " Keep Plugin commands between vundle#begin/end. " plugin on GitHub repo -#Plugin 'tpope/vim-fugitive' +"Plugin 'tpope/vim-fugitive' " plugin from http://vim-scripts.org/vim/scripts.html " Plugin 'L9' " Git plugin not hosted on GitHub -#Plugin 'git://git.wincent.com/command-t.git' +"Plugin 'git://git.wincent.com/command-t.git' " git repos on your local machine (i.e. when working on your own plugin) -#Plugin 'file:///home/gmarik/path/to/plugin' " The sparkup vim script is in a subdirectory of this repo called vim. " Pass the path to set the runtimepath properly. -#Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} +"Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} " Install L9 and avoid a Naming conflict if you've already installed a " different version somewhere else. " Plugin 'ascenator/L9', {'name': 'newL9'} +" Nerdtree +"Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } " Plugin youcompleteme -#Plugin 'git://github.com/ycm-core/YouCompleteMe.git' +"Plugin 'git://github.com/ycm-core/YouCompleteMe.git' " All of your Plugins must be added before the following line -call vundle#end() " required -filetype plugin indent on " required +"call vundle#end() " required +"filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on " @@ -83,8 +86,8 @@ au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g " Uncomment the following to have Vim load indentation rules and plugins " according to the detected filetype. -filetype plugin indent on -filetype indent on +"filetype plugin indent on +"filetype indent on " set filetyp manually for rust -> errors? "if &filetyp ==# 'rs' @@ -114,6 +117,10 @@ nnoremap Y "+y vnoremap Y "+y nnoremap yY ^"+y$ +" Start NERDTree and put the cursor back in the other window. +"autocmd VimEnter * NERDTree | wincmd p + + " automatically trigger copy set guioptions+=a