am

Crates.ioam
lib.rsam
version0.5.4
sourcesrc
created_at2019-05-23 05:12:02.997197
updated_at2024-09-12 07:40:05.16795
descriptionA beautiful and feature-packed Apple Music CLI
homepagehttps://github.com/ryanccn/am
repositoryhttps://github.com/ryanccn/am.git
max_upload_size
id136280
size273,185
Ryan Cao (ryanccn)

documentation

README

am

A beautiful and feature-packed Apple Music CLI!

Written in Rust.

Installation

Nix (recommended)

This GitHub repository contains a flake. Add github:ryanccn/am to your flake inputs:

{
  inputs = {
    # ...other inputs
    am = {
      url = "github:ryanccn/am";
      inputs.nixpkgs.follows = "nixpkgs";
    }
  }
}

Then, use the overlay from overlays.default and add am to your packages. Alternatively, you can use packages.{default,am} directly.

Cargo

You can install am through cargo from crates.io.

$ cargo install am

Manual download

Download the aarch64 (Apple Silicon) or the x86_64 (Intel) version of the binary.

Dequarantine them with xattr -d com.apple.quarantine <path> and make them executable with chmod +x <path>.

Features

  • Beautiful now playing display
  • Playback controls (play, pause, toggle, resume, back, forward, next, previous)
  • Discord rich presence
  • Launch agent installation
  • Shell completions

Screenshots

am now

am now

am next

am next

am discord

am discord

Discord presence launch agent

Through a macOS launch agent, the Discord rich presence can be made to run in the background as long as you are logged in.

Standard installation

You can install the Discord presence as a launch agent by running am discord install. Note that this depends on the executable/symlink staying in the same place; if it moves to a different place, run the command again.

The am process running in the launch agent will log to ~/Library/Logs/am-discord-rich-presence.log.

You can uninstall the launch agent with am discord uninstall.

Home Manager

This repository's flake also provides a Home Manager module at homeManagerModules.default. This module exposes a service am-discord-rich-presence that you can enable.

{
  services.am-discord-rich-presence = {
    enable = true;

    # optional
    # logFile = "${config.xdg.cacheHome}/am-discord-rich-presence.log";
  }
}

Thanks to...

License

GPLv3

Commit count: 134

cargo fmt