diff --git a/home-manager/linux/programs/hyprland.nix b/home-manager/linux/programs/hyprland.nix index 63913de..523cb60 100644 --- a/home-manager/linux/programs/hyprland.nix +++ b/home-manager/linux/programs/hyprland.nix @@ -319,7 +319,9 @@ in with lib; { programs.waybar = { enable = true; package = - inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".waybar.overrideAttrs + (inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".waybar.override { + withMediaPlayer = true; + }).overrideAttrs (old: { mesonFlags = old.mesonFlags ++ [ "-Dexperimental=true" ]; }); systemd = { enable = false; }; settings = { @@ -336,7 +338,7 @@ in with lib; { modules-center = [ "custom/launcher" "wlr/workspaces" - "mpd" + "custom/media" # "hyprland/window" "idle_inhibitor" "pulseaudio" @@ -400,19 +402,17 @@ in with lib; { spacing = 10; }; "clock" = { format = "{:%I:%M%p %Y-%m-%d}"; }; - "mpd" = { - format = - "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S})"; - format-disconnected = "Disconnected ❌"; - format-stopped = - "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ⏸"; - consume-icons = { on = "🍴"; }; - random-icons = { on = "🔀"; }; - repeat-icons = { on = "🔁"; }; - state-icons = { - paused = "⏸"; - playing = "▶"; + "custom/media" = { + format = "{icon} {}"; + return-type = "json"; + max-length = 50; + format-icons = { + spotify = " "; + default = " "; }; + escape = true; + exec = "waybar-mediaplayer.py 2> /dev/null"; + on-click = "playerctl play-pause"; }; "custom/notification" = { tooltip = false; @@ -630,6 +630,15 @@ in with lib; { color: red; } + #custom-media { + background-color: #8EC5FC; + background-image: linear-gradient(62deg, #8EC5FC 0%, #E0C3FC 100%); + color: black; + border-radius: 20px; + margin-right: 5px; + } + + #custom-media { background-color: #8EC5FC; background-image: linear-gradient(62deg, #8EC5FC 0%, #E0C3FC 100%); diff --git a/home-manager/linux/programs/media.nix b/home-manager/linux/programs/media.nix index 08f4091..332c622 100644 --- a/home-manager/linux/programs/media.nix +++ b/home-manager/linux/programs/media.nix @@ -4,13 +4,6 @@ let config = { allowUnfree = true; }; system = pkgs.system; }; - irisDesktopItem = pkgs.makeDesktopItem { - name = "iris"; - desktopName = "Iris"; - exec = - ''${pkgs.chromium}/bin/chromium "--app=http://localhost:6680/iris/"''; - terminal = false; - }; in { config = lib.mkMerge [ (lib.mkIf config.nathan.programs.media.enable { @@ -21,11 +14,11 @@ in { unstable.jellyfin-media-player unstable.obs-studio nicotine-plus - irisDesktopItem picard mpc-cli calibre playerctl + ymuse ]; # Register haruna as the default video player xdg.mimeApps.defaultApplications = { @@ -44,6 +37,7 @@ in { mopidy-iris mopidy-scrobbler mopidy-local + mopidy-mpris ]; # extraConfigFiles = config.nathan.programs.media.mopidyExtraConfig; settings = { @@ -53,6 +47,7 @@ in { media_dir = "~/Music"; }; mpd = { enabled = true; }; + mpris = { enabled = true; }; }; extraConfigFiles = [ nixosConfig.sops.secrets."last.fm".path ]; };