Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/0exp/cybercore

My dev.environments and system configurations (macOS, ruby, js, python, dotfiles, zsh, vim, sublime, fonts, etc). Powered by Ansible 💖
https://github.com/0exp/cybercore

ansible dotfiles elixir git homebrew ios macos nodejs psql python ruby rust scala slack sublime tmux vim zsh

Last synced: about 4 hours ago
JSON representation

My dev.environments and system configurations (macOS, ruby, js, python, dotfiles, zsh, vim, sublime, fonts, etc). Powered by Ansible 💖

Awesome Lists containing this project

README

        

# cybercore

My development environments and system configurations (**macOS Sonoma**).

> [email protected] [core 2.15.4] / Java@21 / [email protected]

> macOS Sonoma (14.2.1)

- [Macbook Setup](#macbook-setup)
- [Daily Tasks](#daily-tasks)
- [Additional instructions](#additional-instructions)
- [Crazy Tips](#crazy-tips)
- [(CI) Build Script](#ci-build-script)
- ([dotfiles](dotfiles))

---

> ! Check PREINSTALLATION_REQUIREMENTS.md first!

---

- **ruby** (3.3.4) / **truffleruby** (23.1.1)
- **k8s** / **minikube** (latest@**homebrew**) (?)
- **rust** (1.72.1)
- **python** (3.11.5)
- **nodejs** (latest@**nvm**) (20.8.0) (01.10.2023)
- **elixir** (1.15.6) / **erlang** (26.1)
- **scala** (latest@**homebrew**) (3.3.1) (01.10.2023)
- **php** (latest@**homebrew**) (8.3.1) (17.10.2023)
- **postgresql** (16.0)
- **clickhouse** (23.5)
- **memcached** (latest@**homebrew**) (1.6.22) (17.10.2023)
- **redis** (latest@**homebrew**) (7.2.3) (17.10.2023)
- **rabbitmq** (latest@**homebrew**) (3.12.11) (17.10.2023)
- **kafka** (latest@**homebrew**) (3.6.1) (17.10.2023)
- **influxdb** (latest@**homebrew**) (2.7.3) (17.01.2024)
- **telegraf** (latest@**homebrew**) (1.29.1) (17.01.2024)
- **neo4j** (latest@**homebrew**) (5.13.0) (17.01.2024)
- **etcd** (latest@**homebrew**) (3.5.11) (17.01.2024)
- **vault** (latest@**homebrew**) (1.15.4) (17.01.2024)

---

### Macbook Setup

**(ansible)** macOS roles:
- `macos_config` - apply basic macOS configs;
- `macos_databases` - setup databases (**PostgreSQL**, **Memcached**, **Redis**, **ClickHouse**, **InfluxDB**, and **Vault**);
- `macos_kubernetes_env` - setup **K8S** environment;
- `macos_pyton_env` - setup **Python** environment;
- `macos_js_env` - setup **JavaScript** environment;
- `macos_ruby_env` - setup **Ruby** environment;
- `macos_rust_env` - setup **Rust** environment;
- `macos_elixir_env` - setup **Elixir** environment;
- `macos_scala_env` - setup **Scala** environment;
- `macos_php_env` - setup **PHP** environment;
- `macos_soft` - install neccessary sofwtare;
- `macos_post_config` - apply post macOS configs (copy dotfiles, setup system fonts, clone projects, etc);

**(ansible)** setup macOS:
```shell
ansible-playbook macbook_setup.yml -vvv
```

- [sublime package list](dotfiles/sublime/packages.md)
- [sublime snippets](dotfiles/sublime/snippets.md)
- [dotfiles](dotfiles)

---

### Daily Tasks

```shell
ansible-playbook macbook_daily.yml --list-tasks
```

### Environment

- actualzie **dotfiles** (`update-dots`):
```shell
ansible-playbook macbook_daily.yml --tags update_dotfiles
````
- actualize custom fonts (`update-fonts`):
```shell
ansible-playbook macbook_daily.yml --tags update_fonts
```
- actualize **solargraph** (`update-solargraph`):
```shell
ansible-playbook macbook_daily.yml --tags update_solargraph
```
- update **spaceship-prompt** (`update-prompt`):
```shell
ansible-playbook macbook_daily.yml --tags update_spaceship
```
- update language environments (`update-langs`):
```shell
ansible-playbook macbook_daily.yml --tags update_languages
```
- update ruby gems (`update-gems`):
```shell
ansible-playbook macbook_daily.yml --tags update_ruby_gems
```
- update k8s env (`update-k8s`, `update-kubernetes`):
```shell
ansible-playbook macbook_daily.yml --tags update_k8s
```
- update databases (`update-databases`, `update-dbs`):
```shell
ansible-playbook macbook_daily.yml --tags update_databases
```

### Programming languages

- update **rbenv** (`update-rbenv`):
```shell
ansible-playbook macbook_daily.yml --tags update_rbenv
```
- update **pyenv** (`update-pyenv`):
```shell
ansible-playbook macbook_daily.yml --tags update_pyenv
```
- update **rust** (`update-rust`):
```shell
ansible-playbook macbook_daily.yml --tags update_rust
```
- update **js** (updates `nvm`, `node` and `yarn`) (`update-js`):
```shell
ansible-playbook macbook_daily.yml --tags update_js
```
- update **elixir** (`update-elixir`):
```shell
ansible-playbook macbook_daily.yml --tags update_elixir
```
- update **scala** (updates `scala`, `sbt` and `amonite-repl`) (`update-scala`):
```shell
ansible-playbook macbook_daily.yml --tags update_scala
```
- update **php** (`update-php`):
```shell
ansible-playbook macbook_daily.yml --tags update_php
```

### Software

- update soft (`update-soft`):
```shell
ansible-playbook macbook_daily.yml --tags update_soft
```

---

### Additional instructions

- iterm2 profile: [dotfiles/iterm/daiver.json](dotfiles/iterm/daiver.json)

---

### Crazy Tips

- open dahsdoc documentation about Ruby's `attr_reader` or `Kernel` module:
```shell
rubydash attr_reader
```
```shell
rubydash Kernel
```

- open dashdoc documentation for Docker:
```shell
dashdoc docker:
```

- tranlsate any text (copy any text to a clipboard and type `trs` in console shell):
```shell
daiver => ~/Projects
➜ trs
Sorbet - это быстрый и мощный тип проверки, разработанный для Ruby.
daiver => ~/Projects

```

---

### (CI) Build Script

```shell
pip3 install -r requirements.txt
yamllint --strict $(git ls-files '*.yaml' '*.yml')
ansible-lint *.yml
```

---

### TODO:

- workflow for installatoin of all necessary gems and javascript libs;
- migrate to Github Actions CI;
- `macbook.user` as a customizable runtime setting;
- clone ohmyzsh and ohmyzsh-related plugins to my repository;
- clone sublime packages (and use `Package Control: Satisfy Dependencies`);
- ruby gemlist with auotmated instalation and updates;
- js package list with automated installation and updates;