{"id":768,"date":"2023-11-28T20:18:44","date_gmt":"2023-11-28T19:18:44","guid":{"rendered":"https:\/\/www.ludovicfavre.ch\/blog\/?p=768"},"modified":"2023-11-28T20:28:45","modified_gmt":"2023-11-28T19:28:45","slug":"configurer-starship-avec-wsl-pour-booster-sa-productivite","status":"publish","type":"post","link":"https:\/\/www.ludovicfavre.ch\/blog\/2023\/11\/configurer-starship-avec-wsl-pour-booster-sa-productivite\/","title":{"rendered":"Configurer Starship avec WSL pour booster sa productivit\u00e9"},"content":{"rendered":"\n<p><a href=\"https:\/\/starship.rs\/fr-fr\">Starship<\/a> est un prompt \u00ab\u00a0cross-shell\u00a0\u00bb, am\u00e9lior\u00e9, ultra-rapide et personnalisable. <\/p>\n\n\n\n<p>En cherchant comment personnaliser l&rsquo;affichage de mon shell dans diff\u00e9rente conditions, je suis tomb\u00e9 sur starship qui pr\u00e9sente de nombreux avantages:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>multi-shell<\/li>\n\n\n\n<li>compatible avec WSL<\/li>\n\n\n\n<li>personnalisable<\/li>\n\n\n\n<li>performant, avec un faible impact sur les ressources <\/li>\n<\/ul>\n\n\n\n<p>L&rsquo;installation est on ne peut plus simple et est d\u00e9crite sur la <a href=\"https:\/\/starship.rs\/fr-FR\/guide\/#%F0%9F%9A%80-installation\" data-type=\"link\" data-id=\"https:\/\/starship.rs\/fr-FR\/guide\/#%F0%9F%9A%80-installation\">page de documentation<\/a>. Ci-apr\u00e8s, je d\u00e9cris comment l&rsquo;installer sous n&rsquo;importe quelle distribution Linux WSL (Debian dans mon cas):<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Lancer le script d&rsquo;installation :\n\n<div class=\"codecolorer-container text default\" style=\"overflow:auto;white-space:nowrap;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/><\/div><\/td><td><div class=\"text codecolorer\">curl -sS https:\/\/starship.rs\/install.sh | sh<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/li>\n\n\n\n<li>Ajouter la ligne suivante \u00e0 la fin de ~\/.bashrc\n\n<div class=\"codecolorer-container text default\" style=\"overflow:auto;white-space:nowrap;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/><\/div><\/td><td><div class=\"text codecolorer\">eval &quot;$(starship init bash)&quot;<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/li>\n\n\n\n<li>Recharge la config bash:\n\n<div class=\"codecolorer-container text default\" style=\"overflow:auto;white-space:nowrap;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/><\/div><\/td><td><div class=\"text codecolorer\">source ~\/.bashrc<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/li>\n<\/ol>\n\n\n\n<p>Starship est maintenant install\u00e9. Vous l&rsquo;aurez remarqu\u00e9, l&rsquo;affichage est un peu \u00ab\u00a0bugg\u00e9\u00a0\u00bb. C&rsquo;est normal, il faut encore ajouter une Font supportant les icones. Pour \u00e7a, il y a l&rsquo;excellent site <a href=\"https:\/\/www.nerdfonts.com\/\">nerdfonts.com<\/a>. Dans mon cas j&rsquo;ai choisi le \u00ab\u00a0Hack Nerd Font\u00a0\u00bb. L&rsquo;installation est on ne peut plus simple:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>T\u00e9l\u00e9charger le font (sous Windows)<\/li>\n\n\n\n<li>Ouvrir les fichiers polices souhait\u00e9s et clicker sur \u00ab\u00a0Installer<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"338\" height=\"162\" src=\"https:\/\/www.ludovicfavre.ch\/blog\/wp-content\/uploads\/2023\/11\/Nerd-fond.png\" alt=\"\" class=\"wp-image-770\" style=\"width:338px;height:auto\" srcset=\"https:\/\/www.ludovicfavre.ch\/blog\/wp-content\/uploads\/2023\/11\/Nerd-fond.png 338w, https:\/\/www.ludovicfavre.ch\/blog\/wp-content\/uploads\/2023\/11\/Nerd-fond-300x144.png 300w\" sizes=\"auto, (max-width: 338px) 100vw, 338px\" \/><\/figure>\n<\/div>\n\n\n<p>Il reste deux \u00e9tapes importantes \u00e0 effectuer pour avoir un prompte hyper pratique: <\/p>\n\n\n\n<p>La premi\u00e8re, il faut configurer la police install\u00e9e dans le Terminal Windows: <em>Param\u00e8tre -&gt; Debian -&gt; Apparence<\/em><\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1018\" height=\"244\" data-id=\"771\" src=\"https:\/\/www.ludovicfavre.ch\/blog\/wp-content\/uploads\/2023\/11\/Capture-decran-2023-11-28-195528.png\" alt=\"\" class=\"wp-image-771\" srcset=\"https:\/\/www.ludovicfavre.ch\/blog\/wp-content\/uploads\/2023\/11\/Capture-decran-2023-11-28-195528.png 1018w, https:\/\/www.ludovicfavre.ch\/blog\/wp-content\/uploads\/2023\/11\/Capture-decran-2023-11-28-195528-300x72.png 300w, https:\/\/www.ludovicfavre.ch\/blog\/wp-content\/uploads\/2023\/11\/Capture-decran-2023-11-28-195528-768x184.png 768w\" sizes=\"auto, (max-width: 1018px) 100vw, 1018px\" \/><\/figure>\n<\/figure>\n\n\n\n<p>La deuxi\u00e8me \u00e9tape, il faut customiser starship. Ca s&rsquo;effectuer en <a href=\"https:\/\/starship.rs\/fr-fr\/config\/\">\u00e9ditant le fichier<\/a> ~\/.config\/starship.toml.<\/p>\n\n\n\n<p>Exemple de ma configuration (attention, les ic\u00f4nes ne seront pas reprise correctement car la police n&rsquo;est pas install\u00e9e sur ce site, il faut les adapter selon votre besoin. Ce fichier se trouve \u00e9galement sur <a href=\"https:\/\/github.com\/fludo\/starship\/blob\/main\/.config\/starship.toml\" data-type=\"link\" data-id=\"https:\/\/github.com\/fludo\/starship\/blob\/main\/.config\/starship.toml\">mon repo Github<\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\">\n\n<div class=\"codecolorer-container text default\" style=\"overflow:auto;white-space:nowrap;height:300px;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/>10<br \/>11<br \/>12<br \/>13<br \/>14<br \/>15<br \/>16<br \/>17<br \/>18<br \/>19<br \/>20<br \/>21<br \/>22<br \/>23<br \/>24<br \/>25<br \/>26<br \/>27<br \/>28<br \/>29<br \/>30<br \/>31<br \/>32<br \/>33<br \/>34<br \/>35<br \/>36<br \/>37<br \/>38<br \/>39<br \/>40<br \/>41<br \/>42<br \/>43<br \/>44<br \/>45<br \/>46<br \/>47<br \/>48<br \/>49<br \/>50<br \/>51<br \/>52<br \/>53<br \/>54<br \/>55<br \/>56<br \/>57<br \/>58<br \/>59<br \/>60<br \/>61<br \/>62<br \/>63<br \/>64<br \/>65<br \/>66<br \/>67<br \/>68<br \/>69<br \/>70<br \/>71<br \/>72<br \/>73<br \/>74<br \/>75<br \/>76<br \/>77<br \/>78<br \/>79<br \/>80<br \/>81<br \/>82<br \/>83<br \/>84<br \/>85<br \/>86<br \/>87<br \/>88<br \/>89<br \/>90<br \/>91<br \/>92<br \/>93<br \/>94<br \/>95<br \/>96<br \/>97<br \/>98<br \/>99<br \/><\/div><\/td><td><div class=\"text codecolorer\"># ~\/.config\/starship.toml<br \/>\n<br \/>\nadd_newline = false<br \/>\ncommand_timeout = 1000<br \/>\nformat = &quot;&quot;&quot;$os$username$hostname$kubernetes$directory$git_branch$git_status&quot;&quot;&quot;<br \/>\n<br \/>\n# Drop ugly default prompt characters<br \/>\n&amp;#91;character]<br \/>\nsuccess_symbol = ''<br \/>\nerror_symbol = ''<br \/>\n<br \/>\n# ---<br \/>\n<br \/>\n&amp;#91;os]<br \/>\nformat = '&amp;#91;$symbol](bold white)'<br \/>\ndisabled = false<br \/>\n<br \/>\n&amp;#91;os.symbols]<br \/>\nWindows = '\ue62a'<br \/>\nArch = '\udb82\udcc7'<br \/>\nUbuntu = '\uf31b'<br \/>\nMacos = '\udb80\udc35'<br \/>\n<br \/>\n# ---<br \/>\n<br \/>\n# Shows the username<br \/>\n&amp;#91;username]<br \/>\nstyle_user = 'white bold'<br \/>\nstyle_root = 'black bold'<br \/>\nformat = '&amp;#91;$user]($style)'<br \/>\ndisabled = false<br \/>\nshow_always = true<br \/>\n<br \/>\n# Shows the hostname<br \/>\n&amp;#91;hostname]<br \/>\nssh_only = false<br \/>\nformat = '@&amp;#91;$hostname](bold yellow):'<br \/>\ndisabled = false<br \/>\n<br \/>\n# Shows current directory<br \/>\n&amp;#91;directory]<br \/>\ntruncation_length = 10<br \/>\ntruncation_symbol = '\u2026\/'<br \/>\nhome_symbol = '\udb80\udedc ~'<br \/>\nread_only_style = '197'<br \/>\nread_only = ' \uf023 '<br \/>\nformat = '&amp;#91;$path]($style)&amp;#91;$read_only]($read_only_style)&amp;gt; '<br \/>\ntruncate_to_repo = true<br \/>\n# Shows current git branch<br \/>\n&amp;#91;git_branch]<br \/>\nsymbol = '\ue0a0 '<br \/>\nformat = '\\(&amp;#91;$symbol$branch]($style)\\)'<br \/>\n# truncation_length = 4<br \/>\ntruncation_symbol = '\u2026\/'<br \/>\nstyle = 'bold green'<br \/>\n<br \/>\n# Shows current git status<br \/>\n&amp;#91;git_status]<br \/>\nformat = '&amp;#91;$all_status$ahead_behind]($style) '<br \/>\nstyle = 'bold green'<br \/>\nconflicted = '\ud83c\udff3'<br \/>\nup_to_date = ''<br \/>\nuntracked = '\uf529 '<br \/>\nahead = '\u21e1${count}'<br \/>\ndiverged = '\u21d5\u21e1${ahead_count}\u21e3${behind_count}'<br \/>\nbehind = '\u21e3${count}'<br \/>\nstashed = '$ '<br \/>\nmodified = '\uf044 '<br \/>\nstaged = '&amp;#91;++\\($count\\)](green)'<br \/>\nrenamed = '\u00bb '<br \/>\ndeleted = '\u2718 '<br \/>\n<br \/>\n# Shows kubernetes context and namespace<br \/>\n&amp;#91;kubernetes]<br \/>\nformat = 'via &amp;#91;\udb84\udcfe $context\\($namespace\\)](bold purple) '<br \/>\ndisabled = true<br \/>\n<br \/>\n# ---<br \/>\n<br \/>\n&amp;#91;vagrant]<br \/>\ndisabled = true<br \/>\n<br \/>\n&amp;#91;docker_context]<br \/>\ndisabled = true<br \/>\n<br \/>\n&amp;#91;helm]<br \/>\ndisabled = true<br \/>\n<br \/>\n&amp;#91;python]<br \/>\ndisabled = true<br \/>\n<br \/>\n&amp;#91;nodejs]<br \/>\ndisabled = true<br \/>\n<br \/>\n&amp;#91;ruby]<br \/>\ndisabled = true<br \/>\n<br \/>\n&amp;#91;terraform]<br \/>\ndisabled = true<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n\n\n\n<p>Une fois le fichier starship.toml, la prochaine ligne de shell sera directement \u00e0 jour avec la configuration.<\/p>\n\n\n\n<p>Quelques exemples du r\u00e9sultat dans le Terminal (j&rsquo;ai masqu\u00e9 mes info host\/machine):<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"257\" height=\"30\" src=\"https:\/\/www.ludovicfavre.ch\/blog\/wp-content\/uploads\/2023\/11\/image.png\" alt=\"\" class=\"wp-image-773\"\/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"203\" height=\"33\" src=\"https:\/\/www.ludovicfavre.ch\/blog\/wp-content\/uploads\/2023\/11\/image-1.png\" alt=\"\" class=\"wp-image-774\"\/><\/figure>\n<\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"261\" height=\"69\" src=\"https:\/\/www.ludovicfavre.ch\/blog\/wp-content\/uploads\/2023\/11\/image-2.png\" alt=\"\" class=\"wp-image-775\"\/><\/figure>\n<\/div>\n\n\n<p>La derni\u00e8re \u00e9tape consiste \u00e0 <a href=\"https:\/\/code.visualstudio.com\/docs\/terminal\/appearance\" data-type=\"link\" data-id=\"https:\/\/code.visualstudio.com\/docs\/terminal\/appearance\">configurer VSCode<\/a> pour supporter l&rsquo;affichage. Comme pour le Terminal, il faut lui pr\u00e9ciser la police \u00e0 utiliser, sans quoi, les ic\u00f4nes ne seront pas affich\u00e9es:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"70\" height=\"26\" src=\"https:\/\/www.ludovicfavre.ch\/blog\/wp-content\/uploads\/2023\/11\/image-3.png\" alt=\"\" class=\"wp-image-776\"\/><\/figure>\n<\/div>\n\n\n<p>Dans settings.json, ajouter les configurations suivante, selon vos pr\u00e9f\u00e9rences :<\/p>\n\n\n\n<pre class=\"wp-block-code\">\n\n<div class=\"codecolorer-container text default\" style=\"overflow:auto;white-space:nowrap;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/><\/div><\/td><td><div class=\"text codecolorer\">&quot;terminal.integrated.fontFamily&quot;: &quot;Hack Nerd Font Mono&quot;,<br \/>\n&quot;terminal.integrated.fontSize&quot;: 12<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n\n<\/pre>\n\n\n\n<p>Voil\u00e0 VSCode configurer avec starship dans le terminal WSL. La m\u00e9thode s&rsquo;applique dans d&rsquo;autres terminaux \u00e9galement ce qui permet de retrouver une uniformit\u00e9 entre diff\u00e9rents shell avec un niveau \u00e9lev\u00e9 de personnalisation assurance un gain en productivit\u00e9<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Starship est un prompt \u00ab\u00a0cross-shell\u00a0\u00bb, am\u00e9lior\u00e9, ultra-rapide et personnalisable. En cherchant comment personnaliser l&rsquo;affichage de mon shell dans diff\u00e9rente conditions, je suis tomb\u00e9 sur starship qui pr\u00e9sente de nombreux avantages: L&rsquo;installation est on ne peut plus simple et est d\u00e9crite &hellip; <a href=\"https:\/\/www.ludovicfavre.ch\/blog\/2023\/11\/configurer-starship-avec-wsl-pour-booster-sa-productivite\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[40],"tags":[65,92,82],"class_list":["post-768","post","type-post","status-publish","format-standard","hentry","category-windows-2","tag-linux","tag-vscode","tag-wsl2"],"_links":{"self":[{"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/posts\/768","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/comments?post=768"}],"version-history":[{"count":5,"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/posts\/768\/revisions"}],"predecessor-version":[{"id":779,"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/posts\/768\/revisions\/779"}],"wp:attachment":[{"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/media?parent=768"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/categories?post=768"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/tags?post=768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}