merge
This commit is contained in:
@@ -13,6 +13,9 @@
|
||||
enable = true;
|
||||
wifi.powersave = false;
|
||||
};
|
||||
firewall = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Configure network proxy if necessary
|
||||
@@ -23,7 +26,6 @@
|
||||
# services.printing.enable = true;
|
||||
|
||||
# Open ports in the firewall.
|
||||
networking.firewall.enable = true;
|
||||
# 443 Helldivers crashes internet otherwise
|
||||
# networking.firewall.allowedTCPPorts = [ 443 ];
|
||||
# networking.firewall.allowedUDPPorts = [ 443 ];
|
||||
|
||||
@@ -8,30 +8,29 @@
|
||||
programs.fish.enable = true;
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs;
|
||||
[
|
||||
# utils
|
||||
uutils-coreutils-noprefix
|
||||
vim
|
||||
curl
|
||||
inetutils
|
||||
dig
|
||||
environment.systemPackages = with pkgs; [
|
||||
# utils
|
||||
uutils-coreutils-noprefix
|
||||
vim
|
||||
curl
|
||||
inetutils
|
||||
dig
|
||||
|
||||
rar
|
||||
zstd
|
||||
xz
|
||||
p7zip
|
||||
rar
|
||||
zstd
|
||||
xz
|
||||
p7zip
|
||||
|
||||
libva-utils
|
||||
smartmontools
|
||||
appimage-run
|
||||
libva-utils
|
||||
smartmontools
|
||||
appimage-run
|
||||
|
||||
# dicts
|
||||
nuspell
|
||||
hunspellDicts.en-gb-large
|
||||
# dicts
|
||||
nuspell
|
||||
hunspellDicts.en-gb-large
|
||||
|
||||
# For cursor in steam?
|
||||
xsettingsd
|
||||
xorg.xrdb
|
||||
];
|
||||
# For cursor in steam?
|
||||
xsettingsd
|
||||
xorg.xrdb
|
||||
];
|
||||
}
|
||||
|
||||
@@ -8,14 +8,13 @@
|
||||
programs.gamescope = {
|
||||
enable = true;
|
||||
# capSysNice = true;
|
||||
# args = [
|
||||
# "-H 1080"
|
||||
# ];
|
||||
args = [
|
||||
"-H 1080"
|
||||
];
|
||||
};
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
||||
gamescopeSession.enable = true;
|
||||
protontricks.enable = true;
|
||||
extraCompatPackages = [ pkgs.proton-ge-bin ];
|
||||
|
||||
@@ -21,21 +21,17 @@
|
||||
|
||||
networking.hostName = "tuxedo"; # Define your hostname.
|
||||
|
||||
# fairly sure this isnt needed anymore
|
||||
# boot.extraModprobeConfig = ''
|
||||
# options iwlwifi 11n_disable=8 power_save=0
|
||||
# options iwlmvm power_scheme=1
|
||||
# '';
|
||||
|
||||
# TODO remove ntsync if this becomes stable
|
||||
# options iwlmvm power_scheme=1 https://wireless.docs.kernel.org/en/latest/en/users/drivers/iwlwifi.html#features
|
||||
# options iwlwifi 11n_disable=4 https://wiki.gentoo.org/wiki/Iwlwifi#Network_crashes_under_heavy_load
|
||||
boot.extraModprobeConfig = ''
|
||||
ntsync
|
||||
options iwlmvm power_scheme=1
|
||||
options iwlwifi 11n_disable=4
|
||||
options iwlwifi 11n_disable=8 power_save=0
|
||||
'';
|
||||
|
||||
boot.kernelModules = [
|
||||
"ntsync"
|
||||
];
|
||||
|
||||
services.hardware.openrgb.enable = true;
|
||||
|
||||
fileSystems."/mnt/HDD2" = {
|
||||
@@ -58,7 +54,7 @@
|
||||
dumpcap.enable = true;
|
||||
};
|
||||
|
||||
programs.gpu-screen-recorder.enable = true; # For promptless recording on both CLI and GUI
|
||||
# programs.gpu-screen-recorder.enable = true; # For promptless recording on both CLI and GUI
|
||||
|
||||
# programs.obs-studio = {
|
||||
# enable = true;
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
terminal.nixUpdateLocation = "/home/worble/Projects/nixos#tuxedo";
|
||||
terminal.flakeUpdateLocation = "/home/worble/Projects/nixos";
|
||||
helix.fullInstall = true;
|
||||
mpv.high-quality = true;
|
||||
|
||||
home.username = "worble";
|
||||
home.homeDirectory = "/home/worble";
|
||||
@@ -47,15 +48,6 @@
|
||||
headsetcontrol
|
||||
];
|
||||
|
||||
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 = {
|
||||
@@ -74,24 +66,8 @@
|
||||
|
||||
mpv = {
|
||||
config = {
|
||||
profile = "gpu-hq";
|
||||
vo = "gpu-next";
|
||||
gpu-api = "auto";
|
||||
gpu-context = "auto";
|
||||
hwdec = "auto";
|
||||
screenshot-directory = "/mnt/HDD2/Pictures/";
|
||||
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 = {
|
||||
|
||||
24
flake.lock
generated
24
flake.lock
generated
@@ -66,11 +66,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1759637156,
|
||||
"narHash": "sha256-8NI1SqntLfKl6Q0Luemc3aIboezSJElofUrqipF5g78=",
|
||||
"lastModified": 1760241904,
|
||||
"narHash": "sha256-OD7QnaGEVNdukYEbJbUNWPsvnDrpbZOZxVIk6Pt9Jhw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "0ca69684091aa3a6b1fe994c4afeff305b15e915",
|
||||
"rev": "c9f5ea45f25652ec2f771f9426ccacb21cbbaeaa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -105,11 +105,11 @@
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1760195473,
|
||||
"narHash": "sha256-gm4NHx6RyWAoxip2FGdicddPQtgBO6i5bSe91DiJ8u0=",
|
||||
"lastModified": 1760320782,
|
||||
"narHash": "sha256-1ycwVgQbDxEc4/zf8OxvnwJJwZ4wNIqgigOv/R/KdW8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-vscode-extensions",
|
||||
"rev": "8b572083ef8259d679a1169d8af537ac992aa465",
|
||||
"rev": "b227991f119ccaf404e9236d527c1d0e7412fe95",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -152,11 +152,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1760038930,
|
||||
"narHash": "sha256-Oncbh0UmHjSlxO7ErQDM3KM0A5/Znfofj2BSzlHLeVw=",
|
||||
"lastModified": 1760284886,
|
||||
"narHash": "sha256-TK9Kr0BYBQ/1P5kAsnNQhmWWKgmZXwUQr4ZMjCzWf2c=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "0b4defa2584313f3b781240b29d61f6f9f7e0df3",
|
||||
"rev": "cf3f5c4def3c7b5f1fc012b3d839575dbe552d43",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -168,11 +168,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1759994382,
|
||||
"narHash": "sha256-wSK+3UkalDZRVHGCRikZ//CyZUJWDJkBDTQX1+G77Ow=",
|
||||
"lastModified": 1760139962,
|
||||
"narHash": "sha256-4xggC56Rub3WInz5eD7EZWXuLXpNvJiUPahGtMkwtuc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5da4a26309e796daa7ffca72df93dbe53b8164c7",
|
||||
"rev": "7e297ddff44a3cc93673bb38d0374df8d0ad73e4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -1,30 +1,72 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{ pkgs, lib, config, ... }:
|
||||
|
||||
with lib;
|
||||
{
|
||||
programs = {
|
||||
mpv = {
|
||||
enable = true;
|
||||
package = (
|
||||
pkgs.mpv-unwrapped.wrapper {
|
||||
scripts = with pkgs.mpvScripts; [
|
||||
uosc
|
||||
sponsorblock
|
||||
];
|
||||
options.mpv = {
|
||||
high-quality = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
|
||||
mpv = pkgs.mpv-unwrapped;
|
||||
}
|
||||
);
|
||||
config = {
|
||||
screenshot-directory = lib.mkDefault "~/Pictures/";
|
||||
screenshot-template = lib.mkDefault "%F/%F_snapshot_%P";
|
||||
sub-ass-use-video-data = lib.mkDefault "aspect-ratio";
|
||||
};
|
||||
|
||||
scriptOpts = {
|
||||
uosc = {
|
||||
time_precision = 3;
|
||||
config = {
|
||||
home.file = {
|
||||
".config/mpv/shaders" = {
|
||||
enable = config.mpv.high-quality;
|
||||
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;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
mpv = {
|
||||
enable = true;
|
||||
package = (
|
||||
pkgs.mpv-unwrapped.wrapper {
|
||||
scripts = with pkgs.mpvScripts; [
|
||||
uosc
|
||||
sponsorblock
|
||||
];
|
||||
|
||||
mpv = pkgs.mpv-unwrapped;
|
||||
}
|
||||
);
|
||||
config = mkMerge [{
|
||||
screenshot-directory = lib.mkDefault "~/Pictures/";
|
||||
screenshot-template = lib.mkDefault "%F/%F_snapshot_%P";
|
||||
sub-ass-use-video-data = lib.mkDefault "aspect-ratio";
|
||||
}
|
||||
(mkIf config.mpv.high-quality
|
||||
{
|
||||
profile = lib.mkDefault "gpu-hq";
|
||||
vo = lib.mkDefault "gpu-next";
|
||||
gpu-api = lib.mkDefault "auto";
|
||||
gpu-context = lib.mkDefault "auto";
|
||||
hwdec = lib.mkDefault "auto";
|
||||
glsl-shaders = lib.mkDefault "~~/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";
|
||||
})];
|
||||
|
||||
scriptOpts = {
|
||||
uosc = {
|
||||
time_precision = lib.mkDefault 3;
|
||||
};
|
||||
};
|
||||
|
||||
extraInput =
|
||||
if config.mpv.high-quality then ''
|
||||
# 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"
|
||||
'' else "";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
{ pkgs, inputs, ... }:
|
||||
|
||||
let
|
||||
pkgs_unstable = inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}";
|
||||
in
|
||||
{
|
||||
home.packages = with pkgs;[
|
||||
# Wine / Proton
|
||||
inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".wineWowPackages.stagingFull
|
||||
inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".winetricks
|
||||
inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".umu-launcher
|
||||
pkgs_unstable.wineWowPackages.stagingFull
|
||||
pkgs_unstable.winetricks
|
||||
pkgs_unstable.umu-launcher
|
||||
|
||||
# I'm not sure this actually accomplishes anything, even with PROTON_MEDIA_USE_GST=1
|
||||
# (umu-launcher.override {
|
||||
@@ -36,8 +39,33 @@
|
||||
|
||||
# Cheat engine
|
||||
scanmem
|
||||
|
||||
# proton with ja_JP
|
||||
(pkgs.writeShellApplication {
|
||||
name = "umu-ja";
|
||||
runtimeInputs = [ pkgs_unstable.umu-launcher ];
|
||||
text = "LANG=ja_JP.utf8 umu-run \"$@\"";
|
||||
})
|
||||
|
||||
# wine with ja_JP
|
||||
(pkgs.writeShellApplication {
|
||||
name = "wine-ja";
|
||||
runtimeInputs = [ pkgs_unstable.wineWowPackages.stagingFull ];
|
||||
text = "LANG=ja_JP.utf8 wine \"$@\"";
|
||||
})
|
||||
];
|
||||
|
||||
# https://github.com/GloriousEggroll/proton-ge-custom?tab=readme-ov-file#modification
|
||||
# There aren't yet documented in the README:
|
||||
# PROTON_MEDIA_USE_GST=1 will tell proton to use the winegstreamer backend instead of the default winedmo backend (the winedmo backend was introduced in Proton 10 and is the current preferred video playback method). This can be useful for games with videos that may have worked in Proton 9 but regressed in Proton 10.
|
||||
# PROTON_GST_VIDEO_ORIENTATION=<orientation> can be any of the following: vertical-flip, horizontal-flip, rotate-180, automatic. This is useful if some games have videos that are upside down or otherwise not oriented correctly.
|
||||
# https://simpler-website.pages.dev/html/2021/1/wine-environment-variables/#wineesync
|
||||
home.sessionVariables = {
|
||||
WINEPREFIX = "~/Games/wine/default";
|
||||
PROTONPATH = "GE-Proton";
|
||||
PROTON_ENABLE_WAYLAND = "0"; # One day...
|
||||
};
|
||||
|
||||
# programs.lutris = {
|
||||
# enable = true;
|
||||
# extraPackages = with pkgs; [ mangohud winetricks gamescope gamemode umu-launcher ];
|
||||
|
||||
Reference in New Issue
Block a user