Compare commits

...

14 Commits

Author SHA1 Message Date
b9e7e22ddd lots of changes yes im bad i should commit more often sue me 2025-07-15 09:58:45 +01:00
c08da164ac update flake.lock 2025-07-14 23:27:27 +01:00
2fbd529e59 update flake.lock 2025-07-13 00:12:00 +01:00
0dec323af5 update flake.lock 2025-07-11 23:31:39 +01:00
27b3ec6a46 update flake.lock 2025-07-10 00:14:07 +01:00
4c06e18113 update flake.lock 2025-07-06 00:03:18 +01:00
617cf08fc8 update flake.lock 2025-07-03 23:59:28 +01:00
761000913a update flake.lock 2025-07-01 00:23:51 +01:00
e5503bbf58 update flake.lock 2025-06-30 00:26:28 +01:00
72ae66c403 update flake.lock 2025-06-26 00:20:31 +01:00
fe9531c732 update flake.lock 2025-06-23 23:51:20 +01:00
a1f96ee51d update flake.lock 2025-06-23 00:25:29 +01:00
7b4c789cae update flake.lock 2025-06-21 00:43:28 +01:00
52d33c1204 update flake.lock 2025-06-19 23:27:55 +01:00
13 changed files with 127 additions and 52 deletions

View File

@@ -31,11 +31,15 @@ in
# For cursor in steam? # For cursor in steam?
xdg.icons.fallbackCursorThemes = [ "breeze_cursors" ]; xdg.icons.fallbackCursorThemes = [ "breeze_cursors" ];
programs.partition-manager.enable = true;
environment.systemPackages = with pkgs; environment.systemPackages = with pkgs;
[ maliit-keyboard ] ++ (with kdePackages; [ [
maliit-keyboard
exfatprogs
] ++ (with kdePackages; [
sddm-kcm sddm-kcm
plasma-disks plasma-disks
partitionmanager
filelight filelight
ffmpegthumbs ffmpegthumbs
kcalc kcalc

View File

@@ -7,10 +7,10 @@
nix.gc.automatic = true; nix.gc.automatic = true;
nix.gc.options = "--delete-older-than 7d"; nix.gc.options = "--delete-older-than 7d";
# programs.nix-ld = { programs.nix-ld = {
# enable = true; enable = true;
# # libraries = pkgs.steam-run.fhsenv.args.multiPkgs pkgs; # libraries = pkgs.steam-run.fhsenv.args.multiPkgs pkgs;
# libraries = pkgs.appimageTools.defaultFhsEnvArgs.targetPkgs pkgs; # libraries = pkgs.appimageTools.defaultFhsEnvArgs.targetPkgs pkgs;
# }; };
} }

View File

@@ -8,18 +8,26 @@
}; };
libvirtd = { libvirtd = {
enable = true; 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 # remember to add the necessary users to the docker group
docker = { # docker = {
enable = true; # enable = true;
storageDriver = "btrfs"; # storageDriver = "btrfs";
}; # };
# waydroid = { # waydroid = {
# enable = true; # enable = true;
# }; # };
}; };
programs.virt-manager.enable = true; programs.virt-manager.enable = true;
# environment.systemPackages = with pkgs;[ podman-compose ]; environment.systemPackages = with pkgs;[ podman-compose ];
} }

View File

@@ -30,7 +30,7 @@
home-manager = { home-manager = {
extraSpecialArgs = { inherit inputs; }; extraSpecialArgs = { inherit inputs; };
sharedModules = [ sharedModules = [
inputs.nix-index-database.hmModules.nix-index inputs.nix-index-database.homeModules.nix-index
]; ];
users = { users = {
"worble" = import ./home.nix; "worble" = import ./home.nix;

View File

@@ -39,10 +39,21 @@
services.hardware.openrgb.enable = true; services.hardware.openrgb.enable = true;
fileSystems."/mnt/HDD1" = { # fileSystems."/mnt/HDD1" = {
#device = "/dev/disk/by-uuid/35763dc3-c736-4714-ade7-40bf49ad50dd"; # 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"; fsType = "ext4";
label = "HDD1"; label = "HDD2";
options = [ options = [
# If you don't have this options attribute, it'll default to "defaults" # 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 # boot options for fstab. Search up fstab mount options you can use
@@ -76,7 +87,7 @@
useGlobalPkgs = true; useGlobalPkgs = true;
extraSpecialArgs = { inherit inputs; }; extraSpecialArgs = { inherit inputs; };
sharedModules = [ sharedModules = [
inputs.nix-index-database.hmModules.nix-index inputs.nix-index-database.homeModules.nix-index
]; ];
users = { users = {
"worble" = import ./home.nix; "worble" = import ./home.nix;

View File

@@ -5,6 +5,7 @@
../../home-manager/base.nix ../../home-manager/base.nix
../../home-manager/development/all.nix ../../home-manager/development/all.nix
../../home-manager/gaming.nix ../../home-manager/gaming.nix
../../home-manager/streamlink.nix
]; ];
terminal.nixUpdateLocation = "/home/worble/Projects/nixos#tuxedo"; terminal.nixUpdateLocation = "/home/worble/Projects/nixos#tuxedo";
@@ -45,6 +46,8 @@
dbeaver-bin dbeaver-bin
ruffle ruffle
popsicle popsicle
# for headset tune
headsetcontrol
]; ];
home.file = { home.file = {
@@ -73,16 +76,14 @@
}; };
mpv = { mpv = {
enable = true;
config = { config = {
profile = "gpu-hq"; profile = "gpu-hq";
vo = "gpu-next"; vo = "gpu-next";
gpu-api = "opengl"; gpu-api = "opengl";
gpu-context = "wayland"; gpu-context = "wayland";
hwdec = "vulkan"; hwdec = "vulkan";
screenshot-directory = "/mnt/HDD1/Pictures/"; screenshot-directory = "/mnt/HDD2/Pictures/";
# screenshot-directory = "~/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"; 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 = '' extraInput = ''
@@ -114,10 +115,10 @@
services = { services = {
rclone-media = { rclone-media = {
Unit = { Unit = {
Description = "rclone-media /mnt/HDD1/Videos/"; Description = "rclone-media /mnt/HDD2/Videos/";
After = [ "network.target" "mnt-HDD1.mount" ]; After = [ "network.target" "mnt-HDD2.mount" ];
# Maybe? https://unix.stackexchange.com/questions/281650/systemd-unit-requiresmountsfor-vs-conditionpathisdirectory # Maybe? https://unix.stackexchange.com/questions/281650/systemd-unit-requiresmountsfor-vs-conditionpathisdirectory
# RequiresMountsFor = "/mnt/HDD1/Videos/"; # RequiresMountsFor = "/mnt/HDD2/Videos/";
}; };
Install = { Install = {
@@ -134,7 +135,7 @@ runtimeInputs = [ pkgs.inotify-tools pkgs.libnotify pkgs.rclone ];
text = '' text = ''
function rclonecopy { function rclonecopy {
file=$1 file=$1
changed_rel=''${file#"/mnt/HDD1/Videos"} changed_rel=''${file#"/mnt/HDD2/Videos"}
notify-send -a "rclone-media" "rclone for $file triggered" notify-send -a "rclone-media" "rclone for $file triggered"
if rclone copyto "$file" media:"media-7gM2gcrxRjXqfj$changed_rel" ; then if rclone copyto "$file" media:"media-7gM2gcrxRjXqfj$changed_rel" ; then
notify-send -a "rclone-media" "rclone complete for $file" notify-send -a "rclone-media" "rclone complete for $file"
@@ -146,7 +147,7 @@ text = ''
inotifywait -mr \ inotifywait -mr \
--format '%w%f' \ --format '%w%f' \
-e close_write \ -e close_write \
/mnt/HDD1/Videos/ | /mnt/HDD2/Videos/ |
while read -r file; do while read -r file; do
rclonecopy "$file" rclonecopy "$file"
done done

42
flake.lock generated
View File

@@ -7,11 +7,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1750040002, "lastModified": 1752113600,
"narHash": "sha256-KrC9iOVYIn6ukpVlHbqSA4hYCZ6oDyJKrcLqv4c5v84=", "narHash": "sha256-7LYDxKxZgBQ8LZUuolAQ8UkIB+jb4A2UmiR+kzY9CLI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "7f1857b31522062a6a00f88cbccf86b43acceed1", "rev": "79264292b7e3482e5702932949de9cbb69fedf6d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -45,11 +45,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749154018, "lastModified": 1752527596,
"narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=", "narHash": "sha256-kn620ocx9JmmWKBN4X+kTbsQg/nv2HBxceDf2zV08VM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111", "rev": "8597e85e2ce33e6a6f1df99cc56cdf7680cb22e0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -66,11 +66,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749960154, "lastModified": 1752441837,
"narHash": "sha256-EWlr9MZDd+GoGtZB4QsDzaLyaDQPGnRY03MFp6u2wSg=", "narHash": "sha256-FMH1OSSJp8Cx8MZHXz6KckxJGbCnVMotZNAH3v2WneU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "424a40050cdc5f494ec45e46462d288f08c64475", "rev": "839e02dece5845be3a322e507a79712b73a96ba2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -105,11 +105,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1750039657, "lastModified": 1752459325,
"narHash": "sha256-Vrh5PDskpJ2kEumHbncffZxWQGr2pK88oTOFtBUWG74=", "narHash": "sha256-46TgjdxT02a4nFd9HCXCf8kK5ZSH7r9gYROLtc8zVOg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-vscode-extensions", "repo": "nix-vscode-extensions",
"rev": "54ce2a0e930383535c632aad39b22205fa430be0", "rev": "61c2e99ebd586f463a6c0ebe3d931e74883b163d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -120,11 +120,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1750083401, "lastModified": 1752048960,
"narHash": "sha256-ynqbgIYrg7P1fAKYqe8I/PMiLABBcNDYG9YaAP/d/C4=", "narHash": "sha256-gATnkOe37eeVwKKYCsL+OnS2gU4MmLuZFzzWCtaKLI8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "61837d2a33ccc1582c5fabb7bf9130d39fee59ad", "rev": "7ced9122cff2163c6a0212b8d1ec8c33a1660806",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -152,11 +152,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1749794982, "lastModified": 1751984180,
"narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=", "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81", "rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -168,11 +168,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1750005367, "lastModified": 1752308619,
"narHash": "sha256-h/aac1dGLhS3qpaD2aZt25NdKY7b+JT0ZIP2WuGsJMU=", "narHash": "sha256-pzrVLKRQNPrii06Rm09Q0i0dq3wt2t2pciT/GNq5EZQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "6c64dabd3aa85e0c02ef1cdcb6e1213de64baee3", "rev": "650e572363c091045cdbc5b36b0f4c1f614d3058",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -57,7 +57,7 @@
inherit pkgs; inherit pkgs;
extraSpecialArgs = { inherit inputs; }; extraSpecialArgs = { inherit inputs; };
modules = [ modules = [
nix-index-database.hmModules.nix-index nix-index-database.homeModules.nix-index
./devices/deck/home.nix ./devices/deck/home.nix
]; ];
}; };

View File

@@ -41,7 +41,7 @@
package = pkgs.brave; package = pkgs.brave;
}; };
mpv = lib.mkDefault { mpv = {
enable = true; enable = true;
package = ( package = (
pkgs.mpv-unwrapped.wrapper { pkgs.mpv-unwrapped.wrapper {
@@ -56,8 +56,14 @@
} }
); );
config = { config = {
screenshot-directory = "~/Pictures/"; screenshot-directory = lib.mkDefault "~/Pictures/";
screenshot-template = "%F/%F_snapshot_%P"; screenshot-template = lib.mkDefault "%F/%F_snapshot_%P";
sub-ass-use-video-data = lib.mkDefault "aspect-ratio";
};
scriptOpts = {
uosc = {
time_precision = 2;
};
}; };
}; };
}; };

View File

@@ -106,6 +106,7 @@ with lib;
settings = { settings = {
theme = "dracula"; theme = "dracula";
show_startup_tips = false; show_startup_tips = false;
default_mode = "locked";
}; };
}; };

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, inputs, ... }:
{ {
home.packages = with pkgs;[ home.packages = with pkgs;[

View File

@@ -55,6 +55,8 @@
"media.hardwaremediakeys.enabled" = false; "media.hardwaremediakeys.enabled" = false;
# restore tabs on startup # restore tabs on startup
"browser.startup.page" = 3; "browser.startup.page" = 3;
# do not trim http
"browser.urlbar.trimURLs" = false;
/* Arkenfox Begin */ /* Arkenfox Begin */

View 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=";
});
};
};
};
}