Skip to content

Latest commit

Β 

History

56 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Selene πŸŒ™

There are truths that only the light of the moon can reveal.

Selene is a friendly terminal application for installing, checking, rolling back, and completely removing the LuaTools stack on Linux. It is written in Go for people who use native Steam, including games running through Proton.

Created by YlanzinhoY as an independent community project.

Why Selene

  • A TUI built with Bubble Tea, Lip Gloss, and Bubbles.
  • Pinned LuaTools, Lumen, and slsteam-moon artifacts verified with SHA-256.
  • Clear installation details before anything changes.
  • User-only installation without sudo.
  • Persistent snapshots and automatic recovery on failure.
  • Rollback that restores the previous state and restarts Steam.
  • Complete LuaTools removal without deleting Steam or games.
  • Community plugins for safer Steam and Proton integration on supported Linux systems.

Goals

  • Keep the normal experience entirely inside the TUI.
  • Avoid administrative privileges whenever possible.
  • Explain every change before applying it.
  • Verify every download with a pinned size and SHA-256 digest.
  • Snapshot affected files before mutation.
  • Restore the previous state and restart Steam after rollback.
  • Remove the full LuaTools, Lumen, and slsteam-moon integration without touching games.

Compatibility

Selene v0.0.3 currently requires:

  • Linux x86_64/amd64.
  • Native Steam opened at least once.
  • A regular desktop user session.
  • Internet access for artifacts not already cached.

Wine and Proton do not block Selene. Each game continues using the compatibility tool selected in Steam. Flatpak Steam can be detected, but it is not an installation target yet.

Never run Selene with sudo.

Install v0.0.3

Download and inspect the bootstrap before running it:

curl --proto '=https' --tlsv1.2 -fL \
  https://raw.githubusercontent.com/YlanzinhoY/Selene/main/install.sh \
  -o /tmp/selene-install.sh

less /tmp/selene-install.sh
sh /tmp/selene-install.sh --version v0.0.3

Press q to close less. The bootstrap verifies the release checksum and atomically installs only ~/.local/bin/selene.

If selene is not found after installation:

export PATH="$HOME/.local/bin:$PATH"
selene

See the user guide for a dry run, detailed usage, paths, and troubleshooting.

Use

Start the TUI without arguments:

selene

Use ↑/↓ to navigate, Enter to select, Esc to go back, and q to quit.

A good first run is:

  1. Open Check compatibility.
  2. Review Installation details.
  3. Select Install LuaTools and read the confirmation.
  4. Open Steam after installation succeeds.

Use Undo last installation to restore the exact previous snapshot. Use Remove LuaTools completely when you want to remove the full LuaTools, Lumen, and slsteam-moon user integration. Neither action deletes games.

Plugins

Open Plugins NEW from the home screen to access optional, user-scoped integrations.

NTFS Proton compatdata link

This plugin is intended for Windows/Linux dual-boot users who keep Steam games on a dedicated NTFS partition. Games remain shared on NTFS while Selene places Proton compatibility data on native Linux storage. It can also detect filename handling that may cause missing assets or broken graphics and offer a temporary correction for the current session.

Selene shows the complete plan and asks to close Steam before making changes. It does not delete games or require sudo.

Important

Do not use the Windows system partition, usually C:. Prefer a separate partition dedicated to games. If the library is used only on Linux, use Btrfs or Ext4 instead.

After rollback, Proton games from that NTFS library will not launch on Linux until the plugin is configured again.

Safety

Selene does not execute the mutable LuaTools installer from main. It downloads exact release artifacts over HTTPS, verifies their expected size and SHA-256 digest, inspects archives, and stages files privately.

Every mutation starts with a snapshot. Failed installation or removal triggers recovery, and Steam is restarted after rollback so the restored configuration takes effect.

Read Security and Transactions and rollback for the full trust and recovery model.

Documentation

Guide Purpose
User guide Installation, TUI actions, rollback, removal, and troubleshooting
CachyOS testing Hardware validation checklist and report format
Transactions Snapshots, journals, rollback, and recovery boundaries
Architecture Components and trust boundaries
Catalog Pinned upstream artifacts and manifest maintenance
Contributing Development, interface text, tests, and builds
Security Security rules and vulnerability reporting

Development

git clone https://github.com/YlanzinhoY/Selene.git
cd Selene
go test ./...
go run ./cmd/selene

See CONTRIBUTING.md before changing code, copy, catalogs, or release artifacts.

Roadmap

  • Charm TUI.
  • Linux, Steam, and Proton compatibility checks.
  • Pinned real artifacts and SHA-256 verification.
  • Transactional user-only installation.
  • Persistent manual and automatic rollback.
  • Automatic Steam restart after rollback.
  • Transactional complete removal.
  • TUI-only operational interface.
  • 100% compatibility with Selene's supported native Steam workflows on CachyOS and Bazzite.
  • Signed catalog and releases.
  • Native Flatpak Steam support.
  • Snapshot retention policy.
  • Automated GitHub releases and AUR packaging.

Independence

Selene is not affiliated with Valve, Steam, LuaTools, or the authors of the integrated components. Each upstream project retains its own authorship and license.

About

Selene is an independent community project written in Go. It provides a friendly terminal interface for installing, checking, rolling back, and completely removing the LuaTools stack on Linux, including systems where games run through Proton. πŸŒ•

Resources

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages