Change geoclue provider to beacondb Add popsicle Add interpolation to default mpv Download from vscode store while openvsx is down Remove webp extension
153 lines
5.8 KiB
Nix
153 lines
5.8 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
imports = [
|
|
../../home-manager/base.nix
|
|
../../home-manager/development/all.nix
|
|
../../home-manager/gaming.nix
|
|
];
|
|
|
|
terminal.nixUpdateLocation = "/home/worble/Projects/nixos#tuxedo";
|
|
terminal.flakeUpdateLocation = "/home/worble/Projects/nixos";
|
|
helix.fullInstall = true;
|
|
|
|
home.username = "worble";
|
|
home.homeDirectory = "/home/worble";
|
|
|
|
home.stateVersion = "24.05";
|
|
|
|
home.packages = with pkgs;[
|
|
# general
|
|
gimp-with-plugins
|
|
obsidian
|
|
|
|
# cmd line tools
|
|
rclone
|
|
inotify-tools
|
|
libnotify
|
|
ffmpeg-full
|
|
|
|
# comms
|
|
teams-for-linux
|
|
|
|
# media
|
|
jellyfin-media-player
|
|
haruna
|
|
fooyin
|
|
strawberry
|
|
mpc-qt
|
|
|
|
# misc
|
|
electrum
|
|
gpu-screen-recorder-gtk
|
|
syncthing
|
|
dbeaver-bin
|
|
ruffle
|
|
popsicle
|
|
];
|
|
|
|
home.file = {
|
|
# shaders for mpv
|
|
".config/mpv/shaders".source = pkgs.fetchzip {
|
|
url = "https://github.com/bloc97/Anime4K/releases/download/v4.0.1/Anime4K_v4.0.zip";
|
|
sha256 = "sha256-9B6U+KEVlhUIIOrDauIN3aVUjZ/gQHjFArS4uf/BpaM=";
|
|
stripRoot = false;
|
|
};
|
|
};
|
|
|
|
# Let Home Manager install and manage itself.
|
|
programs = {
|
|
firefox = {
|
|
profiles.work = import ../../home-manager/firefox/firefox-profile.nix // {
|
|
id = 1;
|
|
name = "work";
|
|
isDefault = false;
|
|
settings = {
|
|
# allow fonts
|
|
"browser.display.use_document_fonts" = 1;
|
|
# home page
|
|
"browser.startup.homepage" = "https://outlook.office.com|https://teams.microsoft.com/v2|https://dev.azure.com/binhsps/Connect/_boards/board/t/Development%20Team/Stories";
|
|
};
|
|
};
|
|
};
|
|
|
|
mpv = {
|
|
enable = true;
|
|
config = {
|
|
profile = "gpu-hq";
|
|
vo = "gpu-next";
|
|
gpu-api = "vulkan";
|
|
hwdec = "vulkan";
|
|
screenshot-directory = "/mnt/HDD1/Pictures/";
|
|
screenshot-template = "%F/%F_snapshot_%P";
|
|
glsl-shaders = "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl";
|
|
};
|
|
extraInput = ''
|
|
# Optimized shaders for higher-end GPU:
|
|
CTRL+1 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A (HQ)"
|
|
CTRL+2 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B (HQ)"
|
|
CTRL+3 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C (HQ)"
|
|
CTRL+4 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A+A (HQ)"
|
|
CTRL+5 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B+B (HQ)"
|
|
CTRL+6 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C+A (HQ)"
|
|
CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared"
|
|
'';
|
|
};
|
|
|
|
mangohud = {
|
|
enable = true;
|
|
settings = {
|
|
preset = 1;
|
|
};
|
|
};
|
|
|
|
kodi = {
|
|
enable = true;
|
|
package = pkgs.kodi.withPackages (exts: [ exts.pvr-iptvsimple ]);
|
|
};
|
|
};
|
|
|
|
systemd.user = {
|
|
services = {
|
|
rclone-media = {
|
|
Unit = {
|
|
Description = "rclone-media /mnt/HDD1/Videos/";
|
|
After = [ "network.target" "mnt-HDD1.mount" ];
|
|
};
|
|
|
|
Install = {
|
|
WantedBy = [ "default.target" ];
|
|
};
|
|
|
|
Service = {
|
|
Type = "exec";
|
|
ExecStart = "${pkgs.writeShellApplication {
|
|
name = "rclone-media";
|
|
runtimeInputs = [ pkgs.inotify-tools pkgs.libnotify pkgs.rclone ];
|
|
text = ''
|
|
function rclonecopy {
|
|
file=$1
|
|
changed_rel=''${file#"/mnt/HDD1/Videos"}
|
|
notify-send -a "rclone-media" "rclone for $file triggered"
|
|
if rclone copyto "$file" media:"media-7gM2gcrxRjXqfj$changed_rel" ; then
|
|
notify-send -a "rclone-media" "rclone complete for $file"
|
|
else
|
|
notify-send -u critical -a "rclone-media" "rclone failed for $file"
|
|
fi
|
|
}
|
|
|
|
inotifywait -mr \
|
|
--format '%w%f' \
|
|
-e close_write \
|
|
/mnt/HDD1/Videos/ |
|
|
while read -r file; do
|
|
rclonecopy "$file"
|
|
done
|
|
'';
|
|
}}/bin/rclone-media";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|