develop #55
15 changed files with 20 additions and 168 deletions
|
|
@ -19,5 +19,8 @@ jobs:
|
||||||
STORE_PATH=$(nix build .#synix-docs --print-out-paths --no-link)
|
STORE_PATH=$(nix build .#synix-docs --print-out-paths --no-link)
|
||||||
echo "STORE_PATH=$STORE_PATH" >> $GITHUB_ENV
|
echo "STORE_PATH=$STORE_PATH" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Check external links
|
||||||
|
run: nix run nixpkgs#lychee -- --exclude-loopback docs/
|
||||||
|
|
||||||
- name: Update symlink
|
- name: Update symlink
|
||||||
run: ln -sfn ${{ env.STORE_PATH }} /var/www/doc
|
run: ln -sfn ${{ env.STORE_PATH }} /var/www/doc
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Add NixOS and Home Manager configurations
|
# 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:
|
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
|
-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:
|
See the script's help page for reference:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Installation Guide
|
# 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
|
## Prerequisites
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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.
|
|
||||||
|
|
@ -6,8 +6,8 @@ This module extends the options of and sets some defaults for [Hyprland](https:/
|
||||||
- XDG mime support and user directories
|
- XDG mime support and user directories
|
||||||
- enable Waybar as status bar
|
- enable Waybar as status bar
|
||||||
- enable dunst as notification service
|
- enable dunst as notification service
|
||||||
- some [packages](https://git.sid.ovh/sid/synix/blob/master/modules/home/hyprland/packages.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/blob/master/modules/home/hyprland/binds/default.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
|
- manage default applications via the new `applications` option
|
||||||
|
|
||||||
> Always import both NixOS and Home Manager modules from `synix` when using Hyprland.
|
> 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
|
## 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.
|
> `$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 LMB` | Move window by dragging
|
||||||
`SUPER RMB` | Resize 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
|
## 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
|
### 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:
|
Categories are listed under `options.wayland.windowManager.hyprland.applications`, for example:
|
||||||
|
|
||||||
```nix
|
```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).
|
> Available MIME types can be found [here](https://www.iana.org/assignments/media-types/media-types.xhtml).
|
||||||
|
|
||||||
### 3. Import the directory
|
### 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`:
|
Look for the comment `# add your application directories here`:
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
|
|
|
||||||
|
|
@ -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)
|
|
||||||
|
|
@ -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
|
|
||||||
```
|
|
||||||
|
|
@ -88,7 +88,7 @@ key | action
|
||||||
`<C-A-K>` | next quickfix item
|
`<C-A-K>` | next quickfix item
|
||||||
`<leader>ca` | apply code action
|
`<leader>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:
|
These commands do not have keymaps yet but might be useful anyway:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ Replace `SCHEME` with the name of your scheme. Available schemes are listed as `
|
||||||
|
|
||||||
## Create a scheme
|
## Create a scheme
|
||||||
|
|
||||||
You can create your own scheme in `schemes/<scheme>.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/<scheme>.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.
|
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.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
Terminal file manager written in Rust.
|
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.
|
If you use this repository's [Hyprland module](./hyprland.md), it is enabled by default.
|
||||||
|
|
||||||
## References
|
## References
|
||||||
|
|
|
||||||
|
|
@ -6,4 +6,4 @@ View the [*synix* NixOS module on Forgejo](https://git.sid.ovh/sid/synix/src/bra
|
||||||
|
|
||||||
## References
|
## References
|
||||||
|
|
||||||
- [docs](https://github.com/Newlode/jirafeauhttps://github.com/Newlode/jirafeau)
|
- [docs](https://github.com/Newlode/jirafeau)
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,6 @@ Each tool will be accessible under its own unique route `127.0.0.1:8000/<mcp-ser
|
||||||
|
|
||||||
## Open WebUI Integration
|
## Open WebUI Integration
|
||||||
|
|
||||||
Follow the [official Open WebUI integration documentation starting at *Step 2*](https://docs.openwebui.com/openapi-servers/open-webui/#step-2-connect-tool-server-in-open-webui).
|
Follow the [official Open WebUI integration documentation starting at *Step 2*](https://docs.openwebui.com/features/extensibility/plugin/tools/openapi-servers/open-webui#step-2-connect-tool-server-in-open-webui).
|
||||||
|
|
||||||
In Open WebUI, users have to set *Function Calling* to *Native* in *Settings* > *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.
|
In Open WebUI, users have to set *Function Calling* to *Native* in *Settings* > *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.
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ View the [*synix* NixOS module on Forgejo](https://git.sid.ovh/sid/synix/src/bra
|
||||||
|
|
||||||
- [Homepage](https://openwebui.com/)
|
- [Homepage](https://openwebui.com/)
|
||||||
- [GitHub](https://github.com/open-webui/open-webui)
|
- [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)
|
- [Nixpkgs Docker tools](https://github.com/NixOS/nixpkgs/blob/master/doc/build-helpers/images/dockertools.section.md)
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
|
||||||
|
|
@ -152,6 +152,7 @@
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
enabledPackages
|
enabledPackages
|
||||||
pkgs.nix
|
pkgs.nix
|
||||||
|
pkgs.lychee
|
||||||
]
|
]
|
||||||
++ (with pkgs; [
|
++ (with pkgs; [
|
||||||
(python313.withPackages (
|
(python313.withPackages (
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,6 @@ nav:
|
||||||
- hyprland: modules/home/hyprland.md
|
- hyprland: modules/home/hyprland.md
|
||||||
- kitty: modules/home/kitty.md
|
- kitty: modules/home/kitty.md
|
||||||
- networkmanager-dmenu: modules/home/networkmanager-dmenu.md
|
- networkmanager-dmenu: modules/home/networkmanager-dmenu.md
|
||||||
- nextcloud-sync: modules/home/nextcloud-sync.md
|
|
||||||
- nixvim: modules/home/nixvim.md
|
- nixvim: modules/home/nixvim.md
|
||||||
- password-manager: modules/home/password-manager.md
|
- password-manager: modules/home/password-manager.md
|
||||||
- sops: modules/home/sops.md
|
- sops: modules/home/sops.md
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue