added README INSTALL LICENSE

This commit is contained in:
wt
2025-07-17 12:40:32 +07:00
parent 2798e144b2
commit dc47333ae4
5 changed files with 912 additions and 36 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
paru
*.o
*dwm
hyprlock.conf
*hyprlock.conf
+138
View File
@@ -0,0 +1,138 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
- Comprehensive README.md with detailed installation instructions
- INSTALL.md with step-by-step installation guide
- LICENSE file (MIT License)
- CHANGELOG.md for tracking version history
- Screenshots directory for project documentation
- Enhanced documentation structure
### Changed
- Improved project organization and documentation
- Better structured configuration files
- Enhanced installation scripts with better error handling
### Fixed
- Installation script compatibility issues
- Path resolution in configuration files
## [2.0.0] - 2024-01-15
### Added
- SwayNC notification daemon support
- Fastfetch configuration
- Custom Rofi themes and power menu
- Greenclip clipboard manager integration
- Enhanced Waybar modules (weather, updates, media controls)
- Custom scripts in bin directory
- Hyprgrass gesture support
- Multiple monitor configuration support
- Custom keyboard layouts and input methods
### Changed
- Migrated from Dunst to Mako for notifications
- Updated Waybar configuration with new modules
- Improved Hyprland configuration structure
- Enhanced shell aliases and functions
- Better window rules and animations
### Removed
- Deprecated Dunst configuration (kept for compatibility)
- Old Alacritty configuration (replaced with Kitty)
## [1.5.0] - 2023-12-01
### Added
- Kitty terminal configuration
- Ranger file manager setup
- Custom shell aliases and functions
- Vim configuration
- Tmux configuration
- Git configuration templates
### Changed
- Improved Hyprland keybindings
- Enhanced Waybar styling
- Better color scheme consistency
- Optimized performance settings
### Fixed
- Audio control issues in Waybar
- Workspace switching problems
- Font rendering issues
## [1.0.0] - 2023-10-15
### Added
- Initial Hyprland configuration
- Basic Waybar setup
- Rofi launcher configuration
- Mako notification setup
- Installation script
- Basic keybindings
- Window rules
- Startup applications
- Monitor configuration
- Basic theming
### Features
- Dynamic tiling window management
- Custom status bar with system information
- Application launcher with search
- Notification system
- Screenshot functionality
- Audio and brightness controls
- Workspace management
- Window floating and fullscreen modes
## [0.5.0] - 2023-09-01
### Added
- Initial project structure
- Basic Hyprland setup
- Proof of concept configurations
- Development environment setup
### Notes
- This was the initial development release
- Limited functionality and testing
- Foundation for future releases
---
## Version Numbering
This project uses semantic versioning:
- **MAJOR**: Incompatible API changes or major configuration restructuring
- **MINOR**: New functionality in a backwards compatible manner
- **PATCH**: Backwards compatible bug fixes
## Release Process
1. Update version numbers in relevant files
2. Update CHANGELOG.md with new version
3. Test all configurations thoroughly
4. Create GitHub release with proper tags
5. Update documentation as needed
## Contributing
When contributing, please:
1. Add entries to the [Unreleased] section
2. Follow the established format
3. Include relevant details about changes
4. Reference issue numbers when applicable
## Links
- [Repository](https://github.com/TolaMironcenko/hyprland_dotfiles)
- [Issues](https://github.com/TolaMironcenko/hyprland_dotfiles/issues)
- [Releases](https://github.com/TolaMironcenko/hyprland_dotfiles/releases)
+499
View File
@@ -0,0 +1,499 @@
# Installation Guide
This guide provides detailed installation instructions for the Hyprland dotfiles configuration.
## Prerequisites
### System Requirements
- **Operating System**: Arch Linux (primary support)
- **Display Server**: Wayland
- **Memory**: Minimum 4GB RAM (8GB recommended)
- **Storage**: At least 2GB free space
- **GPU**: Any GPU with Vulkan support (Intel/AMD/NVIDIA)
### Required Knowledge
- Basic Linux command line usage
- Understanding of symbolic links
- Familiarity with package managers (pacman)
## Installation Methods
### Method 1: Automated Installation (Recommended)
This is the fastest way to get up and running:
```bash
# Clone the repository
cd ~/
git clone https://github.com/TolaMironcenko/hyprland_dotfiles.git dotfiles
cd dotfiles
# Make the script executable
chmod +x install_scripts/install.sh
# Run the installation
./install_scripts/install.sh
```
**What this does:**
- Creates symbolic links for all configuration files
- Backs up existing configurations (if any)
- Sets up proper directory structure
- Installs custom scripts to `~/dotfiles/bin`
### Method 2: Manual Installation
For users who want full control over the installation process:
#### Step 1: Clone Repository
```bash
cd ~/
git clone https://github.com/TolaMironcenko/hyprland_dotfiles.git dotfiles
cd dotfiles
```
#### Step 2: Backup Existing Configurations
```bash
# Create backup directory
mkdir -p ~/config_backup/$(date +%Y%m%d_%H%M%S)
# Backup existing configs
[ -d ~/.config/hypr ] && mv ~/.config/hypr ~/config_backup/$(date +%Y%m%d_%H%M%S)/
[ -d ~/.config/waybar ] && mv ~/.config/waybar ~/config_backup/$(date +%Y%m%d_%H%M%S)/
[ -d ~/.config/kitty ] && mv ~/.config/kitty ~/config_backup/$(date +%Y%m%d_%H%M%S)/
[ -d ~/.config/mako ] && mv ~/.config/mako ~/config_backup/$(date +%Y%m%d_%H%M%S)/
[ -f ~/.vimrc ] && mv ~/.vimrc ~/config_backup/$(date +%Y%m%d_%H%M%S)/
```
#### Step 3: Create Symbolic Links
```bash
# Essential configurations
ln -sf ~/dotfiles/hypr ~/.config/hypr
ln -sf ~/dotfiles/waybar ~/.config/waybar
ln -sf ~/dotfiles/kitty ~/.config/kitty
ln -sf ~/dotfiles/mako ~/.config/mako
ln -sf ~/dotfiles/ranger ~/.config/ranger
ln -sf ~/dotfiles/fastfetch ~/.config/fastfetch
ln -sf ~/dotfiles/rofi ~/.config/rofi
# Shell and system configs
ln -sf ~/dotfiles/vimrc ~/.vimrc
ln -sf ~/dotfiles/tmux.conf ~/.tmux.conf
ln -sf ~/dotfiles/gitconfig ~/.gitconfig
# Optional configurations
ln -sf ~/dotfiles/greenclip/greenclip.toml ~/.config/greenclip.toml
ln -sf ~/dotfiles/rofi/emoji/rofimoji.rc ~/.config/rofimoji.rc
```
#### Step 4: Set Up Custom Scripts
```bash
# Add dotfiles bin to PATH (if not already done)
echo 'export PATH=$PATH:~/dotfiles/bin' >> ~/.bashrc
# or for zsh users:
echo 'export PATH=$PATH:~/dotfiles/bin' >> ~/.zshrc
# Make scripts executable
chmod +x ~/dotfiles/bin/*
chmod +x ~/dotfiles/hypr/bin/*
```
### Method 3: Docker-based Testing
For testing the configuration without affecting your system:
```bash
# Build the test environment
docker build -t hyprland-dotfiles .
# Run the test environment
docker run -it hyprland-dotfiles
```
## Package Installation
### Essential Packages
Install these packages before using the configuration:
```bash
# Core Hyprland packages
sudo pacman -S hyprland waybar rofi kitty mako
# System utilities
sudo pacman -S fastfetch ranger vim git tmux
# Audio and media
sudo pacman -S pulseaudio pulseaudio-alsa pamixer
# Fonts (important for proper display)
sudo pacman -S ttf-fira-code noto-fonts noto-fonts-emoji
# Additional tools
sudo pacman -S grim slurp wl-clipboard xdg-utils
```
### AUR Packages
Some packages are available in the AUR:
```bash
# Using yay AUR helper
yay -S greenclip hyprlock hyprpaper
# Or using paru
paru -S greenclip hyprlock hyprpaper
```
### Optional Packages
These packages enhance the experience but aren't required:
```bash
# Notification alternatives
sudo pacman -S swaync dunst
# Terminal alternatives
sudo pacman -S alacritty
# System monitoring
sudo pacman -S htop btop neofetch cava
# Display management
sudo pacman -S ly picom
# Development tools
sudo pacman -S code firefox thunderbird
```
## Post-Installation Setup
### 1. Shell Configuration
Add the shell configuration to your shell's RC file:
```bash
# For bash users
echo 'source ~/dotfiles/shell/source.sh' >> ~/.bashrc
# For zsh users
echo 'source ~/dotfiles/shell/source.sh' >> ~/.zshrc
# Reload your shell
source ~/.bashrc # or ~/.zshrc
```
### 2. Environment Variables
Set up environment variables for optimal Wayland experience:
```bash
# Add to ~/.pam_environment or ~/.profile
export XDG_CURRENT_DESKTOP=Hyprland
export XDG_SESSION_DESKTOP=Hyprland
export XDG_SESSION_TYPE=wayland
export MOZ_ENABLE_WAYLAND=1
export QT_QPA_PLATFORM=wayland
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
export GDK_BACKEND=wayland
```
### 3. Display Manager Setup
If using a display manager, configure it to start Hyprland:
#### For GDM/LightDM
Create a desktop entry:
```bash
sudo tee /usr/share/wayland-sessions/hyprland.desktop > /dev/null <<EOF
[Desktop Entry]
Name=Hyprland
Comment=An intelligent dynamic tiling Wayland compositor
Exec=Hyprland
Type=Application
EOF
```
#### For SDDM
```bash
sudo systemctl enable sddm
```
### 4. Auto-start Services
Enable necessary services:
```bash
# Audio service
systemctl --user enable pulseaudio
# Clipboard manager
systemctl --user enable greenclip
# Notification daemon
systemctl --user enable mako
```
## Customization
### 1. Monitor Configuration
Edit `~/dotfiles/hypr/monitors.conf` to match your setup:
```bash
# Example for single monitor
monitor=,preferred,auto,1
# Example for dual monitors
monitor=DP-1,1920x1080@60,0x0,1
monitor=HDMI-A-1,1920x1080@60,1920x0,1
```
### 2. Keyboard Layout
Edit `~/dotfiles/hypr/keyboard.conf`:
```bash
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
}
```
### 3. Startup Applications
Edit `~/dotfiles/hypr/startup.conf` to add your applications:
```bash
exec-once = discord
exec-once = firefox
exec-once = spotify
```
### 4. Window Rules
Customize window behavior in `~/dotfiles/hypr/windowrules.conf`:
```bash
# Example window rules
windowrule = float, ^(pavucontrol)$
windowrule = size 800 600, ^(pavucontrol)$
windowrule = opacity 0.8, ^(kitty)$
```
## Troubleshooting
### Common Issues
#### 1. Hyprland Won't Start
**Check GPU drivers:**
```bash
lspci -k | grep -A 2 -E "(VGA|3D)"
```
**For NVIDIA users:**
```bash
# Install proprietary drivers
sudo pacman -S nvidia nvidia-utils
# Add to kernel parameters
sudo vim /etc/default/grub
# Add: nvidia-drm.modeset=1
sudo grub-mkconfig -o /boot/grub/grub.cfg
```
#### 2. Waybar Not Showing
**Check if running:**
```bash
pgrep waybar
```
**Restart Waybar:**
```bash
killall waybar
waybar &
```
**Check configuration:**
```bash
waybar -c ~/.config/waybar/config -s ~/.config/waybar/style.css
```
#### 3. Audio Issues
**Check PulseAudio:**
```bash
pulseaudio --check
pactl info
```
**Restart audio system:**
```bash
pulseaudio -k
pulseaudio --start
```
#### 4. Rofi Not Working
**Test Rofi:**
```bash
rofi -show drun
```
**Check theme:**
```bash
rofi-theme-selector
```
#### 5. Fonts Not Displaying Correctly
**Install additional fonts:**
```bash
sudo pacman -S ttf-liberation ttf-dejavu
```
**Rebuild font cache:**
```bash
fc-cache -fv
```
### Log Files
Check these locations for debugging:
- **Hyprland**: `~/.local/share/hyprland/hyprland.log`
- **Waybar**: `journalctl --user -u waybar`
- **System**: `journalctl -xe`
### Performance Issues
#### 1. High CPU Usage
**Check running processes:**
```bash
htop
```
**Optimize Hyprland:**
```bash
# In hyprland.conf
misc {
vfr = true
vrr = 1
}
```
#### 2. Memory Usage
**Monitor memory:**
```bash
free -h
watch -n 1 'cat /proc/meminfo | grep -E "MemTotal|MemFree|MemAvailable"'
```
## Updating
### Update Dotfiles
```bash
cd ~/dotfiles
git pull origin main
```
### Update System
```bash
# Update packages
sudo pacman -Syu
# Update AUR packages
yay -Syu # or paru -Syu
```
### Backup Before Updates
```bash
# Create backup
tar -czf ~/dotfiles_backup_$(date +%Y%m%d).tar.gz ~/.config/hypr ~/.config/waybar ~/.config/kitty
# Or use the backup script
~/dotfiles/bin/backup_configs.sh
```
## Uninstallation
### Remove Configurations
```bash
# Remove symbolic links
rm ~/.config/hypr ~/.config/waybar ~/.config/kitty ~/.config/mako
rm ~/.vimrc ~/.tmux.conf ~/.gitconfig
# Remove from PATH
# Edit ~/.bashrc or ~/.zshrc and remove the PATH addition
```
### Remove Packages
```bash
# Remove main packages
sudo pacman -R hyprland waybar rofi kitty mako
# Remove AUR packages
yay -R greenclip hyprlock hyprpaper
```
### Restore Backups
```bash
# If you created backups
mv ~/config_backup/[timestamp]/* ~/.config/
```
## Getting Help
### Community Support
- **Discord**: [Hyprland Discord](https://discord.gg/hyprland)
- **Reddit**: r/hyprland
- **GitHub Issues**: [Project Issues](https://github.com/TolaMironcenko/hyprland_dotfiles/issues)
### Documentation
- **Hyprland Wiki**: [hyprland.org](https://hyprland.org)
- **Waybar Documentation**: [Waybar GitHub](https://github.com/Alexays/Waybar)
- **Arch Wiki**: [Hyprland - ArchWiki](https://wiki.archlinux.org/title/Hyprland)
### Reporting Issues
When reporting issues, please include:
1. **System Information**:
```bash
uname -a
lscpu | grep "Model name"
lspci | grep VGA
```
2. **Package Versions**:
```bash
pacman -Q hyprland waybar rofi kitty
```
3. **Log Files**:
```bash
tail -50 ~/.local/share/hyprland/hyprland.log
```
4. **Configuration Files**:
- Your modified configuration files
- Any custom scripts or modifications
---
**Note**: This installation guide is primarily for Arch Linux. For other distributions, package names and installation methods may differ.
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 Anatoly Mironcenko
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+253 -35
View File
@@ -1,41 +1,259 @@
# This is my Hyprland dotfiles
# Hyprland Dotfiles
## To install all configs you need to create backup your configurations and start
A comprehensive Hyprland configuration with custom scripts, themes, and optimizations for Arch Linux.
## 🖼️ Screenshots
<!-- Add screenshots here -->
![Desktop](screenshots/desktop.png)
![Waybar](screenshots/waybar.png)
![Rofi](screenshots/rofi.png)
## ✨ Features
- **Hyprland** - Dynamic tiling Wayland compositor
- **Waybar** - Highly customizable status bar
- **Rofi** - Application launcher with custom themes
- **Kitty** - GPU-accelerated terminal emulator
- **Mako/SwayNC** - Notification daemon
- **Greenclip** - Clipboard manager
- **Fastfetch** - System information tool
- **Custom scripts** - Automation and utilities
- **Consistent theming** - Unified look across all applications
## 📋 Requirements
### System Requirements
- **OS**: Arch Linux (primary support)
- **Display Server**: Wayland
- **GPU**: Any GPU with Vulkan support (recommended)
### Dependencies
#### Essential Packages
```bash
./install_scripts/install.sh
```
### or
```bash
~/dotfiles/install_scripts/install.sh
```
## Full install commands
```bash
cd ~/
git clone https://github.com/TolaMironcenko/hyprland_dotfiles.git dotfiles
cd ~/dotfiles/install_scripts
./install.sh
# Core Hyprland ecosystem
hyprland waybar rofi kitty mako
# System utilities
fastfetch ranger vim git
# Audio/Media
pulseaudio pamixer
# Additional tools
greenclip xpad telegram-desktop google-chrome
```
## Keybinds
| key | doing |
| --- | ----- |
| mainMod | alt |
| mainMod + q | close window |
| mainMod + v | toggle floating window |
| mainMod + return | open terminal (kitty as default) |
| mainMod + d | open rofi launcher |
| mainMod + shift + p | open rofi powermenu |
| mainMod + c | open rofi greenclip |
| mainMod + b | open hyprlock |
| mainMod + shift + c | do screenshot in clipboard |
| mainMod + [1 ... 0] | open workspase [1 ... 10] |
| mainMod + x | open xpad |
| mainMod + shift + x | open new note in xpad |
| mainMod + a | open telegram-desktop |
| mainMod + g | open google-chrome-stable |
## To install system (Arch Linux) you can change file install_scripts/install-arch.sh
### and start
#### Optional Packages
```bash
./install-arch.sh
# Notification alternatives
swaync dunst
# Terminal alternatives
alacritty
# System monitoring
htop neofetch cava
# Display management
ly picom
```
## 🚀 Installation
### Quick Install
1. **Clone the repository**
```bash
cd ~/
git clone https://github.com/TolaMironcenko/hyprland_dotfiles.git dotfiles
cd ~/dotfiles
```
2. **Run the installation script**
```bash
./install_scripts/install.sh
```
### Manual Installation
If you prefer to install components individually:
```bash
# Hyprland configuration
ln -s ~/dotfiles/hypr ~/.config/hypr
# Waybar configuration
ln -s ~/dotfiles/waybar ~/.config/waybar
# Terminal configuration
ln -s ~/dotfiles/kitty ~/.config/kitty
# Other configurations
ln -s ~/dotfiles/mako ~/.config/mako
ln -s ~/dotfiles/ranger ~/.config/ranger
ln -s ~/dotfiles/fastfetch ~/.config/fastfetch
ln -s ~/dotfiles/vimrc ~/.vimrc
```
### Full System Installation (Arch Linux)
For a complete Arch Linux installation with this configuration:
1. **Customize the installation script**
```bash
vim install_scripts/install-arch.sh
# Edit variables: disk, hostname, normal_user, etc.
```
2. **Run the installer** (as root)
```bash
./install_scripts/install-arch.sh
```
## ⌨️ Keybindings
| Key Combination | Action |
|-----------------|--------|
| `Alt` | Main modifier key |
| `Alt + Q` | Close window |
| `Alt + V` | Toggle floating window |
| `Alt + Return` | Open terminal (Kitty) |
| `Alt + D` | Open Rofi launcher |
| `Alt + Shift + P` | Open Rofi power menu |
| `Alt + C` | Open Rofi clipboard (Greenclip) |
| `Alt + B` | Lock screen (Hyprlock) |
| `Alt + Shift + C` | Screenshot to clipboard |
| `Alt + [1-0]` | Switch to workspace [1-10] |
| `Alt + X` | Open Xpad |
| `Alt + Shift + X` | Open new note in Xpad |
| `Alt + A` | Open Telegram |
| `Alt + G` | Open Google Chrome |
### Additional Keybindings
- **Window Management**: `Alt + H/J/K/L` for directional focus
- **Workspace Movement**: `Alt + Shift + [1-0]` to move window to workspace
- **Resize Mode**: `Alt + R` to enter resize mode
- **Fullscreen**: `Alt + F` to toggle fullscreen
## 🎨 Customization
### Themes
The configuration uses a consistent color scheme across all applications:
- **Primary**: Blue accent (`#33ccff`)
- **Secondary**: Green accent (`#00ff99`)
- **Background**: Dark theme optimized for OLED displays
### Waybar Modules
Current modules (left to right):
- **Left**: Launcher, CPU, Memory, Temperature, Disk, Weather, Updates, Window title
- **Center**: Workspaces
- **Right**: Audio, Media, Backlight, Keyboard, Language, Battery, Clock, Tray, Power
### Rofi Themes
Multiple Rofi configurations included:
- Application launcher
- Power menu
- Clipboard manager
- Emoji picker (rofimoji)
## 🔧 Configuration Structure
```
dotfiles/
├── hypr/ # Hyprland configuration
│ ├── hyprland.conf # Main configuration
│ ├── keybinds.conf # Keybinding definitions
│ ├── startup.conf # Startup applications
│ └── windowrules.conf # Window rules
├── waybar/ # Status bar configuration
├── rofi/ # Application launcher themes
├── kitty/ # Terminal configuration
├── mako/ # Notification daemon
├── ranger/ # File manager
├── shell/ # Shell aliases and functions
├── bin/ # Custom scripts
└── install_scripts/ # Installation automation
```
## 🛠️ Troubleshooting
### Common Issues
1. **Hyprland won't start**
- Check GPU drivers: `lspci -k | grep -A 2 -E "(VGA|3D)"`
- Verify Wayland support: `echo $XDG_SESSION_TYPE`
2. **Waybar not showing**
- Check if running: `pgrep waybar`
- Restart: `killall waybar && waybar &`
3. **Audio issues**
- Check PulseAudio: `pulseaudio --check`
- Restart audio: `pulseaudio -k && pulseaudio --start`
4. **Rofi not launching**
- Check configuration: `rofi -dump-config`
- Test with: `rofi -show drun`
### Log Files
- **Hyprland**: `~/.local/share/hyprland/hyprland.log`
- **Waybar**: Check journal: `journalctl --user -u waybar`
## 📝 Shell Aliases
The configuration includes numerous helpful aliases:
### System Management
- `p` - pacman
- `pi` - install package
- `psyu` - system upgrade
- `sctl` - systemctl
- `ff` - fastfetch
### Development
- `g` - git
- `ga` - git add
- `gc` - git clone
- `gst` - git status
### Docker
- `dr` - docker run
- `dpa` - docker ps -a
- `ds` - docker start
[Full alias list in `shell/source.sh`]
## 🤝 Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Test thoroughly
5. Submit a pull request
## 📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
## 🙏 Acknowledgments
- [Hyprland](https://hyprland.org/) - Amazing Wayland compositor
- [Waybar](https://github.com/Alexays/Waybar) - Flexible status bar
- [Rofi](https://github.com/davatorium/rofi) - Application launcher
- The Arch Linux community for excellent documentation
## 📞 Support
- **Issues**: [GitHub Issues](https://github.com/TolaMironcenko/hyprland_dotfiles/issues)
- **Wiki**: [Project Wiki](https://github.com/TolaMironcenko/hyprland_dotfiles/wiki)
- **Email**: [Contact](mailto:your-email@example.com)
---
**Note**: This configuration is primarily tested on Arch Linux. While it may work on other distributions, you may need to adjust package names and paths accordingly.