{"id":13821435,"url":"https://github.com/web-id-fr/mario","last_synced_at":"2025-05-07T23:21:18.233Z","repository":{"id":37100397,"uuid":"171119162","full_name":"web-id-fr/mario","owner":"web-id-fr","description":"🆙  MacOS Ansibles Recipes : Indepotent \u0026 Omnipotent (it setups a local environment for devs @ https://web-id.fr)","archived":false,"fork":false,"pushed_at":"2023-01-09T10:08:38.000Z","size":427,"stargazers_count":24,"open_issues_count":3,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-31T15:08:52.994Z","etag":null,"topics":["ansible","dx"],"latest_commit_sha":null,"homepage":"","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/web-id-fr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-02-17T12:24:54.000Z","updated_at":"2023-07-26T20:26:41.000Z","dependencies_parsed_at":"2023-02-08T09:46:54.452Z","dependency_job_id":null,"html_url":"https://github.com/web-id-fr/mario","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-id-fr%2Fmario","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-id-fr%2Fmario/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-id-fr%2Fmario/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/web-id-fr%2Fmario/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/web-id-fr","download_url":"https://codeload.github.com/web-id-fr/mario/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252968913,"owners_count":21833377,"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":["ansible","dx"],"created_at":"2024-08-04T08:01:21.891Z","updated_at":"2025-05-07T23:21:18.203Z","avatar_url":"https://github.com/web-id-fr.png","language":"Jinja","funding_links":[],"categories":["Jinja"],"sub_categories":[],"readme":"![M.A.R.I.O.](./resources/img/mario.png)\n\n[![M.A.R.I.O. CI](https://github.com/web-id-fr/mario/actions/workflows/mario-ci.yml/badge.svg)](https://github.com/web-id-fr/mario/actions/workflows/mario-ci.yml)\n\n# It's a me! M.A.R.I.O.! \n\nMacOS\nAnsible\nRecipes:\nIndepotent \u0026\nOmnipotent\n\nIt will pre-install a dev environment with all the big and small tools we use at [Web^ID](https://web-id.fr).\n\n## What do I need to start?\n\nA freshly installed (or not) macOS computer. Nothing else.\n\n## Getting started\n\nFirst, you would need git, make sure it is installed by opening your terminal (cmd + space, then type \"terminal\" and hit enter) and typing `git --version`. If you see a popup that says you need command line tools to use git, click on the \"Install\" button.\n\n![Popup asking to install command line tools](./resources/img/command_line_tools_prompt_install.png)\n\nAfter you clone this repository, you need to `make config`:\n\n```bash\n# a good idea would be to create a folder for you code first\nmkdir ~/Workspace\ncd ~/Workspace\n\ngit clone https://github.com/web-id-fr/mario.git\ncd mario\nmake config\n```\n\nThis will copy the `config_vars.yml.dist` to `config_vars.yml` and the `mario-playbook.yml.dist` to `mario-playbook.yml`. You should edit those accordingly, see [Configuration](#configuration).\n\nThen you just have to:\n\n```\nmake install\n```\n\nDuring `make install` you will be asked for your password and then to press the return key to install homebrew.\n\n### 🧙‍♀️ But what kind of magic is this?\n\nCalling `make install` will:\n\n* ✅ Install [homebrew](https://brew.sh/) if needed, *see [bin/install-brew.sh](bin/install-brew.sh)*\n* ✅ Install [ansible](https://docs.ansible.com/) if needed, *see [bin/install-ansible.sh](bin/install-ansible.sh)*\n* 🚀 Run the [mario-playbook.yml](mario-playbook.yml.dist) ansible playbook.\n\n*Tip: if you only need to run the playbook, you can just `make mario`.*\n\n## Configuration\n\n### mario-playbook.yml\n\nThe [mario-playbook.yml](mario-playbook.yml.dist) is a regular ansible playbook file and contains all the roles that you want to run. Just comment the roles you don't want.\n\n### mario-configuration.yml\n\nThe [mario-configuration.yml](mario-configuration.yml.dist) file contains variables you need to set for specific roles, see bellow:\n\n#### git\n\nIf you are using the `git` role, you must set these three configuration variable:\n\n```yml\ngit_name: tentacode\ngit_email: tentacode@example.com\n```\n\nThey will be used to set your user in git config \n\n#### github\n\nIf you are using the `gtihub` role, you should set this configuration variable:\n\n```yml\ngithub_access_name: \"Web^ID macbook\" # In case you use more computer with one account, each name must be different\ngithub_access_token: ABCDEF1234567 # To create a github access token : https://github.com/settings/tokens\n```\n\nThis will push a ssh key to be authenticated in github.\n\n#### php older versions\n\nIf you are using the `php` role, you can install older versions in addition to the latest stable version:\n\n```yml\nphp_older_versions:\n - php@7.4\n - php@7.3\n ```\n\n## What's in it for me ?\n\nCheck the [mario-playbook.yml.dist](mario-playbook.yml.dist), each role is documented there and it should give you a good overview of what's in there. But wait! There's more:\n\n### oh-my-zsh aliases\n\nUse the `alias` command to see all of oh-my-zsh aliases.\n\n### Git aliases\n\n* st : a simpler display of git status\n* amend : `git commit --amend --no-edit`\n* rebase-main : `git pull --rebase origin main`\n* pushu : push a new branch to origin and tracks it\n* mvi : rename a file with case sensivity (ex: `git mv abc ABC`, does not work by default with git)\n* previous : go back by one commit (useful for workshops)\n* next : go to the next commit (useful for workshops)\n* date : got to a date \"YYYY-MM-DD\" in current branch history\n* yolo : `git add . \u0026\u0026 git amend \u0026\u0026 git push -f`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb-id-fr%2Fmario","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweb-id-fr%2Fmario","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweb-id-fr%2Fmario/lists"}