Aller au contenu

Avec mon agent cognitif

Le nombre de trucs que je n'aurais jamais pensé être capable de réaliser sans agent cognitif. Merci LUMO.

Lazyvim

E dans l'O

Ctrl + k puis "oe"

je créé ma snippet !

  1. Créer le dossier et le fichier de snippets

Dans un terminal :

mkdir -p ~/.config/nvim/snippets

Puis créez le fichier ~/.config/nvim/snippets/markdown.json avec ce contenu :

{
  "Guillemets français": {
    "prefix": "gfr",
    "body": [
      "« ${1:ABC} »"
    ],
    "description": "Insère des guillemets français avec espaces insécables"
  }
}

Explications :

"prefix": "gfr" — c'est le raccourci que vous taperez en mode insertion pour déclencher le snippet (mettez ce que vous voulez).

"${1:ABC}" — c'est un champ éditable. Le curseur s'y placera automatiquement après l'expansion, avec le texte ABC pré-rempli que vous pourrez remplacer.

Les espaces autour sont des espaces insécables (U+00A0). Assurez-vous que votre éditeur les preserve — vous pouvez les saisir avec Ctrl+Shift+U puis 00A0 puis Enter sous Linux, ou copier-coller depuis ce message.

  1. Dire à LuaSnip de charger votre dossier

Il faut indiquer à LuaSnip de charger votre dossier personnel en plus des friendly-snippets.

Créez ou modifiez le fichier ~/.config/nvim/lua/plugins/luasnip.lua :

return {
  {
    "L3MON4D3/LuaSnip",
    config = function(_, opts)
      require("luasnip").setup(opts)
      -- Charge friendly-snippets (collection standard)
      require("luasnip.loaders.from_vscode").lazy_load()
      -- Charge vos snippets personnels
      require("luasnip.loaders.from_vscode").lazy_load({
        paths = { "~/.config/nvim/snippets" },
      })
    end,
  },
}
  1. Redémarrer Neovim et tester

Ouvrez un fichier .md En mode insertion, tapez gfr

Le complétion nvim-cmp devrait vous proposer le snippet — confirmez avec Enter ou

Le texte « ABC » apparaît, le curseur est positionné sur ABC Tapez votre mot pour remplacer ABC, puis appuyez sur pour sortir du snippet

Résoudre les symboles absents (apparaissent en unicode)

  1. Allez sur https://www.nerdfonts.com/font-downloads
  2. Télécharger "JetBrains Mono" dans la liste
  3. Extrayer l'archive ZIP
  4. Installer la ou les polices .ttf qui intéressent (il y a plusieurs variantes comme Regular, Bold, Italic...) :

    mkdir -p ~/.local/share/fonts cp ~/Téléchargements/JetBrainsMono/*.ttf ~/.local/share/fonts/ fc-cache -fv

Configurer le terminal pour utiliser cette police (Préférences du terminal → Police personnalisée → chercher "JetBrainsMono Nerd Font").

Monter un partage samba

Créer une fichier avec l'identifiant et le mot de passe du partage samba

nvim ~/.smbcreds

Y écrire (replacer par le nom d'utilisateur samba avec son mot de passe) :

username=<USER>
password=<PASSWORD>
domain=WORKGROUP

Ajouter cette ligne dans /etc/fstab:

//CHEMIN/PARTAGE/ /MNT/MONTAGE/ cifs _netdev,nofail,credentials=/home/UTILISATEUR/.smbcreds,uid=1000,gid=1000,iocharset=utf8,file_mode=0777,dir_mode=0777  0  0
  • CHEMIN/PARTAGE est le chemin vers le partage samba sur le réseau.
  • /MNT/MONTAGE est le dossier local de ce montage
  • UTILISATEUR est le nom de l'utilisateur.

Créer le dossier du montage :

sudo mkdir -p /mnt/montage_gl1800/

Monter les volumes :

sudo mount -t

Créer un lien symbolique sur le bureau vers le dossier du montage :

ln -sfn /mnt/montage_gl1800/ ~/Bureau/partage

Un dossier partage doit ouvrir le dossier partagé sur montage_gl1800.

Connecter un nouvel utilisateur à un PI

Les utilisateurs ne doivent pas pouvoir se connecter par mot de passe. Seulemenet possible par clé ssh.

Dans /etc/ssh/ssh_config même si PasswordAuthentification no on peut quand même se connecter par mot de passe car il existe un fichier ajouté à l'installation du PI qui écrase cette configuration, c'est : /etc/ssh/sshd_config.d/50-cloud-init.conf avec cette directive à YES. Il en faut une autre qui prend le dessus (00 a lé priorité sur 50) :

sudo tee /etc/ssh/sshd_config.d/00-hardening.conf <<'EOF'
PasswordAuthentication no
EOF
sudo systemctl restart ssh

Ajouter l'utilisateur sur le PI :

sudo adduser utilisateur

Copier la clé publique de cet utilisateur sur le PI (en admettant qu'elle fut envoyée par mail sécurisé)

scp id_utilisateur.pub pipi.duckdns.org:/tmp/

Sur le PI, créer le répertoire .ssh cet utilisateur, copier sa clé publique :

sudo mkdir -p /home/utilisateur/.ssh
cat /tmp/id_utilisateur.pub | sudo tee -a /home/utilisateur/.ssh/authorized_keys

Vérifier les permissions :

sudo chown -R utilisateur:utilisateur /home/utilisateur/.ssh
sudo chmod 700 /home/utilisateur/.ssh
sudo chmod 600 /home/utilisateur/.ssh/authorized_keys
rm /tmp/id_utilisateur.pub

La personne pourra ensuite se connecter avec

ssh utilisateur@pipi.duckdns.org

...sans mot de passe.

Partager une imprimante sous LinuxMint

J'ai une imprimante Brother connectée par USB à la machine nommée ryzen. Dans Paramètre -> imprimante -> imprimante Brother... -> Comportement : la case "partager" est cochée. C'est pas suffisant pour que la machine X260 connectée au même réseau local que ryzen imprime sur Brother.

La case à cocher ne faire qu'une partie du chemin. Il faut que le serveur cups de ryzen accepte toutes les connexions, pour le moment il n'accepte que localhost. Le script dans le dossier shareprinter de ce dépôt git résout le problème. Tout est expliqué dans le README.md.