dotfiles

My PC Dotfiles & Website

youtube.nix (905B)


## YT Configuration ##
{config, ...}: let
  inherit (config.flake) files;
in {
  flake.modules.homeManager.youtube = {
    config,
    lib,
    pkgs,
    osConfig ? {},
    ...
  }: let
    isWM = (osConfig.programs.hyprland.enable or false) || (osConfig.programs.niri.enable or false);
    style =
      if isWM
      then "@import url('https://youtubemusic.catppuccin.com/src/${config.catppuccin.flavor}.css');"
      else "";
  in {
    config.home = {
      packages = with pkgs; [
        pear-desktop
        youtube-tui
        yt-dlp
      ];

      persist.directories = [
        ".config/pear-desktop"
        ".config/youtube-tui"
        ".local/share/youtube-tui"
      ];

      file.".config/pear-desktop/config.json" = {
        text = lib.replaceStrings ["@theme"] [(builtins.toFile "style.css" style)] files.youtube;
        mutable = true;
        force = true;
      };
    };
  };
}