From 7eb3a998bcefcd732221301eba442291b8b530b9 Mon Sep 17 00:00:00 2001 From: Michael Skrynski Date: Fri, 27 Feb 2026 18:27:15 +0100 Subject: [PATCH] Add zsh_secrets support and update dotfiles --- .gitignore | 1 + README.md | 34 ++------------- config/zed/settings.json | 89 +++++++++++++++++++++++++++++++++++++++- make_my_dotfiles.sh | 34 ++++----------- zshrc | 3 ++ 5 files changed, 102 insertions(+), 59 deletions(-) diff --git a/.gitignore b/.gitignore index 0b19b19..2274970 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ config/nvim/telescope_history config/nvim/tree-sitter-*-tmp/ config/nvim/tree-sitter-*.tar.gz .claude/* +zsh_secrets diff --git a/README.md b/README.md index f9a185f..ccc57aa 100644 --- a/README.md +++ b/README.md @@ -3,33 +3,7 @@ zlorfi's dotfiles * copy to your ~ ($HOME) * create symlinks via the `make_my_dotfiles.sh` script -* install patched [Sauce Code Pro](https://github.com/ryanoasis/nerd-fonts/blob/master/patched-fonts/SourceCodePro/Regular/complete/Sauce%20Code%20Pro%20Nerd%20Font%20Complete%20Mono.ttf) font for the `vim-airline` plugin -* change the font of your default terminal app to patched `Source Code Pro` -* download plug.vim into autoload directory `curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim` -* launch `vim` with `vim +PlugInstall +qall` to install plugins -* copy `fish_history` to `~/.local/share/fish/` -* MacApps to install: - * [AppCleaner](https://freemacsoft.net/appcleaner/) - * [Bartender 3](https://www.macbartender.com) - * [BetterSnapTool](AppStore) - * [Chromium](https://download-chromium.appspot.com) - * [Docker](https://www.docker.com/products/docker-desktop) - * [Emacs](https://emacsformacosx.com) - * [Spacemacs](http://spacemacs.org/#) - * Firefox - * [Fork](https://git-fork.com) - * [GPG Keychain](https://gpgtools.org) - * [Insomnia](https://insomnia.rest) - * JSONPeep - * [kitty](https://sw.kovidgoyal.net/kitty/binary.html) - * MacVim(https://macvim-dev.github.io/macvim/) - * Office Suite - * Microsoft Remote Desktop - * Pocket - * Spotify - * [TablePlus](https://tableplus.com/download) - * Tunnelblick - * Visual Studio Code - * install fish extension manager `curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher` - * add bass `fisher add edc/bass` - * install nvm `curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash` +* install a patched [Nerd Font](https://www.nerdfonts.com/) (e.g., Sauce Code Pro) for terminal/editor icons +* change the font of your default terminal app to the installed Nerd Font +* neovim plugins are managed by [lazy.nvim](https://github.com/folke/lazy.nvim) and will install automatically on first launch +* secrets can be stored inside `zsh_secrets` diff --git a/config/zed/settings.json b/config/zed/settings.json index 82791df..a2087d0 100644 --- a/config/zed/settings.json +++ b/config/zed/settings.json @@ -1,2 +1,87 @@ -{"disable_ai": true, "edit_predictions": {"provider":"none"}, "git_panel":{"status_style":"icon","default_width":360},"tabs":{"git_status":false},"vim_mode":true,"title_bar":{"show_sign_in":false},"outline_panel":{"button":false},"collaboration_panel":{"button":false},"notification_panel":{"button":false},"agent":{"tool_permissions": {"default":"allow"}, "default_profile":"write","default_model":{"provider":"anthropic","model":"claude-haiku-4-5-thinking-latest"},"commit_message_model":{"provider":"LiteLLM","model":"gpt-5-nano"},"model_parameters":[]},"language_models":{"openai_compatible":{"LiteLLM":{"api_url":"http://192.168.10.10:4000/v1","available_models":[{"name":"claude-haiku-4-5","max_tokens":200000,"max_output_tokens":32000,"max_completion_tokens":200000,"capabilities":{"tools":true,"images":true,"parallel_tool_calls":false,"prompt_cache_key":false}},{"name":"claude-sonnet-4-5","max_tokens":200000,"max_output_tokens":32000,"max_completion_tokens":200000,"capabilities":{"tools":true,"images":true,"parallel_tool_calls":false,"prompt_cache_key":false}},{"name":"gpt-5-nano","max_tokens":200000,"max_output_tokens":32000,"max_completion_tokens":200000,"capabilities":{"tools":true,"images":false,"parallel_tool_calls":false,"prompt_cache_key":false}}]}}},"base_keymap":"VSCode","auto_indent_on_paste":true,"tab_size":2,"icon_theme":"Zed (Default)","ui_font_size":16,"buffer_font_size":16,"theme":{"mode":"dark","light":"One Light","dark":"One Dark"},"context_servers":{"MCP_DOCKER":{ - "env": {},"enabled":true,"command":"docker","args":["mcp","gateway","run"]}}} \ No newline at end of file +{ + "disable_ai": false, + "edit_predictions": { "provider": "none" }, + "git_panel": { "status_style": "icon", "default_width": 360 }, + "tabs": { "git_status": false }, + "vim_mode": true, + "title_bar": { "show_sign_in": false }, + "outline_panel": { "button": false }, + "collaboration_panel": { "button": false }, + "notification_panel": { "button": false }, + "agent": { + "single_file_review": true, + "enable_feedback": false, + "tool_permissions": { "default": "allow" }, + "default_profile": "write", + "default_model": { + "provider": "anthropic", + "model": "claude-haiku-4-5-thinking-latest" + }, + "commit_message_model": { + "provider": "openai_compatible.Lite LLM", + "model": "gpt-5-nano" + }, + "model_parameters": [] + }, + // https://zed.dev/docs/ai/llm-providers + "language_models": { + "openai_compatible": { + "Lite LLM": { + "api_url": "http://192.168.10.10:4000/v1", + "available_models": [ + { + "name": "claude-haiku-4-5", + "max_tokens": 200000, + "max_output_tokens": 32000, + "max_completion_tokens": 200000, + "capabilities": { + "tools": true, + "images": true, + "parallel_tool_calls": false, + "prompt_cache_key": false + } + }, + { + "name": "claude-sonnet-4-5", + "max_tokens": 200000, + "max_output_tokens": 32000, + "max_completion_tokens": 200000, + "capabilities": { + "tools": true, + "images": true, + "parallel_tool_calls": false, + "prompt_cache_key": false + } + }, + { + "name": "gpt-5-nano", + "max_tokens": 200000, + "max_output_tokens": 32000, + "max_completion_tokens": 200000, + "capabilities": { + "tools": true, + "images": false, + "parallel_tool_calls": false, + "prompt_cache_key": false + } + } + ] + } + } + }, + "base_keymap": "VSCode", + "auto_indent_on_paste": true, + "tab_size": 2, + "icon_theme": "Zed (Default)", + "ui_font_size": 16, + "buffer_font_size": 16, + "theme": { "mode": "dark", "light": "One Light", "dark": "One Dark" }, + "context_servers": { + "MCP_DOCKER": { + "env": {}, + "enabled": true, + "command": "docker", + "args": ["mcp", "gateway", "run"] + } + } +} diff --git a/make_my_dotfiles.sh b/make_my_dotfiles.sh index 524e4ec..1e9a144 100755 --- a/make_my_dotfiles.sh +++ b/make_my_dotfiles.sh @@ -4,11 +4,11 @@ _shell="/opt/homebrew/bin/zsh" # _shell="/opt/homebrew/bin/fish" _homebrew=`which brew` -_to_install="the_silver_searcher btop gh imagemagick rbenv redis ruby-build tmux yasm elixir iperf3 zsh oh-my-posh\ - git git-flow certbot nvim yarn azure-cli openssl kubectl typst thonny k9s uv stern nvm" +_to_install="btop gh imagemagick rbenv ruby-build tmux iperf3 zsh oh-my-posh\ + git git-flow nvim azure-cli openssl kubectl typst thonny k9s uv stern nvm" # Generate symlinks for files -for i in gemrc gitconfig gitmessage gitignore gvimrc irbrc rspec screenrc tmux.conf rubocop.yml prettierrc +for i in gitconfig gitmessage gitignore tmux.conf prettierrc zsh_secrets do if [ ! -f $HOME/.$i ] then @@ -18,29 +18,9 @@ do fi done -if [ ! -d $HOME/.vim ] -then - ln -s $HOME/dotfiles/vim $HOME/.vim -else - echo "Symlink $HOME/.vim already exists" -fi - -if [ ! -d $HOME/.vim/tmp ] -then - mkdir $HOME/.vim/tmp -else - echo "tmp folder $HOME/.vim/tmp already exists" -fi - if [ ! -d $HOME/.config ] then mkdir -p $HOME/.config -else - echo "fish folder $HOME/.config already exists" -fi - -if [ ! -d $HOME/.config ] -then ln -s $HOME/dotfiles/config $HOME/.config else echo "Symlink $HOME/.config already exists" @@ -62,21 +42,21 @@ else echo "Homebrew not installed" fi -# check if $SHELL is already set to fish shell +# check if $SHELL is already set to zsh if [ "$(echo $SHELL)" != "$_shell" ] then if [ -f $_shell ] then echo - echo "Changing shell to fish, need sudo password" + echo "Changing shell to zsh, need sudo password" echo echo $_shell | sudo tee -a /etc/shells; chsh -s $_shell; else echo - echo "Install fish via Homebrew first!" + echo "Install zsh via Homebrew first!" echo fi else - echo "fish shell already installed" + echo "zsh shell already set as default" fi diff --git a/zshrc b/zshrc index da97541..3faf888 100644 --- a/zshrc +++ b/zshrc @@ -205,3 +205,6 @@ export PATH=/Users/michi/.opencode/bin:$PATH # Added by `rbenv init` on Mon Feb 9 15:10:39 CET 2026 eval "$(rbenv init - --no-rehash zsh)" export PATH="$HOME/.local/bin:$PATH" + +# load secrets from .zsh_secrets +[[ -f ~/.zsh_secrets ]] && source ~/.zsh_secrets