install copyparty

This commit is contained in:
Khaïs COLIN 2025-08-13 17:41:35 +02:00
parent 1e9714ba0b
commit 188ddc66c4
Signed by: logistic-bot
SSH key fingerprint: SHA256:3zI3/tx0ZpCLHCLPmEaGR4oeYCPMCzQxXhXutBmtOAU
3 changed files with 121 additions and 20 deletions

90
flake.lock generated
View file

@ -107,6 +107,25 @@
"url": "ssh://forgejo@forgejo.005540.xyz/logistic-bot/cassowary"
}
},
"copyparty": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1755035202,
"narHash": "sha256-gFYvDIAU1HoqgYUOuetUsiJZAe1tuU/f0ju5JYoGySg=",
"owner": "9001",
"repo": "copyparty",
"rev": "715d374ee4d849ef4e7da2aec84f68f5dad87458",
"type": "github"
},
"original": {
"owner": "9001",
"repo": "copyparty",
"type": "github"
}
},
"devshell": {
"inputs": {
"nixpkgs": [
@ -276,6 +295,21 @@
}
},
"flake-utils": {
"locked": {
"lastModified": 1678901627,
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
@ -290,7 +324,7 @@
"type": "github"
}
},
"flake-utils_2": {
"flake-utils_3": {
"inputs": {
"systems": "systems_2"
},
@ -308,7 +342,7 @@
"type": "github"
}
},
"flake-utils_3": {
"flake-utils_4": {
"inputs": {
"systems": "systems_3"
},
@ -477,9 +511,9 @@
"mms": {
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": "flake-utils",
"flake-utils": "flake-utils_2",
"nix": "nix",
"nixpkgs": "nixpkgs_2"
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1669478601,
@ -498,7 +532,7 @@
"nix": {
"inputs": {
"lowdown-src": "lowdown-src",
"nixpkgs": "nixpkgs",
"nixpkgs": "nixpkgs_2",
"nixpkgs-regression": "nixpkgs-regression"
},
"locked": {
@ -562,7 +596,7 @@
},
"nixos-06cb-009a-fingerprint-sensor": {
"inputs": {
"nixpkgs": "nixpkgs_3"
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1734692513,
@ -580,18 +614,17 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1657693803,
"narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=",
"lastModified": 1748162331,
"narHash": "sha256-rqc2RKYTxP3tbjA+PB3VMRQNnjesrT0pEofXQTrMsS8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "365e1b3a859281cf11b94f87231adeabbdd878a2",
"rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-22.05-small",
"repo": "nixpkgs",
"type": "github"
"id": "nixpkgs",
"ref": "nixos-25.05",
"type": "indirect"
}
},
"nixpkgs-lib": {
@ -639,6 +672,22 @@
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1657693803,
"narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "365e1b3a859281cf11b94f87231adeabbdd878a2",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-22.05-small",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1669378442,
"narHash": "sha256-nm+4PN0A4SnV0SzEchxrMyKPvI3Ld/aoom4PnHeHucs=",
@ -654,7 +703,7 @@
"type": "github"
}
},
"nixpkgs_3": {
"nixpkgs_4": {
"locked": {
"lastModified": 1734323986,
"narHash": "sha256-m/lh6hYMIWDYHCAsn81CDAiXoT3gmxXI9J987W5tZrE=",
@ -669,7 +718,7 @@
"type": "indirect"
}
},
"nixpkgs_4": {
"nixpkgs_5": {
"locked": {
"lastModified": 1757810152,
"narHash": "sha256-Vp9K5ol6h0J90jG7Rm4RWZsCB3x7v5VPx588TQ1dkfs=",
@ -685,7 +734,7 @@
"type": "github"
}
},
"nixpkgs_5": {
"nixpkgs_6": {
"locked": {
"lastModified": 1721924956,
"narHash": "sha256-Sb1jlyRO+N8jBXEX9Pg9Z1Qb8Bw9QyOgLDNMEpmjZ2M=",
@ -704,7 +753,7 @@
"nixvim": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_5",
"nixpkgs": "nixpkgs_6",
"nixvim": "nixvim_2"
},
"locked": {
@ -778,7 +827,7 @@
},
"nuschtosSearch": {
"inputs": {
"flake-utils": "flake-utils_2",
"flake-utils": "flake-utils_3",
"nixpkgs": [
"nixvim",
"nixvim",
@ -801,7 +850,7 @@
},
"other-transcode": {
"inputs": {
"flake-utils": "flake-utils_3",
"flake-utils": "flake-utils_4",
"nixpkgs": [
"nixpkgs"
]
@ -844,11 +893,12 @@
"inputs": {
"breezex-cursor": "breezex-cursor",
"cassowary": "cassowary",
"copyparty": "copyparty",
"home-manager": "home-manager",
"mms": "mms",
"nix-doom-emacs-unstraightened": "nix-doom-emacs-unstraightened",
"nixos-06cb-009a-fingerprint-sensor": "nixos-06cb-009a-fingerprint-sensor",
"nixpkgs": "nixpkgs_4",
"nixpkgs": "nixpkgs_5",
"nixpkgs-unstable": "nixpkgs-unstable",
"nixvim": "nixvim",
"other-transcode": "other-transcode",

View file

@ -47,6 +47,8 @@
};
mms.url = "github:mkaito/nixos-modded-minecraft-servers";
copyparty.url = "github:9001/copyparty";
};
outputs = {
nixpkgs,
@ -61,6 +63,7 @@
nixos-06cb-009a-fingerprint-sensor,
cassowary,
mms,
copyparty,
...
}: let
system = "x86_64-linux";
@ -92,6 +95,12 @@
stylix.nixosModules.stylix
./stylix.nix
copyparty.nixosModules.default
({ ... }: {
# add the copyparty overlay to expose the package to the module
nixpkgs.overlays = [ copyparty.overlays.default ];
})
];
specialArgs = {
pkgs-unstable = nixpkgs-unstable.legacyPackages.${system};

View file

@ -56,6 +56,7 @@
# package for controlling brightness on external monitor
environment.systemPackages = [
pkgs.ddcutil
pkgs.copyparty
];
# mount external drive
@ -373,6 +374,41 @@
};
};
services.copyparty = {
enable = true;
settings = {
z = true;
i = "127.0.0.1";
p = "3004";
xff-hdr = "X-Forwarded-For";
xff-src = "127.0.0.1";
rproxy = 1;
e2dsa = true;
e2ts = true;
re-maxage = 7200; # rescan every 2 hours
no-robots = true;
theme = 2;
shr = "/shr";
};
accounts = {
"khais" = {
passwordFile = "/etc/nixos/secrets/copyparty/khais.password";
};
};
volumes = {
"/" = {
path = "/pile/copyparty/";
access = {
"g" = "*";
"A" = ["khais"];
};
flags = {
fk = 8;
};
};
};
};
services.victorialogs = {
enable = true;
extraOptions = ["-memory.allowedBytes=100MB"];
@ -400,6 +436,7 @@
recommendedGzipSettings = true;
recommendedProxySettings = true;
logError = "stderr info";
clientMaxBodySize = "64G";
appendHttpConfig = ''
access_log syslog:server=unix:/dev/log combined;
'';
@ -460,6 +497,11 @@
enableACME = true;
forceSSL = true;
};
"copyparty.005540.xyz" = {
locations."/".proxyPass = "http://localhost:3004";
enableACME = true;
forceSSL = true;
};
};
};
}