From 07816eb3021335b409b5c0a4148b6927326775fb Mon Sep 17 00:00:00 2001 From: Michael Moese Date: Thu, 17 Jul 2025 11:53:03 +0200 Subject: [PATCH] initial commit --- .stow-local-ignore | 3 ++ bash/.bashrc | 23 +++++++++++++ install.sh | 62 ++++++++++++++++++++++++++++++++++++ mutt/.muttrc | 50 +++++++++++++++++++++++++++++ vim/.vim/.netrwhist | 4 +++ vim/.vim/colors/kuronami.vim | 22 +++++++++++++ vim/.vim/vimrc | 3 ++ 7 files changed, 167 insertions(+) create mode 100644 .stow-local-ignore create mode 100644 bash/.bashrc create mode 100755 install.sh create mode 100644 mutt/.muttrc create mode 100644 vim/.vim/.netrwhist create mode 100644 vim/.vim/colors/kuronami.vim create mode 100644 vim/.vim/vimrc diff --git a/.stow-local-ignore b/.stow-local-ignore new file mode 100644 index 0000000..fd1ae90 --- /dev/null +++ b/.stow-local-ignore @@ -0,0 +1,3 @@ +.git +README.md +install.sh diff --git a/bash/.bashrc b/bash/.bashrc new file mode 100644 index 0000000..d44a64e --- /dev/null +++ b/bash/.bashrc @@ -0,0 +1,23 @@ +# Sample .bashrc for SUSE Linux +# Copyright (c) SUSE Software Solutions Germany GmbH + +# There are 3 different types of shells in bash: the login shell, normal shell +# and interactive shell. Login shells read ~/.profile and interactive shells +# read ~/.bashrc; in our setup, /etc/profile sources ~/.bashrc - thus all +# settings made here will also take effect in a login shell. +# +# NOTE: It is recommended to make language settings in ~/.profile rather than +# here, since multilingual X sessions would not work properly if LANG is over- +# ridden in every subshell. + +test -s ~/.alias && . ~/.alias || true + +export MOZ_ENABLE_WAYLAND=1 +export QUTE_PASS_MENU=rofi + +export TERMINAL=kitty +export EDITOR="emacs -nw" + +export PATH="$PATH:/home/michael/bin/yubico-authenticator-7.2.3-linux" + +eval "$(keychain --quiet --eval --agents ssh)" diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..6e1c973 --- /dev/null +++ b/install.sh @@ -0,0 +1,62 @@ +#!/bin/bash + +set -e + +DOTFILES_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +cd "$DOTFILES_DIR" || exit 1 + +PKG="stow" + +# Check if stow is installed +if ! command -v stow &> /dev/null; then + echo "'$PKG' is not installed." + +# Detect distribution +if [[ -f /etc/os-release ]]; then + . /etc/os-release + DISTRO_ID=$ID +else + echo "Could not detect distribution. Please install '$PKG' manually." + exit 1 +fi + +# Choose installation command +case "$DISTRO_ID" in + debian|ubuntu) + INSTALL_CMD="sudo apt update && sudo apt install -y $PKG" + ;; + opensuse*|suse|sles) + INSTALL_CMD="sudo zypper install -y $PKG" + ;; + rocky|rhel|centos) + INSTALL_CMD="sudo dnf install -y $PKG" + ;; + arch) + INSTALL_CMD="sudo pacman -S --noconfirm $PKG" + ;; + *) + echo "Unsupported distribution '$DISTRO_ID'. Please install '$PKG' manually." + exit 1 + ;; +esac + +# Ask user +read -rp "Do you want to install '$PKG' now? [y/N]: " reply +if [[ "$reply" =~ ^[Yy]$ ]]; then + echo "Running: $INSTALL_CMD" + eval "$INSTALL_CMD" +else + echo "Aborted. '$PKG' is required to continue." + exit 1 +fi +fi + + +# Stow all visible subdirectories +for pkg in */; do + if [[ -d "$pkg" && ! "$pkg" =~ ^\..* ]]; then + echo "${pkg%/}" + stow -D "${pkg%/}" + stow "${pkg%/}" + fi +done diff --git a/mutt/.muttrc b/mutt/.muttrc new file mode 100644 index 0000000..477d150 --- /dev/null +++ b/mutt/.muttrc @@ -0,0 +1,50 @@ +# E-Mail-Adresse und Name +set realname = "Michael Moese" +set from = "frankenmichl@posteo.de" +set use_from = yes + +# Mail-Setup +set folder = "~/.mail" +set spoolfile = "~/.mail/posteo/INBOX" + +# Maildir-Format aktivieren +set mbox_type = Maildir +set mask = "!^\\.[^.]" + +# Anzeigeoptionen +set header_cache = ~/.cache/neomutt/headers +set message_cachedir = ~/.cache/neomutt/bodies +set certificate_file = ~/.mutt/certificates + +# Threading +set sort = threads +set sort_aux = reverse-last-date-received + +# Anzeige von HTML-Mails als Text (ohne externe Viewer) +auto_view text/html + +# Editor (hier nano, du kannst auch vim nehmen) +set editor = "nano" + +# Signatur (optional) +set signature = "~/.signature" + +# Farben (einfaches Setup) +color normal white black +color indicator yellow black +color header yellow black + +# Benachrichtigung bei neuer Mail +unset beep + +set sendmail="/usr/bin/msmtp" + +# Passwörter sicherer verwalten (besser über externen Helfer wie gpg-agent oder pass) +# smtp_pass kann weggelassen werden, wenn Auth über externes Tool läuft + +# Posteo-spezifisch: Trash-Ordner +set trash = "~/.mail/posteo/.Trash" + +# Quelltext für erweiterte Funktionen, z.B. PGP, kannst du später ergänzen. + + diff --git a/vim/.vim/.netrwhist b/vim/.vim/.netrwhist new file mode 100644 index 0000000..bb62295 --- /dev/null +++ b/vim/.vim/.netrwhist @@ -0,0 +1,4 @@ +let g:netrw_dirhistmax =10 +let g:netrw_dirhistcnt =2 +let g:netrw_dirhist_2='/home/michael/.local/share/qutebrowser/userscripts' +let g:netrw_dirhist_1='/home/michael/vpn' diff --git a/vim/.vim/colors/kuronami.vim b/vim/.vim/colors/kuronami.vim new file mode 100644 index 0000000..3ce290c --- /dev/null +++ b/vim/.vim/colors/kuronami.vim @@ -0,0 +1,22 @@ +" kuronami.vim - a Kuronami inspired colorscheme for Vim + +if exists("syntax_on") + syntax reset +endif +let g:colors_name = "kuronami" + +" Background and foreground +hi Normal guifg=#c9c9c9 guibg=#181a26 +hi Cursor guibg=#e97f86 +hi Comment guifg=#7fbbe9 gui=italic +hi Constant guifg=#cdb38f +hi String guifg=#65bab4 +hi Function guifg=#fffafa +hi Keyword guifg=#a5bad7 +hi Identifier guifg=#fffafa +hi Error guifg=#e97f86 gui=bold +hi WarningMsg guifg=#cdb38f gui=bold +hi Search guibg=#e97f86 guifg=#181a26 +hi Visual guibg=#2e41ac +hi LineNr guifg=#a5bad7 guibg=#181a26 +hi StatusLine guifg=#232328 guibg=#b3b3b3 diff --git a/vim/.vim/vimrc b/vim/.vim/vimrc new file mode 100644 index 0000000..3d935b6 --- /dev/null +++ b/vim/.vim/vimrc @@ -0,0 +1,3 @@ +colorscheme kuronami + +filetype indent on