2 Commits

Author SHA1 Message Date
Dmitry Alekhine
37deed29ae Merge b66732f7f9 into ca81d037f7 2026-04-14 08:34:38 +03:00
dmfrpro
b66732f7f9 Add NixOS flake options
Signed-off-by: dmfrpro <dmfr2021y@gmail.com>
2026-04-10 03:55:15 +03:00
3 changed files with 51 additions and 2 deletions

View File

@@ -26,7 +26,7 @@ jobs:
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: "3.11"
python-version: "3.12"
cache: "pip"
- name: Setup MSVC 14.40 toolset

View File

@@ -112,6 +112,50 @@ paru -S tg-ws-proxy-bin
sudo systemctl start tg-ws-proxy-cli@8888:3075abe65830f0325116bb0416cadf9f
```
Для NixOS используйте [tg-ws-proxy-flake](https://github.com/dmfrpro/tg-ws-proxy-flake):
```nix
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
tg-ws-proxy.url = "github:dmfrpro/tg-ws-proxy-flake";
tg-ws-proxy.inputs.nixpkgs.follows = "nixpkgs";
};
```
Далее добавляете или системный модуль, или home-manager модуль:
```nix
outputs = { self, nixpkgs, tg-ws-proxy, ... }: {
# Или NixOS модуль
nixosConfigurations.host = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
tg-ws-proxy.nixosModules.tg-ws-proxy
];
};
# Или Home-manager модуль
homeConfigurations."user@host" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = [
tg-ws-proxy.homeModules.tg-ws-proxy
];
};
};
```
и включаете сервис:
```nix
{
services.tg-ws-proxy = {
enable = true;
secret = "3075abe65830f0325116bb0416cadf9f"; # openssl rand -hex 16
};
}
```
Для остальных дистрибутивов можно использовать **`TgWsProxy_linux_amd64`** (бинарный файл для x86_64).
```bash

View File

@@ -383,9 +383,14 @@ def run_tray() -> None:
def main() -> None:
if (mutex_result := _acquire_win_mutex()) is False or mutex_result is None and not acquire_lock():
if mutex_result := _acquire_win_mutex() is False:
_show_info("Приложение уже запущено.", os.path.basename(sys.argv[0]))
return
if mutex_result is None:
log.warning("Named mutex unavailable, falling back to lock file")
if not acquire_lock():
_show_info("Приложение уже запущено.", os.path.basename(sys.argv[0]))
return
try:
run_tray()