From c9493759619f9ca40cabe640c62382822031220e Mon Sep 17 00:00:00 2001 From: Schrottkatze Date: Sun, 25 May 2025 15:36:44 +0200 Subject: [PATCH] discord-presence-lsp --- modules/editors/default.nix | 10 ++++-- modules/editors/discord-presence-lsp.nix | 15 +++++++++ modules/editors/helix/default.nix | 43 +++++++++++++++++++++++- modules/editors/zed/default.nix | 16 +-------- 4 files changed, 66 insertions(+), 18 deletions(-) create mode 100644 modules/editors/discord-presence-lsp.nix diff --git a/modules/editors/default.nix b/modules/editors/default.nix index 8881b27..e7b5b71 100644 --- a/modules/editors/default.nix +++ b/modules/editors/default.nix @@ -1,4 +1,7 @@ -{ ... }: +{ pkgs, ... }: +let + discord-presence-lsp = pkgs.callPackage ./discord-presence-lsp.nix { }; +in { programs.niri.enable = true; imports = [ @@ -7,7 +10,10 @@ home-manager.users.jade = { pkgs, ... }: { - home.packages = [ pkgs.nixd ]; + home.packages = [ + pkgs.nixd + discord-presence-lsp + ]; imports = [ ./helix ]; diff --git a/modules/editors/discord-presence-lsp.nix b/modules/editors/discord-presence-lsp.nix new file mode 100644 index 0000000..995b20d --- /dev/null +++ b/modules/editors/discord-presence-lsp.nix @@ -0,0 +1,15 @@ +{ pkgs }: +(pkgs.rustPlatform.buildRustPackage rec { + pname = "discord-presence-lsp"; + version = "200ae73131a098516025e4fd5269d8c8cb6144f6"; + cargoHash = "sha256-JLNCEeo9fKeV4vTtPs+Yj2wRO1RKP2fuetrPlXcPBjA="; + + src = pkgs.fetchFromGitHub { + owner = "xhyrom"; + repo = "zed-discord-presence"; + rev = version; + hash = "sha256-RmpY0xkJYNDYn6SWNdKGpPetmBxf2/xY25FLeJqf0Po="; + }; + + cargoBuildFlags = "--package discord-presence-lsp"; +}) diff --git a/modules/editors/helix/default.nix b/modules/editors/helix/default.nix index bd0b05a..a9dcec9 100644 --- a/modules/editors/helix/default.nix +++ b/modules/editors/helix/default.nix @@ -26,6 +26,36 @@ command = "${pkgs.nushell}/bin/nu"; args = [ "--lsp" ]; }; + "discord-presence-lsp" = { + command = "discord-presence-lsp"; + config = { + # initialization_options = { + application_id = "1376167046974279731"; + base_icons_url = "https://raw.githubusercontent.com/xhyrom/zed-discord-presence/main/assets/icons/"; + state = "Working on {filename}"; + details = "In {workspace}"; + large_image = "{language}"; + large_text = "{language:u}"; + small_image = "logo"; + small_text = "Helix"; + # idle = { + # timeout = 999999999999999999; + # action = "change_activity"; + # state = "Idling"; + # details = "In Helix"; + # large_image = "logo"; + # large_text = "Helix"; + # small_image = "idle"; + # small_text = "Idle"; + # }; + rules = { + mode = "blacklist"; + paths = [ "absolute path" ]; + }; + git_integration = true; + # }; + }; + }; "rust-analyzer" = { config = { check.command = "check"; @@ -84,7 +114,10 @@ language = [ { name = "nu"; - language-servers = [ "nu-builtin-lsp" ]; + language-servers = [ + "nu-builtin-lsp" + "discord-presence-lsp" + ]; } { name = "php"; @@ -92,12 +125,20 @@ } { name = "nix"; + # language-servers = [""] formatter = { command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt"; args = [ "--quiet" ]; }; auto-format = true; } + { + name = "rust"; + language-servers = [ + # "rust-analyzer" + "discord-presence-lsp" + ]; + } { name = "html"; roots = [ ".git" ]; diff --git a/modules/editors/zed/default.nix b/modules/editors/zed/default.nix index d103c8c..b6b3108 100644 --- a/modules/editors/zed/default.nix +++ b/modules/editors/zed/default.nix @@ -11,25 +11,11 @@ with lib; }; config = mkIf config.jade.editors.zed.enable { home-manager.users.jade = - { pkgs, ... }: + { ... }: { programs.zed-editor = { enable = true; extraPackages = [ - (pkgs.rustPlatform.buildRustPackage rec { - pname = "discord-presence-lsp"; - version = "d6622e5d4dbbf9f61764458c2b50ba2e58789307"; - cargoHash = "sha256-JLNCEeo9fKeV4vTtPs+Yj2wRO1RKP2fuetrPlXcPBjA="; - - src = pkgs.fetchFromGitHub { - owner = "xhyrom"; - repo = "zed-discord-presence"; - rev = version; - hash = "sha256-RmpY0xkJYNDYn6SWNdKGpPetmBxf2/xY25FLeJqf0Po="; - }; - - cargoBuildFlags = "--package discord-presence-lsp"; - }) ]; extensions = [ "discord-presence" # yes, i sunk that low