diff --git a/modules/applications.nix b/modules/applications.nix index 8f0237f..10d19bc 100644 --- a/modules/applications.nix +++ b/modules/applications.nix @@ -42,9 +42,6 @@ with import ../support.nix { inherit lib config; }; { cmd = "${pkgs.xarchiver}/bin/xarchiver"; desktop = "xarchiver"; }; - youtube-to-mpv = { - cmd = "${pkgs.youtube-to-mpv}/bin/yt-mpv"; - }; # archive = { # cmd = "${pkgs.ark}/bin/ark"; # desktop = "org.kde.ark"; diff --git a/modules/applications/youtube-to-mpv.nix b/modules/applications/youtube-to-mpv.nix index eb39779..e039532 100644 --- a/modules/applications/youtube-to-mpv.nix +++ b/modules/applications/youtube-to-mpv.nix @@ -1,21 +1,32 @@ { stdenv, pkgs, isLaptop ? false }: +# TODO: отвязать от urxvt let myScript = if isLaptop then pkgs.writeShellScriptBin "yt-mpv" '' - BATTERY="`${pkgs.acpi}/bin/acpi -b | grep --invert-match unavailable | head -1`" - STATUS=`awk -F'[,:] ' '{print $2}' <<< "$BATTERY"` - ${pkgs.libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Video" "$(xclip -o)"; - if [[ "$STATUS" == "Discharging" ]]; then - ${pkgs.mpv}/bin/mpv --hwdec=vaapi --fs --ytdl-format="bestvideo[height<=?1080][fps<=?30][vcodec!=?vp9]+bestaudio/best" "$(xclip -o)" + if [[ "$1" != "--no-video" ]]; then + BATTERY="`${pkgs.acpi}/bin/acpi -b | grep --invert-match unavailable | head -1`" + STATUS=`awk -F'[,:] ' '{print $2}' <<< "$BATTERY"` + ${pkgs.libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Video" "$(xclip -o)" + if [[ "$STATUS" == "Discharging" ]]; then + ${pkgs.mpv}/bin/mpv --fs --ytdl-format="bestvideo[height<=?1080][fps<=?30][vcodec!=?vp9]+bestaudio/best" "$(xclip -o)" + else + ${pkgs.mpv}/bin/mpv --fs "$(xclip -o)" + fi else - ${pkgs.mpv}/bin/mpv --hwdec=vaapi --fs "$(xclip -o)" + ${pkgs.libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Audio" "$(xclip -o)" + ${pkgs.rxvt_unicode}/bin/urxvt -e ${pkgs.mpv}/bin/mpv --no-video "$(xclip -o)" fi '' else pkgs.writeShellScriptBin "yt-mpv" '' - ${pkgs.libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Video" "$(xclip -o)"; - ${pkgs.mpv}/bin/mpv --hwdec=vaapi --fs "$(xclip -o)" + if [[ "$1" != "--no-video" ]]; then + ${pkgs.libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Video" "$(xclip -o)" + ${pkgs.mpv}/bin/mpv --fs "$(xclip -o)" + else + ${pkgs.libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Audio" "$(xclip -o)" + ${pkgs.rxvt_unicode}/bin/urxvt -e ${pkgs.mpv}/bin/mpv --no-video "$(xclip -o)" + fi ''; in stdenv.mkDerivation rec { diff --git a/modules/workspace/i3/default.nix b/modules/workspace/i3/default.nix index 4a45372..943bf50 100644 --- a/modules/workspace/i3/default.nix +++ b/modules/workspace/i3/default.nix @@ -109,8 +109,9 @@ in { "${modifier}+q" = "kill"; "${modifier}+w" = "exec ${apps.dmenu.cmd}"; "${modifier}+Return" = "exec ${apps.term.cmd}"; - "${modifier}+e" = "exec ${apps.editor.cmd} -c -n"; - "${modifier}+y" = "exec ${apps.youtube-to-mpv.cmd}"; + "${modifier}+e" = "exec ${apps.editor.cmd}"; + "${modifier}+y" = "exec ${pkgs.youtube-to-mpv}/bin/yt-mpv"; + "${modifier}+Shift+y" = "exec ${pkgs.youtube-to-mpv}/bin/yt-mpv --no-video"; "${modifier}+l" = "layout toggle"; "${modifier}+Left" = "focus child; focus left; exec ${moveMouse}"; "${modifier}+Right" = "focus child; focus right; exec ${moveMouse}"; @@ -133,12 +134,12 @@ in { "${modifier}+Shift+f" = "floating toggle"; "${modifier}+d" = "exec ${apps.fm.cmd}"; "${modifier}+Escape" = "exec ${apps.monitor.cmd}"; - "${modifier}+Print" = "exec ${pkgs.spectacle}/bin/spectacle -b"; - "${modifier}+Control+Print" = "exec ${pkgs.spectacle}/bin/spectacle"; + "${modifier}+Print" = "exec ${pkgs.maim}/bin/maim -s ~/Pictures/$(date +%s).png"; + "${modifier}+Control+Print" = "exec ${pkgs.maim}/bin/maim -s | xclip -selection clipboard -t image/png"; "--release ${modifier}+Shift+Print" = - "exec ${pkgs.spectacle}/bin/spectacle -b -r"; + "exec ${pkgs.maim}/bin/maim ~/Pictures/$(date +%s).png"; "--release ${modifier}+Control+Shift+Print" = - "exec ${pkgs.spectacle}/bin/spectacle -r"; + "exec ${pkgs.maim}/bin/maim | xclip -selection clipboard -t image/png"; "${modifier}+x" = "move workspace to output right"; "${modifier}+c" = "workspace "; "${modifier}+Shift+c" = "move container to workspace "; diff --git a/modules/workspace/mpv.nix b/modules/workspace/mpv.nix index 1e52943..62157a0 100644 --- a/modules/workspace/mpv.nix +++ b/modules/workspace/mpv.nix @@ -17,4 +17,11 @@ with deviceSpecific; { "bestvideo+bestaudio/best"; }; }; + # TODO: отвязать от /home/alukard + home-manager.users.alukard.home.file.".config/youtube-dl/config" = { + text = '' + --cookie=/home/alukard/.config/yt-cookie + --mark-watched + ''; + }; } \ No newline at end of file