smartinellimarco / .dotfiles

Customized configuration files for kitty, neovim and zsh.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

.dotfiles

Screenshot 2023-09-28 at 19 21 07

Table of contents

Getting started

Requirements

TODO: ver requirements en checkhealth y acomodar la instalacion TODO: split installation per OS

Install homebrew and follow post-installation steps.

Use brew to setup packages, only if they are not already present in the system

for package in git gh zsh antidote yadm gcc nvm make ripgrep fd neovim gpg tree; do
  if ! command -v $package &> /dev/null
  then
    brew install $package
  fi
done

TODO: Install node >=18.X.X

Install kitty and nerd fonts:

  • MacOS

    brew tap homebrew/cask-fonts
    brew install --cask kitty font-symbols-only-nerd-font font-jetbrains-mono
  • Linux

    Manually install the monospaced version of the NerdFontsSymbolsOnly package.

    Install kitty binary and follow desktop integration instructions.

    Install JetBrains Mono Font using the Linux script.

If needed, change default shell to zsh (requires user re-login)

chsh -s $(which zsh)

Installation

Clone the repository using yadm

yadm clone https://github.com/smartinellimarco/.dotfiles

The first time you reopen the terminal, antidote will automatically setup all zsh plugins.

Neovim will do the same for lazy plugins, treesitter parsers and mason LSPs.

Archive

Fortunately, yadm offers an easy way of backing up and restoring sensitive configuration files.

Backup

Each file path must be specified in ~/.config/yadm/encrypt.

Then by running

GPG_TTY=$TTY yadm encrypt

and filling the password prompt, an encrypted file in ~/.local/share/yadm/archive will be created with the contents of every listed file.

Restore

Place the archive file in ~/.local/share/yadm/archive and run

yadm decrypt

The files will be restored to their original locations.

Bootstrap file

Any initialization commands not intended to be backed up in this repository, can be placed in ~/.zsh_bootstrap.

This file is automatically sourced in interactive and login shells.

Keymaps

See the cheatsheets folder.

Tips & Troubleshooting

Open windows at the center of the screen

For Ubuntu and Gnome:

gsettings set org.gnome.mutter center-new-windows true 
Suggested build environment for pyenv

Sometimes compiling (pyenv install) fails because of unmet system dependencies.

Follow these instructions for a sane build environment.

Setting compiler flags for OpenSSL

The Python compiler might not be able to find OpenSSL if it's installed with Homebrew.

The following command sets the corresponding flags with the correct installation path.

LDFLAGS="-Wl,-rpath,$(brew --prefix openssl)/lib" \
CPPFLAGS="-I$(brew --prefix openssl)/include" \
CONFIGURE_OPTS="--with-openssl=$(brew --prefix openssl)" \
pyenv install -v <PYTHON_VERSION>
Shared clipboard doesn't work in neovim

In Ubuntu, this is most likely because of xclip missing.

About

Customized configuration files for kitty, neovim and zsh.


Languages

Language:Shell 79.1%Language:Lua 20.9%