Change viewtube to simple script
This commit is contained in:
parent
101a0dedb7
commit
4084b5fd3c
@ -42,8 +42,8 @@ with import ../support.nix { inherit lib config; }; {
|
|||||||
cmd = "${pkgs.xarchiver}/bin/xarchiver";
|
cmd = "${pkgs.xarchiver}/bin/xarchiver";
|
||||||
desktop = "xarchiver";
|
desktop = "xarchiver";
|
||||||
};
|
};
|
||||||
viewtube = {
|
youtube-to-mpv = {
|
||||||
desktop = "viewtube";
|
cmd = "${pkgs.youtube-to-mpv}/bin/yt-mpv";
|
||||||
};
|
};
|
||||||
# archive = {
|
# archive = {
|
||||||
# cmd = "${pkgs.ark}/bin/ark";
|
# cmd = "${pkgs.ark}/bin/ark";
|
||||||
@ -62,7 +62,7 @@ with import ../support.nix { inherit lib config; }; {
|
|||||||
# desktop = "gnumeric";
|
# desktop = "gnumeric";
|
||||||
# };
|
# };
|
||||||
};
|
};
|
||||||
home-manager.users.alukard.xdg.configFile."mimeapps.list".text =
|
home-manager.users.alukard.xdg.configFile."mimeapps.list.home".text =
|
||||||
with config.defaultApplications;
|
with config.defaultApplications;
|
||||||
let
|
let
|
||||||
apps = builtins.mapAttrs (name: value: "${value.desktop}.desktop;") {
|
apps = builtins.mapAttrs (name: value: "${value.desktop}.desktop;") {
|
||||||
@ -101,11 +101,13 @@ with import ../support.nix { inherit lib config; }; {
|
|||||||
"embed-text/plain" = false;
|
"embed-text/plain" = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
# home-manager.users.alukard.home.activation.mimeapps = {
|
home-manager.users.alukard.home.activation.mimeapps = {
|
||||||
# before = [];
|
before = [];
|
||||||
# after = ["linkGeneration"];
|
after = ["linkGeneration"];
|
||||||
# data =
|
data = ''
|
||||||
# "$DRY_RUN_CMD cp ~/.config/mimeapps.list.home ~/.config/mimeapps.list";
|
$DRY_RUN_CMD rm -f ~/.config/mimeapps.list
|
||||||
# };
|
$DRY_RUN_CMD cp ~/.config/mimeapps.list.home ~/.config/mimeapps.list
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,8 @@
|
|||||||
vdpauinfo
|
vdpauinfo
|
||||||
libva-utils
|
libva-utils
|
||||||
lm_sensors
|
lm_sensors
|
||||||
|
libnotify
|
||||||
|
youtube-to-mpv
|
||||||
# Other
|
# Other
|
||||||
(vivaldi.override { proprietaryCodecs = true; })
|
(vivaldi.override { proprietaryCodecs = true; })
|
||||||
wget
|
wget
|
||||||
|
28
modules/applications/youtube-to-mpv.nix
Normal file
28
modules/applications/youtube-to-mpv.nix
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
{ stdenv, pkgs }:
|
||||||
|
let
|
||||||
|
myScript = if config.deviceSpecific.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)"
|
||||||
|
else
|
||||||
|
${pkgs.mpv}/bin/mpv --hwdec=vaapi --fs "$(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)"
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "youtube-to-mpv";
|
||||||
|
src = myScript;
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cp ./bin/yt-mpv $out/bin/yt-mpv
|
||||||
|
'';
|
||||||
|
}
|
@ -33,7 +33,7 @@
|
|||||||
./applications.nix
|
./applications.nix
|
||||||
./secrets.nix
|
./secrets.nix
|
||||||
./devices.nix
|
./devices.nix
|
||||||
# ./packages.nix
|
./packages.nix
|
||||||
./nix.nix
|
./nix.nix
|
||||||
./users.nix
|
./users.nix
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
(self: old:
|
(self: old:
|
||||||
rec {
|
rec {
|
||||||
# nerdfonts = nur.balsoft.pkgs.roboto-mono-nerd;
|
# nerdfonts = nur.balsoft.pkgs.roboto-mono-nerd;
|
||||||
|
youtube-to-mpv = pkgs.callPackage ./applications/youtube-to-mpv.nix {};
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
];
|
];
|
||||||
|
@ -110,6 +110,7 @@ in {
|
|||||||
"${modifier}+w" = "exec ${apps.dmenu.cmd}";
|
"${modifier}+w" = "exec ${apps.dmenu.cmd}";
|
||||||
"${modifier}+Return" = "exec ${apps.term.cmd}";
|
"${modifier}+Return" = "exec ${apps.term.cmd}";
|
||||||
"${modifier}+e" = "exec ${apps.editor.cmd} -c -n";
|
"${modifier}+e" = "exec ${apps.editor.cmd} -c -n";
|
||||||
|
"${modifier}+y" = "exec ${apps.youtube-to-mpv.cmd}";
|
||||||
"${modifier}+l" = "layout toggle";
|
"${modifier}+l" = "layout toggle";
|
||||||
"${modifier}+Left" = "focus child; focus left; exec ${moveMouse}";
|
"${modifier}+Left" = "focus child; focus left; exec ${moveMouse}";
|
||||||
"${modifier}+Right" = "focus child; focus right; exec ${moveMouse}";
|
"${modifier}+Right" = "focus child; focus right; exec ${moveMouse}";
|
||||||
|
@ -1,35 +1,16 @@
|
|||||||
{ config, lib, pkgs, ... }: {
|
{ config, lib, pkgs, ... }:
|
||||||
|
with rec {
|
||||||
|
inherit (config) deviceSpecific;
|
||||||
|
};
|
||||||
|
with deviceSpecific; {
|
||||||
home-manager.users.alukard.programs.mpv = {
|
home-manager.users.alukard.programs.mpv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
config = {
|
||||||
|
ytdl-format = if isLaptop then
|
||||||
home-manager.users.alukard.home.file.".local/share/applications/viewtube.desktop" = {
|
"bestvideo[height<=?1080]+bestaudio/best"
|
||||||
text = ''
|
|
||||||
[Desktop Entry]
|
|
||||||
Name=ViewTube Protocol
|
|
||||||
Exec=/home/alukard/.scripts/viewtube.sh %u
|
|
||||||
Type=Application
|
|
||||||
Terminal=false
|
|
||||||
MimeType=x-scheme-handler/viewtube
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
home-manager.users.alukard.home.file.".scripts/viewtube.sh" = {
|
|
||||||
executable = true;
|
|
||||||
text = ''
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
s="$(echo "$1" | sed -e "s/viewtube://")"
|
|
||||||
v="$(echo "$s" | awk -F 'SEPARATOR' '{print $1}')"
|
|
||||||
a="$(echo "$s" | awk -F 'SEPARATOR' '{print $2}')"
|
|
||||||
if [ "$a" = "" ]; then
|
|
||||||
echo "$v" > viewtube.log
|
|
||||||
mpv --log-file=mpv.log --hwdec=vaapi --fs --ytdl=yes "$v" >> viewtube.log
|
|
||||||
#cvlc -f "$v"
|
|
||||||
else
|
else
|
||||||
echo "$v" > viewtube.log
|
"bestvideo+bestaudio/best";
|
||||||
echo "$a" >> viewtube.log
|
# cache-default = 4000000;
|
||||||
mpv --log-file=mpv.log --hwdec=vaapi --fs --ytdl=yes --audio-file "$a" "$v" >> viewtube.log
|
}
|
||||||
#cvlc -f --input-slave "$a" "$v"
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user