Skip to content

matsjfunke/.dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

prompt

Features

Zsh

  • sets up the executable search path & local settings for the shell environment
  • custom prompt
  • measures and displays command execution time in milliseconds
  • loads plugins syntax highlighting and autosuggestions
  • aliases and functions for convenience

Neovim

  • vim-settings.lua: enhanced navigation, key bindings, indentation, clipboard integration, cursor control, color support, filetype-specific templates, and window splitting
  • lazy-plugin-manager.lua : plugin for managing plugins
  • treesiter.lua: syntax highlighting
  • kanagawa.lua: colortheme
  • neo-tree.lua: toggle filetree for nvim
  • lua-line.lua: pretty status line
  • telescope.lua: file fuzzyfinder
  • gitsigns.lua: toggling adds color indcating type of git diff and toggle for blame annotations
  • lsp-config.lua: uses mason.nvim to mange LSPs, mason-lspconfig ensures LSPs are installed, nvim-lspconfig to integrate / manage LSPs, setting up specific LSPs and defining key mappings for hover, go to definition and code actions
  • none-ls.lua: wraps linters/formatters to make them seem like an normal lsp to nvim-lspconfig

Git Config

  • Git LFS: Ensures large file handling is managed.
  • User Details / SSH signing: Sets your name, email, and SSH signing key.
  • Pull Behavior: Always rebases instead of merging when pulling.
  • Aliases: Defines shortcuts for common commands, including stash, log, reset, and commit amendments.
  • Sets the default branch name to main.
  • Color UI: Enables automatic color in the UI.
  • Neovim as the default editor.

Steps to Using Dotfiles on Mac

  1. Install Homebrew

    Install Homebrew using the following command and follow the instructions prompted by Homebrew.

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. Install Software from Brewfile

    Install the software listed in your Brewfile.

    brew bundle --file ~/.dotfiles/Brewfile

    To create a Brewfile from your current setup, run:

    brew list > ~/.dotfiles/Brewfile
  3. Clone Dotfiles Repository

    Clone your dotfiles repository into a hidden directory (~/.dotfiles).

    git clone https://github.com/matsjfunke/dotfiles.git ~/.dotfiles
  4. Create Symbolic Links

    Create symbolic links from the repository to your home directory for configuration files.

    ln -s ~/.dotfiles/zsh/.zshrc ~/.zshrc
    ln -s ~/.dotfiles/git/.gitconfig ~/.gitconfig
    ln -s ~/.dotfiles/nvim ~/.config/nvim
  5. Source Configuration Files

    Source your .zshrc to apply changes without restarting your shell.

    source ~/.zshrc
  6. Install a Nerd Font

    Choose and install a Nerd Font (e.g., D2CodingLigature Nerd Font) for emoji support.

  7. Set Up Git and SSH Keys

    • Set your name & email

      git config --global user.name "Your Name"
      git config --global user.email "[email protected]"
    • Generate SSH key pairs (one for read/write operations and one for signing):

      ssh-keygen -t ed25519 -C "[email protected]"

      Follow the prompts to generate the keys and optionally set a passphrase.

    • Start the SSH agent:

      eval "$(ssh-agent -s)"
    • Add your SSH private keys to the agent:

      ssh-add path/to/.ssh/private_signing_key
      ssh-add path/to/.ssh/private_read_write_key
    • Update your .gitconfig file to specify the SSH key for signing:

      [user]
          name = Your Name
          email = [email protected]
          signingkey = <path-to-your-private-key>
    • Add your public keys to your GitHub profile

    • Test your SSH connection:

Use zsh / nvim Individually

Zsh

  • clone into root git clone https://github.com/matsjfunke/dotfiles/blob/main/zsh/.zshrc ~
  • source file source .zshrc

Nvim

  • clone into .config on mac git clone https://github.com/matsjfunke/dotfiles/blob/main/nvim ~/.config
  • open in termial nvim