mirror of
https://github.com/js0ny/dotfiles.git
synced 2026-03-22 18:52:43 +00:00
feat(pcloud): fake home
This commit is contained in:
parent
1d5c363220
commit
b714297442
11 changed files with 176 additions and 73 deletions
|
|
@ -8,61 +8,6 @@
|
|||
mergetools = import ../../../modules/lib/mergetools.nix {inherit pkgs lib config;};
|
||||
mkMergedJson = mergetools.mkMergedJson;
|
||||
mkMergedIni = mergetools.mkMergedIni;
|
||||
pdxrel = "${config.home.homeDirectory}/.local/share/Paradox Interactive";
|
||||
# pdxbase = "${config.home.homeDirectory}/${pdxrel}";
|
||||
euvbase = "${config.home.homeDirectory}/.local/share/Steam/steamapps/compatdata/3450310/pfx/drive_c/users/steamuser/Documents/Paradox Interactive/Europa Universalis V";
|
||||
paradoxLauncherUserSettings = mkMergedJson {
|
||||
name = "paradox-launcher-usersettings";
|
||||
target = "${pdxrel}/launcher-v2/userSettings.json";
|
||||
settings = {
|
||||
"optionalTelemetryDisabled" = true;
|
||||
"language" = "zh-hans";
|
||||
};
|
||||
};
|
||||
pdxSdkSettingsEU5 = mkMergedJson {
|
||||
name = "pdxSdkaccountJsonEU5";
|
||||
target = "${euvbase}/PDX/SDK/eu5/account.json";
|
||||
settings = {
|
||||
telemetryEnabled = false;
|
||||
};
|
||||
};
|
||||
# 经典 $HOME 下拉屎
|
||||
pdxSdkSettingsV3 = mkMergedJson {
|
||||
name = "pdxSdkaccountJsonV3";
|
||||
target = "${config.home.homeDirectory}/PDX/SDK/victoria3/account.json";
|
||||
settings = {
|
||||
telemetryEnabled = false;
|
||||
};
|
||||
};
|
||||
pdxSdkTelemetryEU5 = mkMergedJson {
|
||||
name = "pdxSdktelemetryConsentEU5";
|
||||
target = "${euvbase}/PDX/SDK/eu5/telemetry_consent.json";
|
||||
settings = {
|
||||
telemetry_consent_choice = "denied";
|
||||
};
|
||||
};
|
||||
pdxSdkTelemetryV3 = mkMergedJson {
|
||||
name = "pdxSdktelemetryConsentV3";
|
||||
target = "${config.home.homeDirectory}/PDX/SDK/victoria3/telemetry_consent.json";
|
||||
settings = {
|
||||
telemetry_consent_choice = "denied";
|
||||
};
|
||||
};
|
||||
victoria3Settings = mkMergedJson {
|
||||
name = "victoria3-settings";
|
||||
target = "${pdxrel}/Victoria 3/pdx_settings.json";
|
||||
settings = {
|
||||
Account = {
|
||||
telemetry_consent = false;
|
||||
};
|
||||
game = {
|
||||
save_on_exit = true;
|
||||
};
|
||||
Theme = {
|
||||
daynight_cycle = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
prismLauncherCfg = mkMergedIni {
|
||||
name = "prism-launcher-config";
|
||||
target = "${config.home.homeDirectory}/.local/share/PrismLauncher/prismlauncher.cfg";
|
||||
|
|
@ -120,20 +65,10 @@ in {
|
|||
steamcmd
|
||||
];
|
||||
imports = [
|
||||
../programs/retroarch.nix
|
||||
../programs/celeste
|
||||
paradoxLauncherUserSettings
|
||||
victoria3Settings
|
||||
pdxSdkSettingsEU5
|
||||
pdxSdkSettingsV3
|
||||
pdxSdkTelemetryEU5
|
||||
pdxSdkTelemetryV3
|
||||
../programs/gaming/retroarch.nix
|
||||
../programs/gaming/celeste
|
||||
../programs/gaming/PDS
|
||||
prismLauncherCfg
|
||||
ryujinxConfig
|
||||
];
|
||||
xdg.dataFile = {
|
||||
"Paradox Interactive/launcherpath".text = ''
|
||||
${config.home.homeDirectory}/.local/share/paradoxlauncher
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,7 +66,6 @@ in {
|
|||
# Terminal Emulator
|
||||
kitty
|
||||
alacritty
|
||||
warp-terminal
|
||||
|
||||
# PDF Viewer
|
||||
kdePackages.okular
|
||||
|
|
@ -83,7 +82,6 @@ in {
|
|||
# Theming
|
||||
papirus-icon-theme
|
||||
|
||||
pcloud
|
||||
nixpaks.qq
|
||||
nixpaks.termius
|
||||
signal-desktop
|
||||
|
|
@ -106,7 +104,6 @@ in {
|
|||
onlyoffice-desktopeditors
|
||||
# wayland-bongocat
|
||||
kdePackages.qttools
|
||||
nur.repos.forkprince.helium-nightly
|
||||
obsidian
|
||||
file-roller
|
||||
dex
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ in {
|
|||
W3M_DIR = "${xdg-state}/w3m";
|
||||
WAKATIME_HOME = "${xdg-config}/wakatime"; # ~/.wakatime
|
||||
WGETRC = "${xdg-config}/wget/wgetrc";
|
||||
WINEPREFIX = "${xdg-data}/wineprefixes/default";
|
||||
};
|
||||
xdg.configFile."npm/npmrc".text = ''
|
||||
prefix=${xdg-data}/npm
|
||||
|
|
@ -41,5 +42,6 @@ in {
|
|||
'';
|
||||
systemd.user.tmpfiles.rules = [
|
||||
"d ${xdg-config}/wakatime 0700 ${user} users -"
|
||||
"d ${xdg-data}/wineprefixes 0700 ${user} users -"
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,20 @@
|
|||
{config, ...}: {
|
||||
{config, ...}: let
|
||||
cleanerPdxSaveData = name: path: {
|
||||
inherit path;
|
||||
olderThan = 30;
|
||||
filesOnly = false;
|
||||
recursive = false;
|
||||
onCalendar = "weekly";
|
||||
};
|
||||
pdxrel = "${config.xdg.dataHome}/Paradox Interactive";
|
||||
pdxSaveDataPaths = {
|
||||
ck3 = "${pdxrel}/Crusader Kings III/save games/";
|
||||
eu4 = "${pdxrel}/Europa Universalis IV/save games/";
|
||||
hoi4 = "${pdxrel}/Hearts of Iron IV/save games/";
|
||||
vicky3 = "${pdxrel}/Victoria 3/save games/";
|
||||
eu5 = "${pdxrel}/Europa Universalis V/save games/";
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
./lib-cleaner.nix
|
||||
];
|
||||
|
|
@ -10,5 +26,9 @@
|
|||
recursive = false;
|
||||
onCalendar = "weekly";
|
||||
};
|
||||
ck3-save-data = cleanerPdxSaveData "ck3" pdxSaveDataPaths.ck3;
|
||||
eu4-save-data = cleanerPdxSaveData "eu4" pdxSaveDataPaths.eu4;
|
||||
hoi4-save-data = cleanerPdxSaveData "hoi4" pdxSaveDataPaths.hoi4;
|
||||
vicky3-save-data = cleanerPdxSaveData "vicky3" pdxSaveDataPaths.vicky3;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
108
nixcfgs/users/js0ny/programs/gaming/PDS/default.nix
Normal file
108
nixcfgs/users/js0ny/programs/gaming/PDS/default.nix
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
mergetools = import ../../../../../modules/lib/mergetools.nix {inherit pkgs lib config;};
|
||||
mkMergedJson = mergetools.mkMergedJson;
|
||||
mkMergedIni = mergetools.mkMergedIni;
|
||||
pdxrel = "${config.home.homeDirectory}/.local/share/Paradox Interactive";
|
||||
# pdxbase = "${config.home.homeDirectory}/${pdxrel}";
|
||||
euvbase = "${config.home.homeDirectory}/.local/share/Steam/steamapps/compatdata/3450310/pfx/drive_c/users/steamuser/Documents/Paradox Interactive/Europa Universalis V";
|
||||
paradoxLauncherUserSettings = mkMergedJson {
|
||||
name = "paradox-launcher-usersettings";
|
||||
target = "${pdxrel}/launcher-v2/userSettings.json";
|
||||
settings = {
|
||||
"optionalTelemetryDisabled" = true;
|
||||
"language" = "zh-hans";
|
||||
};
|
||||
};
|
||||
pdxSdkSettingsEU5 = mkMergedJson {
|
||||
name = "pdxSdkaccountJsonEU5";
|
||||
target = "${euvbase}/PDX/SDK/eu5/account.json";
|
||||
settings = {
|
||||
telemetryEnabled = false;
|
||||
};
|
||||
};
|
||||
# 经典 $HOME 下拉屎
|
||||
pdxSdkSettingsV3 = mkMergedJson {
|
||||
name = "pdxSdkaccountJsonV3";
|
||||
target = "${config.home.homeDirectory}/PDX/SDK/victoria3/account.json";
|
||||
settings = {
|
||||
telemetryEnabled = false;
|
||||
};
|
||||
};
|
||||
pdxSdkTelemetryEU5 = mkMergedJson {
|
||||
name = "pdxSdktelemetryConsentEU5";
|
||||
target = "${euvbase}/PDX/SDK/eu5/telemetry_consent.json";
|
||||
settings = {
|
||||
telemetry_consent_choice = "denied";
|
||||
};
|
||||
};
|
||||
pdxSdkTelemetryV3 = mkMergedJson {
|
||||
name = "pdxSdktelemetryConsentV3";
|
||||
target = "${config.home.homeDirectory}/PDX/SDK/victoria3/telemetry_consent.json";
|
||||
settings = {
|
||||
telemetry_consent_choice = "denied";
|
||||
};
|
||||
};
|
||||
victoria3Settings = mkMergedJson {
|
||||
name = "victoria3-settings";
|
||||
target = "${pdxrel}/Victoria 3/pdx_settings.json";
|
||||
settings = {
|
||||
Account = {
|
||||
telemetry_consent = false;
|
||||
};
|
||||
game = {
|
||||
save_on_exit = true;
|
||||
};
|
||||
Theme = {
|
||||
daynight_cycle = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
cleanerPdxSaveData = name: path: {
|
||||
inherit path;
|
||||
olderThan = 30;
|
||||
filesOnly = false;
|
||||
recursive = false;
|
||||
onCalendar = "weekly";
|
||||
};
|
||||
pdxSaveDataPaths = {
|
||||
ck3 = "${pdxrel}/Crusader Kings III/save games/";
|
||||
eu4 = "${pdxrel}/Europa Universalis IV/save games/";
|
||||
hoi4 = "${pdxrel}/Hearts of Iron IV/save games/";
|
||||
vicky3 = "${pdxrel}/Victoria 3/save games/";
|
||||
eu5 = "${euvbase}/save games/";
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
../../lib-cleaner.nix
|
||||
paradoxLauncherUserSettings
|
||||
victoria3Settings
|
||||
pdxSdkSettingsEU5
|
||||
pdxSdkSettingsV3
|
||||
pdxSdkTelemetryEU5
|
||||
pdxSdkTelemetryV3
|
||||
];
|
||||
xdg.dataFile = {
|
||||
"Paradox Interactive/launcherpath".text = ''
|
||||
${config.home.homeDirectory}/.local/share/paradoxlauncher
|
||||
'';
|
||||
};
|
||||
my.cleanup.jobs = {
|
||||
vicky3-crash-reports = {
|
||||
path = "${config.home.homeDirectory}/.local/share/Paradox Interactive/Victoria 3/crashes/";
|
||||
olderThan = 7;
|
||||
filesOnly = false;
|
||||
recursive = false;
|
||||
onCalendar = "weekly";
|
||||
};
|
||||
ck3-save-data = cleanerPdxSaveData "ck3" pdxSaveDataPaths.ck3;
|
||||
eu4-save-data = cleanerPdxSaveData "eu4" pdxSaveDataPaths.eu4;
|
||||
hoi4-save-data = cleanerPdxSaveData "hoi4" pdxSaveDataPaths.hoi4;
|
||||
vicky3-save-data = cleanerPdxSaveData "vicky3" pdxSaveDataPaths.vicky3;
|
||||
eu5-save-data = cleanerPdxSaveData "eu5" pdxSaveDataPaths.eu5;
|
||||
};
|
||||
}
|
||||
41
nixcfgs/users/js0ny/programs/pcloud.nix
Normal file
41
nixcfgs/users/js0ny/programs/pcloud.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
pcloudAntidots = pkgs.writeShellScriptBin "pcloud-antidots" ''
|
||||
set -euo pipefail
|
||||
|
||||
real_home="$HOME"
|
||||
fake_home="$real_home/.sandbox/.per-app/pcloud"
|
||||
|
||||
mkdir -p \
|
||||
"$fake_home" \
|
||||
"$fake_home/.config" \
|
||||
"$fake_home/.cache" \
|
||||
"$fake_home/.local/share" \
|
||||
"$fake_home/.local/state"
|
||||
|
||||
export HOME="$fake_home"
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
export XDG_CACHE_HOME="$HOME/.cache"
|
||||
export XDG_DATA_HOME="$HOME/.local/share"
|
||||
export XDG_STATE_HOME="$HOME/.local/state"
|
||||
|
||||
exec ${lib.getExe pkgs.pcloud} "$@"
|
||||
'';
|
||||
|
||||
pcloudAntidotsDesktop = pkgs.makeDesktopItem {
|
||||
name = "pcloud-antidots";
|
||||
desktopName = "pCloud (Antidots)";
|
||||
exec = "${lib.getExe pcloudAntidots}";
|
||||
terminal = false;
|
||||
categories = ["Network" "FileTransfer"];
|
||||
};
|
||||
in {
|
||||
home.packages = [
|
||||
pkgs.pcloud
|
||||
pcloudAntidots
|
||||
pcloudAntidotsDesktop
|
||||
];
|
||||
}
|
||||
|
|
@ -25,6 +25,7 @@ in {
|
|||
|
||||
./programs/antidots.nix
|
||||
./programs/sandboxed.nix
|
||||
./programs/pcloud.nix
|
||||
|
||||
# Shell
|
||||
./programs/shell/bash.nix
|
||||
|
|
@ -90,7 +91,6 @@ in {
|
|||
./programs/dolphin.nix
|
||||
./programs/magick.nix
|
||||
./programs/miniserve.nix
|
||||
./programs/retroarch.nix
|
||||
./programs/edit-clipboard.nix
|
||||
./programs/aichat.nix
|
||||
./programs/wine.nix
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue