diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b18353a1..deefc949 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -58,8 +58,8 @@ jobs: ## Assets ### Complete Packages - - **`dms-full-amd64.tar.gz`** - Complete package for x86_64 systems (CLI binaries + QML source + installation guide) - - **`dms-full-arm64.tar.gz`** - Complete package for ARM64 systems (CLI binaries + QML source + installation guide) + - **`dms-full-amd64.tar.gz`** - Complete package for x86_64 systems (CLI binaries + QML source + shell completions + installation guide) + - **`dms-full-arm64.tar.gz`** - Complete package for ARM64 systems (CLI binaries + QML source + shell completions + installation guide) ### Individual Components - **`dms-cli-amd64.gz`** - DMS CLI binary for x86_64 systems @@ -135,27 +135,28 @@ jobs: # Generate checksum for QML package (cd _release_assets && sha256sum dms-qml.tar.gz > dms-qml.tar.gz.sha256) - # Create full packages for each architecture for arch in amd64 arm64; do mkdir -p _temp_full/dms mkdir -p _temp_full/bin + mkdir -p _temp_full/completions - # Extract QML source to temp directory tar -xzf _release_assets/dms-qml.tar.gz -C _temp_full/dms - # Copy CLI binary if it exists if [ -f "_dms_assets/dms-${arch}.gz" ]; then gunzip -c "_dms_assets/dms-${arch}.gz" > _temp_full/bin/dms chmod +x _temp_full/bin/dms fi - # Copy distropkg binary if it exists if [ -f "_dms_assets/dms-distropkg-${arch}.gz" ]; then gunzip -c "_dms_assets/dms-distropkg-${arch}.gz" > _temp_full/bin/dms-distropkg chmod +x _temp_full/bin/dms-distropkg fi - # Create INSTALL.md + for completion in _dms_assets/completion.*; do + if [ -f "$completion" ]; then + cp "$completion" _temp_full/completions/ + fi + done cat > _temp_full/INSTALL.md << 'EOF' # DankMaterialShell Installation @@ -176,16 +177,23 @@ jobs: 2. **Install the DMS CLI binaries:** ```bash sudo install -m 755 bin/dms /usr/local/bin/dms - # or install to a local directory: - mkdir -p ~/.local/bin - install -m 755 bin/dms ~/.local/bin/dms ``` - 3. **Start the shell:** + 3. **Install shell completions (optional):** + ```bash + # Bash + sudo install -m 644 completions/completion.bash /usr/share/bash-completion/completions/dms + + # Fish + sudo install -m 644 completions/completion.fish /usr/share/fish/vendor_completions.d/dms.fish + + # Zsh + sudo install -m 644 completions/completion.zsh /usr/share/zsh/site-functions/_dms + ``` + + 4. **Start the shell:** ```bash dms run - # or directly with quickshell (will lack some dbus integrations & plugin management): - quickshell -p ~/.config/quickshell/dms ``` ## Configuration