Skip to content

Equip your development machine with the finest software ecosystems and more

License

Notifications You must be signed in to change notification settings

MatthewVita/system_qa

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

note: non-official repo for experimentation and QA!

Logo

About

Programmer's System equips your development machine with the finest software ecosystems. The CLI allows one to specify their needs and Ansible reliably installs everything using familiar packaging modules such as apt, brew, yum, snap, npm, script, and many more.

This project is in alpha and currently supports fresh installs of Ubuntu 22.04 LTS... project TODO resolutions, Fedora 36, and macOS 12 Monterey are on the way!

Overview

This is an ambitious project looking to make a difference for us devs. Please consider contributing!

Ecosystems: General, Python, JavaScript and Node, Web Tools, Version Control, Database Clients, Containers and VMs, Scientific, Cloud Tools, Java, C and Cpp, Go, PHP, Rust, Ruby.

(Review the Master Software Document to see all software descriptions, how-to guides, and licenses for the ecosystems.)

Software: All (mostly open source) software and tools are carefully selected based on industry standards with security in mind.

Platforms: Only *nix operating systems are supported. All systems should be the latest (stable) os version. For instance, the newest Ubuntu LTS version and major macOS release.

Ansible: Mission critical tool for server provisioning, configuration management, and deployments. This project uses a small a portion of its features to target local machines for provisioning. This translates to a small learning curve.

Restrictions: No backends (DB engines, web servers, etc), only clients (DBeaver, Azure CLI, etc). Snaps/Flatpaks Ansible modules are allowed, but use them as a last resort due to performance.

Editors: VSCode is the "default" editor and has many relevant extensions installed in each ecosystem. A large amount of editors/IDEs are selectable as well. Vim/Emacs distribution/configurations are recommended here.

Running

(middle-click for new tab)

programerssystemvid

For Ubuntu, you may wish extend the sudoers timeout for bigger installs (many ecosystems). Video Instructions.

# Git pull the project to ~/.progsys
sudo apt install git -y && git clone git@github.com:programmers/system_qa.git ~/.progsys

# Install the base dependencies, launch the CLI, and then installs everything
cd ~/.progsys && sudo ./run ubuntu

# When finished, a "Post Install" page link will appear to provide helpful considerations

Dev Guide

  1. Ansible Usage
  2. Install & Run
  3. Contributing

Project TODOs

OS: Support macOS 12 Monterey*, and Fedora 36*

Ansible: Standard project structure*, better logging*, Support ZSH/Oh-My-ZSH*

Base Install: Loading indicator*, new lock file approach*, redo var.yml approach*

CLI: More relevant ecosystem questions*, more Writer docs*, address TODOs in prompt.py*

Modules: Support existing OS upgrades by updating runscript*

Playbooks: Add a mobile playbook*, redo Ruby playbook*

Docs Gen: Refactor license link function in generate_page.py*

Scripts: Spring Tool Suite not showing in search*, Use a local "tmp" directory for install assets*


License

MIT

About

Equip your development machine with the finest software ecosystems and more

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 65.2%
  • Shell 34.8%