Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/klaasnicolaas/dotfiles
🗃️ Dotfiles to configure my shell environment for git, zsh, nvm, pyenv, docker (compose)
https://github.com/klaasnicolaas/dotfiles
docker git nvm omz pyenv uv zsh zsh-configuration
Last synced: 12 days ago
JSON representation
🗃️ Dotfiles to configure my shell environment for git, zsh, nvm, pyenv, docker (compose)
- Host: GitHub
- URL: https://github.com/klaasnicolaas/dotfiles
- Owner: klaasnicolaas
- License: mit
- Created: 2021-10-12T08:28:27.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-10-03T10:37:18.000Z (about 1 month ago)
- Last Synced: 2024-10-11T13:34:28.921Z (28 days ago)
- Topics: docker, git, nvm, omz, pyenv, uv, zsh, zsh-configuration
- Language: Shell
- Homepage:
- Size: 76.2 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## What is this?
This is my dotfiles configuration files.
## How to install configuration?
```bash
git clone https://github.com/klaasnicolaas/dotfiles.git
cd dotfiles && bash install.sh
```## Installed packages
The following platforms are installed and set up by default with the bash script:
- GitHub CLI
- [Oh My Zsh][omz] (with powerlevel10k)
- [Pyenv][pyenv]
- [Uv][uv]
- [Nvm][nvm]
- [Docker][docker] (with [Docker Compose][docker_compose])
- [Composer][composer]## Manual installations
After installation, there are still a few things I always do manually.
This is the case for:
- [Python][python] (via pyenv)
- Git config (name and email)
- Node.JS/NPM (via nvm)
- [Poetry][poetry]
- [Ruby][ruby] (via rbenv)
- PHP### Install a python version
The use of **pyenv** is recommended to manage multiple python versions, with the `grep` command we can narrow down the list with newer versions.
```bash
pyenv install --list | grep -E "^\s*3\.(11|12|13)(\..*|-dev.*)"
pyenv install 3.12.4
pyenv global 3.12.4
```### Setup Github account
```bash
git config --global user.name "Klaas Schoute"
git config --global user.email "[email protected]"
```### Setup Node.JS/NPM
Version 20 is currently the LTS version.
```bash
nvm install 20
nvm use 20
nvm alias default 20
```### Install Poetry
_Note: This can only after installing python._
```bash
bash components/poetry.sh
```### Install Ruby
Installs rbenv (with ruby-build) for OhMyZsh on Ubuntu:
```bash
bash components/ruby.sh
```### Install PHP
Instal PHP 8.3 and all the extensions:
```bash
# 👇 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.3# 👇 install all the extensions
sudo apt install php8.3-{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:
```bash
sudo apt-get purge 'php8.2*'
```To switch between PHP versions:
```bash
sudo update-alternatives --config php
```## Links
https://realpython.com/intro-to-pyenv/
https://docs.docker.com/engine/install/ubuntu/[omz]: https://github.com/ohmyzsh/ohmyzsh
[pyenv]: https://github.com/pyenv/pyenv
[uv]: https://github.com/astral-sh/uv
[nvm]: https://github.com/nvm-sh/nvm
[docker]: https://docs.docker.com
[docker_compose]: https://github.com/docker/compose
[composer]: https://github.com/composer/composer
[python]: https://www.python.org
[poetry]: https://python-poetry.org/docs
[ruby]: https://www.ruby-lang.org/en/