Compare commits
14 Commits
ed349bd4e6
...
b9e7e22ddd
| Author | SHA1 | Date | |
|---|---|---|---|
| b9e7e22ddd | |||
| c08da164ac | |||
| 2fbd529e59 | |||
| 0dec323af5 | |||
| 27b3ec6a46 | |||
| 4c06e18113 | |||
| 617cf08fc8 | |||
| 761000913a | |||
| e5503bbf58 | |||
| 72ae66c403 | |||
| fe9531c732 | |||
| a1f96ee51d | |||
| 7b4c789cae | |||
| 52d33c1204 |
@@ -31,11 +31,15 @@ in
|
||||
# For cursor in steam?
|
||||
xdg.icons.fallbackCursorThemes = [ "breeze_cursors" ];
|
||||
|
||||
programs.partition-manager.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs;
|
||||
[ maliit-keyboard ] ++ (with kdePackages; [
|
||||
[
|
||||
maliit-keyboard
|
||||
exfatprogs
|
||||
] ++ (with kdePackages; [
|
||||
sddm-kcm
|
||||
plasma-disks
|
||||
partitionmanager
|
||||
filelight
|
||||
ffmpegthumbs
|
||||
kcalc
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
nix.gc.automatic = true;
|
||||
nix.gc.options = "--delete-older-than 7d";
|
||||
|
||||
# programs.nix-ld = {
|
||||
# enable = true;
|
||||
# # libraries = pkgs.steam-run.fhsenv.args.multiPkgs pkgs;
|
||||
# libraries = pkgs.appimageTools.defaultFhsEnvArgs.targetPkgs pkgs;
|
||||
# };
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
# libraries = pkgs.steam-run.fhsenv.args.multiPkgs pkgs;
|
||||
# libraries = pkgs.appimageTools.defaultFhsEnvArgs.targetPkgs pkgs;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -8,18 +8,26 @@
|
||||
};
|
||||
libvirtd = {
|
||||
enable = true;
|
||||
qemu.vhostUserPackages = [ pkgs.virtiofsd ];
|
||||
qemu = {
|
||||
vhostUserPackages = [ pkgs.virtiofsd ];
|
||||
ovmf.enable = true;
|
||||
};
|
||||
};
|
||||
podman = {
|
||||
enable = true;
|
||||
dockerSocket.enable = true;
|
||||
dockerCompat = true;
|
||||
};
|
||||
# remember to add the necessary users to the docker group
|
||||
docker = {
|
||||
enable = true;
|
||||
storageDriver = "btrfs";
|
||||
};
|
||||
# docker = {
|
||||
# enable = true;
|
||||
# storageDriver = "btrfs";
|
||||
# };
|
||||
# waydroid = {
|
||||
# enable = true;
|
||||
# };
|
||||
};
|
||||
programs.virt-manager.enable = true;
|
||||
# environment.systemPackages = with pkgs;[ podman-compose ];
|
||||
environment.systemPackages = with pkgs;[ podman-compose ];
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
home-manager = {
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
sharedModules = [
|
||||
inputs.nix-index-database.hmModules.nix-index
|
||||
inputs.nix-index-database.homeModules.nix-index
|
||||
];
|
||||
users = {
|
||||
"worble" = import ./home.nix;
|
||||
|
||||
@@ -39,10 +39,21 @@
|
||||
|
||||
services.hardware.openrgb.enable = true;
|
||||
|
||||
fileSystems."/mnt/HDD1" = {
|
||||
#device = "/dev/disk/by-uuid/35763dc3-c736-4714-ade7-40bf49ad50dd";
|
||||
# fileSystems."/mnt/HDD1" = {
|
||||
# fsType = "ext4";
|
||||
# label = "HDD1";
|
||||
# options = [
|
||||
# # If you don't have this options attribute, it'll default to "defaults"
|
||||
# # boot options for fstab. Search up fstab mount options you can use
|
||||
# "users" # Allows any user to mount and unmount
|
||||
# "nofail" # Prevent system from failing if this drive doesn't mount
|
||||
# "exec" # Permit execution of binaries and other executable files
|
||||
# ];
|
||||
# };
|
||||
|
||||
fileSystems."/mnt/HDD2" = {
|
||||
fsType = "ext4";
|
||||
label = "HDD1";
|
||||
label = "HDD2";
|
||||
options = [
|
||||
# If you don't have this options attribute, it'll default to "defaults"
|
||||
# boot options for fstab. Search up fstab mount options you can use
|
||||
@@ -76,7 +87,7 @@
|
||||
useGlobalPkgs = true;
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
sharedModules = [
|
||||
inputs.nix-index-database.hmModules.nix-index
|
||||
inputs.nix-index-database.homeModules.nix-index
|
||||
];
|
||||
users = {
|
||||
"worble" = import ./home.nix;
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
../../home-manager/base.nix
|
||||
../../home-manager/development/all.nix
|
||||
../../home-manager/gaming.nix
|
||||
../../home-manager/streamlink.nix
|
||||
];
|
||||
|
||||
terminal.nixUpdateLocation = "/home/worble/Projects/nixos#tuxedo";
|
||||
@@ -45,6 +46,8 @@
|
||||
dbeaver-bin
|
||||
ruffle
|
||||
popsicle
|
||||
# for headset tune
|
||||
headsetcontrol
|
||||
];
|
||||
|
||||
home.file = {
|
||||
@@ -73,16 +76,14 @@
|
||||
};
|
||||
|
||||
mpv = {
|
||||
enable = true;
|
||||
config = {
|
||||
profile = "gpu-hq";
|
||||
vo = "gpu-next";
|
||||
gpu-api = "opengl";
|
||||
gpu-context = "wayland";
|
||||
hwdec = "vulkan";
|
||||
screenshot-directory = "/mnt/HDD1/Pictures/";
|
||||
screenshot-directory = "/mnt/HDD2/Pictures/";
|
||||
# screenshot-directory = "~/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 = ''
|
||||
@@ -114,10 +115,10 @@
|
||||
services = {
|
||||
rclone-media = {
|
||||
Unit = {
|
||||
Description = "rclone-media /mnt/HDD1/Videos/";
|
||||
After = [ "network.target" "mnt-HDD1.mount" ];
|
||||
Description = "rclone-media /mnt/HDD2/Videos/";
|
||||
After = [ "network.target" "mnt-HDD2.mount" ];
|
||||
# Maybe? https://unix.stackexchange.com/questions/281650/systemd-unit-requiresmountsfor-vs-conditionpathisdirectory
|
||||
# RequiresMountsFor = "/mnt/HDD1/Videos/";
|
||||
# RequiresMountsFor = "/mnt/HDD2/Videos/";
|
||||
};
|
||||
|
||||
Install = {
|
||||
@@ -134,7 +135,7 @@ runtimeInputs = [ pkgs.inotify-tools pkgs.libnotify pkgs.rclone ];
|
||||
text = ''
|
||||
function rclonecopy {
|
||||
file=$1
|
||||
changed_rel=''${file#"/mnt/HDD1/Videos"}
|
||||
changed_rel=''${file#"/mnt/HDD2/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"
|
||||
@@ -146,7 +147,7 @@ text = ''
|
||||
inotifywait -mr \
|
||||
--format '%w%f' \
|
||||
-e close_write \
|
||||
/mnt/HDD1/Videos/ |
|
||||
/mnt/HDD2/Videos/ |
|
||||
while read -r file; do
|
||||
rclonecopy "$file"
|
||||
done
|
||||
|
||||
42
flake.lock
generated
42
flake.lock
generated
@@ -7,11 +7,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750040002,
|
||||
"narHash": "sha256-KrC9iOVYIn6ukpVlHbqSA4hYCZ6oDyJKrcLqv4c5v84=",
|
||||
"lastModified": 1752113600,
|
||||
"narHash": "sha256-7LYDxKxZgBQ8LZUuolAQ8UkIB+jb4A2UmiR+kzY9CLI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "7f1857b31522062a6a00f88cbccf86b43acceed1",
|
||||
"rev": "79264292b7e3482e5702932949de9cbb69fedf6d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -45,11 +45,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749154018,
|
||||
"narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=",
|
||||
"lastModified": 1752527596,
|
||||
"narHash": "sha256-kn620ocx9JmmWKBN4X+kTbsQg/nv2HBxceDf2zV08VM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111",
|
||||
"rev": "8597e85e2ce33e6a6f1df99cc56cdf7680cb22e0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -66,11 +66,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749960154,
|
||||
"narHash": "sha256-EWlr9MZDd+GoGtZB4QsDzaLyaDQPGnRY03MFp6u2wSg=",
|
||||
"lastModified": 1752441837,
|
||||
"narHash": "sha256-FMH1OSSJp8Cx8MZHXz6KckxJGbCnVMotZNAH3v2WneU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "424a40050cdc5f494ec45e46462d288f08c64475",
|
||||
"rev": "839e02dece5845be3a322e507a79712b73a96ba2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -105,11 +105,11 @@
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750039657,
|
||||
"narHash": "sha256-Vrh5PDskpJ2kEumHbncffZxWQGr2pK88oTOFtBUWG74=",
|
||||
"lastModified": 1752459325,
|
||||
"narHash": "sha256-46TgjdxT02a4nFd9HCXCf8kK5ZSH7r9gYROLtc8zVOg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-vscode-extensions",
|
||||
"rev": "54ce2a0e930383535c632aad39b22205fa430be0",
|
||||
"rev": "61c2e99ebd586f463a6c0ebe3d931e74883b163d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -120,11 +120,11 @@
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1750083401,
|
||||
"narHash": "sha256-ynqbgIYrg7P1fAKYqe8I/PMiLABBcNDYG9YaAP/d/C4=",
|
||||
"lastModified": 1752048960,
|
||||
"narHash": "sha256-gATnkOe37eeVwKKYCsL+OnS2gU4MmLuZFzzWCtaKLI8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "61837d2a33ccc1582c5fabb7bf9130d39fee59ad",
|
||||
"rev": "7ced9122cff2163c6a0212b8d1ec8c33a1660806",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -152,11 +152,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1749794982,
|
||||
"narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=",
|
||||
"lastModified": 1751984180,
|
||||
"narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81",
|
||||
"rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -168,11 +168,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1750005367,
|
||||
"narHash": "sha256-h/aac1dGLhS3qpaD2aZt25NdKY7b+JT0ZIP2WuGsJMU=",
|
||||
"lastModified": 1752308619,
|
||||
"narHash": "sha256-pzrVLKRQNPrii06Rm09Q0i0dq3wt2t2pciT/GNq5EZQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6c64dabd3aa85e0c02ef1cdcb6e1213de64baee3",
|
||||
"rev": "650e572363c091045cdbc5b36b0f4c1f614d3058",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
nix-index-database.hmModules.nix-index
|
||||
nix-index-database.homeModules.nix-index
|
||||
./devices/deck/home.nix
|
||||
];
|
||||
};
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
package = pkgs.brave;
|
||||
};
|
||||
|
||||
mpv = lib.mkDefault {
|
||||
mpv = {
|
||||
enable = true;
|
||||
package = (
|
||||
pkgs.mpv-unwrapped.wrapper {
|
||||
@@ -56,8 +56,14 @@
|
||||
}
|
||||
);
|
||||
config = {
|
||||
screenshot-directory = "~/Pictures/";
|
||||
screenshot-template = "%F/%F_snapshot_%P";
|
||||
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 = 2;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -106,6 +106,7 @@ with lib;
|
||||
settings = {
|
||||
theme = "dracula";
|
||||
show_startup_tips = false;
|
||||
default_mode = "locked";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{ pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs;[
|
||||
|
||||
@@ -55,6 +55,8 @@
|
||||
"media.hardwaremediakeys.enabled" = false;
|
||||
# restore tabs on startup
|
||||
"browser.startup.page" = 3;
|
||||
# do not trim http
|
||||
"browser.urlbar.trimURLs" = false;
|
||||
|
||||
/* Arkenfox Begin */
|
||||
|
||||
|
||||
42
home-manager/streamlink.nix
Normal file
42
home-manager/streamlink.nix
Normal file
@@ -0,0 +1,42 @@
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
proxies = [
|
||||
"https://eu.luminous.dev" # (Europe)
|
||||
"https://eu2.luminous.dev" # (Europe 2)
|
||||
"https://as.luminous.dev" # (Asia)
|
||||
"https://lb-eu.cdn-perfprod.com" # (Europe)
|
||||
"https://lb-eu2.cdn-perfprod.com" # (Europe 2)
|
||||
"https://lb-eu4.cdn-perfprod.com" # (Europe 4)
|
||||
"https://lb-eu5.cdn-perfprod.com" # (Europe 5)
|
||||
"https://lb-eu3.cdn-perfprod.com" # (Europe 3, using Russia-only proxies)
|
||||
"https://lb-na.cdn-perfprod.com" # (NA)
|
||||
"https://lb-as.cdn-perfprod.com" # (Asia)
|
||||
"https://lb-sa.cdn-perfprod.com" # (SA)
|
||||
];
|
||||
in
|
||||
{
|
||||
programs.streamlink = {
|
||||
enable = true;
|
||||
settings = {
|
||||
player = "${pkgs.mpv}/bin/mpv";
|
||||
player-args = "--cache 2048";
|
||||
player-no-close = true;
|
||||
twitch-low-latency = true;
|
||||
twitch-disable-ads = true;
|
||||
default-stream = "best";
|
||||
};
|
||||
plugins = {
|
||||
# It is important this is called "twitch" and overwrites the default plugin
|
||||
twitch = {
|
||||
settings = {
|
||||
twitch-proxy-playlist = lib.concatStringsSep "," proxies;
|
||||
};
|
||||
src = builtins.readFile (pkgs.fetchurl {
|
||||
url = "https://github.com/2bc4/streamlink-ttvlol/releases/download/7.0.0-20241105/twitch.py";
|
||||
hash = "sha256-WbxLNkxG64BlnfI/RwY5N0bqEkO/D6u14nYMyTuveN8=";
|
||||
});
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user