Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 16 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,9 @@ Personal dotfiles for Ubuntu, Arch, and macOS systems with comprehensive shell c
- **Go** - Go language support and tools
- **Rust** - Rustup and Cargo package management
- **Composer** - PHP dependency manager
- **Valet Linux** - Laravel Valet for Linux development environment
- **GitHub CLI** - GitHub command-line tool integration
- **GitHub Copilot CLI** - AI-powered command-line assistance
- **Trellis CLI** - virtualenv integration for WordPress development

### Media & System
Expand Down Expand Up @@ -100,10 +102,10 @@ The setup script will prompt you to:
- Sets up system services on Arch

2. **Install Tools** (optional) - Install development tools
- NVM (Node Version Manager)
- Zinit (ZSH plugin manager)
- TPM (Tmux Plugin Manager)
- Composer (PHP dependency manager)
- NVM and Node.js packages (language servers, formatters, linters)
- Composer (PHP dependency manager + Valet Linux)

3. **Symlink Dotfiles** (recommended) - Creates symlinks for:
- Shell configs (`.zshrc`, `.bashrc`, `.profile`)
Expand Down Expand Up @@ -154,12 +156,19 @@ After first tmux launch, install plugins with: `prefix + I` (default: `Ctrl+b` t
- **Work**: Microsoft Edge, ClickUp, Zoom
- **Dev**: Alacritty, Ghostty, Tmux, GitHub CLI, Go, Rust

### WSL Packages
- **Database**: MariaDB Server
- **PHP**: Multi-version PHP support (8.1 and 8.2) with common extensions
- bcmath, bz2, cli, common, curl, fpm, gd, gmp, intl, mbstring, mysql, opcache, readline, soap, tidy, xdebug, xml, xsl, zip
- **Tools**: wslu (WSL utilities for interoperability)

### Package Managers & Tools
- Node.js (via NVM)
- Go packages (development tools)
- Composer packages (PHP tools)
- Pip packages (Python tools)
- Cargo packages (Rust tools)
- **Node.js** (via NVM)
- **Language Servers**: GitHub Copilot, Devsense PHP LS, Intelephense, Ansible, TailwindCSS, Vue, Bash
- **Go packages** (development tools)
- **Composer packages** (PHP tools + Valet Linux)
- **Pip packages** (Python tools)
- **Cargo packages** (Rust tools)

## 🗂️ Repository Structure
```
Expand Down
3 changes: 2 additions & 1 deletion setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -136,9 +136,10 @@ install_tools() {
return
fi

install_nvm
install_zinit
install_tpm
# shellcheck disable=SC2119
install_node_packages
install_composer
}

Expand Down
7 changes: 5 additions & 2 deletions shell/functions
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,7 @@ setup_arch_services() {
}

install_nvm() {
section_start 'Installing NVM'
# shellcheck disable=SC2155
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.config/nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" && \
mkdir -p "${NVM_DIR}" && \
Expand Down Expand Up @@ -272,17 +273,19 @@ install_node_packages() {
install_nvm
fi

section_start 'Instaling NPM packages'
PACKAGES=(
@ansible/ansible-language-server
@fsouza/prettierd
@github/copilot
@tailwindcss/language-server
@vue/language-server
bash-language-server
blade-formatter
devsense-php-ls
doctoc
eslint_d
fast-cli
intelephense
lighthouse
markdownlint
markdownlint-cli
Expand All @@ -297,7 +300,7 @@ install_node_packages() {
)

# shellcheck disable=2046
yarn global add $(
npm install --global $(
IFS=' '
echo "${PACKAGES[*]}"
) "$@"
Expand Down