Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/garywei944/eden
Unix initialization solution that supports multiple OS
https://github.com/garywei944/eden
Last synced: 20 days ago
JSON representation
Unix initialization solution that supports multiple OS
- Host: GitHub
- URL: https://github.com/garywei944/eden
- Owner: garywei944
- License: mit
- Created: 2024-08-23T09:08:52.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-18T10:07:34.000Z (3 months ago)
- Last Synced: 2024-09-19T07:22:03.924Z (3 months ago)
- Language: Python
- Size: 48.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Eden: Evangelion Development Environment Nexus
Unix initialization solution that supports multiple OS
## Why Eden?
The demand is straightforward:
- I have multiple instances of Unix-like OS: PC, macbook, AWS EC2, Computing cluster, WSL, etc.
- I want to have a consistent environment on all these machines, including:
- package installation (fd, ripgrep, fzf, etc.)
- dotfiles (zshrc, gitconfig, etc.)
- private keys, etc.A few bash scripts sounds like a good idea, but it's not enough:
- Different OS may have different package managers (apt, brew, etc.).
- I may or may not have root access (sudo) on these machines, which foundamentally changes the way to install packages.
- They may or may not have desktop GUI (X11, Wayland, etc.), which indicates if some packages are needed.
- There might be built-in version of some packages (rsut, ruby, go, etc.), which I might not want to overwrite.W.I.P.
## Design Choice
I choose to use Python over bash for the following reasons:
- More advanced logic can be implemented easily in Python.
- It's easy to develop and test Python codes.
- Easy to maintain and extend.## Predecessor
[eva_init](https://github.com/garywei944/eva_init) is the predecessor of Eden.
It's a bash-based project that does the same thing, but it gets really messy and is hard
to maintain and extent after a while.