!ZUiNnfpRqQMDrPLChM:nixos.org

Nix ♥ la francophonie

214 Members
Salon francographe de NixOS72 Servers

Load older messages


SenderMessageTime
19 Aug 2025
@alex:tunstall.xyzAlex
In reply to @exaltia:chat.exaltia.fr
Est ce qu'il y a du monde ici qui utilise neovim + rustanalyzer sous nixos? j'y arrive pas je pige pas comment faire pour que rust-analyser tourne sous neovim avec kickstart.nvim
{
  programs.neovim.configure = {
    packages.myVimPackage.start = [ pkgs.vimPlugins.nvim-lspconfig ];
    customRC = ''
      lua <<EOF
      local onattach = function(client, bufnr)
        local bufopts = { noremap=true, silent=true, buffer=bufnr }
        vim.keymap.set("n", "gD", vim.lsp.buf.declaration, bufopts)
        vim.keymap.set("n", "gd", vim.lsp.buf.definition, bufopts)
        vim.keymap.set("n", "K", vim.lsp.buf.hover, bufopts)
        vim.keymap.set("n", "gi", vim.lsp.buf.implementation, bufopts)
        vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, bufopts)
        vim.keymap.set("n", "<space>D", vim.lsp.buf.type_definition, bufopts)
        vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, bufopts)
        vim.keymap.set("n", "<space>ca", vim.lsp.buf.code_action, bufopts)
        vim.keymap.set("n", "gr", vim.lsp.buf.references, bufopts)
      end
      local lspconfig = require("lspconfig")
      lspconfig.rust_analyzer.setup {
        on_attach = on_attach
      }
      EOF
    '';
  };
}

Et dans les projets Rust j'installe rust-analyzer parmi les outils du nix-shell.

20:44:14
@jo.blade:matrix.orgJo.BladeOuais c'est la raison pour laquelle je me sens pas de recommander nix à mon entourage. C'est un peu comme ouvrir la boite de pandore, dès que tu commence t'es obligé de faire tout "full nix" sans retour en arrière possible20:44:15
@symphorien:xlumurb.eusymphorientout nix ça veut pas seulement dire "je fournis rust-analyzer depuis nix" ça veut aussi dire "je renonce à utiliser mason.nvim" par exemple (je connais pas kickstart"20:44:17
@raitobezarius:matrix.orgraitobezarius* ce qu'a dit symphorien résume bien la situation20:44:18
@alex:tunstall.xyzAlex *
{
  programs.neovim.configure = {
    packages.myVimPackage.start = [ pkgs.vimPlugins.nvim-lspconfig ];
    customRC = ''
      lua <<EOF
      local on_attach = function(client, bufnr)
        local bufopts = { noremap=true, silent=true, buffer=bufnr }
        vim.keymap.set("n", "gD", vim.lsp.buf.declaration, bufopts)
        vim.keymap.set("n", "gd", vim.lsp.buf.definition, bufopts)
        vim.keymap.set("n", "K", vim.lsp.buf.hover, bufopts)
        vim.keymap.set("n", "gi", vim.lsp.buf.implementation, bufopts)
        vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, bufopts)
        vim.keymap.set("n", "<space>D", vim.lsp.buf.type_definition, bufopts)
        vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, bufopts)
        vim.keymap.set("n", "<space>ca", vim.lsp.buf.code_action, bufopts)
        vim.keymap.set("n", "gr", vim.lsp.buf.references, bufopts)
      end
      local lspconfig = require("lspconfig")
      lspconfig.rust_analyzer.setup {
        on_attach = on_attach
      }
      EOF
    '';
  };
}

Et dans les projets Rust j'installe rust-analyzer parmi les outils du nix-shell.

20:44:56
@raitobezarius:matrix.orgraitobezarius(je suis pas 100 % d'accord sur le full nix mais je pense que ce débat va polluer cette room et nous emmenera trop loin et de toute façon dans la discussion actuelle, il est plutot vrai)20:45:22
@exaltia:chat.exaltia.frExaltia Si je comprends bien ceci. tu as juste neovim d'installé (je suppose que je peux mettre les keymap ultérizeurement, et le lsp, et que rust analyser et toute la chaine d'outils de compilation rust se retrouve dans mon shell.nix? 20:47:26
@jo.blade:matrix.orgJo.Blade

La liste est longue, tu dois renoncer à tous les packages manager de langages (pip, npm...)

Et le pire c'est les projets multi langages qui font des bizarreries niveau système de build

Mon cauchemar des derniers mois c'est les projets js qui utilisent l'ORM prisma car prisma download des binaires rust qui doivent absolument matcher la version de la lib js (et bien sûr t'as jamais la bonne version dans nixpkgs)

20:47:36
@jo.blade:matrix.orgJo.BladeApres il y a "nix ld" qui permet de depanner parfois20:48:17
@thoth101010:matrix.orgthothah oui, il y a mason dans kickstart 🤔 Peut-être qu’en le désintallant ça réglera tout 🙃20:48:21
@thoth101010:matrix.orgthoth * ah oui, il y a mason.nvim dans kickstart 🤔
Peut-être qu’en le désinstallant ça réglera le problème 🙃
20:48:41
@thoth101010:matrix.orgthoth * ah oui, il y a mason.nvim dans kickstart 🤔
Peut-être qu’en le désinstallant ça réglera le problème 🙃 (vu que ça devrait untilser le rust-analyzer de nixpkgs, non ?)
20:49:22
@thoth101010:matrix.orgthoth * ah oui, il y a mason.nvim dans kickstart 🤔
Peut-être qu’en l.’enlevant ça réglera le problème 🙃 (vu que ça devrait untilser le rust-analyzer de nixpkgs, non ?)
20:49:44
@exaltia:chat.exaltia.frExaltiaet si je deinstalle mason, le seul "contrecoup" c'est de devoir ajouter des lignes dans .. mon shell.nix ? pour les plugins qui m'ointeresseraient?.20:51:38
@symphorien:xlumurb.eusymphorienpour simplifier shell.nix fournir des outils (dans le $PATH) et des libs (pour le compilateur) pas des plugins nvim20:52:55
@thoth101010:matrix.orgthothOui, il faut installer les serveurs lsp et autres dans le shell. (ou dans la config nixos)20:52:58
@thoth101010:matrix.orgthoth* Oui, il faudra installer les serveurs lsp et autres dans le shell. (ou dans la config nixos)20:53:06
@symphorien:xlumurb.eusymphorienmason est un plugin qui va télécharger et ou compiler des lsp pour toi20:53:10
@exaltia:chat.exaltia.frExaltiaaller, a la dure! j'ai presque envie de bouger la config actguelle de neovim pour pas oublier de traces, faire comme vous dites d'installer ca dans le shell, et de repartir "tout manuel"20:54:04
@exaltia:chat.exaltia.frExaltia(mais est ce qu'il descends)20:54:12
@exaltia:chat.exaltia.frExaltia* (mais est ce qu'il descends ?)20:54:19
@thoth101010:matrix.orgthothC’est ce que je faisait, même avant nixos, pour éviter de télécharger des exécutables ailleurs que ceux packagé pour la distro, je me dis que ça fait un peu plus de chance qu’une personne détecte les malware 🙃20:56:37
@thoth101010:matrix.orgthoth* C’est ce que je faisait même avant nixos, pour éviter de télécharger des exécutables ailleurs que ceux packagé pour la distro, je me dis que ça fait un peu plus de chance qu’une personne détecte les malware 🙃20:56:42
@thoth101010:matrix.orgthoth* C’est ce que je faisait même avant nixos, pour éviter de télécharger des exécutables ailleurs que ceux packagés pour la distro, je me dis que ça fait un peu plus de chance qu’une personne détecte les malware 🙃20:57:28
@exaltia:chat.exaltia.frExaltiaj'avoue qu'un ex collegue m'a filé ca entre les pates sur mon pc pro qui était sur ubuntu. je jsuis passée sur nixos sur ma machine perso un beau jour ou windows m'a emmerdé une fois de trop, j'ai réappliqué la sauce maladroitement, ca fonctionnais pour python, mais la, vu que je veux me mettre au rust, c'est pas tout à fait la meme affaire20:58:18
@symphorien:xlumurb.eusymphorienc'est bizarre que tu dises que ça marche pour python parce qu'installer numpy avec pip sur nixos ça marche pas20:59:17
@exaltia:chat.exaltia.frExaltiaj'ai jamais installé numpy, et je n'utilisais pas pip, mais des shells.20:59:40
@jo.blade:matrix.orgJo.Blade

Oui en vrai je trouve que le concept de download des binaires c'est vraiment un problème de design. Je déteste les projets qui font ça (malheureusement faut collaborer avec des communautés, surtout dans le web, qui adorent faire ça)

Que c'est épuisant d'avoir l'impression de nager à contre courant quand ça arrive !

20:59:50
@exaltia:chat.exaltia.frExaltiaje voulaios dire que le lsp python de neovim fonctionnais20:59:51
@symphorien:xlumurb.eusymphorienah ok20:59:56

Show newer messages


Back to Room ListRoom Version: 6