mpv stuff and mcsr stuff (sens might change in future)
This commit is contained in:
parent
0f93c069c2
commit
ce2f9191c7
9 changed files with 110 additions and 28 deletions
Binary file not shown.
|
Before Width: | Height: | Size: 593 KiB |
BIN
assets/wallpapers/yukata.png
Normal file
BIN
assets/wallpapers/yukata.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 846 KiB |
|
|
@ -165,6 +165,7 @@
|
||||||
yt-dlp
|
yt-dlp
|
||||||
|
|
||||||
bottles # windows emulation
|
bottles # windows emulation
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# There have been amdgpu issues in 6.10 so you maybe need to revert on the default lts kernel.
|
# There have been amdgpu issues in 6.10 so you maybe need to revert on the default lts kernel.
|
||||||
|
|
@ -180,6 +181,11 @@
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.mullvad-vpn = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.mullvad-vpn; # mullvad only has the cli
|
||||||
|
};
|
||||||
|
|
||||||
programs.nix-ld = {
|
programs.nix-ld = {
|
||||||
enable = true;
|
enable = true;
|
||||||
libraries = with pkgs; [
|
libraries = with pkgs; [
|
||||||
|
|
|
||||||
1
home.nix
1
home.nix
|
|
@ -24,6 +24,7 @@
|
||||||
libsForQt5.qt5.qtbase
|
libsForQt5.qt5.qtbase
|
||||||
btop-cuda
|
btop-cuda
|
||||||
|
|
||||||
|
croc
|
||||||
syncplay
|
syncplay
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,87 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
auto-sub =
|
||||||
|
let
|
||||||
|
file = builtins.toFile "auto-sub.lua" ''
|
||||||
|
mp.add_hook('on_load', 10, function ()
|
||||||
|
mp.set_property('sub-file-paths', 'Subs/' .. mp.get_property('filename/no-ext'))
|
||||||
|
end)
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
pkgs.mpvScripts.buildLua {
|
||||||
|
pname = "auto-sub";
|
||||||
|
version = "1.0.0";
|
||||||
|
src = file;
|
||||||
|
unpackPhase = ":";
|
||||||
|
scriptPath = file;
|
||||||
|
};
|
||||||
|
seek-end =
|
||||||
|
let
|
||||||
|
file = builtins.toFile "seek_end.lua" ''
|
||||||
|
function seek_end()
|
||||||
|
mp.commandv("seek", math.floor(mp.get_property_number("duration") - 4), "absolute")
|
||||||
|
end
|
||||||
|
mp.add_key_binding(nil, "seek_end", seek_end)
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
pkgs.mpvScripts.buildLua {
|
||||||
|
pname = "seek-end";
|
||||||
|
version = "1.0.0";
|
||||||
|
src = file;
|
||||||
|
unpackPhase = ":";
|
||||||
|
scriptPath = file;
|
||||||
|
};
|
||||||
|
in
|
||||||
{
|
{
|
||||||
programs.mpv = {
|
programs.mpv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
config = {
|
||||||
|
input-default-bindings = false;
|
||||||
|
input-builtin-bindings = false;
|
||||||
|
|
||||||
|
sub-outline-color = "0.0/0.3";
|
||||||
|
sub-border-style = "opaque-box";
|
||||||
|
sub-outline-size = -2;
|
||||||
|
sub-filter-regex-append = "opensubtitles\\.org";
|
||||||
|
sub-auto = "all";
|
||||||
|
|
||||||
|
ytdl-format = "bestvideo+bestaudio/best";
|
||||||
|
slang = "en";
|
||||||
|
ytdl-raw-options = "ignore-config=,sub-lang=en,write-sub=,write-auto-sub=";
|
||||||
|
|
||||||
|
hidpi-window-scale = false;
|
||||||
|
hwdec = "auto";
|
||||||
|
profile = "high-quality";
|
||||||
|
vulkan-swap-mode = "auto";
|
||||||
|
gpu-context = "wayland";
|
||||||
|
};
|
||||||
|
bindings = {
|
||||||
|
"]" = "add speed 0.5";
|
||||||
|
"[" = "add speed -0.5";
|
||||||
|
SPACE = "cycle pause";
|
||||||
|
RIGHT = "seek 5 exact";
|
||||||
|
LEFT = "seek -5 exact";
|
||||||
|
v = "cycle sub";
|
||||||
|
V = "cycle sub down";
|
||||||
|
b = "cycle audio";
|
||||||
|
B = "cycle audio down";
|
||||||
|
f = "cycle fullscreen";
|
||||||
|
WHEEL_UP = "add volume 2";
|
||||||
|
WHEEL_DOWN = "add volume -2";
|
||||||
|
j = "add chapter -1";
|
||||||
|
l = "add chapter 1";
|
||||||
|
y = "script-binding seek_end";
|
||||||
|
"`" = "script-binding console/enable";
|
||||||
|
};
|
||||||
|
scripts =
|
||||||
|
with pkgs.mpvScripts;
|
||||||
|
[
|
||||||
|
mpv-osc-tethys
|
||||||
|
thumbfast
|
||||||
|
]
|
||||||
|
++ [
|
||||||
|
seek-end
|
||||||
|
auto-sub
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,8 @@
|
||||||
prismlauncher # minecraft
|
prismlauncher # minecraft
|
||||||
r2modman
|
r2modman
|
||||||
# osu-lazer-bin
|
# osu-lazer-bin
|
||||||
waywall
|
waywall
|
||||||
|
glfw3-minecraft
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
|
|
||||||
|
|
@ -17,9 +17,6 @@ in
|
||||||
local resolution = { w = ${toString 1920}, h = ${toString 1080} }
|
local resolution = { w = ${toString 1920}, h = ${toString 1080} }
|
||||||
local images = {
|
local images = {
|
||||||
eye_overlay = "${./eye-overlay.png}",
|
eye_overlay = "${./eye-overlay.png}",
|
||||||
thin = "${./yukata.jpg}",
|
|
||||||
wide = "${./yukata.jpg}",
|
|
||||||
tall = "${./yukata.jpg}",
|
|
||||||
}
|
}
|
||||||
-- end globals
|
-- end globals
|
||||||
''
|
''
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,9 @@ local scene = Scene.SceneManager.new(waywall)
|
||||||
local ModeManager = Modes.ModeManager.new(waywall)
|
local ModeManager = Modes.ModeManager.new(waywall)
|
||||||
|
|
||||||
-- resolution is a magic global
|
-- resolution is a magic global
|
||||||
local thin_w = resolution.h * 0.28
|
-- local thin_w = resolution.h * 0.28
|
||||||
|
local thin_w = 350
|
||||||
|
local thin_h = 1000
|
||||||
local tall_w = 384
|
local tall_w = 384
|
||||||
local tall_h = 16384
|
local tall_h = 16384
|
||||||
|
|
||||||
|
|
@ -29,20 +31,9 @@ local mc_eye_y = (tall_h - mc_eye_h) / 2
|
||||||
|
|
||||||
-- https://arjuncgore.github.io/waywall-boat-eye-calc/
|
-- https://arjuncgore.github.io/waywall-boat-eye-calc/
|
||||||
-- https://github.com/Esensats/mcsr-calcsens
|
-- https://github.com/Esensats/mcsr-calcsens
|
||||||
local normal_sens = 13.117018998967824
|
local normal_sens = 3.974841839338015
|
||||||
local tall_sens = 0.88486625532087
|
local tall_sens = 0.26814045280749516
|
||||||
|
|
||||||
for _, name in ipairs({ "wide", "thin", "tall" }) do
|
|
||||||
scene:register(name .. "_bg", {
|
|
||||||
kind = "image",
|
|
||||||
path = images[name],
|
|
||||||
options = {
|
|
||||||
dst = { x = 0, y = 0, w = resolution.w, h = resolution.h },
|
|
||||||
depth = -1,
|
|
||||||
},
|
|
||||||
groups = { name },
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
local left_middle = (resolution.w - thin_w) / 4
|
local left_middle = (resolution.w - thin_w) / 4
|
||||||
scene:register("e_counter", {
|
scene:register("e_counter", {
|
||||||
|
|
@ -50,7 +41,7 @@ scene:register("e_counter", {
|
||||||
options = {
|
options = {
|
||||||
src = { x = 1 * e_src_scale, y = 37 * e_src_scale, w = e_w, h = e_h },
|
src = { x = 1 * e_src_scale, y = 37 * e_src_scale, w = e_w, h = e_h },
|
||||||
dst = { x = left_middle - (e_w * e_scale / 2), y = resolution.h / 10.8, w = e_w * e_scale, h = e_h * e_scale },
|
dst = { x = left_middle - (e_w * e_scale / 2), y = resolution.h / 10.8, w = e_w * e_scale, h = e_h * e_scale },
|
||||||
depth = 0,
|
depth = 1,
|
||||||
},
|
},
|
||||||
groups = { "thin" },
|
groups = { "thin" },
|
||||||
})
|
})
|
||||||
|
|
@ -68,7 +59,7 @@ scene:register("eye_measure", {
|
||||||
scene:register("eye_overlay", {
|
scene:register("eye_overlay", {
|
||||||
kind = "image",
|
kind = "image",
|
||||||
path = images.eye_overlay,
|
path = images.eye_overlay,
|
||||||
options = { dst = eye_dst, depth = 1 },
|
options = { dst = eye_dst, depth = 5 },
|
||||||
groups = { "tall" },
|
groups = { "tall" },
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -78,7 +69,7 @@ end
|
||||||
|
|
||||||
ModeManager:define("thin", {
|
ModeManager:define("thin", {
|
||||||
width = thin_w,
|
width = thin_w,
|
||||||
height = resolution.h,
|
height = thin_h,
|
||||||
on_enter = function()
|
on_enter = function()
|
||||||
scene:enable_group("thin", true)
|
scene:enable_group("thin", true)
|
||||||
end,
|
end,
|
||||||
|
|
@ -100,6 +91,7 @@ ModeManager:define("wide", {
|
||||||
toggle_guard = mode_guard,
|
toggle_guard = mode_guard,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- eye measuring
|
||||||
ModeManager:define("tall", {
|
ModeManager:define("tall", {
|
||||||
width = tall_w,
|
width = tall_w,
|
||||||
height = tall_h,
|
height = tall_h,
|
||||||
|
|
@ -119,30 +111,35 @@ local ensure_ninjabrain = Processes.ensure_application(waywall, ninb_path)("ninj
|
||||||
|
|
||||||
local config = {
|
local config = {
|
||||||
input = {
|
input = {
|
||||||
layout = "fr",
|
layout = "us",
|
||||||
repeat_rate = 40,
|
repeat_rate = 40,
|
||||||
repeat_delay = 300,
|
repeat_delay = 300,
|
||||||
|
|
||||||
sensitivity = normal_sens,
|
sensitivity = normal_sens,
|
||||||
confine_pointer = false,
|
confine_pointer = false,
|
||||||
|
|
||||||
|
remaps = {
|
||||||
|
["MB5"] = "F3"
|
||||||
|
},
|
||||||
},
|
},
|
||||||
theme = {
|
theme = {
|
||||||
background = "#303030ff",
|
-- background = "#303030ff",
|
||||||
|
background_png = os.getenv("HOME") .. "/dea-files/assets/wallpapers/yukata.png",
|
||||||
-- https://github.com/Smithay/smithay/issues/1894
|
-- https://github.com/Smithay/smithay/issues/1894
|
||||||
ninb_anchor = "top",
|
ninb_anchor = "top",
|
||||||
},
|
},
|
||||||
actions = Keys.actions({
|
actions = Keys.actions({
|
||||||
["Ctrl-Super-F"] = waywall.toggle_fullscreen,
|
["F11"] = waywall.toggle_fullscreen,
|
||||||
["*-N"] = function()
|
["*-B"] = function()
|
||||||
return ModeManager:toggle("thin")
|
return ModeManager:toggle("thin")
|
||||||
end,
|
end,
|
||||||
["*-P"] = function()
|
["*-V"] = function()
|
||||||
return ModeManager:toggle("tall")
|
return ModeManager:toggle("tall")
|
||||||
end,
|
end,
|
||||||
["*-G"] = function()
|
["*-G"] = function()
|
||||||
return ModeManager:toggle("wide")
|
return ModeManager:toggle("wide")
|
||||||
end,
|
end,
|
||||||
["Ctrl-Shift-M"] = function()
|
["*-L"] = function()
|
||||||
ensure_ninjabrain()
|
ensure_ninjabrain()
|
||||||
helpers.toggle_floating()
|
helpers.toggle_floating()
|
||||||
end,
|
end,
|
||||||
|
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 593 KiB |
Loading…
Add table
Add a link
Reference in a new issue