A terminal-based user interface (TUI) for Jellyfin, built with Bubbletea and Lipgloss. Browse your music library, play tracks, and enjoy a sleek terminal experience.
-
Clone the repository:
git clone https://github.com/cedev-1/jellyfin-mustui.git cd jellyfin-mustuiTo get the direnv setup run
direnv allowif you have direnv installed. -
Install dependencies:
go mod tidy
-
Build the application:
go build -o jellyfin-mustui ./cmd/jellyfin-mustui
Or run directly:
go run ./cmd/jellyfin-mustui/main.go
If you're using NixOS, you can integrate jellyfin-mustui into your system configuration using flakes.
Modify your system's flake.nix.
{
description = "My NixOS configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
# ADD THIS
jellyfin-mustui.url = "github:cedev-1/jellyfin-mustui";
# This line forces the app to use the same nixpkgs version as your system
# to avoid downloading duplicate dependencies:
jellyfin-mustui.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { self, nixpkgs, ... }@inputs: {
.
.
.
};
}And add the package to your configuration.nix:
{ config, pkgs, inputs, ... }:
# ^^^ Make sure 'inputs' is in the function arguments at the top
{
# ... your existing configuration ...
environment.systemPackages = [
# Access the default package from the flake
inputs.jellyfin-mustui.packages.${pkgs.system}.default
];
}-
Run the application:
./jellyfin-mustui
-
On first launch, enter your Jellyfin server details (URL, username, password).
-
Browse your music:
- Use arrow keys or Vim keys (
h,j,k,l) to navigate. - Press
Tabto switch between Artists and Tracks panels. - Press
Enterto select an artist/album or play a track. - Press
/to filter/search in lists. - Press
Spaceto play/pause,n/pfor next/previous track.
- Use arrow keys or Vim keys (
-
Press
?for help,qto quit.
- Navigation:
↑/↓ork/j(up/down),Tab(switch panels) - Selection:
Enter(select/play) - Albums:
h/lor←/→(previous/next album in Tracks panel) - Playback:
Space(play/pause),n(next),p(previous) - Search:
/(filter in lists) - Help:
?(toggle help),Esc(close help or cancel) - Quit:
q(orCtrl+C)
The app saves your login details in a config file (e.g., ~/.config/jellyfin-mustui/config.json on Linux).
MIT LICENSE.
