From 06345c7e25ed6610652333884a924729f21e9b23 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 9 Aug 2025 22:27:47 +0200 Subject: [PATCH] Add Install > Development for setting up Rails and other mise options --- bin/omarchy-install-dev-env | 46 +++++++++++++++++++++++++++++++++++++ bin/omarchy-menu | 17 ++++++++++++-- 2 files changed, 61 insertions(+), 2 deletions(-) create mode 100755 bin/omarchy-install-dev-env diff --git a/bin/omarchy-install-dev-env b/bin/omarchy-install-dev-env new file mode 100755 index 00000000..03d2dc2c --- /dev/null +++ b/bin/omarchy-install-dev-env @@ -0,0 +1,46 @@ +#!/bin/bash + +if [[ -z "$1" ]]; then + echo "Usage: omarchy-instal-dev-env " >&2 + exit 1 +fi + +case "$1" in +ruby) + echo -e "Installing Ruby on Rails...\n" + mise use --global ruby@latest + mise settings add idiomatic_version_file_enable_tools ruby + mise x ruby -- gem install rails --no-document + ;; +node) + echo -e "Installing Node.js...\n" + mise use --global node@lts + ;; +go) + echo -e "Installing Go...\n" + mise use --global go@latest + ;; +laravel) + echo -e "Need help figuring this out!\n" + ;; +python) + echo -e "Installing Python...\n" + mise use --global python@latest + echo -e "\nInstalling uv...\n" + wget -qO- https://astral.sh/uv/install.sh | sh + ;; +elixir) + echo -e "Installing Elixir...\n" + mise use --global erlang@latest + mise use --global elixir@latest + mise x elixir -- mix local.hex --force + ;; +rust) + echo -e "Installing Rust...\n" + bash -c "$(curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs)" -- -y + ;; +java) + echo -e "Installing Java...\n" + mise use --global java@latest + ;; +esac diff --git a/bin/omarchy-menu b/bin/omarchy-menu index 831ea5a9..50bc7425 100755 --- a/bin/omarchy-menu +++ b/bin/omarchy-menu @@ -171,14 +171,14 @@ show_setup_config_menu() { } show_install_menu() { - case $(menu "Install" "󰣇 Package\n Web App\n Service\n Style\n Editor\n󱚤 AI\n Docker DB") in + case $(menu "Install" "󰣇 Package\n Web App\n Service\n Style\n󰵮 Development\n Editor\n󱚤 AI") in *Package*) terminal $OMARCHY_BIN_PATH/omarchy-pkg-install ;; *Web*) present_terminal $OMARCHY_BIN_PATH/omarchy-webapp-install ;; *Service*) show_install_service_menu ;; *Style*) show_install_style_menu ;; + *Development*) show_install_development_menu ;; *Editor*) show_install_editor_menu ;; *AI*) show_install_ai_menu ;; - *Docker*) present_terminal $OMARCHY_BIN_PATH/omarchy-install-docker-dbs ;; *) show_main_menu ;; esac } @@ -234,6 +234,19 @@ show_install_font_menu() { esac } +show_install_development_menu() { + case $(menu "Install" "󰫏 Ruby on Rails\n Docker DB\n Node.js\n Go\n Laravel\n Python\n Elixir") in + *Rails*) present_terminal "$OMARCHY_BIN_PATH/omarchy-install-dev-env ruby" ;; + *Docker*) present_terminal $OMARCHY_BIN_PATH/omarchy-install-docker-dbs ;; + *Node*) present_terminal "$OMARCHY_BIN_PATH/omarchy-install-dev-env node" ;; + *Go*) present_terminal "$OMARCHY_BIN_PATH/omarchy-install-dev-env go" ;; + *Laravel*) present_terminal "$OMARCHY_BIN_PATH/omarchy-install-dev-env laravel" ;; + *Python*) present_terminal "$OMARCHY_BIN_PATH/omarchy-install-dev-env python" ;; + *Elixir*) present_terminal "$OMARCHY_BIN_PATH/omarchy-install-dev-env elixir" ;; + *) show_install_menu ;; + esac +} + show_remove_menu() { case $(menu "Remove" "󰣇 Package\n Web App\n󰸌 Theme\n󰈷 Fingerprint\n Fido2") in *Package*) terminal $OMARCHY_BIN_PATH/omarchy-pkg-remove ;;