Compare commits
43 Commits
5d24bfda0b
...
main
Author | SHA1 | Date | |
---|---|---|---|
2cd57f32ff | |||
8f7a00e823 | |||
1bf8799c5d | |||
480b57f156 | |||
82ee9bda0a | |||
0ef0739ad3 | |||
61a177e8b5 | |||
f5624a02e8 | |||
5ef265b2be | |||
493c15012a | |||
3c09c4b6c5 | |||
698af399dc | |||
b97854ba29 | |||
37f0cf7b4f | |||
8d3399c0e3 | |||
774fd82066 | |||
f708bef114 | |||
4c35e7b5f3 | |||
9d73dcf1d7 | |||
b9f51c970c | |||
aa5766d749 | |||
01d5434b43 | |||
d7a1f3ab92 | |||
6c770bdf90 | |||
2b504de943 | |||
20840fce4c | |||
b39e6c438c | |||
1c9c34febf | |||
2f470523ec | |||
37c188ecb2 | |||
90d58ceb35 | |||
abc33322f9 | |||
b456a72a47 | |||
1a68b832de | |||
e8e9aa2421 | |||
e3d628d8ab | |||
99e7a8bb82 | |||
bfa1112228 | |||
0a8339129f | |||
729089d8aa | |||
048b69ae13 | |||
0d90f23ce5 | |||
248068c55a |
5
.config/.gitignore
vendored
5
.config/.gitignore
vendored
@ -4,4 +4,7 @@
|
||||
!btop/
|
||||
btop/btop.log
|
||||
!neofetch/
|
||||
!ssh/
|
||||
!ssh/
|
||||
!tmux/
|
||||
!zsh/
|
||||
!tmuxinator
|
1
.config/tmux/plugins/tmux
Submodule
1
.config/tmux/plugins/tmux
Submodule
Submodule .config/tmux/plugins/tmux added at 14a546fb64
1
.config/tmux/plugins/tpm
Submodule
1
.config/tmux/plugins/tpm
Submodule
Submodule .config/tmux/plugins/tpm added at 99469c4a9b
2
.config/tmux/tmux.conf
Normal file
2
.config/tmux/tmux.conf
Normal file
@ -0,0 +1,2 @@
|
||||
source-file ~/.config/tmux/tmux.conf.d/plugins.conf
|
||||
source-file ~/.config/tmux/tmux.conf.d/keybinds.conf
|
10
.config/tmux/tmux.conf.d/keybinds.conf
Normal file
10
.config/tmux/tmux.conf.d/keybinds.conf
Normal file
@ -0,0 +1,10 @@
|
||||
set -g prefix C-y
|
||||
set -g mouse on
|
||||
bind-key r source-file ~/.tmux.conf \; display "Reloaded tmux config";
|
||||
bind-key c detach
|
||||
|
||||
bind-key f set-option -g mouse \; display-message 'Mouse #{?mouse,on,off}'
|
||||
|
||||
bind-key a previous-window
|
||||
bind-key d next-window
|
||||
bind-key n new-window
|
5
.config/tmux/tmux.conf.d/plugins.conf
Normal file
5
.config/tmux/tmux.conf.d/plugins.conf
Normal file
@ -0,0 +1,5 @@
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'catppuccin/tmux'
|
||||
|
||||
source-file ~/.config/tmux/tmux.conf.d/styles.conf
|
||||
run "~/.config/tmux/plugins/tpm/tpm"
|
31
.config/tmux/tmux.conf.d/styles.conf
Normal file
31
.config/tmux/tmux.conf.d/styles.conf
Normal file
@ -0,0 +1,31 @@
|
||||
set-option -g status-position top
|
||||
|
||||
|
||||
set -g @catppuccin_flavor "macchiato"
|
||||
set -g @catppuccin_window_status_style "rounded"
|
||||
|
||||
set -g @catppuccin_pane_status_enabled "yes" # set to "yes" to enable
|
||||
set -g @catppuccin_pane_border_status "yes" # set to "yes" to enable
|
||||
|
||||
set -g @catppuccin_window_left_separator ""
|
||||
set -g @catppuccin_window_right_separator " "
|
||||
set -g @catppuccin_window_middle_separator " █"
|
||||
set -g @catppuccin_window_number_position "right"
|
||||
|
||||
set -g @catppuccin_window_default_fill "number"
|
||||
set -g @catppuccin_window_default_text "#W"
|
||||
|
||||
set -g @catppuccin_window_current_fill "number"
|
||||
set -g @catppuccin_window_current_text "#W"
|
||||
|
||||
set -g @catppuccin_status_modules_right "directory user host session"
|
||||
set -g @catppuccin_status_left_separator " "
|
||||
set -g @catppuccin_status_right_separator ""
|
||||
set -g @catppuccin_status_right_separator_inverse "no"
|
||||
set -g @catppuccin_status_fill "icon"
|
||||
set -g @catppuccin_status_connect_separator "no"
|
||||
|
||||
set -g @catppuccin_directory_text "#{pane_current_path}"
|
||||
|
||||
set -g @catppuccin_window_current_text "#{window_name}"
|
||||
set -g @catppuccin_window_default_text "#{window_name}"
|
4
.config/tmuxinator/.gitignore
vendored
Normal file
4
.config/tmuxinator/.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
/*
|
||||
|
||||
!casino.yml
|
||||
!.gitignore
|
56
.config/tmuxinator/casino.yml
Normal file
56
.config/tmuxinator/casino.yml
Normal file
@ -0,0 +1,56 @@
|
||||
# /home/csimonis/.config/tmuxinator/casino.yml
|
||||
|
||||
name: casino
|
||||
root: ~/projects/school/casino
|
||||
|
||||
# Optional tmux socket
|
||||
# socket_name: foo
|
||||
|
||||
# Note that the pre and post options have been deprecated and will be replaced by
|
||||
# project hooks.
|
||||
|
||||
# Project hooks
|
||||
|
||||
# Runs on project start, always
|
||||
on_project_start: docker compose up -d
|
||||
|
||||
# Run on project start, the first time
|
||||
# on_project_first_start: command
|
||||
|
||||
# Run on project start, after the first time
|
||||
# on_project_restart: command
|
||||
|
||||
# Run on project exit ( detaching from tmux session )
|
||||
# on_project_exit: command
|
||||
|
||||
# Run on project stop
|
||||
on_project_stop: docker compose down
|
||||
|
||||
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
|
||||
# pre_window: rbenv shell 2.0.0-p247
|
||||
|
||||
# Pass command line options to tmux. Useful for specifying a different tmux.conf.
|
||||
# tmux_options: -f ~/.tmux.mac.conf
|
||||
|
||||
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
|
||||
# tmux_command: byobu
|
||||
|
||||
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
|
||||
# startup_window: editor
|
||||
|
||||
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
|
||||
# startup_pane: 1
|
||||
|
||||
# Controls whether the tmux session should be attached to automatically. Defaults to true.
|
||||
# attach: false
|
||||
|
||||
windows:
|
||||
- casino:
|
||||
layout: main-vertical
|
||||
# Synchronize all panes of this window, can be enabled before or after the pane commands run.
|
||||
# 'before' represents legacy functionality and will be deprecated in a future release, in favour of 'after'
|
||||
# synchronize: after
|
||||
panes:
|
||||
- clear
|
||||
- cd frontend && nvm use 22.12 && exec bun run start
|
||||
- cd backend && exec watchexec -r -e java ./gradlew :bootRun
|
3
.gitconfig.d/.gitignore
vendored
3
.gitconfig.d/.gitignore
vendored
@ -1,3 +0,0 @@
|
||||
/*
|
||||
!.gitignore
|
||||
!example.gitconfig
|
16
.gitignore
vendored
16
.gitignore
vendored
@ -1,15 +1 @@
|
||||
/*
|
||||
|
||||
!setup
|
||||
!zsh/
|
||||
!.gitignore
|
||||
!.alias.d/
|
||||
!.config/
|
||||
!.gitconfig
|
||||
!.gitconfig.d
|
||||
!.p10k.zsh
|
||||
!.zshrc
|
||||
!.zshenv.template
|
||||
!.profile
|
||||
!install
|
||||
!README.md
|
||||
.zshenv
|
||||
|
20
.gitmodules
vendored
20
.gitmodules
vendored
@ -1,9 +1,15 @@
|
||||
[submodule "zsh/plugins/zsh-autosuggestions"]
|
||||
path = zsh/plugins/zsh-autosuggestions
|
||||
[submodule ".config/zsh/plugins/zsh-autosuggestions"]
|
||||
path = .config/zsh/plugins/zsh-autosuggestions
|
||||
url = https://github.com/zsh-users/zsh-autosuggestions
|
||||
[submodule "zsh/plugins/zsh-syntax-highlighting"]
|
||||
path = zsh/plugins/zsh-syntax-highlighting
|
||||
url = https://github.com/zsh-users/zsh-syntax-highlighting
|
||||
[submodule "zsh/themes/powerlevel10k"]
|
||||
path = zsh/themes/powerlevel10k
|
||||
[submodule ".config/zsh/themes/powerlevel10k"]
|
||||
path = .config/zsh/themes/powerlevel10k
|
||||
url = https://github.com/romkatv/powerlevel10k
|
||||
[submodule ".config/zsh/plugins/zsh-syntax-highlighting"]
|
||||
path = .config/zsh/plugins/zsh-syntax-highlighting
|
||||
url = https://github.com/zsh-users/zsh-syntax-highlighting
|
||||
[submodule ".config/tmux/plugins/tpm"]
|
||||
path = .config/tmux/plugins/tpm
|
||||
url = https://github.com/tmux-plugins/tpm
|
||||
[submodule ".config/tmux/plugins/tmux"]
|
||||
path = .config/tmux/plugins/tmux
|
||||
url = https://github.com/catppuccin/tmux
|
||||
|
27
.profile
27
.profile
@ -1,27 +0,0 @@
|
||||
# ~/.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
|
9
.stow-local-ignore
Normal file
9
.stow-local-ignore
Normal file
@ -0,0 +1,9 @@
|
||||
.git
|
||||
.gitignore
|
||||
.gitmodules
|
||||
.zshenv.template
|
||||
README.md
|
||||
.gitconfig.d
|
||||
alias.d
|
||||
scripts
|
||||
gitconfig.d
|
1
.tmux.conf
Normal file
1
.tmux.conf
Normal file
@ -0,0 +1 @@
|
||||
source-file ~/.config/tmux/tmux.conf
|
@ -1 +1,2 @@
|
||||
export OPENAI_KEY=
|
||||
export OPENAI_KEY=
|
||||
export DOTFILES_INSTALL_DIR=
|
||||
|
19
.zshrc
19
.zshrc
@ -6,7 +6,7 @@ if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]
|
||||
fi
|
||||
|
||||
# Set custom Zsh plugin path
|
||||
export ZSH_CUSTOM="$HOME/dotfiles/zsh"
|
||||
export ZSH_CUSTOM="$HOME/.config/zsh"
|
||||
|
||||
# Load plugins
|
||||
source $ZSH_CUSTOM/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||||
@ -86,7 +86,7 @@ HIST_STAMPS="dd.mm.yyyy"
|
||||
# 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=(zsh-autosuggestions z)
|
||||
plugins=(zsh-autosuggestions z aliases sudo tmux)
|
||||
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
|
||||
@ -121,12 +121,12 @@ source $ZSH/oh-my-zsh.sh
|
||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||
|
||||
for file in $HOME/.alias.d/*; do
|
||||
source $HOME/.zshenv
|
||||
|
||||
for file in $DOTFILES_INSTALL_DIR/alias.d/*; do
|
||||
source $file
|
||||
done
|
||||
|
||||
source $HOME/.zshenv
|
||||
|
||||
eval "$(direnv hook zsh)"
|
||||
|
||||
if command -v ng >/dev/null; then
|
||||
@ -140,3 +140,12 @@ fi
|
||||
# bun
|
||||
export BUN_INSTALL="$HOME/.bun"
|
||||
export PATH="$BUN_INSTALL/bin:$PATH"
|
||||
export PATH=".:$PATH"
|
||||
|
||||
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/.atuin/bin/env"
|
||||
|
||||
eval "$(atuin init zsh)"
|
||||
|
@ -7,12 +7,6 @@ git clone https://git.simonis.lol/csimonis/dotfiles.git ~/dotfiles
|
||||
|
||||
cd ~/dotfiles
|
||||
|
||||
# Install Script uses apt so if your not root get fucked idiot
|
||||
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
alias apt='sudo apt'
|
||||
fi
|
||||
|
||||
# Installs system dependencies and does some other stuff
|
||||
./install
|
||||
# Creates Symlinks and installs zsh themes and plugins
|
||||
|
@ -1,8 +1,9 @@
|
||||
alias c='clear'
|
||||
alias ll='ls -lah'
|
||||
alias cat='batcat'
|
||||
|
||||
alias sl='sl -e'
|
||||
alias claude='~/.claude/local/claude'
|
||||
if [ ! $UID -eq 0 ]; then
|
||||
alias apt='sudo apt'
|
||||
alias apt-get='sudo apt-get'
|
||||
fi
|
||||
fi
|
5
alias.d/tmuxinator.sh
Normal file
5
alias.d/tmuxinator.sh
Normal file
@ -0,0 +1,5 @@
|
||||
alias t='tmuxinator'
|
||||
alias ts='tmuxinator start'
|
||||
alias tl='tmuxinator list'
|
||||
alias tst='tmuxinator stop'
|
||||
alias tsk='tmuxinator kill'
|
5
gitconfig.d/.gitignore
vendored
Normal file
5
gitconfig.d/.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
/*
|
||||
!.gitignore
|
||||
!example.gitconfig
|
||||
!base.gitconfig
|
||||
!var
|
8
gitconfig.d/base.gitconfig
Normal file
8
gitconfig.d/base.gitconfig
Normal file
@ -0,0 +1,8 @@
|
||||
[credential]
|
||||
helper = store
|
||||
[push]
|
||||
autoSetupRemote = true
|
||||
[core]
|
||||
autocrlf = false
|
||||
[pull]
|
||||
rebase = true
|
4
gitconfig.d/var/.gitignore
vendored
Normal file
4
gitconfig.d/var/.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
/*
|
||||
|
||||
!example.gitconfig
|
||||
!.gitignore
|
@ -1,14 +1,14 @@
|
||||
[user]
|
||||
email = user@mail
|
||||
name = John Doe
|
||||
signingkey = 1234
|
||||
[credential]
|
||||
helper = store
|
||||
[push]
|
||||
autoSetupRemote = true
|
||||
[core]
|
||||
autocrlf = true
|
||||
[pull]
|
||||
rebase = true
|
||||
[commit]
|
||||
gpgsign = true
|
||||
[user]
|
||||
email = user@mail
|
||||
name = John Doe
|
||||
signingkey = 1234
|
||||
[credential]
|
||||
helper = store
|
||||
[push]
|
||||
autoSetupRemote = true
|
||||
[core]
|
||||
autocrlf = true
|
||||
[pull]
|
||||
rebase = true
|
||||
[commit]
|
||||
gpgsign = true
|
29
install
29
install
@ -1,29 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
echo
|
||||
echo "[+] Updating System Packages..."
|
||||
echo
|
||||
sudo apt update -qq
|
||||
|
||||
echo
|
||||
echo "[+] Installing Dependencies..."
|
||||
echo
|
||||
sudo apt install -yqq \
|
||||
zsh \
|
||||
curl \
|
||||
exa \
|
||||
direnv \
|
||||
bat \
|
||||
btop
|
||||
|
||||
echo
|
||||
echo "[+] Installing Oh My Zsh..."
|
||||
echo
|
||||
|
||||
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
||||
|
||||
echo "Include $HOME/.config/ssh/*" >> "$HOME/.ssh/config"
|
||||
|
||||
./setup
|
34
scripts/gitconfig
Executable file
34
scripts/gitconfig
Executable file
@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
CONFIG_DIR="$DOTFILES_INSTALL_DIR/gitconfig.d/var"
|
||||
|
||||
echo
|
||||
echo "[+] Generating Gitconfig"
|
||||
echo
|
||||
|
||||
rm -f "$HOME/.gitconfig"
|
||||
|
||||
cp "$DOTFILES_INSTALL_DIR/gitconfig.d/base.gitconfig" "$HOME/.gitconfig"
|
||||
|
||||
for config in "$CONFIG_DIR"/*.gitconfig; do
|
||||
[ -e "$config" ] || continue
|
||||
|
||||
filename=$(basename "$config")
|
||||
domain="${filename%.gitconfig}"
|
||||
|
||||
# Skip example.gitconfig
|
||||
if [[ "$filename" == "example.gitconfig" ]]; then
|
||||
echo "Skipping $filename"
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "Create config for $domain"
|
||||
|
||||
cat <<EOF >> "$HOME/.gitconfig"
|
||||
[includeIf "hasconfig:remote.*.url:https://**$domain/**"]
|
||||
path = $config
|
||||
EOF
|
||||
|
||||
done
|
47
scripts/install
Executable file
47
scripts/install
Executable file
@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
git config core.autocrlf false
|
||||
|
||||
APT_CMD="apt"
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
APT_CMD="sudo apt"
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "[+] Updating System Packages..."
|
||||
echo
|
||||
$APT_CMD update -qq
|
||||
|
||||
echo
|
||||
echo "[+] Installing Dependencies..."
|
||||
echo
|
||||
$APT_CMD install -yqq \
|
||||
zsh \
|
||||
curl \
|
||||
exa \
|
||||
direnv \
|
||||
bat \
|
||||
btop \
|
||||
stow \
|
||||
tmux \
|
||||
dos2unix
|
||||
|
||||
if [ ! -d "$HOME/.oh-my-zsh" ]; then
|
||||
echo
|
||||
echo "[+] Installing Oh My Zsh..."
|
||||
echo
|
||||
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
||||
fi
|
||||
|
||||
if [ -f "$HOME/.zshrc" ] && [ ! -L "$HOME/.zshrc" ]; then
|
||||
rm "$HOME/.zshrc"
|
||||
fi
|
||||
|
||||
mkdir -p "$HOME/.ssh"
|
||||
echo "Include $HOME/.config/ssh/*" >> "$HOME/.ssh/config"
|
||||
|
||||
ln -s $DOTFILES_INSTALL_DIR/scripts/post-merge .git/hooks/post-merge
|
||||
|
||||
./setup
|
3
scripts/post-merge
Executable file
3
scripts/post-merge
Executable file
@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
./setup
|
@ -2,9 +2,14 @@
|
||||
|
||||
set -e
|
||||
|
||||
echo
|
||||
echo "[+] Cloning submodules..."
|
||||
echo
|
||||
|
||||
git submodule update --init --recursive
|
||||
|
||||
find . -type d -name '.git*' -prune -o -type f -print0 | xargs -0 dos2unix > /dev/null 2>&1
|
||||
|
||||
echo "[+] Creating Gitconfigs..."
|
||||
|
||||
(
|
||||
@ -14,16 +19,17 @@ echo "[+] Creating Gitconfigs..."
|
||||
done;
|
||||
) > "$HOME/.gitconfig"
|
||||
|
||||
echo "[+] Creating symlinks..."
|
||||
./scripts/gitconfig
|
||||
|
||||
ln -sf "$PWD/.zshrc" "$HOME/.zshrc"
|
||||
ln -sf "$PWD/.p10k.zsh" "$HOME/.p10k.zsh"
|
||||
ln -sf "$PWD/.config" "$HOME/.config"
|
||||
ln -sf "$PWD/.alias.d" "$HOME/.alias.d"
|
||||
ln -sf "$PWD/.profile" "$HOME/.profile"
|
||||
echo
|
||||
echo "[+] Creating symlinks..."
|
||||
echo
|
||||
|
||||
if [ ! -f "$PWD/.zshenv" ]; then
|
||||
cp "$PWD/.zshenv.template" "$PWD/.zshenv"
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
sed -i "s|^export DOTFILES_INSTALL_DIR=.*|export DOTFILES_INSTALL_DIR=${SCRIPT_DIR}|" .zshenv
|
||||
fi
|
||||
|
||||
ln -sf "$PWD/.zshenv" "$HOME/.zshenv"
|
||||
stow .
|
Reference in New Issue
Block a user