Skip to content

feat!: add setup scripts for user environment and configurations#2

Merged
bybatkhuu merged 2 commits intomainfrom
dev
Oct 20, 2025
Merged

feat!: add setup scripts for user environment and configurations#2
bybatkhuu merged 2 commits intomainfrom
dev

Conversation

@bybatkhuu
Copy link
Copy Markdown
Contributor

This pull request introduces significant improvements to the documentation and onboarding experience for the script-common repository. The README and documentation have been completely rewritten for clarity, modern onboarding, and better usability, including step-by-step usage examples and prerequisites. Several outdated or redundant documentation files have been removed. Additionally, a changelog has been added, and the release workflow has been renamed for clarity.

Documentation overhaul and onboarding improvements:

  • Major rewrite of README.md and docs/README.md to provide clear, modern onboarding instructions, usage examples for different platforms (Linux, macOS), prerequisites, and improved feature listings. The documentation now focuses on practical usage and setup scenarios. [1] [2] [3]
  • Expanded the references section in README.md with additional helpful links and resources for shell scripting and terminal tools.

Removal of outdated or redundant documentation:

  • Deleted detailed script usage guides: docs/install/install-docker.md, docs/install/install-essentials.md, and docs/install/install-ohmyzsh.md, consolidating essential usage information into the main README and streamlining documentation. [1] [2] [3]

Changelog and workflow updates:

  • Added a new CHANGELOG.md to track releases and notable changes, starting with version v0.0.1-251009.
  • Renamed the GitHub Actions workflow from "2. Build and Publish" to "2. Create Release" for clarity. (.github/workflows/2.create-release.yml)

- Created `install-user-rust.sh` for installing Rust runtime.
- Created `setup-user-configs.sh` to configure user shell environments (bash and zsh).
- Created `setup-user-env.sh` to set up the user development environment.
- Created `setup-user-nvchad.sh` for installing and configuring NvChad.
- Created `setup-user-ohmyzsh.sh` for installing Oh My Zsh and its plugins.
- Created `setup-user-workspaces.sh` to create and manage user workspaces.
- Added placeholder files for Windows setup and configs.
@bybatkhuu bybatkhuu self-assigned this Oct 20, 2025
Copilot AI review requested due to automatic review settings October 20, 2025 15:14
@bybatkhuu bybatkhuu added documentation Improvements or additions to documentation major scripts labels Oct 20, 2025
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces significant improvements to the documentation and onboarding experience for the script-common repository. The primary focus is on replacing individual installation scripts with comprehensive setup scripts that streamline environment configuration across Unix-based systems. The changes include a complete documentation overhaul, removal of outdated scripts, and introduction of new user-friendly setup workflows for Linux and macOS platforms.

Key Changes:

  • Complete rewrite of README.md and docs/README.md with modern onboarding instructions and practical usage examples
  • Addition of comprehensive setup scripts for Ubuntu/Debian, macOS, and cross-platform Unix environments
  • Removal of deprecated installation and setup scripts in favor of consolidated setup workflows
  • Addition of account management scripts for user and group operations on Linux systems

Reviewed Changes

Copilot reviewed 54 out of 57 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
README.md, docs/README.md Updated with practical usage examples and improved feature descriptions
src/setup/unix/setup-user-env.sh Main orchestrator for user environment setup across platforms
src/setup/unix/setup-user-ohmyzsh.sh Configures Oh My Zsh with plugins and themes
src/setup/unix/setup-user-configs.sh Sets up shell configurations and user-level settings
src/setup/unix/setup-user-workspaces.sh Creates standardized workspace directory structures
src/setup/unix/setup-user-nvchad.sh Installs and configures NvChad for Neovim
src/setup/unix/runtimes/* Runtime installation scripts for Rust, Go, NVM, and Miniconda
src/setup/unix/linux/ubuntu/* Ubuntu/Debian-specific setup scripts and package installers
src/setup/unix/linux/setup-user.sh User account creation and environment setup on Linux
src/setup/unix/linux/setup-docker.sh Docker installation and configuration with NVIDIA container support
src/setup/unix/macos/* macOS-specific setup scripts with Homebrew integration
src/account/unix/linux/* Account management utilities for creating/deleting users and groups
scripts/* Updated utility scripts with improved error handling and standards
CHANGELOG.md Added changelog tracking for version v0.0.1-251009
Removed files Deprecated standalone installation and setup scripts

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.


if ! grep -q '### CUSTOM CONFIGS ###' "${HOME}/.zshrc"; then
echo "[INFO]: Updating '.zshrc' file..."
echo "${_CUSTOM_CONFIGS}" >> "${HOME}/.zshrc" || exit
Copy link

Copilot AI Oct 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent exit code on line 201. This line uses exit without a code, while all other similar lines in the file use exit 2. This should be exit 2 to maintain consistency and proper error reporting.

Suggested change
echo "${_CUSTOM_CONFIGS}" >> "${HOME}/.zshrc" || exit
echo "${_CUSTOM_CONFIGS}" >> "${HOME}/.zshrc" || exit 2

Copilot uses AI. Check for mistakes.
@bybatkhuu bybatkhuu merged commit eb2c55d into main Oct 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation major scripts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants