From cd7ea0fab96e4f2212c7c84e4d0956cd8f6330ee Mon Sep 17 00:00:00 2001 From: sid Date: Sun, 31 May 2026 20:33:37 +0200 Subject: [PATCH] docs: fix external links --- .forgejo/workflows/deploy-docs.yml | 3 + docs/getting-started/add-configs.md | 4 +- docs/getting-started/install-instructions.md | 2 +- docs/modules/home/gemini-cli.md | 65 ----------------- docs/modules/home/hyprland.md | 14 ++-- docs/modules/home/lf.md | 11 --- docs/modules/home/nextcloud-sync.md | 75 -------------------- docs/modules/home/nixvim.md | 2 +- docs/modules/home/stylix.md | 2 +- docs/modules/home/yazi.md | 2 +- docs/modules/nixos/jirafeau.md | 2 +- docs/modules/nixos/mcpo.md | 2 +- docs/modules/nixos/open-webui-oci.md | 2 +- flake.nix | 1 + mkdocs.yml | 1 - 15 files changed, 20 insertions(+), 168 deletions(-) delete mode 100644 docs/modules/home/gemini-cli.md delete mode 100644 docs/modules/home/lf.md delete mode 100644 docs/modules/home/nextcloud-sync.md diff --git a/.forgejo/workflows/deploy-docs.yml b/.forgejo/workflows/deploy-docs.yml index 63b0b54..c488711 100644 --- a/.forgejo/workflows/deploy-docs.yml +++ b/.forgejo/workflows/deploy-docs.yml @@ -19,5 +19,8 @@ jobs: STORE_PATH=$(nix build .#synix-docs --print-out-paths --no-link) echo "STORE_PATH=$STORE_PATH" >> $GITHUB_ENV + - name: Check external links + run: nix run nixpkgs#lychee -- --exclude-loopback docs/ + - name: Update symlink run: ln -sfn ${{ env.STORE_PATH }} /var/www/doc diff --git a/docs/getting-started/add-configs.md b/docs/getting-started/add-configs.md index 57198f7..3b49a5a 100644 --- a/docs/getting-started/add-configs.md +++ b/docs/getting-started/add-configs.md @@ -1,6 +1,6 @@ # Add NixOS and Home Manager configurations -Choose a configuration template from [this list](https://git.sid.ovh/sid/synix/src/branch/release-25.11/apps/create/templates). +Choose a configuration template from [this list](https://git.sid.ovh/sid/synix/src/branch/release-25.11/templates/nix-configs). Run the `create` script to add your desired configuration template to your nix-config flake: @@ -14,7 +14,7 @@ nix --experimental-features "nix-command flakes" run git+https://git.sid.ovh/sid -f ~/.config/nixos ``` -> Change the architecture if needed. Supported architectures are listet under `supportedSystems` inside [`flake.nix`](https://git.sid.ovh/sid/synix/blob/master/flake.nix). +> Change the architecture if needed. Supported architectures are listet under `supportedSystems` inside [`flake.nix`](https://git.sid.ovh/sid/synix/src/branch/release-25.11/flake.nix). See the script's help page for reference: diff --git a/docs/getting-started/install-instructions.md b/docs/getting-started/install-instructions.md index b1407f7..9bdafb0 100644 --- a/docs/getting-started/install-instructions.md +++ b/docs/getting-started/install-instructions.md @@ -1,6 +1,6 @@ # Installation Guide -This guide will walk you through installing NixOS using the provided installation script [`install.sh`](https://git.sid.ovh/sid/synix/blob/master/apps/install/install.sh). +This guide will walk you through installing NixOS using the provided installation script [`install.sh`](https://git.sid.ovh/sid/synix/src/branch/release-25.11/apps/install/install.sh). ## Prerequisites diff --git a/docs/modules/home/gemini-cli.md b/docs/modules/home/gemini-cli.md deleted file mode 100644 index f729158..0000000 --- a/docs/modules/home/gemini-cli.md +++ /dev/null @@ -1,65 +0,0 @@ -# Gemini CLI - -An open-source AI agent that brings the power of Gemini directly into your terminal. - -View the [*synix* Home Manager module on Forgejo](https://git.sid.ovh/sid/synix/src/branch/release-25.11/modules/home/gemini-cli). - -## References - -- [GitHub](https://github.com/google-gemini/gemini-cli) -- [CLI Docs](https://github.com/google-gemini/gemini-cli/tree/main/docs/cli) - -## Setup - -The package must be set by you. Easiest option is to use the synix overlay: - -```nix -{ inputs, pkgs, ... }: - -{ - imports = [ - inputs.synix.homeModules.gemini-cli - ]; - - programs.gemini-cli = { - enable = true; - package = pkgs.synix.gemini-cli; - }; -} -``` - -Gemini CLI reads environment variables, such as your API key, from `~/.gemini/.env`. You can manage it with sops-nix: - -```nix -{ config, ... }: - -{ - sops.secrets.gemini-api-key = { }; - sops.templates.gemini-cli-env = { - content = '' - GEMINI_API_KEY=${config.sops.placeholder.gemini-api-key} - ''; - path = config.home.homeDirectory + "/.gemini/.env"; - }; -} -``` - -Set `gemini-api-key` in your `secrets.yaml`: - -> Replace `abc123` with your Gemini API key. - -```yaml -gemini-api-key: abc123 -``` - -## Troubleshooting - -These are some common warnings and errors you might encounter when using Gemini CLI: - -### Error saving user settings file - -``` -Error saving user settings file: Error: EROFS: read-only file system, open '/home/you/.gemini/settings.json' -``` - -This is intended behavior. diff --git a/docs/modules/home/hyprland.md b/docs/modules/home/hyprland.md index a333670..b460322 100644 --- a/docs/modules/home/hyprland.md +++ b/docs/modules/home/hyprland.md @@ -6,8 +6,8 @@ This module extends the options of and sets some defaults for [Hyprland](https:/ - XDG mime support and user directories - enable Waybar as status bar - enable dunst as notification service -- some [packages](https://git.sid.ovh/sid/synix/blob/master/modules/home/hyprland/packages.nix) -- [keybindings](https://git.sid.ovh/sid/synix/blob/master/modules/home/hyprland/binds/default.nix) +- some [packages](https://git.sid.ovh/sid/synix/src/branch/release-25.11/modules/home/hyprland/packages.nix) +- [keybindings](https://git.sid.ovh/sid/synix/src/branch/release-25.11/modules/home/hyprland/binds/default.nix) - manage default applications via the new `applications` option > Always import both NixOS and Home Manager modules from `synix` when using Hyprland. @@ -16,7 +16,7 @@ View the [*synix* Home Manager module on Forgejo](https://git.sid.ovh/sid/synix/ ## Keybindings -The ["Master Layout"](https://wiki.hyprland.org/Configuring/Master-Layout/) is the only supported window layout. +The ["Master Layout"](https://wiki.hypr.land/Configuring/Layouts/Master-Layout/) is the only supported window layout. > `$mod`, `modifier` or `SUPER` refer to the same key which is the Windows key by default. @@ -59,7 +59,7 @@ Keybinding | Function `SUPER LMB` | Move window by dragging `SUPER RMB` | Resize window by dragging -Some [media keys](https://git.sid.ovh/sid/synix/blob/master/modules/home/hyprland/binds/mediakeys.nix) are also supported. +Some [media keys](https://git.sid.ovh/sid/synix/src/branch/release-25.11/modules/home/hyprland/binds/mediakeys.nix) are also supported. ## Default applications @@ -73,7 +73,7 @@ To add default applications to Hyprland, you need to do the following steps: ### 1. Look for an existing category -Check if a fitting category for your application exists in [`applications/default.nix`](https://git.sid.ovh/sid/synix/blob/master/modules/home/hyprland/applications/default.nix). +Check if a fitting category for your application exists in [`applications/default.nix`](https://git.sid.ovh/sid/synix/src/branch/release-25.11/modules/home/hyprland/applications/default.nix). Categories are listed under `options.wayland.windowManager.hyprland.applications`, for example: ```nix @@ -133,13 +133,13 @@ in } ``` -> The function [`genMimeAssociations`](https://git.sid.ovh/sid/synix/blob/master/modules/home/hyprland/applications/genMimeAssociations.nix) might be useful here. See [`feh`'s config](https://git.sid.ovh/sid/synix/blob/master/modules/home/hyprland/applications/feh/default.nix) as an example. +> The function [`genMimeAssociations`](https://git.sid.ovh/sid/synix/src/branch/release-25.11/modules/home/hyprland/applications/genMimeAssociations.nix) might be useful here. See [`feh`'s config](https://git.sid.ovh/sid/synix/src/branch/release-25.11/modules/home/hyprland/applications/feh/default.nix) as an example. > Available MIME types can be found [here](https://www.iana.org/assignments/media-types/media-types.xhtml). ### 3. Import the directory -You then need to import this directory in [`applications/default.nix`](https://git.sid.ovh/sid/synix/blob/master/modules/home/hyprland/applications/default.nix). +You then need to import this directory in [`applications/default.nix`](https://git.sid.ovh/sid/synix/src/branch/release-25.11/modules/home/hyprland/applications/default.nix). Look for the comment `# add your application directories here`: ```nix diff --git a/docs/modules/home/lf.md b/docs/modules/home/lf.md deleted file mode 100644 index d5507b2..0000000 --- a/docs/modules/home/lf.md +++ /dev/null @@ -1,11 +0,0 @@ -# lf - -> Note: This module is not actively maintained. Expect things to break! - -`lf` is a terminal file manager. - -View the [*synix* Home Manager module on Forgejo](https://git.sid.ovh/sid/synix/src/branch/release-25.11/modules/home/lf). - -## References - -- [GitHub](https://github.com/gokcehan/lf) diff --git a/docs/modules/home/nextcloud-sync.md b/docs/modules/home/nextcloud-sync.md deleted file mode 100644 index 6bf282f..0000000 --- a/docs/modules/home/nextcloud-sync.md +++ /dev/null @@ -1,75 +0,0 @@ -# Nextcloud sync client - -Because every other client sucks. - -View the [*synix* Home Manager module on Forgejo](https://git.sid.ovh/sid/synix/src/branch/release-25.11/modules/home/nextcloud-sync). - -## Setup - -This is an example home config: - -```nix -{ inputs, config, ... }: - -{ - imports = [ - inputs.synix.homeModules.nextcloud-sync - ]; - - services.nextcloud-sync = { - enable = true; - remote = "cloud.sid.ovh"; # just the URL without `https://` - passwordFile = config.sops.secrets.nextcloud.path; - connections = [ # absolute paths without trailing / - { - local = "/home/sid/aud"; - remote = "/aud"; - } - { - local = "/home/sid/doc"; - remote = "/doc"; - } - { - local = "/home/sid/img"; - remote = "/img"; - } - { - local = "/home/sid/vid"; - remote = "/vid"; - } - ]; - }; -} -``` - -## Usage - -You can manually sync by running: - -```bash -nextcloud-sync-all -``` - -This will synchronize all defined connections. - -## Troubleshooting - -Each listed connection spawns a systemd user service and timer. Using the example above, we get: - -```plaintext -nextcloud-sync-aud.service -nextcloud-sync-aud.timer -nextcloud-sync-doc.service -nextcloud-sync-doc.timer -nextcloud-sync-img.service -nextcloud-sync-img.timer -nextcloud-sync-vid.service -nextcloud-sync-vid.timer -``` - -Check their status to know what might go wrong: - -```bash -systemctl --user status nextcloud-sync-doc.service -journalctl --user -xeu nextcloud-sync-doc.service -``` diff --git a/docs/modules/home/nixvim.md b/docs/modules/home/nixvim.md index 93f7624..701af63 100644 --- a/docs/modules/home/nixvim.md +++ b/docs/modules/home/nixvim.md @@ -88,7 +88,7 @@ key | action `` | next quickfix item `ca` | apply code action -See [keymaps.nix](https://git.sid.ovh/sid/synix/blob/master/modules/home/nixvim/keymaps.nix) and [plugins](https://git.sid.ovh/sid/synix/blob/master/modules/home/nixvim/plugins/) for more details. +See [keymaps.nix](https://git.sid.ovh/sid/synix/src/branch/release-25.11/modules/home/nixvim/keymaps.nix) and [plugins](https://git.sid.ovh/sid/synix/src/branch/release-25.11/modules/home/nixvim/plugins/) for more details. These commands do not have keymaps yet but might be useful anyway: diff --git a/docs/modules/home/stylix.md b/docs/modules/home/stylix.md index 2a3c65b..6580846 100644 --- a/docs/modules/home/stylix.md +++ b/docs/modules/home/stylix.md @@ -34,7 +34,7 @@ Replace `SCHEME` with the name of your scheme. Available schemes are listed as ` ## Create a scheme -You can create your own scheme in `schemes/.yaml`. To make it available via `stylix.scheme`, you need to add it to `validSchemes` and `customSchemes` in [the module's `default.nix`](https://git.sid.ovh/sid/synix/src/branch/release-25.11/modules/home/stylix/default.nix). Make sure that the resulting scheme name is a valid [colorscheme in nixvim](https://github.com/nix-community/nixvim/tree/main/plugins/colorschemes). +You can create your own scheme in `schemes/.yaml`. To make it available via `stylix.scheme`, you need to add it to `validSchemes` and `customSchemes` in [the module's `default.nix`](https://git.sid.ovh/sid/synix/src/branch/release-25.11/modules/home/stylix/default.nix). Make sure that the resulting scheme name is a valid [colorscheme in nixvim](https://github.com/nix-community/nixvim/tree/main/colorschemes). It is recommended to set colors according to their purpose / name. This means that `base00` should always be a rather dark color for the background and `base08` a reddish color. diff --git a/docs/modules/home/yazi.md b/docs/modules/home/yazi.md index ceab5ed..d380441 100644 --- a/docs/modules/home/yazi.md +++ b/docs/modules/home/yazi.md @@ -2,7 +2,7 @@ Terminal file manager written in Rust. -View the [*synix* Home Manager module on Forgejo](https://git.sid.ovh/sid/synix/src/branch/release-25.11/modules/home/yazi). +View the [*synix* Home Manager module on Forgejo](https://git.sid.ovh/sid/synix/src/branch/release-25.11/modules/home/hyprland/applications/yazi). If you use this repository's [Hyprland module](./hyprland.md), it is enabled by default. ## References diff --git a/docs/modules/nixos/jirafeau.md b/docs/modules/nixos/jirafeau.md index a540c15..de2bedf 100644 --- a/docs/modules/nixos/jirafeau.md +++ b/docs/modules/nixos/jirafeau.md @@ -6,4 +6,4 @@ View the [*synix* NixOS module on Forgejo](https://git.sid.ovh/sid/synix/src/bra ## References -- [docs](https://github.com/Newlode/jirafeauhttps://github.com/Newlode/jirafeau) +- [docs](https://github.com/Newlode/jirafeau) diff --git a/docs/modules/nixos/mcpo.md b/docs/modules/nixos/mcpo.md index d9abbe2..4ef6cfc 100644 --- a/docs/modules/nixos/mcpo.md +++ b/docs/modules/nixos/mcpo.md @@ -43,6 +43,6 @@ Each tool will be accessible under its own unique route `127.0.0.1:8000/ *General* > *Advanced Parameters*. Then, they can enable MCP servers in a chat by clicking *More* (the plus sign) in the bottom left of the prompt window. diff --git a/docs/modules/nixos/open-webui-oci.md b/docs/modules/nixos/open-webui-oci.md index 748f038..01424f0 100644 --- a/docs/modules/nixos/open-webui-oci.md +++ b/docs/modules/nixos/open-webui-oci.md @@ -8,7 +8,7 @@ View the [*synix* NixOS module on Forgejo](https://git.sid.ovh/sid/synix/src/bra - [Homepage](https://openwebui.com/) - [GitHub](https://github.com/open-webui/open-webui) -- [Environment Configuration](https://docs.openwebui.com/getting-started/env-configuration/) +- [Environment Configuration](https://docs.openwebui.com/reference/env-configuration/) - [Nixpkgs Docker tools](https://github.com/NixOS/nixpkgs/blob/master/doc/build-helpers/images/dockertools.section.md) ## Configuration diff --git a/flake.nix b/flake.nix index c52228e..881b6ab 100644 --- a/flake.nix +++ b/flake.nix @@ -152,6 +152,7 @@ nativeBuildInputs = [ enabledPackages pkgs.nix + pkgs.lychee ] ++ (with pkgs; [ (python313.withPackages ( diff --git a/mkdocs.yml b/mkdocs.yml index 9f305c0..9cce0c5 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -68,7 +68,6 @@ nav: - hyprland: modules/home/hyprland.md - kitty: modules/home/kitty.md - networkmanager-dmenu: modules/home/networkmanager-dmenu.md - - nextcloud-sync: modules/home/nextcloud-sync.md - nixvim: modules/home/nixvim.md - password-manager: modules/home/password-manager.md - sops: modules/home/sops.md