diff --git a/deploy.sh b/deploy.sh index aae4b4f..72b9b88 100755 --- a/deploy.sh +++ b/deploy.sh @@ -33,7 +33,7 @@ deploy_links() { if [ -L "$dest_link" ]; then echo "Replacing existing symlink: $dest_link" rm "$dest_link" - # If it's a directory or file, back it up. + # If it's a directory or file, back it up. else echo "Backing up existing entry: $dest_link -> ${dest_link}.bak" mv "$dest_link" "${dest_link}.bak" @@ -45,7 +45,7 @@ deploy_links() { # Create the new symlink. echo "Linking: $dest_link -> $abs_src_path" - ln -s "$abs_src_path" "$dest_link" + ln -s "$abs_src_path" "$dest_link" done echo "Done." echo @@ -57,5 +57,6 @@ deploy_links "$PROJECT_ROOT/bin" "$HOME/bin" "bin" deploy_links "$PROJECT_ROOT/home" "$HOME" "home" deploy_links "$PROJECT_ROOT/config" "$HOME/.config" "config" deploy_links "$PROJECT_ROOT/wallpapers" "$HOME/media/wallpapers" "wallpapers" +deploy_links "$PROJECT_ROOT/gemini" "$HOME/.gemini" "gemini" echo "All deployments complete!" diff --git a/gemini/GEMINI.md b/gemini/GEMINI.md new file mode 100644 index 0000000..eaebfeb --- /dev/null +++ b/gemini/GEMINI.md @@ -0,0 +1,32 @@ +# Gemini Global Configuration + +This document outlines my general preferences for working with Gemini. + +## General Principles + +- **Programming Style**: Please use a functional programming style whenever possible and appropriate for the language. +- **Immutability**: Favor immutable data structures and variables where practical. +- **Verification**: Do not run tests or build commands. I will handle verification myself. +- **Dependencies**: If a new third-party library is needed, propose it and wait for my explicit approval before adding it to the project. +- **Documentation**: Use descriptive function and variable names to make code self-documenting. Doc comments should generally only be used for functions that are part of a public or library API. +- **Handling Ambiguity**: If a request is unclear or could be interpreted in multiple ways, always stop and ask for clarification. +- **Logging**: Unless instructed otherwise, add descriptive logging statements for errors. For logical flows, add messages like "Starting {logic}" and "Successfully completed {logic}". +- **API Design**: While not a primary task, prefer `snake_case` for JSON field names. Above all, always remain consistent with the conventions of the current project. + + +## Language-Specific Guidelines + +### Formatting +- **Java**: Adhere to the Google Java Style Guide. +- **C++**: Use the default formatting provided by `clangd`. +- **Python**: Format code using the `black` code formatter. +- **Rust**: Format code using the default `rust-fmt` configuration. + +### Error Handling +- **Rust**: Always return a `Result` type instead of panicking. +- **Java & Python**: Throw exceptions for error conditions. +- **C++**: Use a "Look Before You Leap" (LBYL) approach, checking preconditions to avoid errors. + +### Functional Programming +- **Java**: Prioritize the use of functional features like the Stream API. +- **C++**: Prioritize the use of modern C++ features that support a functional style, such as lambdas and ranges. diff --git a/home/.zshrc b/home/.zshrc index c444029..a6a6ec8 100644 --- a/home/.zshrc +++ b/home/.zshrc @@ -57,7 +57,7 @@ alias clip2png="xclip -selection clipboard -target image/png -out" load_env() { set -a - . "$1" + . "./$1" set +a }