{"id":16237139,"url":"https://github.com/klaasnicolaas/dotfiles","last_synced_at":"2025-03-19T15:31:09.869Z","repository":{"id":41149192,"uuid":"416249170","full_name":"klaasnicolaas/dotfiles","owner":"klaasnicolaas","description":"🗃️ Dotfiles to configure my shell environment for git, zsh, nvm, pyenv, docker (compose)","archived":false,"fork":false,"pushed_at":"2025-02-25T17:51:26.000Z","size":81,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-25T18:41:17.202Z","etag":null,"topics":["docker","git","nvm","omz","pyenv","uv","zsh","zsh-configuration"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/klaasnicolaas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-12T08:28:27.000Z","updated_at":"2025-02-25T17:51:30.000Z","dependencies_parsed_at":"2023-12-12T20:28:42.607Z","dependency_job_id":"394c74d2-6801-4a33-a4b1-9393fcb32c3a","html_url":"https://github.com/klaasnicolaas/dotfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaasnicolaas%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaasnicolaas%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaasnicolaas%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klaasnicolaas%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/klaasnicolaas","download_url":"https://codeload.github.com/klaasnicolaas/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244003358,"owners_count":20382176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","git","nvm","omz","pyenv","uv","zsh","zsh-configuration"],"created_at":"2024-10-10T13:34:34.176Z","updated_at":"2025-03-19T15:31:09.593Z","avatar_url":"https://github.com/klaasnicolaas.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"## What is this?\n\nThis is my dotfiles configuration files.\n\n## How to install configuration?\n\n```bash\ngit clone https://github.com/klaasnicolaas/dotfiles.git\ncd dotfiles \u0026\u0026 bash install.sh\n```\n\n## Installed packages\n\nThe following platforms are installed and set up by default with the bash script:\n\n- GitHub CLI\n- [Oh My Zsh][omz] (with powerlevel10k)\n- [Pyenv][pyenv]\n- [Uv][uv]\n- [Nvm][nvm]\n- [Docker][docker] (with [Docker Compose][docker_compose])\n- [Composer][composer]\n\n## Manual installations\n\nAfter installation, there are still a few things I always do manually.\n\nThis is the case for:\n\n- [Python][python] (via pyenv)\n- Git config (name and email)\n- Node.JS/NPM (via nvm)\n- [Poetry][poetry]\n- [Ruby][ruby] (via rbenv)\n- PHP\n\n### Install a python version\n\nThe use of **pyenv** is recommended to manage multiple python versions, with the `grep` command we can narrow down the list with newer versions.\n\n```bash\npyenv install --list | grep -E \"^\\s*3\\.(11|12|13)(\\..*|-dev.*)\"\npyenv install 3.12.4\npyenv global 3.12.4\n```\n\n### Setup Github account\n\n```bash\ngit config --global user.name \"Klaas Schoute\"\ngit config --global user.email \"hello@example.com\"\n```\n\n### Setup Node.JS/NPM\n\nVersion 20 is currently the LTS version.\n\n```bash\nnvm install 20\nnvm use 20\nnvm alias default 20\n```\n\n### Install Poetry\n\n_Note: This can only after installing python._\n\n```bash\nbash components/poetry.sh\n```\n\n### Install Ruby\n\nInstalls rbenv (with ruby-build) for OhMyZsh on Ubuntu:\n\n```bash\nbash components/ruby.sh\n```\n\n### Install PHP\n\nInstal PHP 8.3 and all the extensions:\n\n```bash\n# 👇 install software-properties-common\nsudo apt -y install software-properties-common\n\n# 👇 use add-apt-repository command to install the PPA\nsudo add-apt-repository ppa:ondrej/php\n\n# 👇 refresh the package manager\nsudo apt-get update\n\n# 👇 install latest PHP version\nsudo apt -y install php8.3\n\n# 👇 install all the extensions\nsudo 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}\n```\n\nRemove packages from older PHP versions:\n\n```bash\nsudo apt-get purge 'php8.2*'\n```\n\nTo switch between PHP versions:\n\n```bash\nsudo update-alternatives --config php\n```\n\n## Links\n\nhttps://realpython.com/intro-to-pyenv/ \u003cbr\u003e\nhttps://docs.docker.com/engine/install/ubuntu/\n\n[omz]: https://github.com/ohmyzsh/ohmyzsh\n[pyenv]: https://github.com/pyenv/pyenv\n[uv]: https://github.com/astral-sh/uv\n[nvm]: https://github.com/nvm-sh/nvm\n[docker]: https://docs.docker.com\n[docker_compose]: https://github.com/docker/compose\n[composer]: https://github.com/composer/composer\n[python]: https://www.python.org\n[poetry]: https://python-poetry.org/docs\n[ruby]: https://www.ruby-lang.org/en/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklaasnicolaas%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fklaasnicolaas%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklaasnicolaas%2Fdotfiles/lists"}