From f12dd84fc09b0b8fc07868910ff295f963fc67fe Mon Sep 17 00:00:00 2001 From: dado Date: Sun, 12 Jan 2025 17:30:45 +0100 Subject: [PATCH] Aggiunto vari dotfiles --- .bashrc | 273 +++++++ .config/alacritty/alacritty.toml | 40 + .config/pop-shell/config.json | 10 + .config/psd/psd.conf | 70 ++ .config/systemd/user/borgbackup.service | 10 + .config/systemd/user/borgbackup.timer | 9 + .gitconfig | 3 + .inputrc | 2 + .profile | 27 + .vim/spell/it.utf-8.spl | Bin 0 -> 1232163 bytes .vim/spell/it.utf-8.sug | Bin 0 -> 19481467 bytes .viminfo | 529 +++++++++++++ .vimrc | 52 ++ GNOME_saved_settings.dconf | 738 ++++++++++++++++++ etc/NetworkManager/NetworkManager.conf | 5 + .../conf.d/00-macrandomize.conf | 7 + etc/default/grub | 40 + etc/default/snapper | 9 + etc/default/ufw | 47 ++ etc/default/zramswap | 22 + etc/fstab | 17 + etc/snapper/configs/root | 63 ++ 22 files changed, 1973 insertions(+) create mode 100644 .bashrc create mode 100644 .config/alacritty/alacritty.toml create mode 100644 .config/pop-shell/config.json create mode 100644 .config/psd/psd.conf create mode 100644 .config/systemd/user/borgbackup.service create mode 100644 .config/systemd/user/borgbackup.timer create mode 100644 .gitconfig create mode 100644 .inputrc create mode 100644 .profile create mode 100644 .vim/spell/it.utf-8.spl create mode 100644 .vim/spell/it.utf-8.sug create mode 100644 .viminfo create mode 100644 .vimrc create mode 100644 GNOME_saved_settings.dconf create mode 100644 etc/NetworkManager/NetworkManager.conf create mode 100644 etc/NetworkManager/conf.d/00-macrandomize.conf create mode 100644 etc/default/grub create mode 100644 etc/default/snapper create mode 100644 etc/default/ufw create mode 100644 etc/default/zramswap create mode 100644 etc/fstab create mode 100644 etc/snapper/configs/root diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..0873b30 --- /dev/null +++ b/.bashrc @@ -0,0 +1,273 @@ +# ~/.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 + +# 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 + +################################################################################################################################################### +# # +# PERSONAL SETTINGS # +# # +################################################################################################################################################### + +# path + +export PATH="$PATH:HOME/.local/bin:$HOME/bin:$HOME/.cargo/bin:$HOME/scripts/:$HOME/scripts/backup-ws" + +# for setting history length see HISTSIZE and HISTFILESIZE in bash +HISTSIZE=-1 +HISTFILESIZE=-1 + +# To get first completion and a listing you can add the following to bashrc +bind 'set show-all-if-ambiguous on' +bind 'TAB:menu-complete' + +# Use bash-completion, if available +[[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && \ + . /usr/share/bash-completion/bash_completion + +# alias + +# alias + +## BASH command + +alias t='tail -f' +alias dud='du -d 1 -h 2> /dev/null | sort -hsr' +alias dus='du -sh * 2> /dev/null | sort -hsr' +alias egrep='egrep --color=auto' +alias fd='find . -type d -name' +alias fdi='find . -type d -iname' +alias ff='find . -type f -name' +alias ffi='find . -type f -iname' +alias df='df -hT' +alias md='mkdir -p' +alias rd='rmdir' +alias scp="scrcpy -S" +alias scl="screen -ls" +alias scr="screen -R" +alias scl="screen -ls" +alias nn="ncdu --color dark" +alias maps="telnet mapscii.me" +alias myip='curl ipinfo.io/ip' +alias files_replace_space='for f in *\ *; do mv "$f" "${f// /_}"; done' +alias dtr="rm -rf .local/share/Trash/files/*" +alias hugo-sync="hugo && rsync -avz --delete public/ ilnostropianetaselvaggio:/home/sistemostro/website/" + +## ls + +alias l='ls -CF' +#alias ls='ls -1FSsh' +alias ldot='ls -ld .*' +alias lt='ls -ltFh' +alias ll='exa -lgh' + +## apt + +alias aac='sudo apt autoclean' +alias ac='sudo apt clean' +alias as='apt search' +alias aug='sudo apt update && sudo apt upgrade' +alias afug='sudo apt update && sudo apt dist-upgrade' +alias ai='sudo apt install' +alias ap='sudo apt purge' +alias ar='sudo apt remove' +alias aar='sudo apt autoremove' +alias upg='sudo apt update ; sudo apt upgrade ; sudo apt autoremove ; flatpak upgrade -y ; flatpak uninstall --unused -y' + +## flatpak + +alias fl='flatpak list' +alias fu='flatpak update' +alias fu='flatpak uninstall' +alias code="flatpak run com.vscodium.codium 2> /dev/null" + +## docker + +alias dex='docker exec -i -t' +alias di='docker images ls' +alias dv='docker volume ls' +alias dps='docker ps' +alias dpsa='docker ps -a' +alias dcd='docker compose down' +alias dcp='docker compose pull' +alias dcu='docker compose up -d' +alias dspaf='docker system prune -af' + +## tmux + +alias ta='tmux attach -t' +alias tad='tmux attach -dt' +alias tkss='tmux kill-session -t' +alias tksv='tmux kill-server' +alias tl='tmux list-sessions' +alias ts='tmux new-session -s' + +## symlink + +alias delete-broken-symlink='find . -maxdepth 1 -xtype l -delete' +alias view-broken-symlink='find . -maxdepth 1 -xtype l' + +## vim + +alias v="vim 2> /dev/null" +alias sv="sudo vim 2> /dev/null" +alias vi='TERM=xterm-sc vim' +alias vim='TERM=xterm-sc vim' + +## git + +alias g=git +alias ga='git add' +alias gf='git fetch' +alias gp='git pull' +alias gpo='git push -u origin' +alias grmc='git rm --cached' +alias gs='git status -sb' +alias gm='git commit -m' +alias gcf='git config --list' + +#alias gb='git branch' +#alias gbD='git branch -D' +#alias gba='git branch -a' +#alias gbd='git branch -d' +#alias gcb='git checkout -b' +#alias glgga='git log --graph --decorate=full --all' +#alias glog='git log --oneline --decorate --color --graph' +#alias grmv='git remote rename' +#alias gro='git-rename-origin' +#alias grset='git remote set-url' +#alias grso='git remote show origin' +#alias grv='git remote -v' + +# PS1 + +DEFAULT="\[\033[0m\]" +RED="\[\033[1;31m\]" +GREEN="\[\033[0;32m\]" +BLUE="\[\033[1;34m\]" +EBLACK="\[\033[1;30m\]" +PURPLE="\[\033[35m\]" +YELLOW="\[\033[1;33m\]" +CYAN="\[\033[1;36m\]" + +parse_git_branch() { + git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/' +} + +export PS1="$GREEN[\A \d]$CYAN\u$BLUE@\h $DEFAULT(\!):$YELLOW\w $PURPLE\n\$(parse_git_branch)$DEFAULT > " + +# editor + +export EDITOR='vim' +export VISUAL='vim' + +# language + +#LANG="it_IT.UTF-8" +#export LANG +export TERM=xterm-256color diff --git a/.config/alacritty/alacritty.toml b/.config/alacritty/alacritty.toml new file mode 100644 index 0000000..596b309 --- /dev/null +++ b/.config/alacritty/alacritty.toml @@ -0,0 +1,40 @@ +import = ["/home/dado/git/alacritty-master/dracula.toml"] + +[cursor.style] +blinking = "On" +shape = "Beam" + +[font] +size = 12.0 + +[font.bold] +family = "Ubuntu Mono" +style = "Bold" + +[font.bold_italic] +family = "Ubuntu Mono" +style = "Bold Italic" + +[font.italic] +family = "Ubuntu Mono" +style = "Italic" + +[font.normal] +family = "Ubuntu Mono" +style = "Retina" + +[font.offset] +x = 0 +y = 1 + +[window] +dynamic_padding = true +opacity = 0.97 + +[window.padding] +x = 5 +y = 0 + +[window.position] +x = 75 +y = 75 diff --git a/.config/pop-shell/config.json b/.config/pop-shell/config.json new file mode 100644 index 0000000..3ff0046 --- /dev/null +++ b/.config/pop-shell/config.json @@ -0,0 +1,10 @@ +{ + "float": [ + { + "class": "pop-shell-example", + "title": "pop-shell-example" + } + ], + "skiptaskbarhidden": [], + "log_on_focus": false +} \ No newline at end of file diff --git a/.config/psd/psd.conf b/.config/psd/psd.conf new file mode 100644 index 0000000..414fca9 --- /dev/null +++ b/.config/psd/psd.conf @@ -0,0 +1,70 @@ +# +# $XDG_CONFIG_HOME/psd/psd.conf +# +# For documentation, refer man 1 psd or to the wiki page +# https://wiki.archlinux.org/index.php/Profile-sync-daemon + +## NOTE the following: +## To protect data from corruption, in the event that you do make an edit while +## psd is active, any changes made will be applied the next time you start psd. + +# Uncomment and set to "yes" to use overlayfs instead of a full copy to reduce +# the memory costs and to improve sync/unsync operations. Note that your kernel +# MUST have this module available in order to use this mode. +# +#USE_OVERLAYFS="no" + +# Uncomment and set to "yes" to resync on suspend to reduce potential data loss. +# Note that your system MUST have gdbus from glib2 installed to use this mode. +# +#USE_SUSPSYNC="no" + +# List any browsers in the array below to have managed by psd. Useful if you do +# not wish to have all possible browser profiles managed which is the default if +# this array is left commented. +# +# Possible values: +# chromium +# chromium-dev +# conkeror.mozdev.org +# epiphany +# falkon +# firefox +# firefox-trunk +# google-chrome +# google-chrome-beta +# google-chrome-unstable +# heftig-aurora +# icecat +# inox +# luakit +# midori +# opera +# opera-beta +# opera-developer +# opera-legacy +# otter-browser +# qupzilla +# qutebrowser +# palemoon +# rekonq +# seamonkey +# surf +# vivaldi +# vivaldi-snapshot +# +BROWSERS=(firefox) + +# Uncomment and set to "no" to completely disable the crash recovery feature. +# +# The default is to create crash recovery backups if the system is ungracefully +# powered-down due to a kernel panic, hitting the reset switch, battery going +# dead, etc. Some users keep very diligent backups and don't care to have this +# feature enabled. +USE_BACKUPS="yes" + +# Uncomment and set to an integer that is the maximum number of crash recovery +# snapshots to keep (the oldest ones are deleted first). +# +# The default is to save the most recent 5 crash recovery snapshots. +BACKUP_LIMIT=5 diff --git a/.config/systemd/user/borgbackup.service b/.config/systemd/user/borgbackup.service new file mode 100644 index 0000000..425a958 --- /dev/null +++ b/.config/systemd/user/borgbackup.service @@ -0,0 +1,10 @@ +[Unit] +Description=borg backup job +StartLimitBurst=5 # Questo indica che il servizio può essere avviato al massimo 5 volte nel periodo specificato da StartLimitIntervalSec +StartLimitIntervalSec=150s # Intervallo di tempo in cui il numero di avvii viene conteggiato. In questo caso: 30s x 5 = 150s + +[Service] +Type=oneshot # Indica che il servizio esegue un'azione e termina +ExecStart=/home/dado/git/backup-ws/borgbackup.sh +Restart=on-failure # Riavvia il servizio solo se termina con un errore +RestartSec=30s # Tempo di attesa tra i tentativi di riavvio \ No newline at end of file diff --git a/.config/systemd/user/borgbackup.timer b/.config/systemd/user/borgbackup.timer new file mode 100644 index 0000000..1255d9c --- /dev/null +++ b/.config/systemd/user/borgbackup.timer @@ -0,0 +1,9 @@ +[Unit] +Description=backup + +[Timer] +OnUnitActiveSec=2h +OnBootSec=30s + +[Install] +WantedBy=timers.target \ No newline at end of file diff --git a/.gitconfig b/.gitconfig new file mode 100644 index 0000000..4c49178 --- /dev/null +++ b/.gitconfig @@ -0,0 +1,3 @@ +[user] + email = dado@mail.me + name = dado diff --git a/.inputrc b/.inputrc new file mode 100644 index 0000000..53de1a1 --- /dev/null +++ b/.inputrc @@ -0,0 +1,2 @@ +"\e[5~": history-search-backward +"\e[6~": history-search-forward diff --git a/.profile b/.profile new file mode 100644 index 0000000..d89ea5a --- /dev/null +++ b/.profile @@ -0,0 +1,27 @@ +# ~/.profile: executed by the command interpreter for login shells. +# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login +# exists. +# see /usr/share/doc/bash/examples/startup-files for examples. +# the files are located in the bash-doc package. + +# the default umask is set in /etc/profile; for setting the umask +# for ssh logins, install and configure the libpam-umask package. +#umask 022 + +# if running bash +if [ -n "$BASH_VERSION" ]; then + # include .bashrc if it exists + if [ -f "$HOME/.bashrc" ]; then + . "$HOME/.bashrc" + fi +fi + +# set PATH so it includes user's private bin if it exists +if [ -d "$HOME/bin" ] ; then + PATH="$HOME/bin:$PATH" +fi + +# set PATH so it includes user's private bin if it exists +if [ -d "$HOME/.local/bin" ] ; then + PATH="$HOME/.local/bin:$PATH" +fi diff --git a/.vim/spell/it.utf-8.spl b/.vim/spell/it.utf-8.spl new file mode 100644 index 0000000000000000000000000000000000000000..1927e05778a344adb4aad0f88ed50020fe733449 GIT binary patch literal 1232163 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
    #Cvye|B;z7Z+q(u*UHuHo}c(yMZuv>3(GN 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