From c33877eb6fec1717fc8e8223d87b6cc7cc22160b Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" Date: Fri, 29 May 2026 23:18:56 +0000 Subject: [PATCH 01/13] Restore link checker configs and remove unnecessary repo ignore --- .lycheeignore | 3 +-- .markdown-link-check.json | 16 +++++++++++----- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.lycheeignore b/.lycheeignore index 99e423b..573b2c4 100644 --- a/.lycheeignore +++ b/.lycheeignore @@ -1,11 +1,10 @@ # Lychee config to exclude links # @docs: -# Keep entries sorted within each section. +# Keep the order sorted. ^https?://127\.0\.0\.1 ^https?://example\.com ^https?://localhost # Placeholders and templates -^https://github\.com/kenorb/dotfiles ^https://github\.com/zyedidia/eget/releases/download/v diff --git a/.markdown-link-check.json b/.markdown-link-check.json index ab3c7f2..610e581 100644 --- a/.markdown-link-check.json +++ b/.markdown-link-check.json @@ -2,19 +2,25 @@ "aliveStatusCodes": [200, 206], "ignorePatterns": [ { - "pattern": "^https?://localhost" + "pattern": "^http://localhost" }, { - "pattern": "^https?://127\\.0\\.0\\.1" + "pattern": "^https://localhost" }, { - "pattern": "^https?://example\\.com" + "pattern": "^http://127.0.0.1" }, { - "pattern": "^https://github\\.com/kenorb/dotfiles" + "pattern": "^https://127.0.0.1" }, { - "pattern": "^https://github\\.com/zyedidia/eget/releases/download/v" + "pattern": "^http://example.com" + }, + { + "pattern": "^https://example.com" + }, + { + "pattern": "^https://github.com/zyedidia/eget/releases/download/v" } ], "retryCount": 3, From 0fbe45a97f121756d4ffa5de0719fa0eea65664d Mon Sep 17 00:00:00 2001 From: "Rafal W." Date: Sat, 30 May 2026 05:42:04 +0100 Subject: [PATCH 02/13] Add mkisofs to the list of packages --- .ansible/variables-example.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.ansible/variables-example.yml b/.ansible/variables-example.yml index 85e7021..7d01b99 100644 --- a/.ansible/variables-example.yml +++ b/.ansible/variables-example.yml @@ -28,6 +28,7 @@ apt: - libzstd-dev - lz4 - mawk + - mkisofs - net-tools # ifconfig - p7zip - parallel From 1c556c3f6b75e0976415363027689484a2edbec0 Mon Sep 17 00:00:00 2001 From: "Rafal W." Date: Sat, 30 May 2026 05:54:56 +0100 Subject: [PATCH 03/13] Add hashcat to the list of packages --- .ansible/variables-example.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.ansible/variables-example.yml b/.ansible/variables-example.yml index 7d01b99..ebc9af8 100644 --- a/.ansible/variables-example.yml +++ b/.ansible/variables-example.yml @@ -18,6 +18,7 @@ apt: - git-lfs - gpg - gzip + - hashcat - htop - iotop - libhyperscan-dev From 25eddca456d31b675d507cb98cc498b7664a27e6 Mon Sep 17 00:00:00 2001 From: "Rafal W." Date: Sat, 30 May 2026 05:57:41 +0100 Subject: [PATCH 04/13] Add 'john' to the list of installed packages --- .ansible/variables-example.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.ansible/variables-example.yml b/.ansible/variables-example.yml index ebc9af8..227ec42 100644 --- a/.ansible/variables-example.yml +++ b/.ansible/variables-example.yml @@ -21,6 +21,7 @@ apt: - hashcat - htop - iotop + - john - libhyperscan-dev - libicu-dev - libpcre2-dev From 8fcd8c9737661d86c87e55327aee8179e824db6a Mon Sep 17 00:00:00 2001 From: "Rafal W." Date: Sat, 30 May 2026 22:17:29 +0100 Subject: [PATCH 05/13] Add cifs-utils to installation list Added cifs-utils for SMB/CIFS file sharing support. --- .ansible/variables-example.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.ansible/variables-example.yml b/.ansible/variables-example.yml index 227ec42..85ec98d 100644 --- a/.ansible/variables-example.yml +++ b/.ansible/variables-example.yml @@ -6,6 +6,7 @@ apt: install: - 7zip - btrfs-progs + - cifs-utils # The SMB/CIFS protocol for cross-platform file sharing. - coreutils - curl - fdupes From 4fb1480cf7e873c7a28b7a3151def2ef8121137a Mon Sep 17 00:00:00 2001 From: kenorb Date: Fri, 29 May 2026 22:46:21 +0100 Subject: [PATCH 06/13] Add descriptions for eget packages in variables-example.yml --- .ansible/variables-example.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.ansible/variables-example.yml b/.ansible/variables-example.yml index 85ec98d..df44c8b 100644 --- a/.ansible/variables-example.yml +++ b/.ansible/variables-example.yml @@ -111,18 +111,18 @@ dotfiles: eget: true eget_packages: - - alpha-miner - - bat - - btop - - duf - - eza - - fd - - jq - - pandoc - - rg - - tealdeer - - vale - - yq + - alpha-miner # Fastest Available Pearl Mining Software (AlphaMine-Tech/alpha-miner) + - bat # A cat(1) clone with wings (sharkdp/bat) + - btop # Resource monitor that shows usage and stats (aristocratos/btop) + - duf # Disk Usage/Free Utility - a better 'df' (muesli/duf) + - eza # A modern, maintained replacement for 'ls' (eza-community/eza) + - fd # A simple, fast and user-friendly alternative to 'find' (sharkdp/fd) + - jq # Command-line JSON processor (jqlang/jq) + - pandoc # Universal markup converter (jgm/pandoc) + - rg # ripgrep recursively searches directories for a regex pattern (BurntSushi/ripgrep) + - tealdeer # A fast tldr client written in Rust (dbrgn/tealdeer) + - vale # A syntax-aware linter for prose (errata-ai/vale) + - yq # Portable command-line YAML, JSON, XML, CSV, TOML and properties processor (mikefarah/yq) nvidia: cuda_toolkit: true From 00067aab6764b0fec17b4a938409dc596acd2e48 Mon Sep 17 00:00:00 2001 From: kenorb Date: Fri, 29 May 2026 22:49:35 +0100 Subject: [PATCH 07/13] Add oyster, pearld, and prlctl to eget package list with descriptions --- .ansible/playbooks/tasks/eget.yml | 3 +++ .ansible/variables-example.yml | 3 +++ 2 files changed, 6 insertions(+) diff --git a/.ansible/playbooks/tasks/eget.yml b/.ansible/playbooks/tasks/eget.yml index ff30697..35c3b74 100644 --- a/.ansible/playbooks/tasks/eget.yml +++ b/.ansible/playbooks/tasks/eget.yml @@ -83,7 +83,10 @@ jq: >- -a {{ 'linux64' if eget_arch == 'x86_64' else 'linux-arm64' if eget_arch == 'arm64' else 'linux-arm' }} jqlang/jq + oyster: "--tag pearl-wallet-v1.0.0 -a .tar.gz --file oyster --to oyster pearl-research-labs/pearl" pandoc: "-a linux-{{ 'amd64' if eget_arch == 'x86_64' else 'arm64' }}.tar.gz jgm/pandoc" + pearld: "--tag pearl-wallet-v1.0.0 -a .tar.gz --file pearld --to pearld pearl-research-labs/pearl" + prlctl: "--tag pearl-wallet-v1.0.0 -a .tar.gz --file prlctl --to prlctl pearl-research-labs/pearl" rg: "-a {{ eget_plain_arch }}-unknown-linux-musl.tar.gz BurntSushi/ripgrep" tealdeer: "-a tealdeer-linux-{{ eget_arch }}-musl -a ^sha256 dbrgn/tealdeer" vale: "-a {{ 'Linux_64-bit' if eget_arch == 'x86_64' else 'Linux_arm64' }}.tar.gz errata-ai/vale" diff --git a/.ansible/variables-example.yml b/.ansible/variables-example.yml index df44c8b..d295df4 100644 --- a/.ansible/variables-example.yml +++ b/.ansible/variables-example.yml @@ -118,7 +118,10 @@ eget_packages: - eza # A modern, maintained replacement for 'ls' (eza-community/eza) - fd # A simple, fast and user-friendly alternative to 'find' (sharkdp/fd) - jq # Command-line JSON processor (jqlang/jq) + - oyster # Pearl Wallet management (pearl-research-labs/pearl) - pandoc # Universal markup converter (jgm/pandoc) + - pearld # Pearl Full node (pearl-research-labs/pearl) + - prlctl # Pearl Control utility (pearl-research-labs/pearl) - rg # ripgrep recursively searches directories for a regex pattern (BurntSushi/ripgrep) - tealdeer # A fast tldr client written in Rust (dbrgn/tealdeer) - vale # A syntax-aware linter for prose (errata-ai/vale) From 63962ff884689ab830a020823c419d4ad21f8067 Mon Sep 17 00:00:00 2001 From: kenorb Date: Sat, 30 May 2026 22:19:46 +0100 Subject: [PATCH 08/13] Adds .nas_credentials.example --- .gitignore | 3 +++ .nas_credentials.example | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 .nas_credentials.example diff --git a/.gitignore b/.gitignore index 058f34c..819404a 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,6 @@ node_modules/ # Ansible local variables .ansible/variables.yml + +# NAS +.nas_credentials diff --git a/.nas_credentials.example b/.nas_credentials.example new file mode 100644 index 0000000..2109f04 --- /dev/null +++ b/.nas_credentials.example @@ -0,0 +1,3 @@ +username=admin +password=YOUR_PASSWORD +domain= # leave empty or put WORKGROUP From 5eb800516a5d759a68565434c8ff91c805101380 Mon Sep 17 00:00:00 2001 From: kenorb Date: Sun, 31 May 2026 15:11:16 +0100 Subject: [PATCH 09/13] Adds transmission package --- .ansible/variables-example.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.ansible/variables-example.yml b/.ansible/variables-example.yml index d295df4..eabcace 100644 --- a/.ansible/variables-example.yml +++ b/.ansible/variables-example.yml @@ -45,6 +45,7 @@ apt: - speedtest-cli - sqlite3 - time + - transmission - tmux - unrar - vim From 58cc8db19ad26a2fd4ad88bbe799189a01855a02 Mon Sep 17 00:00:00 2001 From: kenorb Date: Sun, 31 May 2026 15:45:00 +0100 Subject: [PATCH 10/13] Add Proton VPN installation tasks and update variables-example.yml --- .ansible/README.md | 7 +++++-- .ansible/playbooks/setup-linux.yml | 6 ++++++ .../playbooks/tasks/apt-release-protonvpn.yml | 17 +++++++++++++++++ .ansible/variables-example.yml | 2 ++ 4 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 .ansible/playbooks/tasks/apt-release-protonvpn.yml diff --git a/.ansible/README.md b/.ansible/README.md index ad7db59..b4b87b7 100644 --- a/.ansible/README.md +++ b/.ansible/README.md @@ -36,7 +36,9 @@ You can use tags to run specific parts of the playbook using the `--tags` flag. | `eget` | Installs `eget` and configured binary packages. | | `install` | Installs the list of packages defined in `apt.install` and `eget` packages. | | `nvidia` | Handles NVIDIA/CUDA related installations. | +| `protonvpn` | Installs Proton VPN app from the official Proton APT repository. | | `upgrade` | Performs `apt upgrade` and updates `eget` packages. | +| `vpn` | Runs VPN related tasks. | | `vscode` | Installs Visual Studio Code. | Example: @@ -55,8 +57,9 @@ The `setup-linux.yml` playbook performs the following operations: 3. **CUDA Toolkit**: Configures and installs NVIDIA CUDA drivers and toolkit. 4. **VS Code**: Adds the Microsoft repository and installs Visual Studio Code. 5. **Brave Browser**: Adds the Brave repository and installs the browser. -6. **Eget**: Installs the `eget` binary and a set of useful CLI tools to `~/.local/bin`. -7. **Dotfiles**: Symlinks configuration files from this repository into your `$HOME`. +6. **Proton VPN**: Adds the official Proton VPN repository and installs the GUI app. +7. **Eget**: Installs the `eget` binary and a set of useful CLI tools to `~/.local/bin`. +8. **Dotfiles**: Symlinks configuration files from this repository into your `$HOME`. ### Note on Dotfiles Conflicts diff --git a/.ansible/playbooks/setup-linux.yml b/.ansible/playbooks/setup-linux.yml index cca34c7..5e6bd0a 100644 --- a/.ansible/playbooks/setup-linux.yml +++ b/.ansible/playbooks/setup-linux.yml @@ -45,6 +45,12 @@ become: true tags: [apt, brave] + - name: Import Proton VPN installation tasks + ansible.builtin.import_tasks: tasks/apt-release-protonvpn.yml + when: (apt.releases.protonvpn | default(false)) if apt.releases is defined else false + become: true + tags: [apt, protonvpn, vpn] + - name: Import eget installation tasks ansible.builtin.import_tasks: tasks/eget.yml when: eget | default(false) | bool diff --git a/.ansible/playbooks/tasks/apt-release-protonvpn.yml b/.ansible/playbooks/tasks/apt-release-protonvpn.yml new file mode 100644 index 0000000..f81b347 --- /dev/null +++ b/.ansible/playbooks/tasks/apt-release-protonvpn.yml @@ -0,0 +1,17 @@ +--- +- name: Download Proton VPN stable release package + ansible.builtin.get_url: + url: https://repo.protonvpn.com/debian/dists/stable/main/binary-all/protonvpn-stable-release_1.0.8_all.deb + dest: /tmp/protonvpn-stable-release_1.0.8_all.deb + mode: '0644' + +- name: Install Proton VPN repository package + ansible.builtin.apt: + deb: /tmp/protonvpn-stable-release_1.0.8_all.deb + state: present + +- name: Install Proton VPN app + ansible.builtin.apt: + name: proton-vpn-gnome-desktop + state: present + update_cache: true \ No newline at end of file diff --git a/.ansible/variables-example.yml b/.ansible/variables-example.yml index eabcace..6559bf3 100644 --- a/.ansible/variables-example.yml +++ b/.ansible/variables-example.yml @@ -49,11 +49,13 @@ apt: - tmux - unrar - vim + - vlc - wget - zstd releases: brave: true code: true + protonvpn: true upgrade: true # List of files and directories to symlink into the home directory. From f3cd2564cb30cca2aa0541646540e26ce666f9ca Mon Sep 17 00:00:00 2001 From: "Rafal W." Date: Sun, 31 May 2026 23:32:54 +0100 Subject: [PATCH 11/13] Add GitHub repository to .lycheeignore --- .lycheeignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.lycheeignore b/.lycheeignore index 573b2c4..55e77f0 100644 --- a/.lycheeignore +++ b/.lycheeignore @@ -7,4 +7,5 @@ ^https?://localhost # Placeholders and templates +^https://github\.com/org/repo ^https://github\.com/zyedidia/eget/releases/download/v From 8c9843b206f15cd690763ded50357b159445d7b5 Mon Sep 17 00:00:00 2001 From: "Rafal W." Date: Sun, 31 May 2026 23:33:28 +0100 Subject: [PATCH 12/13] Add pattern for GitHub repository links --- .markdown-link-check.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.markdown-link-check.json b/.markdown-link-check.json index 610e581..b6ffaf1 100644 --- a/.markdown-link-check.json +++ b/.markdown-link-check.json @@ -19,6 +19,9 @@ { "pattern": "^https://example.com" }, + { + "pattern": "^https://github.com/org/repo" + }, { "pattern": "^https://github.com/zyedidia/eget/releases/download/v" } From 7c1cd3775e1e619de60489afffc6bdf2c1c18749 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" Date: Sun, 31 May 2026 22:38:35 +0000 Subject: [PATCH 13/13] fix(ansible): add missing newline at end of file --- .ansible/playbooks/tasks/apt-release-protonvpn.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ansible/playbooks/tasks/apt-release-protonvpn.yml b/.ansible/playbooks/tasks/apt-release-protonvpn.yml index f81b347..0ad0363 100644 --- a/.ansible/playbooks/tasks/apt-release-protonvpn.yml +++ b/.ansible/playbooks/tasks/apt-release-protonvpn.yml @@ -14,4 +14,4 @@ ansible.builtin.apt: name: proton-vpn-gnome-desktop state: present - update_cache: true \ No newline at end of file + update_cache: true