Skip to content

Personal install script for dotfiles, zsh, asdf and zinit (Debian).

License

Notifications You must be signed in to change notification settings

aifrak/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

Personal install script for dotfiles, zsh, asdf and zinit (Debian).

Last release CI License

Requirements ❗

  • Debian-based distros
  • Superuser rights
  • ca-certificates to download the necessary files
  • git

What is installed by default 🤔

  • Dotfiles
  • asdf
  • fzf required by zsh-interactive-zsh-interactive-cd
  • lsdeluxe with its custom aliases
  • zsh
  • zinit

Note: Files are created in the current user's HOME folder.

Optionally installed

Dependencies

Adding --deps might be useful, if you do not wish to copy all packages into the Dockerfile.

This option is not necessary, if all tools are already pre-installed.

  • curl
  • gnupg2
  • keychain (with --wsl-ssh)
  • make
  • openssh-client for git
  • nano
  • tar
  • wget
  • xz-utils
  • zsh (with --zsh)

--wsl-* options

⚠️ Before using --wsl-* options

  • GPG private keys must be imported in WSL and trusted
  • SSH keys must be imported in WSL

Checklist for WSL setup

  • .gitconfig is imported in WSL
  • GPG private keys are imported in WSL and trusted
  • SSH keys are imported in WSL
  • Gpg4win is installed on Windows
  • Nerd fonts are installed on Windows (used by zsh and lsdeluxe)

Resources

Fonts

Fira Code from Nerd fonts

How to install 💡

git clone https://github.com/aifrak/dotfiles.git
./dotfiles/install [options...]

Install options

Options:
  --deps          Install all dependencies to install and run the development environment
  --docker        Install zinit plugins for docker and docker compose
  --elixir        Add plugins and environment variables for Elixir development
  --fonts         Install Fira Code from Nerd fonts
  --wsl-gpg       Setup files used by GPG inside WSL
  --wsl-ssh       Install dependencies and setup files used by GPG inside WSL
  --[no-]asdf     [Do not] install asdf (install it by default)
  --[no-]zsh      [Do not] install zsh (install it by default)

How to uninstall ➖

./dotfiles/uninstall

Note: Dependencies are not removed.

How to update ➕

./dotfiles/uninstall
(cd ./dotfiles && git fetch && git pull)
./dotfiles/install [install options...]

FAQ

Terminal - How to display special symbols correctly?

Answer: Use a font starting with Fura Code instead of Fira Code.

WSL - How to limit the RAM usage from WSL?

Answer: In your .wslconfig add the following lines:

[wsl2]
memory=2GB

More here and here.

WSL - How to fix the issue when the container does not open or start?

Answer: Follow those steps:

  1. Start or restart Docker Desktop.
  2. Open the WSL from a terminal. keychain will start an ssh agent and ask your password.

WSL - How to fix "permission denied" with using git (fetch)?

Answer: Open the WSL from a terminal. keychain will start an ssh agent and ask your password.

WSL - How to reload the GPG agent?

Answer: Type gpg-connect-agent reloadagent /bye

Theme

License

MIT License