# Exported Fish Environment: ros2-lectures

This directory contains a self-contained Fish shell environment that can be used
without requiring the original Fish configuration.

## Files Structure
```
.fish/
├── activate.fish    # Main environment configuration
└── README.md        # This file
```

## Usage

### Automatic Activation (Recommended)
The environment will automatically activate when you `cd` into this directory
if your Fish shell is configured with the auto-activation feature that checks
for `.fish/activate.fish`.

### Manual Activation
To manually activate the environment, run from the project root:
```bash
source ./.fish/activate.fish
```

### Deactivation
To deactivate the environment, run:
```bash
env deactivate
```

Or simply `cd` to a different directory if using auto-activation.

## What This Environment Provides

- Custom prompt showing the environment name
- Environment-specific aliases and functions
- Custom environment variables
- Automatic cleanup when deactivated

## Requirements

- Fish shell
- If this is a ROS2 environment: `bass` plugin (`fisher install edc/bass`)

## Sharing

This environment is completely self-contained. You can:
1. Copy this directory to another machine
2. Share it with other Fish shell users
3. Version control it with your project (add .fish/ to your repo)

The environment will work on any system with Fish shell, regardless of whether
they have the original environment management system installed.

## Auto-activation Setup

To enable auto-activation for .fish/activate.fish, add this to your Fish config.fish:
```fish
function check_and_source_activate
  if test -f (pwd)/.fish/activate.fish
    source (pwd)/.fish/activate.fish
  elif test -f (pwd)/activate.fish
    source (pwd)/activate.fish
  end
end

function cd
  builtin cd $argv && check_and_source_activate
end
```