{"id":26647231,"url":"https://github.com/offirmo/open-source-dev-env","last_synced_at":"2025-04-11T02:34:29.257Z","repository":{"id":66270974,"uuid":"68537895","full_name":"Offirmo/open-source-dev-env","owner":"Offirmo","description":"Bootstrap shell scripts for provisioning my personal dev box","archived":false,"fork":false,"pushed_at":"2025-03-09T02:56:20.000Z","size":1520,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-24T23:51:37.477Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.offirmo.net/open-source-dev-env/","language":"Shell","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/Offirmo.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-18T17:58:07.000Z","updated_at":"2025-03-09T02:56:25.000Z","dependencies_parsed_at":"2024-04-11T11:24:32.392Z","dependency_job_id":"a33ff3c1-cc5c-4f31-a030-93424b8f8e70","html_url":"https://github.com/Offirmo/open-source-dev-env","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/Offirmo%2Fopen-source-dev-env","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Offirmo%2Fopen-source-dev-env/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Offirmo%2Fopen-source-dev-env/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Offirmo%2Fopen-source-dev-env/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Offirmo","download_url":"https://codeload.github.com/Offirmo/open-source-dev-env/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248329991,"owners_count":21085630,"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":[],"created_at":"2025-03-24T23:51:27.856Z","updated_at":"2025-04-11T02:34:29.231Z","avatar_url":"https://github.com/Offirmo.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Open Source Development Environment\n\nBootstrap shell scripts for provisioning my personal dev box. Targeting Ubuntu or macOS.\n\nSee also:\n* https://github.com/Offirmo-team/wiki/wiki/macOS\n* https://github.com/Offirmo-team/wiki/wiki/dev-env\n\n2024-11-18 20:25\n\n## Test\n\nCheck that bootstrap will work with:\n\n1. if Ubuntu: `sudo apt-get install curl`\n2. user mode: `curl -o- https://raw.githubusercontent.com/Offirmo/open-source-dev-env/master/0-prerequisites/hello.sh | bash`\n3. admin mode: `curl -o- https://raw.githubusercontent.com/Offirmo/open-source-dev-env/master/0-prerequisites/hello.sh | sudo bash`\n\n## Install\n\n### macOS pre-req\n\nFirst, set bash as default: (cf. \u003chttps://www.cyberciti.biz/faq/change-default-shell-to-bash-on-macos-catalina/\u003e)\n1. `cat /etc/shells` \u003c-- check if /bin/bash is present:\n2. `echo $SHELL , $0 , $BASH` \u003c-- check current shell\n3. `chsh -s /bin/bash` \u003c-- switch if needed\n4. IF NEEDED `chsh -s /bin/zsh` (switch back)```\n\nThen install git: either:\n- type `git` and accept everything asked\n- or/and `xcode-select --install`\n- or/and install xcode and launch it once (but takes time \u0026 a lot of disk space!)\n\n### 000 = bootstrap\n\n1. `curl -o- https://raw.githubusercontent.com/Offirmo/open-source-dev-env/master/1-provisioning/common/user--000ensure--present--work_structure.sh | bash`\n   1. then remove `src` from the spotlight search: \"Spotlight privacy\"\n2. `curl -o- https://raw.githubusercontent.com/Offirmo/open-source-dev-env/master/1-provisioning/common/user--010ensure--settings--shell.sh | bash`\n3. Keys:\n   1. IF WANTED copy your keys from previous machine here\n   2. `curl -o- https://raw.githubusercontent.com/Offirmo/open-source-dev-env/master/1-provisioning/common/user--020ensure--present--ssh.sh | bash`\n   3. if new, add the new keys to github\n      * go here: https://github.com/settings/keys\n      * `cat ~/.ssh/id_ed25519_offirmo.pub | pbcopy`\n      * `cat ~/.ssh/id_ed25519.pub | pbcopy`\n   4. test it: `ssh -T git@github.com`\n   5. DELETE SSH KEYS FROM THE DISK/USB KEY!\n4. `curl -o- https://raw.githubusercontent.com/Offirmo/open-source-dev-env/master/1-provisioning/macos/user--099ensure--installed--first.sh | bash`\n\n### 100 = base install post-bootstrap, from local\n\n```bash\nbash ~/work/src/off/open-source-dev-env/1-provisioning/macos/user--100ensure--settings.sh\n```\n\n### 200 = ordinary most necessary tools\n\n```bash\nbash ~/work/src/off/open-source-dev-env/1-provisioning/macos/user--200ensure--installed--daily-life-utils.sh\nbash ~/work/src/off/open-source-dev-env/1-provisioning/macos/user--201ensure--installed--fonts.sh\n```\n\n### 300 = dev env\n\n```bash\nbash ~/work/src/off/open-source-dev-env/1-provisioning/common/user--300ensure--installed--dev-env--common.sh\nbash ~/work/src/off/open-source-dev-env/1-provisioning/macos/user--301ensure--installed--dev-env--tools.sh\nbash ~/work/src/off/open-source-dev-env/1-provisioning/common/user--310ensure--installed--dev-env--js.sh\nbash ~/work/src/off/open-source-dev-env/1-provisioning/common/user--399ensure--cloned--common_offirmo_repos.sh\n```\n\n### 400 = creator\n```bash\nbash ~/work/src/off/open-source-dev-env/1-provisioning/macos/user--400ensure--installed--tools.sh\n```\n\n### 900 = gaming\n```bash\nbash ~/work/src/off/open-source-dev-env/1-provisioning/macos/user--900ensure--installed--gaming.sh\n```\n\n### Ubuntu\n(no longer using)\n\n### common\nEdit and check the bash config files\n\n\n## Maintain\n\n### macos\n\n```bash\nuser--update.sh\nuser--clean.sh\n```\n\n### Cleanup git repo:\n\n```bash\ngit remote prune origin\ngit branch --merged | grep -v \"\\*\" | xargs -n 1 git branch -d\ngit gc\n```\n\n### If missing, add a debug line to shellrc existing files\n```bash\necho \"* [~/.profile] hello!\"\n```\n\n### Manual installs\nhttps://www.jetbrains.com/toolbox/app/\n\n\nShow hidden files:\n* temp: \u003chttps://apple.stackexchange.com/a/340543\u003e\n\t* `Apple + shift + .`\n* définitif: (see [provisioning file](./1-provisioning/macos/user--100ensure--settings.sh))\n*\n### Load settings\n* WebStorm: File -\u003e Import settings... -\u003e folder \"install/intellij-colors-solarized\"\n* iTerm (macOs) -\u003e Prefs -\u003e Profiles -\u003e Colors -\u003e color preset -\u003e \"ode/misc/iterm2\"\n* Terminal (macOs) -\u003e Shell -\u003e import -\u003e \"install/solarized\"\n* xcode -\u003e Preferences -\u003e Locations -\u003e Command line tools  https://stackoverflow.com/a/36726612\n\n### (if needed) Setup the Windows share\n* https://www.digitalcitizen.life/how-access-ubuntu-shared-folders-windows-7\n```\nsudo smbpasswd -a sam\nsudo gedit /etc/samba/smb.conf\n```\n* https://github.com/Offirmo-team/wiki/wiki/partage-samba\n\n### login to npm (?)\n```\nnpm adduser\n```\n\n\n\n## Notes\n\nhttps://youtrack.jetbrains.com/articles/IDEA-A-19/Shell-Environment-Loading\n```bash\nif [ -z \"$INTELLIJ_ENVIRONMENT_READER\" ]; then\n\t...\nfi\n```\n\nAlso TODO compatibility with non-interactive shells, need no output\n\n### Useful unicode chars ’☑☐✓❌\n\n### Useful npm modules\n* https://github.com/jonathaneunice/iterm2-tab-set\n\n### dual ssh keys\nhttps://github.com/Offirmo-team/wiki/wiki/git\nIn `.ssh/config`:\n\n```\nHost offirmo.github.com\n   HostName github.com\n   User git\n   IdentityFile ~/.ssh/id_ed25519_offirmo\n   IdentitiesOnly yes\n\nHost xyz.github.com\n   HostName xyz.github.com\n   User git\n   IdentityFile ~/.ssh/id_ed25519\n   IdentitiesOnly yes\n```\n\nIn git configs:\n```\n[remote \"origin\"]\n\turl = git@offirmo.github.com:Offirmo/offirmo-monorepo.git\n\tfetch = +refs/heads/*:refs/remotes/origin/*\n\n[user]\n\temail = offirmo.net@gmail.com\n\tname = Offirmo\n[github]\n\tuser = Offirmo\n\n\nXXXAlready in root gitconfig:\n[color]\n\tui = auto\n[push]\n\tdefault = simple\n```\n\nTest GitHub SSH: https://help.github.com/en/github/authenticating-to-github/testing-your-ssh-connection\n```bash\nssh -T git@github.com\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foffirmo%2Fopen-source-dev-env","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foffirmo%2Fopen-source-dev-env","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foffirmo%2Fopen-source-dev-env/lists"}