πŸ₯· xdg-ninja β€” скрипт для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ наличия Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠ°ΠΏΠΎΠΊ Π² домашнСй Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ($HOME). Он сканируСт Π΅Ρ‘ ΠΈ прСдоставляСт инструкции ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ этих Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΠΎ спСцификации XDG.

github.com/b3nj5m1n/xdg-ninja#

Π‘ Π΄Π°Π²Π½ΠΈΡ… ΠΏΠΎΡ€ Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для Linux повСлась традиция ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ свои Ρ„Π°ΠΉΠ»Ρ‹ прямо Π² домашний ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³: `~/.mozilla`, `~/.bashrc` ΠΈ Π΄Ρ€. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ сильно Π·Π°ΡΠΎΡ€ΡΡ‚ΡŒ $HOME.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² 2003 Π³ΠΎΠ΄Ρƒ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ XDG Base Directory (specifications.freedesktop.org). Богласно Π΅ΠΉ, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ всС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π»Π΅ΠΆΠ°Ρ‚ΡŒ Π² `~/.config`, Π΄Π°Π½Π½Ρ‹Π΅ Π² `~/.local/share`, кэш Π² `~/.cache`. МногиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π°Ρ‡Π°Π»ΠΈ Π΅ΠΉ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ, Π½ΠΎ Π½Π΅ всС.

НСкоторым Ρ‚Π°ΠΊΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ согласно спСцификации. НапримСр, для Cargo Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ $CARGO_HOME. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ инструкции для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: xdg-ninja ΡƒΠΆΠ΅ содСрТит всё Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅.

Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ спСцификации XDG Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ: wiki.archlinux.org/title/XDG_B.

#linux #линукс