<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Sarah's Website - GNU/Linux</title><link href="https://sarah-rogue.me/" rel="alternate"/><link href="https://sarah-rogue.me/feeds/gnulinux.atom.xml" rel="self"/><id>https://sarah-rogue.me/</id><updated>2025-09-25T00:00:00-04:00</updated><entry><title>Using Google Drive on Arch Linux - KDE Plasma</title><link href="https://sarah-rogue.me/2025/using-google-drive-on-arch-linux-kde-plasma/" rel="alternate"/><published>2025-09-25T00:00:00-04:00</published><updated>2025-09-25T00:00:00-04:00</updated><author><name>Sarah Rogue</name></author><id>tag:sarah-rogue.me,2025-09-25:/2025/using-google-drive-on-arch-linux-kde-plasma/</id><summary type="html">definitive steps to get Google Drive to work under Dolphin, the KDE file manager</summary><content type="html">&lt;div id="preamble"&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: i&amp;#8217;ve been told that problems exist with KDE, in general - not just KDE Plasma. so, if you&amp;#8217;re having trouble getting Google Drive to work with Dolphin, these steps may just work anyway&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;also&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;i got this info from &lt;a href="https://reddit.com/r/kde/"&gt;Reddit&lt;/a&gt; but can&amp;#8217;t find the links - sorry about that&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_initial_steps"&gt;initial steps&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;first, install kio-gdrive&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;the following command is to install kio-gdrive on Arch Linux. i use CachyOS in particular but any &lt;code&gt;pacman&lt;/code&gt; OS works&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;obviously, you can install kio-gdrive on other GNU/Linux operating systems&lt;/p&gt;
&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre class="highlight"&gt;&lt;code class="language-fish" data-lang="fish"&gt;sudo pacman -S kio-gdrive&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;the problem is that simply installing kio-gdrive doesn&amp;#8217;t work at all with KDE&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;however&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;it works just fine with GNOME&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;so, before you go to System Settings, Networking, Oneline Accounts, and add Google&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;do this first:&lt;/p&gt;
&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre class="highlight"&gt;&lt;code class="language-fish" data-lang="fish"&gt;kate /usr/share/accounts/providers/kde/google.provider&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;delete all the contents (every line) and copy and paste this XML doc instead:&lt;/p&gt;
&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre class="highlight"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;
&amp;lt;provider id="google"&amp;gt;
  &amp;lt;name&amp;gt;Google&amp;lt;/name&amp;gt;

  &amp;lt;description&amp;gt;GNOME-ID, Google Drive and YouTube&amp;lt;/description&amp;gt;
  &amp;lt;icon&amp;gt;im-google&amp;lt;/icon&amp;gt;
  &amp;lt;translations&amp;gt;kaccounts-providers&amp;lt;/translations&amp;gt;
  &amp;lt;domains&amp;gt;.*google\.com&amp;lt;/domains&amp;gt;

  &amp;lt;template&amp;gt;
    &amp;lt;group name="auth"&amp;gt;
      &amp;lt;setting name="method"&amp;gt;oauth2&amp;lt;/setting&amp;gt;
      &amp;lt;setting name="mechanism"&amp;gt;web_server&amp;lt;/setting&amp;gt;
      &amp;lt;group name="oauth2"&amp;gt;
        &amp;lt;group name="web_server"&amp;gt;
          &amp;lt;setting name="Host"&amp;gt;accounts.google.com&amp;lt;/setting&amp;gt;
          &amp;lt;setting name="AuthPath"&amp;gt;o/oauth2/auth?access_type=offline&amp;amp;amp;approval_prompt=force&amp;lt;/setting&amp;gt;
          &amp;lt;setting name="TokenPath"&amp;gt;o/oauth2/token&amp;lt;/setting&amp;gt;
          &amp;lt;setting name="RedirectUri"&amp;gt;http://localhost/oauth2callback&amp;lt;/setting&amp;gt;

          &amp;lt;setting name="ResponseType"&amp;gt;code&amp;lt;/setting&amp;gt;
          &amp;lt;setting type="as" name="Scope"&amp;gt;[
              'https://www.googleapis.com/auth/userinfo.email',
              'https://www.googleapis.com/auth/userinfo.profile',
              'https://www.googleapis.com/auth/calendar',
              'https://www.googleapis.com/auth/tasks',
              'https://www.googleapis.com/auth/drive'
          ]&amp;lt;/setting&amp;gt;
          &amp;lt;setting type="as" name="AllowedSchemes"&amp;gt;['https']&amp;lt;/setting&amp;gt;
          &amp;lt;setting name="ClientId"&amp;gt;44438659992-7kgjeitenc16ssihbtdjbgguch7ju55s.apps.googleusercontent.com&amp;lt;/setting&amp;gt;
          &amp;lt;setting name="ClientSecret"&amp;gt;-gMLuQyDiI0XrQS_vx_mhuYF&amp;lt;/setting&amp;gt;
          &amp;lt;setting type="b" name="ForceClientAuthViaRequestBody"&amp;gt;true&amp;lt;/setting&amp;gt;
        &amp;lt;/group&amp;gt;
      &amp;lt;/group&amp;gt;
    &amp;lt;/group&amp;gt;
  &amp;lt;/template&amp;gt;
&amp;lt;/provider&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;of course, be sure and save the file - it will prompt you for your &lt;code&gt;sudo&lt;/code&gt; password and save the file just fine&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_next_steps"&gt;next steps&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;now, go into &lt;strong&gt;System Settings&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;under the &lt;strong&gt;Networking&lt;/strong&gt; section on the left&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;select &lt;strong&gt;Online Accounts&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;on the upper, right, click &lt;strong&gt;+ Add Account&lt;/strong&gt; and choose &lt;strong&gt;Google&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;it should look like&lt;/p&gt;
&lt;/div&gt;
&lt;div class="imageblock"&gt;
&lt;div class="content"&gt;
&lt;img src="/images/using-google-drive-on-archlinux-kde-plasma/Online-Accounts-Google-Login.webp" alt="Gmail login for GNOME" width="not KDE"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;notice it says GNOME and not KDE&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;enter your Gmail account address and password on the next screens. i use Passkeys, so it&amp;#8217;s a bit different for me, but still works&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;once you&amp;#8217;re logged in and given GNOME all the settings, Dolphin will just work, as-is&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;in Network, Google Drive, of course&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;and, obviously, you can pin it as well&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_conclusion"&gt;conclusion&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;yes, it&amp;#8217;s a bit of work - but very doable&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;the file, above, is also available for you to just download and use as is - it&amp;#8217;s exactly the same as above&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;&lt;strong&gt;File&lt;/strong&gt;: &lt;a href="/src/using-google-drive-on-archlinux-kde-plasma/google.provider"&gt;&lt;code&gt;google.provider&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;md5sum&lt;/code&gt;&lt;/strong&gt;: &lt;code&gt;a65ed15fb05cb710409434d5f6b87171&lt;/code&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</content><category term="GNU/Linux"/><category term="CachyOS"/><category term="Archlinux"/><category term="KDE Plasma"/><category term="Dolphin"/></entry><entry><title>WinBoat for GNU/Linux</title><link href="https://sarah-rogue.me/2025/winboat-for-gnulinux/" rel="alternate"/><published>2025-09-04T00:00:00-04:00</published><updated>2025-09-04T00:00:00-04:00</updated><author><name>Sarah Rogue</name></author><id>tag:sarah-rogue.me,2025-09-04:/2025/winboat-for-gnulinux/</id><summary type="html">&lt;p&gt;&lt;a href="https://www.winboat.app/"&gt;WinBoat&lt;/a&gt; is a GNU/Linux app that runs various versions of Windows. i fucked up the first time installing it and had a bitch of a time uninstalling it&lt;/p&gt;</summary><content type="html">&lt;div id="preamble"&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;&lt;a href="https://www.winboat.app/"&gt;WinBoat&lt;/a&gt; is a GNU/Linux app that runs various versions of Windows. i fucked up the first time installing it and had a bitch of a time uninstalling it&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;but first&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;i&amp;#8217;ll describe how i got it running before the install&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_initial_install_before_i_fucked_it_up"&gt;initial install, before i fucked it up&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;WinBoat&amp;#8217;s GitHub &lt;a href="https://github.com/TibixDev/winboat"&gt;repo&lt;/a&gt; has the &lt;a href="https://github.com/TibixDev/winboat/releases"&gt;current release&lt;/a&gt; as an AppImage&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;after the download, go to the download folder on the command line and execute&lt;/p&gt;
&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre class="highlight"&gt;&lt;code&gt;chmod +x winboat-X.Y.Z.AppImage&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;where X, Y, and Z are the version number. in my case, v0.7.1. &lt;strong&gt;note&lt;/strong&gt;: this is beta software and earlier today, it was v0.6.13 but changed rn when i just now checked for this writing&lt;/p&gt;
&lt;/div&gt;
&lt;div class="sect2"&gt;
&lt;h3 id="_before_first_run"&gt;before first run&lt;/h3&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;install Docker and Docker Compose&lt;/p&gt;
&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre class="highlight"&gt;&lt;code&gt;sudo pacman -S docker docker-compose

sudo systemctl enable docker
sudo systemctl start docker

sudo usermod -a -G docker username&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;to start, i use CachyOS, an ArchLinux distro. the first line will probably be different for your distro. the &lt;code&gt;username&lt;/code&gt; at the end is your user name that you use to login to your Desktop Environment&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;finally, be sure the correct Kernel Modules are running&lt;/p&gt;
&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre class="highlight"&gt;&lt;code&gt;echo -e "ip_tables\niptable_nat" | sudo tee /etc/modules-load.d/iptables.conf
sudo reboot&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect2"&gt;
&lt;h3 id="_appimagelaucher"&gt;AppImageLaucher&lt;/h3&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;believe it or not, i&amp;#8217;d rather not use the terminal for launching apps and i have an &lt;code&gt;apps&lt;/code&gt; folder to prove it. so i use AppImageLauncher. to install&lt;/p&gt;
&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre class="highlight"&gt;&lt;code&gt;sudo pacman -S appimagelauncher&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_then_i_fucked_it_all_up"&gt;then i fucked it all up&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;when you first run WinBoat, from terminal or otherwise, it displays some sort of BIOS or UEFI. i skipped the FreeRDP step of the pre-installation, which is required for a Remote Desktop Connection. i saw the text and the logo but it went by so fast that i couldn&amp;#8217;t read it. by the time i went back to GitHub to read the README, i was convinced that, somehow, me not installing FreeRDP caused that text to display&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;by that time, the Windows 11 installer was in the middle of downloading and i closed WinBoat thinking that the next time i opened it, it would start over&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;but&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;it did not start over&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;it ran the WinBoat again and, of course, nothing happened&lt;/p&gt;
&lt;/div&gt;
&lt;div class="sect2"&gt;
&lt;h3 id="_so_to_uninstall_the_docker_image"&gt;so, to uninstall the docker image&lt;/h3&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre class="highlight"&gt;&lt;code&gt;sudo docker volume rm winboat
sudo rm -rf /var/lib/docker/volumes&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;that last line might be unnecessary but i did it anyway (thx Gemini deep research)&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_and_so_i_started_over"&gt;and so i started over&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;WinBoat uses QEMU from your default web browser and, below are some pics of the installation and what i did after&lt;/p&gt;
&lt;/div&gt;
&lt;div class="sect2"&gt;
&lt;h3 id="_pics"&gt;pics&lt;/h3&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;WinBoat lets you install a number of Windows versions, i picked 11 Pro&lt;/p&gt;
&lt;/div&gt;
&lt;div class="imageblock"&gt;
&lt;div class="content"&gt;
&lt;img src="/images/winboat-for-gnu-linux/01-winboat-windows-11-download.webp" alt="Windows 11 downloading"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;then the install begins&lt;/p&gt;
&lt;/div&gt;
&lt;div class="imageblock"&gt;
&lt;div class="content"&gt;
&lt;img src="/images/winboat-for-gnu-linux/02-winboat-installing-windows-11.webp" alt="Windows 11 installing"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;after some restarts, Windows opens with you already logged in&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;sorry that i didn&amp;#8217;t mention it before&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;but&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;WinBoat, before it creates the Docker image, prompts for RAM, Cores, and Storage Size&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;i picked 8 GB, 4, and 64 GB respectively&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;it also asks for which version of Windows you want and a password to login - this can be anything as it doesn&amp;#8217;t link to your Microsoft Account&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;the next thing i did was a Windows Update&lt;/p&gt;
&lt;/div&gt;
&lt;div class="imageblock"&gt;
&lt;div class="content"&gt;
&lt;img src="/images/winboat-for-gnu-linux/03-winboat-windows-update.webp" alt="Windows Update in grogress"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;and also updated the apps in the Microsoft Store&lt;/p&gt;
&lt;/div&gt;
&lt;div class="imageblock"&gt;
&lt;div class="content"&gt;
&lt;img src="/images/winboat-for-gnu-linux/04-winboat-microsoft-store-updates.webp" alt="Microsoft Store apps updating"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;the apps all got updated first and then Windows Update finished and prompted for a reboot, which i did&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;i had to log in, with password, and was greeted with this minimal desktop and start menu&lt;/p&gt;
&lt;/div&gt;
&lt;div class="imageblock"&gt;
&lt;div class="content"&gt;
&lt;img src="/images/winboat-for-gnu-linux/05-winboat-windows-11-desktop.webp" alt="Windows 11 desktop"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;div class="imageblock"&gt;
&lt;div class="content"&gt;
&lt;img src="/images/winboat-for-gnu-linux/06-winboat-windows-11-start-menu.webp" alt="Windows 11 start menu"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;the next Windows update simply installed Defender antivirus signatures, which didn&amp;#8217;t require a reboot&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_caveats"&gt;caveats&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;because it is running QEMU in a default web browser, gaming isn&amp;#8217;t an option - save maybe the Microsoft games, like Mahjong, Minesweeper, Jigsaw, etc&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;please use Steam/Proton directly on your GNU/Linux machine for gaming, even simple games&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;updating WinBoat to the current version involves stopping a WinBoat Windows service and deleting 16 lines at the bottom of the &lt;code&gt;~/.local/share/applications/appimagekit_*-winboat.desktop&lt;/code&gt; file plus removing the old AppImage in your &lt;code&gt;~/Applications&lt;/code&gt; folder&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;no Bluetooth, microphone input, audio output&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;stopping QEMU from within the WinBoat app does a hard power-off, i believe (but i could be wrong). pausing works just fine. a shutdown within the Windows QEMU environment is the correct way&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;it&amp;#8217;s constantly prompting me to stop the WinBoatGuestServer&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;the Windows 11 Pro install, upgrades and app updates consume 20.5 GB of storage&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;simply moving the cursor isn&amp;#8217;t smooth&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;but&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;it gets the job done&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_last_words"&gt;last words&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;this project is off to a great start but i doubt i will use it for anything&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;i can run Microsoft 365 in my web browser on GNU/Linux and there&amp;#8217;s an app for everything else i want to do&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;i&amp;#8217;ve tested running games on CachyOS and the fps is the same as on my native Windows 11 partition&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;so, i really have no need for Windows. sorry, Microsoft&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;but this project is awesome, a fave, and &lt;strong&gt;the&lt;/strong&gt; tech talk on &lt;a href="https://discord.com/"&gt;Discord&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;hope this information helps&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</content><category term="GNU/Linux"/><category term="WinBoat"/><category term="Windows"/></entry><entry><title>How To Configure Your Fish Prompt</title><link href="https://sarah-rogue.me/2025/how-to-configure-your-fish-prompt/" rel="alternate"/><published>2025-08-09T00:00:00-04:00</published><updated>2025-08-09T00:00:00-04:00</updated><author><name>Sarah Rogue</name></author><id>tag:sarah-rogue.me,2025-08-09:/2025/how-to-configure-your-fish-prompt/</id><summary type="html">shows how to get the CachyOS features of the command shell fish into other GNU/Linux like Fedora 42</summary><content type="html">&lt;div id="preamble"&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;first of all, i love the command shell &lt;code&gt;fish&lt;/code&gt;!!!&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;but&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;i&amp;#8217;m a complete noob when it comes to &lt;code&gt;fish&lt;/code&gt; and fishing as well&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;however&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;i love the way &lt;code&gt;fish&lt;/code&gt; is setup on &lt;a href="https://cachyos.org/"&gt;CashyOS&lt;/a&gt; but when i switched to &lt;a href="https://www.fedoraproject.org/"&gt;Fedora&lt;/a&gt; 42, i missed all of the epic CashyOS features that made &lt;code&gt;fish&lt;/code&gt; even better&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;i felt like i had to do something — something like this:&lt;/p&gt;
&lt;/div&gt;
&lt;div class="imageblock article-icon"&gt;
&lt;div class="content"&gt;
&lt;img src="/images/how-to-configure-your-fish-prompt/python-virtual-environment.webp" alt="command prompt that i want for fish"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_the_simple_solution"&gt;the simple solution&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;does&amp;#8217;t work&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;and that would be transferring my existing &lt;code&gt;~/.config/fish&lt;/code&gt; folder to Fedora&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;even transferring the CashyOS config folder doesn&amp;#8217;t work&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;so what did i do?&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;copying and pasting, mainly&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_the_solution_that_worked"&gt;the solution that worked&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;is kinda involved but well worth it imho&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;first, let&amp;#8217;s start with aliases&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_aliases"&gt;aliases&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;CachyOS has some good ones but i came up with a few of my own&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;from my &lt;a href="/src/how-to-configure-your-fish-prompt/alias.fish"&gt;&lt;code&gt;~/.config/fish/conf.d/alias.fish&lt;/code&gt;&lt;/a&gt; file:&lt;/p&gt;
&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre class="highlight"&gt;&lt;code&gt;# Replace ls with eza
alias la 'eza -a --color=always --group-directories-first --icons'  # all files and dirs
alias ll 'eza -l --color=always --group-directories-first --icons'  # long format
alias lt 'eza -aT --color=always --group-directories-first --icons' # tree listing
alias l. "eza -a | grep -e '^\.'"                                   # show only dotfiles
alias lal 'eza -al --color=always --group-directories-first --icons'
alias ls 'eza --color=always --group-directories-first --icons'

# Common use
alias psmem 'ps auxf | sort -nr -k 4'
alias psmem10 'ps auxf | sort -nr -k 4 | head -10'
alias .. 'cd ..'
alias ... 'cd ../..'
alias .... 'cd ../../..'
alias ..... 'cd ../../../..'
alias ...... 'cd ../../../../..'
alias dir 'dir --color=auto'
alias vdir 'vdir --color=auto'
alias grep 'grep --color=auto'
alias fgrep 'fgrep --color=auto'
alias egrep 'egrep --color=auto'
alias hw 'hwinfo --short'                                           # Hardware Info

# Get the error messages from journalctl
alias jctl "journalctl -p 3 -xb"

# root commands
alias dnf 'sudo dnf5'
alias reboot 'sudo reboot'
alias shutdown 'sudo systemctl poweroff'
alias systemctl 'sudo systemctl'
alias update 'sudo dnf5 --refresh update'
alias yum 'sudo dnf5'

# use vim
alias vi vim
# don't use the bash version of which
alias which 'type -P'&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;&lt;strong&gt;WARNING&lt;/strong&gt;: be sure you have &lt;code&gt;eza&lt;/code&gt; installed as it isn&amp;#8217;t, by default, on Fedora 42. if you don&amp;#8217;t, your &lt;code&gt;ls&lt;/code&gt; command will quit working due to the alias&lt;/p&gt;
&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre class="highlight"&gt;&lt;code&gt;sudo dnf install eza&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;finally, let&amp;#8217;s move onto the epic CachyOS &lt;code&gt;fish&lt;/code&gt; prompt&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_main_prompt"&gt;main prompt&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;this one had me racking my small, tiny brain&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;but&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;i finally figured it out&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;the &lt;a href="/src/how-to-configure-your-fish-prompt/fish_prompt.fish"&gt;&lt;code&gt;funced fish_prompt&lt;/code&gt;&lt;/a&gt; command lets you edit your prompt&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;down at the very bottom of the file, i changed it to:&lt;/p&gt;
&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre class="highlight"&gt;&lt;code&gt;if set -q VIRTUAL_ENV
    set -f venv_name (basename "$VIRTUAL_ENV")" "
else
    set -f venv_name ""
end

echo -s \n (set_color red) (prompt_pwd -d 70) (set_color brblack) (echo (fish_vcs_prompt) | sed 's/[()]//g')
echo -n -s $venv_name $normal $suffix " "&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;what i learned is that &lt;code&gt;set -q&lt;/code&gt; queries to see if the variable is set or unset&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;and&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;&lt;code&gt;set -f&lt;/code&gt; sets the variable for the scope of the function&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;also, in order to get the virtual environment part to work&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;you need to add the following line to your &lt;a href="/src/how-to-configure-your-fish-prompt/environ.fish"&gt;&lt;code&gt;~/.config/fish/conf.d/environ.fish&lt;/code&gt;&lt;/a&gt; file:&lt;/p&gt;
&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre class="highlight"&gt;&lt;code&gt;set -gx VIRTUAL_ENV_DISABLE_PROMPT true&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="sect1"&gt;
&lt;h2 id="_conclusion"&gt;conclusion&lt;/h2&gt;
&lt;div class="sectionbody"&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;i learned a lot about &lt;code&gt;fish&lt;/code&gt; and got a bunch of epic aliases for my Fedora 42 OS&lt;/p&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;you can also &lt;a href="/src/how-to-configure-your-fish-prompt/fish-config.tar.xz"&gt;download&lt;/a&gt; my &lt;code&gt;fish&lt;/code&gt; configuration which has everything done for you&lt;/p&gt;
&lt;/div&gt;
&lt;div class="listingblock"&gt;
&lt;div class="content"&gt;
&lt;pre class="highlight"&gt;&lt;code&gt;&amp;gt; ~/.config/
&amp;gt; rm -rf fish    # unless you've already made changes
&amp;gt; tar Jxvf ~/Downloads/fish-config.tar.xz&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="paragraph"&gt;
&lt;p&gt;thank you for reading and have a fun day!!!&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</content><category term="GNU/Linux"/><category term="CachyOS"/><category term="Fedora"/><category term="fish"/></entry></feed>