{"id":26605997,"url":"https://github.com/goooseman/dotfiles","last_synced_at":"2025-04-09T19:23:00.509Z","repository":{"id":67969432,"uuid":"177177486","full_name":"goooseman/dotfiles","owner":"goooseman","description":"Minimalistic dotfiles setup for MacOS and Linux","archived":false,"fork":false,"pushed_at":"2025-03-12T04:51:21.000Z","size":129094,"stargazers_count":22,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-23T21:18:04.639Z","etag":null,"topics":["ansible-playbook","chezmoi","dotfiles"],"latest_commit_sha":null,"homepage":null,"language":"Python","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/goooseman.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":"2019-03-22T16:48:04.000Z","updated_at":"2023-07-01T22:37:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"7cb8b4d0-ba43-4c25-aa1e-a008614faffc","html_url":"https://github.com/goooseman/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/goooseman%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goooseman%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goooseman%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goooseman%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/goooseman","download_url":"https://codeload.github.com/goooseman/dotfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248095759,"owners_count":21046903,"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-playbook","chezmoi","dotfiles"],"created_at":"2025-03-23T21:18:11.055Z","updated_at":"2025-04-09T19:23:00.473Z","avatar_url":"https://github.com/goooseman.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Goooseman's dotfiles\n\n\u003e .dotfiles and ansible setup playbook for nodejs, js and even react-native developer working on MacOS/Ubuntu/ElementaryOS\n\nThis project consists of two parts:\n\n- `.dotfiles` for zsh including for oh-my-zsh with some custom aliases, boot scripts and path variables additions\n- Ansible setup playbook which you need to run on a fresh install of the system which will automatically install everything you need for a comfortable work, such as:\n    - 🔤 [Firacode font](https://app.programmingfonts.org/#firacode) - cool font for developers with ligatures.\n    - ⌨️ [fnm](https://github.com/Schniz/fnm) - `nvm` replacement. Installs different nodejs on your machine. Ansible will install nodejs 10.14 automatically and make it default.\n    - ⌨️ [zsh](https://ohmyz.sh/) - `bash` replacement. `.dotfiles` folder includes a lot of additional stuff for `zsh`.\n    - 💻 [VS Code](https://code.visualstudio.com/) - development IDE. Includes `code` cli tool.\n    Following settings will automatically applied:\n        - font changed to Fira Code\n        - ligatures enabled\n        - rulers at width 80, 100, 120 are added\n        - preview mode disabled (clicking the file opens it in a persistant editor)\n        - extentions automatically installed:\n            - Gitlens\n            - Tslint\n            - Eslint\n            - Prettier\n    - 💻 [Sublime Text](https://www.sublimetext.com/) - text editor. Includes `subl` cli tool.\n    - 💻 [Sublime Merge](https://www.sublimemerge.com/) - GIT client from the authors of Sublime Text. Includes `smerge` cli tool.\n    - 💻 [Robo 3T](https://robomongo.org/) - MongoDB explorer tool\n    - 💻 [Reactotron](https://github.com/infinitered/reactotron) - inspector for React Native projects.\n    - 💻 [Postman](https://www.getpostman.com/) - API development and testing tool.\n    - 💻 [Android Studio](https://developer.android.com/studio) - development IDE for Android developers (needed for `react-native` development).\n    - ⌨️ [Docker](https://www.docker.com/) - application containerization.\n    - ⌨️ [git-flow-avh](https://github.com/petervanderdoes/gitflow-avh) - git extension to work with [Git Flow](https://danielkummer.github.io/git-flow-cheatsheet/) branching model easily.\n    - ️️⌨️ [micro](https://github.com/zyedidia/micro) - terminal-based text editor.\n    - ⌨️ [wifi-password](https://github.com/rauchg/wifi-password) - cli to get the password of currently connected to WiFi network. **MacOS only**\n    - Additional tweaks:\n        - `git` name and email are asked and set up using `chezmoi` templates.\n    - Additional **Ubuntu** tweaks:\n        - `fs.inotify.max_user_watches` is set to 524288 to prevent problems with `Jest`, `Webpack` and `react-native` because of watchers number.\n\n**Legend** \n  - 💻 For GUI tools (can be launched using Applications)\n  - ⌨️ For CLI tools (can be launched in the Terminal)\n  - 🔤 For fonts\n\n## Installation\n\n1. Install [chezmoi](https://github.com/twpayne/chezmoi)\n  - On Mac OS:\n    - `/usr/bin/ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"`\n    - `brew install twpayne/taps/chezmoi`\n  - On Ubuntu:\n    - `sudo apt install git`\n    - `wget https://github.com/twpayne/chezmoi/releases/download/v1.4.1/chezmoi_1.4.1-527_linux_amd64.deb`\n    - `sudo dpkg -i chezmoi_1.4.1-527_linux_amd64.deb`\n2. Init dotfiles\n  - `chezmoi init --apply https://github.com/goooseman/dotfiles.git`\n3. If you want to set up your computer automatically\n  - On Mac:\n    - `~/.dotfiles/setup/osx.sh`\n    - Open Terminal.app, then Preferences -\u003e Profiles\n      - Profile: Desert (click Default button to make it default one)\n      - Font: Fira Code (should be already selected)\n  - On Ubuntu\n    - `~/.dotfiles/setup/ubuntu.sh`\n\nProvide your user account password if BECOME password is asked.\n\n## WIP\n\nCurrent features are still **WIP**, help will be appreciated:\n- ⌨️ [Android SDK](https://developer.android.com/studio/releases/sdk-tools) - mandatory SDK for `react-native` development. Includes `adb`, `android`, `emulator` cli tools. \n- Android emulators automatic set up:\n  - Nexus 5\n  - Nexus 7\n  - Nexus 10\n\n## Raspberry Pi\n\nThis project contains my configuration of raspberry pi headless media server including plex, qbittorrent, aria2 with web interface.\n\n### Setup\n\n1. Download `Raspbian Stretch Lite` image from [official website](https://www.raspberrypi.org/downloads/raspbian/) and burn it to SD card. Create an empty `ssh` or `ssh.txt` file in the boot partition of the sd card.\n1. Boot raspberry, connect with ssh from other computer: `ssh -o PubkeyAuthentication=no pi@raspberrypi.local` (password: `raspberry`)\n1. Change user password: `sudo passwd pi`\n1. Install chezmoi:\n  - `sudo apt-get install git`\n  - `wget https://github.com/twpayne/chezmoi/releases/download/v1.4.2/chezmoi_1.4.2-621_linux_armel.deb`\n  - `sudo dpkg -i chezmoi_1.4.2-621_linux_armel.deb`\n1. Init dotfiles: `chezmoi init --apply https://github.com/goooseman/dotfiles.git`\n1. Generate ssh key to access your Raspberry and copy them (on your local machine):\n  - `ssh-copy-id -i ~/.ssh/pi.pub -o PubkeyAuthentication=no pi@raspberrypi.local`\n1. Run setup script: `~/.dotfiles/setup/pi.sh`\n1. `sudo connectd_installer`\n1. Reboot `sudo reboot`\n\n\n### TODO\n\n- [Plex](https://github.com/jaymoulin/docker-plex)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoooseman%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoooseman%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoooseman%2Fdotfiles/lists"}