mirror of
https://github.com/NotAShelf/nvf.git
synced 2024-11-22 21:30:51 +00:00
feat: add presence.nvim
config options
This commit is contained in:
parent
94412c6d6c
commit
31e7645ce1
5 changed files with 131 additions and 33 deletions
15
extra.nix
15
extra.nix
|
@ -163,7 +163,20 @@ inputs: let
|
||||||
|
|
||||||
vim.comments = {
|
vim.comments = {
|
||||||
comment-nvim.enable = true;
|
comment-nvim.enable = true;
|
||||||
kommentary = builtins.trace "WARNING: kommentary is deprecated and will be removed in the future, use comment-nvim instead" {enable = false;};
|
kommentary. enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
vim.presence = {
|
||||||
|
presence-nvim = {
|
||||||
|
enable = true;
|
||||||
|
auto_update = true;
|
||||||
|
image_text = "The One True Text Editor";
|
||||||
|
client_id = "793271441293967371";
|
||||||
|
main_image = "neovim";
|
||||||
|
rich_presence = {
|
||||||
|
editing_text = "Editing %s";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
34
flake.lock
34
flake.lock
|
@ -289,22 +289,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"discord-nvim": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1674984077,
|
|
||||||
"narHash": "sha256-ZpsunLsn//zYgUtmAm5FqKVueVd/Pa1r55ZDqxCimBk=",
|
|
||||||
"owner": "andweeb",
|
|
||||||
"repo": "presence.nvim",
|
|
||||||
"rev": "87c857a56b7703f976d3a5ef15967d80508df6e6",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "andweeb",
|
|
||||||
"repo": "presence.nvim",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"dressing-nvim": {
|
"dressing-nvim": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -1026,6 +1010,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"presence-nvim": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1674984077,
|
||||||
|
"narHash": "sha256-ZpsunLsn//zYgUtmAm5FqKVueVd/Pa1r55ZDqxCimBk=",
|
||||||
|
"owner": "andweeb",
|
||||||
|
"repo": "presence.nvim",
|
||||||
|
"rev": "87c857a56b7703f976d3a5ef15967d80508df6e6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "andweeb",
|
||||||
|
"repo": "presence.nvim",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"registers": {
|
"registers": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -1081,7 +1081,6 @@
|
||||||
"copilot-lua": "copilot-lua",
|
"copilot-lua": "copilot-lua",
|
||||||
"crates-nvim": "crates-nvim",
|
"crates-nvim": "crates-nvim",
|
||||||
"dashboard-nvim": "dashboard-nvim",
|
"dashboard-nvim": "dashboard-nvim",
|
||||||
"discord-nvim": "discord-nvim",
|
|
||||||
"dressing-nvim": "dressing-nvim",
|
"dressing-nvim": "dressing-nvim",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
|
@ -1122,6 +1121,7 @@
|
||||||
"onedark": "onedark",
|
"onedark": "onedark",
|
||||||
"orgmode-nvim": "orgmode-nvim",
|
"orgmode-nvim": "orgmode-nvim",
|
||||||
"plenary-nvim": "plenary-nvim",
|
"plenary-nvim": "plenary-nvim",
|
||||||
|
"presence-nvim": "presence-nvim",
|
||||||
"registers": "registers",
|
"registers": "registers",
|
||||||
"rnix-lsp": "rnix-lsp",
|
"rnix-lsp": "rnix-lsp",
|
||||||
"rust-tools": "rust-tools",
|
"rust-tools": "rust-tools",
|
||||||
|
|
|
@ -181,7 +181,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# Presence
|
# Presence
|
||||||
discord-nvim = {
|
presence-nvim = {
|
||||||
url = "github:andweeb/presence.nvim";
|
url = "github:andweeb/presence.nvim";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
_: {
|
_: {
|
||||||
imports = [
|
imports = [
|
||||||
./discord-nvim.nix
|
./presence-nvim.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,91 @@ with builtins; let
|
||||||
in {
|
in {
|
||||||
options.vim.presence.presence-nvim = {
|
options.vim.presence.presence-nvim = {
|
||||||
enable = mkEnableOption "Enable presence.nvim plugin";
|
enable = mkEnableOption "Enable presence.nvim plugin";
|
||||||
|
|
||||||
|
image_text = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "The One True Text Editor";
|
||||||
|
description = "Text displayed when hovering over the Neovim image";
|
||||||
|
};
|
||||||
|
|
||||||
|
main_image = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "neovim";
|
||||||
|
description = "Main image to be displayed";
|
||||||
|
};
|
||||||
|
|
||||||
|
client_id = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "859194972255989790";
|
||||||
|
description = "Client ID of the application";
|
||||||
|
};
|
||||||
|
auto_update = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = "Automatically update the presence";
|
||||||
|
};
|
||||||
|
|
||||||
|
enable_line_number = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Show line number on the RPC item";
|
||||||
|
};
|
||||||
|
|
||||||
|
buttons = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = "Show buttons on the RPC item";
|
||||||
|
};
|
||||||
|
|
||||||
|
show_time = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = "Show time on the RPC item";
|
||||||
|
};
|
||||||
|
|
||||||
|
rich_presence = {
|
||||||
|
editing_text = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "Editing %s";
|
||||||
|
description = "Text displayed when editing a file";
|
||||||
|
};
|
||||||
|
|
||||||
|
file_explorer_text = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "Browsing %s";
|
||||||
|
description = "Text displayed when browsing files";
|
||||||
|
};
|
||||||
|
|
||||||
|
git_commit_text = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "Committing changes";
|
||||||
|
description = "Text displayed when committing changes";
|
||||||
|
};
|
||||||
|
|
||||||
|
plugin_manager_text = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "Managing plugins";
|
||||||
|
description = "Text displayed when managing plugins";
|
||||||
|
};
|
||||||
|
|
||||||
|
reading_text = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "Reading %s";
|
||||||
|
description = "Text displayed when reading a file";
|
||||||
|
};
|
||||||
|
|
||||||
|
workspace_text = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "Working on %s";
|
||||||
|
description = "Text displayed when working on a project";
|
||||||
|
};
|
||||||
|
|
||||||
|
line_number_text = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "Line %s out of %s";
|
||||||
|
description = "Text displayed when showing line number";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
@ -20,25 +105,25 @@ in {
|
||||||
require("presence").setup({
|
require("presence").setup({
|
||||||
-- General options
|
-- General options
|
||||||
auto_update = true,
|
auto_update = true,
|
||||||
neovim_image_text = "The One True Text Editor",
|
neovim_image_text = ${cfg.image_text},
|
||||||
main_image = "neovim",
|
main_image = ${cfg.main_image},
|
||||||
client_id = "793271441293967371",
|
client_id = ${cfg.client_id},
|
||||||
log_level = nil,
|
log_level = nil,
|
||||||
debounce_timeout = 10,
|
debounce_timeout = 10,
|
||||||
enable_line_number = false,
|
enable_line_number = ${boolToString cfg.enable_line_number},
|
||||||
blacklist = {},
|
blacklist = {},
|
||||||
buttons = true,
|
buttons = ${boolToString cfg.buttons},
|
||||||
file_assets = {},
|
file_assets = {},
|
||||||
show_time = true,
|
show_time = ${boolToString cfg.show_time},
|
||||||
|
|
||||||
-- Rich Presence text options
|
-- Rich Presence text options
|
||||||
editing_text = "Editing %s",
|
editing_text = ${cfg.rich_presence.editing_text},
|
||||||
file_explorer_text = "Browsing %s",
|
file_explorer_text = ${cfg.rich_presence.file_explorer_text},
|
||||||
git_commit_text = "Committing changes",
|
git_commit_text = ${cfg.rich_presence.git_commit_text},
|
||||||
plugin_manager_text = "Managing plugins",
|
plugin_manager_text = ${cfg.rich_presence.plugin_manager_text},
|
||||||
reading_text = "Reading %s",
|
reading_text = ${cfg.rich_presence.reading_text},
|
||||||
workspace_text = "Working on %s",
|
workspace_text = ${cfg.rich_presence.workspace_text},
|
||||||
line_number_text = "Line %s out of %s",
|
line_number_text = ${cfg.rich_presence.line_number_text},
|
||||||
})
|
})
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue