feat: add different rustdesks for configs
This commit is contained in:
@@ -10,6 +10,8 @@ in {
|
||||
./signal-work.nix
|
||||
./thunderbird.nix
|
||||
./bitwarden.nix
|
||||
./rustdesk.nix
|
||||
./rustdesk-epicenter.nix
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
@@ -65,8 +67,6 @@ in {
|
||||
pinentry
|
||||
rbw
|
||||
rofi-rbw
|
||||
# unstable.rustdesk
|
||||
rustdesk-flutter
|
||||
thunderbird
|
||||
vlc
|
||||
wl-clipboard
|
||||
|
||||
38
hosts/nb/modules/desktop/rustdesk-epicenter.nix
Normal file
38
hosts/nb/modules/desktop/rustdesk-epicenter.nix
Normal file
@@ -0,0 +1,38 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
wrapperScript = pkgs.writeShellScriptBin "rustdesk-wrapper" ''
|
||||
CONFIG_FILE="$HOME/.config/rustdesk/RustDesk2.toml"
|
||||
CONFIG_DIR="$(dirname "$CONFIG_FILE")"
|
||||
|
||||
if [ ! -f "$CONFIG_FILE" ]; then
|
||||
${pkgs.rustdesk-flutter}/bin/rustdesk &
|
||||
RUSTDESK_PID=$!
|
||||
sleep 3
|
||||
kill $RUSTDESK_PID 2>/dev/null || true
|
||||
sleep 1
|
||||
fi
|
||||
|
||||
if [ -f "$CONFIG_FILE" ]; then
|
||||
sed -i "s|^rendezvous_server = .*|rendezvous_server = 'tools.epicenter.works:21116'|" "$CONFIG_FILE"
|
||||
sed -i "s|^custom-rendezvous-server = .*|custom-rendezvous-server = 'tools.epicenter.works'|" "$CONFIG_FILE"
|
||||
sed -i "/^key\s*=.*/d" "$CONFIG_FILE"
|
||||
fi
|
||||
|
||||
# Launch RustDesk
|
||||
exec ${pkgs.rustdesk-flutter}/bin/rustdesk "$@"
|
||||
'';
|
||||
|
||||
rustdeskEpicenterDesktopItem = pkgs.makeDesktopItem {
|
||||
name = "rustdesk-epicenter";
|
||||
desktopName = "RustDesk Epicenter";
|
||||
exec = "${wrapperScript}/bin/rustdesk-wrapper";
|
||||
icon = "rustdesk"; # Using the standard rustdesk icon
|
||||
categories = [ "Network" "RemoteAccess" ];
|
||||
comment = "Remote desktop software configured for Epicenter";
|
||||
};
|
||||
in {
|
||||
environment.systemPackages = [
|
||||
rustdeskEpicenterDesktopItem
|
||||
];
|
||||
}
|
||||
46
hosts/nb/modules/desktop/rustdesk.nix
Normal file
46
hosts/nb/modules/desktop/rustdesk.nix
Normal file
@@ -0,0 +1,46 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
wrapperScript = pkgs.writeShellScriptBin "rustdesk-wrapper" ''
|
||||
CONFIG_FILE="$HOME/.config/rustdesk/RustDesk2.toml"
|
||||
CONFIG_DIR="$(dirname "$CONFIG_FILE")"
|
||||
KEY_VALUE="$(sed -e 's/[[:space:]]*$//' "${config.sops.secrets.rustdesk-cloonar-key.path}")"
|
||||
|
||||
if [ ! -f "$CONFIG_FILE" ]; then
|
||||
${pkgs.rustdesk-flutter}/bin/rustdesk &
|
||||
RUSTDESK_PID=$!
|
||||
sleep 3
|
||||
kill $RUSTDESK_PID 2>/dev/null || true
|
||||
sleep 1
|
||||
fi
|
||||
|
||||
# Update server configuration
|
||||
if [ -f "$CONFIG_FILE" ]; then
|
||||
sed -i "s|^rendezvous_server = .*|rendezvous_server = 'rustdesk.cloonar.com:21116'|" "$CONFIG_FILE"
|
||||
sed -i "s|^custom-rendezvous-server = .*|custom-rendezvous-server = 'rustdesk.cloonar.com'|" "$CONFIG_FILE"
|
||||
if grep -qE '^key\s*=' "$CONFIG_FILE"; then
|
||||
sed -i "s|^key\s*=.*|key = '$KEY_VALUE'|" "$CONFIG_FILE"
|
||||
else
|
||||
printf "\nkey = '%s'\n" "$KEY_VALUE" >> "$CONFIG_FILE"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Launch RustDesk
|
||||
exec ${pkgs.rustdesk-flutter}/bin/rustdesk "$@"
|
||||
'';
|
||||
|
||||
rustdeskDesktopItem = pkgs.makeDesktopItem {
|
||||
name = "rustdesk-cloonar";
|
||||
desktopName = "RustDesk Cloonar";
|
||||
exec = "${wrapperScript}/bin/rustdesk-wrapper";
|
||||
icon = "rustdesk";
|
||||
categories = [ "Network" "RemoteAccess" ];
|
||||
comment = "Remote desktop software configured for Cloonar";
|
||||
};
|
||||
in {
|
||||
sops.secrets.rustdesk-cloonar-key.owner = "dominik";
|
||||
|
||||
environment.systemPackages = [
|
||||
rustdeskDesktopItem
|
||||
];
|
||||
}
|
||||
@@ -10,6 +10,7 @@ cyberghost_cert: ENC[AES256_GCM,data:hXplfGZvyQDf6m0YFWgtdHCLy0178BZNbDFxoAvj6J/
|
||||
cyberghost_key: ENC[AES256_GCM,data:qfPwy1DSooR6eo9O7j6h43wILh4PzxE2X0pdbzh3gw1D98rR8GWEj8sukK/L0TzfGYqYWDPy15OeymaGdm6p1WtevBOlkZtQcXmo7jg3+k0TFUnUctNDm2cOjuKck7CGDFtwbMsOHtCxwhwYouCmes9sQ6KSfolVkutVcvEfI1qhjOvJabsZt4O0P5wB4dQUMQfcPwXYKLuW3xlP2MvIn+Q6XZzfLOqoHnAwQhyxfGsOeMkPV2GXzMsqcCuDhfItU7d1GHzMCOLQsWspwNr1jJd0a56YhY+oPHs+yRSEvzFeL08ZyQjPr7YX/p5w84aJrY7THDlBcAK3d35EQOPvAEghrbmas/aKSxDXPL2W3GKKhok9ztpX6QDywkgwUbetXs+oVUF3sHK+UlyiW4RLPsKoQQPtHYBvgIwtT9ym21PJvgFy4dOJF+XW3CfpZcAOONB2L2mxrhB04CV0is3i+SnQE4tVIqGfQBVrDeuGB/+7Pjy2cW0zkEOAHrwGbdlqG0kgdHFOdbDp2fJl5zTRd9hBhYeXT9mbFtlJ+50KyGOAkJZf9a3O0BwgYRR0sdaEWfOLDMsz5L1DlvzidrChGBwFbHAyuFkjE/hkhddAH+1xiCfRCb+mGqs03rDhIpJbEMZLRZFsLWu+hlXKZ4AXamkuOvkk9KvrYL8KVjkVk1GIIeQqVFE1tiSCtlGeODYblA/5HPTCH1wPrLBNCRS6xkxEwHs/qZx6J0qN6j94lWDWa/Q83g7L3OKL8JTlsyr+D9100veMUVhvo8RiJy85Z7tTqXXEckEWKgnC53dZ1ruILNzupytUYa9rYjNcQ1KXy0dwYbMDQ4kvLCpJtO47pXo1i9V9bDFrYCLipCtyg+s2RUzYOnW4GXpn+de9MDEJ5oOp0pMZ25HG3fpnZDvaIyPyytpyj7apx3VDf62Eq5Rodd49uKuDjlbWDezaaU6MjRqhmpv8dbs7c/7pogZmaztxKTbs+EZ/6l66cek24GS7GjQj0e+N32vY1ACcQUCjg9smCGvhKs0H5kL1YOJkopN9ZWVV9p32p0IsbQHsRebSOHablHT8q6tyYfP6ctHH6BNfoUlfZjHtR52VEiY0OstmnjsJxE2hYPX+l4tpUGNGv18nQ4C2ez3baMWHNXzRTXo+g4zjVkW0Ggi0ecd7I5vR5vUNNA74Hv5Mrd+oAYkf/65XGlTJu5VIM0f7IvlSintmmM0pLB1rmCgnZenlhhbY+0862xS2j1YcZIapox8JT/W2IRUYKnJ7j7B3bc/57JWDzaBM/AukhZvERqdm12fhh9jNrNDjK25HmNwdh4Bsf7IyVqXh/nSsH5MtTCASonn/DG+6pGLwOCxKiQdNmlYD8yiZ2RkSfFs14glr0frUYcgCEOFb18IeF/e6srzKSocRVJqKAoCQhnu4qNMy7YDXpmucnzhWuwcFeKC6gaTKBPj6pxM8OSXM7uqe27So4flZIbNU8yvDp0Ub0LYco/EJGUEL9lwitMydSV0F3gjc8zvEbYMs7qlYg9dD1jxJd5vaPkx59DHCpEMOHn1CjVxazZNvexJLG7j4FBkM6PhF131/C7C4cly8ASLQd5E6nZb54GZdKqDp6MVgipeKJ1Z8A/onBC/Glal1bl6ASeAO2Mkfq7PBJ54CKXaxiQ+TFpCfy7DrOArQzaBJ9s/Gy14EoGfb/o0VuXhj4vwChig16x7vu5MnEFdItPjkfRa638KkILeS4OXm0ae+KKxBUchCwXdRyGK+wn7Kz9E9xOjcKMI/kiDnAB/mTkLC+IA5wRuXgtVyFk3BuvrJaYIHsJVZofP5lYz0JLmXXtPyytI3r/IwSL3B0jupo/KHUZx6MBwjBYG/fKJgTQvvbGDePNFHfk5y/At96P7QZIVO+QlmQg1em0pRpYbO30GVhcDko9LvNG5rLPB7a6SNB/pllOgBjbEKWoNPVwFVe17ILzA2Hl/egkW+wxiJM39bG7Ll1bMN5Q32yNZlUAzWBHDSd4DhM14ock9irRGtLqrhHH0QyMr1WlVoMRXTGT7aMLUBc4IEY7kXnx4Sw/RILqOFZsML6Kz5EEroTR/gzDpr1xYxcIRrRmaBS2YMc6wgfIRstsspMT2kUUT5n3MBJlur2CpyNEpqh5o0oRpACQyqdc9P35BVc5NYdAIg6zYKHtiTpl3I/Py+XDSDT/wC1OrKRJjuw0ES/wgDoygbPxieqdUGCqDkEjuM/UZqmIILAHBBvqniMVB5QLO53NO4lhrTbhmBWDXzw9dpJ77O6In8DmQ6cmuBsOAC1JqlGhFHpp1YMKtlQlOpwsORZSdwc/sfMkai/dXjhoh9Ptpk1fUKH+3AHzd+Ulb6Y7daInVgutnO/XFj832l8WwHzyZPLBTpbRbHeeSQevIHM/x/jLDZlUGVktrN04Dj4CJJstyeETIegzILTrXUhIq/W9cEd9vEdlSRRwTn5Z/E8zfET5fxLWSrMRTTQWOh1jIh7FI+P9d3x0K0fk0CR+vclyvVm506zAgF8KCBPjljDZYgeXyPMJ/icU9QhA72++IGo/XoT81fpB34Zt513PQk4WGmUGhAgiQP1EObnQ/YNaTcdUU8fhvq7YcyUlRA+vfaKMS1S18a8RKfYs0yWxCG4CuCb9pWhRK2ALjNeqYS70dFeeiAHI7UKjV+I5CbtLdIt0/oGDFKokH5xRVl6JkLq8iVPCaCyCOc0FCfBVyPBF3Qaisvh3GyIpCPbx0mp8fDRsiXLJShyqaqC6hpD88PnTDE2mvMyB/bH8Quzh5OrLp2CTDeOvWtg1GxYowiL0CC77ogUQhfM1ut8g+tvjgsmuiXU1uEzpHCsIXnSnUvwJW6tV37S0YUePoVAi6hVJTr60M2s4+0J2IxDnb9h2GVZqmusyQU74cKXJrEOC6r5apkhH2GG2jdVQGn2ETY/b/cbFtI38EtT4IbOa/OQDLf9F0UJPuYi5Ne0mII4asEmWdfco9P5oU4Ssr39WmTfmrBLvEQ0IhPSwKmtZlA1x85FSv5+wKauBYw3GTZa/tsp7E2MHhkyRWG1eMMziceCOrTD7NgRRLQIgN+ejm43i+OdMzi9vjzf1vg+barXOOd34yjY6zqpX9hEAJuxYgT2s8fGj59ljZsqp/qSICBIiImOyjxgKou1nh+AJY0Qs4fIGVTstf7aG540IiOGNTy41sVWdtKBeeahez9FB2lxMZ+A/83IRtmlnMcqXKhIgS7c3ajaRrgjesO/fbHnE557Ocz2A6SdoOn9rqVXD6VGvM2fkbj8no0ooCnvNtQ8JEMu6hyVipSqgRxcZlnW05NGOTtWxV3xRI3RK5tNguYgqqLIQvSARDDgm/HtJoJgom8lqSkLXswGjbxpJ1GP9lWpyov+muy9viwLQZQgEma7w2M0gIB84s3FOuYMIz7pKEDntUO7jRUl5+T8gJoJ9ex32InELTLWgksB8mb4ZuSCOmoISEEaBsPYtSG9wo5bWg5uz0/ToudFf+WRA9JT/MesSzVhehqFx1eMGAKHoRd02oMOtwIzQuc0Xp0DuYBTWOk/aHyRDxfluaFSIyAR/KBkO7fc9jKTu1JJifPCXZWInRXvPogmafCyYicC3gc2ITNumezK+oD8fjbWHW0gDIvk9qQjxhQJz99N0XYiRLTl1SssGMKADMzauPWSMDwn1VQ8t9Yc+NvT9i+9TB5YL7E3XhD3aqqwLbLOlIjvlaEhWeMjoaGlaVaz7u2n6g4zAGcVG5/uocZ2QI7byppVE/8rpjBAs1zQr3A/ajvcgCQ3+3g+sy+3w6C1KmYJj3kyF14FhTDLWekAyX1VlEQCB1BUeB7lc3CuPftTDSRKLU/vOygvIdzLMJdsQu/98qjOawsKwEVSXtSrrLXTcyhHRKvkRhUOOD6z1WRl0UTmSrqnzGraEV737vDQrMzMyq06r3mlV6xnho19F4aH2pHgI0uJcFB7efPz7nxOKtlhoc1BiAb88+sDksRJd7/+4+32hSkFQ/2MfC+wwlryo9NXtgSbUnMBYZqQIW0PfoArFTY6La9mrhPpAZ5HLmj3H6xRGhSyLJGBoW+jDltI6pic6G7oBODfUOmUei+CeQ2JKYGfjMcXmndU1qmR2Wj8ytS7yK/J2SxWRGAgmUiGI0gv5nnoe+aHa20yOL54k9XZLSMin5sghcXzTxtLcNz5sfBUIF3sQzhwYUGR9UfNYx3OkeL0HOXQlcICC6cUFan/zIc+8GXHhxLd6NabTiZiTXdYRuAoJeIt1qNUeK0xvLNm08fHiT3eGXbS7NVjtPTw/nYUx6Ca8LaM9eZBfgNowfn47LvoAuliQP2vLAjuatyjlcC/hFfu9Surfcb9LUM/ZsyMFM=,iv:EgSXZvyWmcBxBkAe6asJ2B12FKaLQPy4tRAtCvkys3M=,tag:B0lyX7IRNHX1CqlvBZaSpg==,type:str]
|
||||
openai_api_key: ENC[AES256_GCM,data:lH5Jf/xvtRRwuGYPM3g39J5DTQJowSKVqLtObgXRo+GOfpY/BKb46/R25rkWrOUv5pYK8PXmSm7obEkVBfoaYG0WufR6SzGH+R7hjrNgCzBA6g5pxmlE7CWPlPy6C6XqVgblL8aP2vD9qxJmIw8FYCLRgFHt5hK4d+Gd23BeBnkmPWIH23xyRFhCcb891CoiEEdXL5p1LNAOAW5ePmAyavc/Dlk=,iv:lWXy8/LlWeRVSect87/qsG2nOkmL5W7jpw/DVSnAbEs=,tag:n3pWUJ5uEMXtgt/kHG8J8w==,type:str]
|
||||
mcp-brave-env: ENC[AES256_GCM,data:FND006AIjGjSkJqx12RVd8NnyDIhqdUBgZxucaAOFlnt7ZRYAHj4xQqgSJuFxg==,iv:Fn/663cGELKYQWg+Ok1uCtNCeIP7zZBJgxhhcsR/Q8M=,tag:v8K6JQ15CYwcLj7vSjyN6g==,type:str]
|
||||
rustdesk-cloonar-key: ENC[AES256_GCM,data:nn1PKpOvhs3E1Lqtbx+W3oWon8+j74CrB4KuB+BqjfaHAaKdj+KMstYAv+0=,iv:UGjTZ9LauAALRMvJnqKkHYqGH6rjZMTZPQs0O7/aDd0=,tag:g6IZMCsE1dqZh3QYRuitzw==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age14grjcxaq4h55yfnjxvnqhtswxhj9sfdcvyas4lwvpa8py27pjy2sv3g6v7
|
||||
@@ -39,7 +40,7 @@ sops:
|
||||
L21ncjlQdGVDUjI2eXFIb3U2dW13bWsKuEwATNEUWtjuLsH7DQAt6J2l4blTId1W
|
||||
A1kQ+0dfUKrZ0dsbvUA5L9+haUiK8f5RvapaKW+L2JEn7gW5wJSJEw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-06-04T07:24:01Z"
|
||||
mac: ENC[AES256_GCM,data:j/MJqFuGqJr5k/B0WCpeAQ0h0qADDHXtnlKbbNuvtYIkXj9z4hKN8xV7zzHg9tCak2GRNlVgn27qgiab0XxzG8LJN6GStWC28u6AZSzC9tGsJqQBlucmz7G3eEIcLLI37i3Fw+vXkgZ0T1NQai4gCIQCCjrZip/Lfug4BNuJkWU=,iv:IvznUwSbPfhL6V/WnWm/30+c1jh0JqAqlDX8KazvZAc=,tag:YsuSpx/dEIMlNqR1xmGU4w==,type:str]
|
||||
lastmodified: "2025-06-05T16:28:03Z"
|
||||
mac: ENC[AES256_GCM,data:NNYwveO78Q4cWOPPt3Pyqh6AtbfRj/ax6D4t2KlVXWSLzKTUZKKaULXGY5PBp/jI2pyhPp5yEMhEyjRPWC8Xhvxjv+NLb6KltgaMfzIBS/jfSNk3dcYx6i8Y2oSG1efLJrRMc2Q/uACeztyivtjV9A7JCrEtb84Wb9HzkI4nZVs=,iv:Q8cTw+/RMJ3WHrkB9lyaAyI2K3O1ZhDnAMUYMJ4JMRk=,tag:JvrLiaKKYXiOmud4oZZZ1w==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.10.2
|
||||
|
||||
@@ -190,6 +190,7 @@ in
|
||||
# ".config/Nextcloud"
|
||||
# ".config/OrcaSlicer"
|
||||
# ".config/rustdesk"
|
||||
# ".config/rustdesk-epicenter"
|
||||
# ".config/Signal"
|
||||
# ".config/Signal-work"
|
||||
# ".config/sops"
|
||||
|
||||
Reference in New Issue
Block a user