Skip to content

Latest commit

 

History

History
273 lines (188 loc) · 4.21 KB

File metadata and controls

273 lines (188 loc) · 4.21 KB

SessionIntent - Installation Guide

Quick Install

Method 1: One-liner (Recommended)

curl -fsSL https://raw.githubusercontent.com/fazrigading/SessionIntent/master/scripts/install.sh | bash

Method 2: Manual Installation

Prerequisites

Before installing SessionIntent, ensure you have:

# Python 3.10+
python3 --version

# PyYAML
pip install PyYAML

# UI tool (one of)
sudo dnf install wofi    # Fedora
sudo apt install rofi    # Ubuntu/Debian

Steps

  1. Clone the repository
git clone https://github.com/fazrigading/SessionIntent.git
cd SessionIntent
  1. Install dependencies
pip install -r requirements.txt
  1. Run installer
./scripts/install.sh

This will:

  • Copy sessionintent.py to ~/.local/bin/sessionintent
  • Create config directory ~/.config/sessionintent/
  • Install default configs
  • Create autostart entry
  1. Verify installation
sessionintent --help

Manual Installation (Detailed)

If you prefer to install manually:

1. Copy Script

cp sessionintent.py ~/.local/bin/sessionintent
chmod +x ~/.local/bin/sessionintent

Ensure ~/.local/bin is in your $PATH:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

2. Create Config Directory

mkdir -p ~/.config/sessionintent
mkdir -p ~/.local/state/sessionintent

3. Install Default Configs

# Copy example configs
cp config.yaml.example ~/.config/sessionintent/config.yaml
cp apps.yaml.example ~/.config/sessionintent/apps.yaml

4. Set Up Autostart (Optional)

Create desktop file:

mkdir -p ~/.config/autostart

cat > ~/.config/autostart/sessionintent.desktop << EOF
[Desktop Entry]
Type=Application
Name=SessionIntent
Comment=Session mode selector
Exec=sessionintent
X-GNOME-AutoRestart=false
X-GNOME-Autostart-Delay=3
EOF

RPM Package (Fedora)

Enable COPR Repository

sudo dnf copr enable fazrigading/sessionintent

Install Package

sudo dnf install sessionintent

Configure

sessionintent --init

Arch Linux (AUR)

Using an AUR helper:

yay -S sessionintent
# or
paru -S sessionintent

Distribution-Specific Notes

Fedora

SessionIntent is designed for Linux with GNOME Wayland.

# Install dependencies
sudo dnf install python3-pyyaml wofi gnome-shell

# Install SessionIntent
curl -fsSL https://example.com/install.sh | bash

Ubuntu/Debian

# Install dependencies
sudo apt install python3-pip python3-yaml rofi

# Clone and install
git clone https://github.com/fazrigading/SessionIntent.git
cd SessionIntent
pip3 install -r requirements.txt
./scripts/install.sh

Other Distributions

Use the general installation method:

pip3 install PyYAML
curl -fsSL https://example.com/install.sh | bash

Verification

After installation, verify:

# Check command exists
which sessionintent

# Show help
sessionintent --help

# Test in dev mode
sessionintent --dev --mode browsing

Uninstallation

Using Script

./scripts/install.sh --uninstall

Manual

# Remove script
rm ~/.local/bin/sessionintent

# Remove configs (WARNING: This deletes your custom config!)
rm -rf ~/.config/sessionintent

# Remove autostart
rm ~/.config/autostart/sessionintent.desktop

Troubleshooting

"sessionintent: command not found"

Add to $PATH:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

"PyYAML not found"

Install:

pip3 install PyYAML

"wofi/rofi not found"

Install one:

# Fedora
sudo dnf install wofi

# Ubuntu/Debian
sudo apt install rofi

"Permission denied" on config

Check permissions:

ls -la ~/.config/sessionintent/
chmod 644 ~/.config/sessionintent/*.yaml

Advanced Installation

Custom Install Location

INSTALL_DIR="/path/to/custom/dir" ./scripts/install.sh

No Autostart

INSTALL_NO_AUTOSTART=1 ./scripts/install.sh

Skip Dependencies Check

SKIP_DEPS_CHECK=1 ./scripts/install.sh

Contributing New Installers

We welcome installers for other distributions! See CONTRIBUTING.md for details.