This is my dotfiles configuration files.
git clone https://github.com/klaasnicolaas/dotfiles.git
cd dotfiles && bash install.shThe following platforms are installed and set up by default with the bash script:
After installation, there are still a few things I always do manually.
This is the case for:
- Python (via pyenv)
- Node.JS/NPM (via nvm)
- Pipx (via script)
- Poetry (via script)
- Ruby (via script)
- PHP
The following components can be installed separately using the scripts in the components/ directory:
Install pipx for managing Python CLI tools in isolated environments.
Requirements: pyenv with a Python version installed
bash components/pipx.shInstall Poetry via pipx for Python dependency management.
Requirements: pipx must be installed first
bash components/poetry.shInstall rbenv with ruby-build for managing Ruby versions.
bash components/ruby.shThe use of pyenv is recommended to manage multiple python versions, with the grep command we can narrow down the list with newer versions.
pyenv install --list | grep -E "^\s*3\.(11|12|13)(\..*|-dev.*)"
pyenv install 3.12.4
pyenv global 3.12.4This will set your global git username and email. The install script will also prompt you for this information.
git config --global user.name "Klaas Schoute"
git config --global user.email "[email protected]"Version 20 is currently the LTS version.
nvm install 20
nvm use 20
nvm alias default 20Instal PHP 8.4 and all the extensions:
# 👇 install software-properties-common
sudo apt -y install software-properties-common
# 👇 use add-apt-repository command to install the PPA
sudo add-apt-repository ppa:ondrej/php
# 👇 refresh the package manager
sudo apt-get update
# 👇 install latest PHP version
sudo apt -y install php8.4
# 👇 install all the extensions
sudo apt install php8.4-{bcmath,xml,xmlrpc,fpm,mysql,zip,intl,ldap,gd,cli,bz2,curl,common,mbstring,pgsql,opcache,soap,cgi,imagick,readline,sqlite3}Remove packages from older PHP versions:
sudo apt-get purge 'php8.2*'To switch between PHP versions:
sudo update-alternatives --config phphttps://realpython.com/intro-to-pyenv/
https://docs.docker.com/engine/install/ubuntu/