<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: HaxNet</title>
    <description>The latest articles on DEV Community by HaxNet (@haxnet).</description>
    <link>https://dev.to/haxnet</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F550721%2F8498ffcd-cdfd-41f2-a6d4-94d03264998c.png</url>
      <title>DEV Community: HaxNet</title>
      <link>https://dev.to/haxnet</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/haxnet"/>
    <language>en</language>
    <item>
      <title>Kill Focus Window on Startup</title>
      <dc:creator>HaxNet</dc:creator>
      <pubDate>Sat, 26 Jul 2025 14:22:27 +0000</pubDate>
      <link>https://dev.to/haxnet/kill-focus-window-on-startup-100j</link>
      <guid>https://dev.to/haxnet/kill-focus-window-on-startup-100j</guid>
      <description>&lt;p&gt;This is for Arch Linux users. I am sure you can use this for other Linux distros.&lt;/p&gt;

&lt;p&gt;So I use ClickUp and have it startup at boot. One thing is that the main windows is always popping up and I have to manually kill it which is not something I am interested in doing.&lt;/p&gt;

&lt;p&gt;First, install wmctrl&lt;/p&gt;

&lt;p&gt;I recommend reading the manual for wmctrl, pretty straightforward.&lt;/p&gt;

&lt;p&gt;In my i3 config file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;exec_always --no-startup-id sleep 2 &amp;amp;&amp;amp; clickup
exec_always --no-startup-id sleep 5 &amp;amp;&amp;amp; wmctrl -c 'ClickUp'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;pretty much that is it. Pretty easy to do so.&lt;/p&gt;

&lt;p&gt;I tried the xdotool and that didn't work for me.&lt;/p&gt;

</description>
      <category>linux</category>
    </item>
    <item>
      <title>I'm Not a Hacker: A Journey into Linux Security</title>
      <dc:creator>HaxNet</dc:creator>
      <pubDate>Tue, 11 Feb 2025 13:56:38 +0000</pubDate>
      <link>https://dev.to/haxnet/im-not-a-hacker-a-journey-into-linux-security-5dg5</link>
      <guid>https://dev.to/haxnet/im-not-a-hacker-a-journey-into-linux-security-5dg5</guid>
      <description>&lt;p&gt;As an accountant and financial advisor in real estate, my journey into Linux security might seem unexpected. The name "HaxNet" often raises eyebrows, but it's actually inspired by the game HackNet - a catalyst that rekindled my interest in Linux.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Arch Linux?
&lt;/h2&gt;

&lt;p&gt;My research for the most robust Linux distribution consistently pointed to Arch Linux. Despite its reputation as one of the "hardest" distributions to use, its security features and transparency made it an ideal choice. The ability to build the system from scratch provides unprecedented control over security measures.&lt;/p&gt;

&lt;h2&gt;
  
  
  Security Matters
&lt;/h2&gt;

&lt;p&gt;In the financial sector, protecting client information is paramount. Understanding potential security threats and prevention methods isn't just a hobby - it's a professional necessity. Arch Linux offers robust security features, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Advanced kernel security options&lt;/li&gt;
&lt;li&gt;Mandatory Access Control systems&lt;/li&gt;
&lt;li&gt;Up-to-date security packages&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Professional Reality
&lt;/h2&gt;

&lt;p&gt;My primary focus remains financial advisory and accounting. The journey into Linux security stems from a commitment to protecting sensitive client data. While I know enough about security to be "dangerous," my expertise lies in financial management and real estate consulting.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Linux Choice
&lt;/h2&gt;

&lt;p&gt;Switching to Arch Linux has transformed my approach to digital security. The distribution's rolling release nature ensures I always have the latest security updates. Now, I can't imagine using any other operating system for my professional work.&lt;/p&gt;

&lt;p&gt;Remember: Understanding security doesn't make one a hacker - it makes one a responsible professional in today's digital age.&lt;/p&gt;

&lt;h1&gt;
  
  
  linux #security #career #technology
&lt;/h1&gt;

</description>
    </item>
    <item>
      <title>vim_notes</title>
      <dc:creator>HaxNet</dc:creator>
      <pubDate>Mon, 06 Jan 2025 16:37:51 +0000</pubDate>
      <link>https://dev.to/haxnet/vimnotes-25l</link>
      <guid>https://dev.to/haxnet/vimnotes-25l</guid>
      <description>&lt;p&gt;A simple note taking in the terminal without downloading anything.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/HaxNet/vim_notes" rel="noopener noreferrer"&gt;https://github.com/HaxNet/vim_notes&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just using 2 scripts, crontab, and an alias&lt;/p&gt;

&lt;p&gt;Decided to create this because a lot of the time I am on the phone and need to take a quick note and the easiest thing is just opening up a terminal.&lt;/p&gt;

&lt;p&gt;I would use an alias to execute the script which will create a new filename  using vim and you can start entering your actual notes. When you save, it will auto push to your github. &lt;/p&gt;

&lt;p&gt;Preferrably, create a private repo in github.&lt;/p&gt;

&lt;p&gt;Using crontab to run the directory and auto push every 5 minutes.&lt;/p&gt;

&lt;p&gt;fyi - I am not a coder or anything at all. I just love using Arch Linux and Terminal. I actually do financial and accounting work along side with real estate ventures.&lt;/p&gt;

</description>
      <category>vim</category>
      <category>notes</category>
      <category>terminal</category>
    </item>
    <item>
      <title>Git Auto Push</title>
      <dc:creator>HaxNet</dc:creator>
      <pubDate>Sun, 22 Dec 2024 15:56:32 +0000</pubDate>
      <link>https://dev.to/haxnet/git-auto-push-3jik</link>
      <guid>https://dev.to/haxnet/git-auto-push-3jik</guid>
      <description>&lt;p&gt;I am no coder or programmer by any means. I just got my new PC and installed Vanilla Arch Linux on it and already customized it 90% to how I like my PC to be.&lt;/p&gt;

&lt;p&gt;I use github to store working documents: I love that it has basically unlimited storage. One thing I was trying to figure out was that I am always creating new files or working on existing files.&lt;/p&gt;

&lt;p&gt;Manually typing out all the commands in the terminal is a bit cumbersome and tiring.&lt;/p&gt;

&lt;p&gt;I did a little research and figured out to just manually create a script that will auto push by using crontab.&lt;/p&gt;

&lt;p&gt;First, create a script. I named it auto_push.sh&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#!/bin/bash

while true; do

cd /path/to/your/directory/
git add -A # this basically add all new files and/or tracked files that has been changed
git commit -m "Auto-updates: $(date)" # this puts the timestamp
git push
sleep 30 # Pauses the script for 30 seconds before the next iteration. Adjust this number to change the frequency of checks

done
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Second, make sure you have crontab enabled in your system. If you don't have it, just download it from the AUR (I am using archlinux) you want to install cronie&lt;/p&gt;

&lt;p&gt;you need to start the service and enable it on startup. type this in the terminal&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl enable cronie.service
sudo systemctl start cronie.service
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;now in the terminal type&lt;/p&gt;

&lt;p&gt;&lt;code&gt;crontab -e&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;this will open up your choice of editor, mine is vim.&lt;/p&gt;

&lt;p&gt;in the file, put this in the line&lt;/p&gt;

&lt;p&gt;&lt;code&gt;*/5 * * * * /absolute/path/to/your/script/auto_push.sh&lt;/code&gt;&lt;br&gt;
this code means that it will run every 5 minutes.&lt;/p&gt;

&lt;p&gt;that's it.&lt;/p&gt;

</description>
      <category>git</category>
      <category>archlinux</category>
      <category>scripts</category>
    </item>
    <item>
      <title>Elecom Huge Trackball Conf</title>
      <dc:creator>HaxNet</dc:creator>
      <pubDate>Thu, 18 Jan 2024 18:46:34 +0000</pubDate>
      <link>https://dev.to/haxnet/elecom-huge-trackball-conf-2pc0</link>
      <guid>https://dev.to/haxnet/elecom-huge-trackball-conf-2pc0</guid>
      <description>&lt;p&gt;Took me a while to figure the configuration that I want.&lt;/p&gt;

&lt;p&gt;I wanted the Fn1 to be pressed while using the trackball to scroll. I made the Fn3 to act as button "2" which is basically the equivalent of pressing the scroll down to open a link in another tab.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;│ File: /etc/X11/xorg.conf.d/99--elecom-huge-scroll.conf
───────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   1   │ # TO BE PUT INTO /etc/X11/xorg.conf.d/
   2   │ #
   3   │ # this is change the trackball FN keys
   4   │ #
   5   │
   6   │
   7   │ Section "InputClass"
   8   │     Identifier  "ELECOM HUGE scroll config"
   9   │     MatchDriver "libinput"
  10   │     MatchVendor "Getech"
  11   │     MatchProduct "HUGE TrackBall"
  12   │     Option "ButtonMapping" "1 2 3 4 5 6 7 8 9 2 11 2"
  13   │     Option "ScrollMethod" "button"
  14   │     Option "ScrollButton" "10"
  15   │     Option "EmulateWheelTimeout" "0"
  16   │     Option "ZAxisMapping" "4 5"
  17   │     Option "XAxisMapping" "6 7"
  18   │     Option "Emulate3Buttons" "true"
  19   │ EndSection
───────┴─────────────
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>RClone Mounting CLI-Style!</title>
      <dc:creator>HaxNet</dc:creator>
      <pubDate>Sun, 15 Oct 2023 23:26:52 +0000</pubDate>
      <link>https://dev.to/haxnet/rclone-mounting-cli-style-1414</link>
      <guid>https://dev.to/haxnet/rclone-mounting-cli-style-1414</guid>
      <description>&lt;p&gt;Hello everyone!&lt;/p&gt;

&lt;p&gt;It's been a while since I created a post here. &lt;/p&gt;

&lt;p&gt;I just want to write this up because I have my own businesses and I needed to mount these cloud storages to my file explorer, Thunar.&lt;/p&gt;

&lt;p&gt;I use Arch Linux using i3wm.&lt;/p&gt;

&lt;p&gt;I can confirm that this works for Google Drive, Box, and Dropbox. I also mounted 2 google drives.&lt;/p&gt;

&lt;p&gt;First thing first install rclone.&lt;/p&gt;

&lt;p&gt;You can use yay or just sudo pacman -S rclone&lt;/p&gt;

&lt;p&gt;I would create a Parent Folder, RemoteCloud. I just like to have this to have them all in one place.&lt;br&gt;
Create subfolders such as Dropbox, GDrive1, GDrive2, Box, etc.&lt;/p&gt;

&lt;p&gt;Once you got those created, go to your terminal and type&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rclone config
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and create new remotes one by one. You will login and confirm that rclone will have access to your cloud storage. This is safe.&lt;/p&gt;

&lt;p&gt;In order to mount you will have to run the following command line in your terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rclone mount yourRemoteName: ~/path/to/subfolder
example.
rclone mount GDrive: ~/RemoteCloud/GDrive
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Unfortunately, this is temporary. As soon as you quit your terminal this would disconnect all mounts.&lt;/p&gt;

&lt;p&gt;I would go into the config file&lt;br&gt;
my i3wm config file is located in&lt;/p&gt;

&lt;p&gt;&lt;code&gt;~/.config/i3/config&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;at the end of the file, I would just add&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;exec_always --no-startup-id rclone mount yourRemoteName: ~/path/to/subfolder
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is also a reminder for myself if I ever forget. Because I will forget it if I don't use it often enough.&lt;/p&gt;

&lt;h2&gt;
  
  
  Update:
&lt;/h2&gt;

&lt;p&gt;It was painfully slow with Google Drive. Just going to a folder I would have to wait 5-10 seconds to see anything.&lt;br&gt;
I used the OAuth2 and ClientID from google. Instruction is in rclone. So not going to put it here.&lt;/p&gt;

&lt;p&gt;Now to use the flags and make it faster.&lt;/p&gt;

&lt;p&gt;I added these to my i3 config file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; exec_always --no-startup-id rclone mount \
 --bind 0.0.0.0 \
 --umask=002 \
 --gid=1002 \
 --uid=1000 \
 --allow-other \
 --timeout=1h \
 --poll-interval=15s \
 --dir-cache-time=1000h \
 --cache-dir=/opt/rclone/cache/gmedia \
 --vfs-cache-mode=full \
 --vfs-cache-max-size=150G \
 --vfs-cache-max-age=12h \
 yourdrive: ~/path/to/your/drive
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The bind 0.0.0.0 is what make the biggest difference for me. It forces to use the ipv4. Also the backslash \ is so you can continue the code for each line. i3wm config typically only allows 1 line per command and since this is a very long command, this is a way to make it nice and clean.&lt;/p&gt;

</description>
      <category>rclone</category>
      <category>archlinux</category>
      <category>cloudstorage</category>
    </item>
    <item>
      <title>Clear Cookies in Qutebrowser</title>
      <dc:creator>HaxNet</dc:creator>
      <pubDate>Wed, 04 Jan 2023 01:38:41 +0000</pubDate>
      <link>https://dev.to/haxnet/clear-cookies-in-qutebrowser-5aep</link>
      <guid>https://dev.to/haxnet/clear-cookies-in-qutebrowser-5aep</guid>
      <description>&lt;p&gt;After a few times of trying to figure out where to clear the cookies so I can log back into a specific website. This is the correct path to remove the Cookies&lt;/p&gt;

&lt;p&gt;~/.local/share/qutebrowser/webengine&lt;/p&gt;

&lt;p&gt;rm Cookies&lt;/p&gt;

&lt;p&gt;restart your Qutebrowser&lt;/p&gt;

&lt;p&gt;that's it!&lt;/p&gt;

&lt;p&gt;btw, the command pwd shows the current path.&lt;/p&gt;

</description>
      <category>fullstack</category>
      <category>drupal</category>
      <category>career</category>
      <category>learning</category>
    </item>
    <item>
      <title>How to run Google Chrome Apps via Command Line (CLI)</title>
      <dc:creator>HaxNet</dc:creator>
      <pubDate>Sat, 05 Nov 2022 12:21:52 +0000</pubDate>
      <link>https://dev.to/haxnet/how-to-run-google-chrome-apps-via-command-line-cli-3a2</link>
      <guid>https://dev.to/haxnet/how-to-run-google-chrome-apps-via-command-line-cli-3a2</guid>
      <description>&lt;p&gt;So I use ArchLinux on my Home PC and my Work PC. I use Google Chrome for work as a default browser and at home I use QuteBrowser. Sometimes, Google Chrome has the ability to just install Chrome Apps instead of downloading Electron and Nativefier to create your own.&lt;/p&gt;

&lt;p&gt;So for instance, I like to use this Spike email as my email client but they do not have it for Linux. A great alternative it is install it as an App in Google Chrome.&lt;/p&gt;

&lt;p&gt;Once I install it. I would go to my terminal and create an alias&lt;/p&gt;

&lt;p&gt;First if you have multiple Profiles in Chrome, you would need to find out which profile it is and it is by the Number. Ex. Profile 1, Profile 2, Profile 3 and so on.&lt;/p&gt;

&lt;p&gt;I will show you how my alias looks first. You can add this to your fish config, your zsh or bash. I did it for my fish config&lt;/p&gt;

&lt;p&gt;[I] ┌──[archlinux] as haxnet in ~/.config/fish on (master ↓7 ✚10)&lt;br&gt;
└──▶ cat config.fish | grep spike&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

alias spike='/usr/bin/google-chrome-stable --profile-director="Profile 3" --app-id=emldofgbopmlaimkbbfnionhnagimknj &amp;amp; disown'


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ajhl7efb9rly42dmhx9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ajhl7efb9rly42dmhx9.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You need to figure out where is your google chrome executable file is. In my case, it is /usr/bin/google-chrome-stable (btw, you can do this with chromium)&lt;/p&gt;

&lt;p&gt;Now you would select your Profile. How to find this you can go to google chrome and find your installed app settings&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6g4utzryyifiainmj82e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6g4utzryyifiainmj82e.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on the menu and go to app info&amp;gt;setting&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F93xvf8pts560xqt04hc3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F93xvf8pts560xqt04hc3.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The url where I highlighted is your AppID this is where you put in the command line in the terminal as --app-id=AppID&lt;/p&gt;

&lt;p&gt;Copy that appID and then go to your terminal and locate the appID&lt;/p&gt;

&lt;p&gt;[I] ┌──[archlinux] as haxnet in ~ on (master ↓7 ✚10)&lt;br&gt;
└──▶ locate emldofgbo | grep Profile&lt;/p&gt;

&lt;p&gt;/home/haxnet/.local/share/icons/hicolor/128x128/apps/chrome-emldofgbopmlaimkbbfnionhnagimknj Profile_3.png&lt;br&gt;
/home/haxnet/.local/share/icons/hicolor/256x256/apps/chrome-emldofgbopmlaimkbbfnionhnagimknj Profile_3.png&lt;br&gt;
/home/haxnet/.local/share/icons/hicolor/32x32/apps/chrome-emldofgbopmlaimkbbfnionhnagimknj-Profile_3.png&lt;br&gt;
/home/haxnet/.local/share/icons/hicolor/48x48/apps/chrome-emldofgbopmlaimkbbfnionhnagimknj-Profile_3.png&lt;br&gt;
/home/haxnet/.local/share/icons/hicolor/512x512/apps/chrome-emldofgbopmlaimkbbfnionhnagimknj Profile_3.png&lt;br&gt;
/home/haxnet/Desktop/chrome-emldofgbopmlaimkbbfnionhnagimknj-Profile_3.desktop&lt;/p&gt;

&lt;p&gt;You will quickly see the results and for me, it is Profile 3&lt;/p&gt;

&lt;p&gt;that's where you put --profile-director="Profile 3"&lt;/p&gt;

&lt;p&gt;I just add the &amp;amp; disown to basically run it as a standalone so I can continue using the same terminal.&lt;/p&gt;

&lt;p&gt;for the locate function - you will need to download &lt;strong&gt;mlocate&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can read my other post about this function&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/haxnet/locating-a-specific-file-in-terminal-pk9"&gt;dev.to/haxnet/locate&lt;/a&gt;&lt;/p&gt;

</description>
      <category>archlinux</category>
      <category>cli</category>
      <category>chrome</category>
    </item>
    <item>
      <title>Fish Shell &amp; Alacritty</title>
      <dc:creator>HaxNet</dc:creator>
      <pubDate>Sat, 18 Jun 2022 13:06:36 +0000</pubDate>
      <link>https://dev.to/haxnet/fish-shell-alacritty-2i8p</link>
      <guid>https://dev.to/haxnet/fish-shell-alacritty-2i8p</guid>
      <description>&lt;p&gt;Recently, I've been using the fish shell (not sure why it took me so long) but I've always used zsh.&lt;br&gt;
I do not script or anything like that so I do not have a "real" reason why I choose my shell.&lt;/p&gt;

&lt;p&gt;I always use zsh because I just like the syntax, highlighting, autocomplete and powerline plugins.&lt;/p&gt;

&lt;p&gt;I stumbled upon fish because I decided to install Garuda Dr46onized and love the fish shell because it has all those things built in. But configuring took some time to get used to even though it is supposed to be easier.&lt;br&gt;
It is like pre-calculus is zsh and calculus is fish.&lt;br&gt;
You learn all the hardwork first and then you use a different type of method that simplifies everything.&lt;/p&gt;

&lt;p&gt;What shells do you guys use?&lt;/p&gt;

&lt;p&gt;Edit:&lt;/p&gt;

&lt;p&gt;I am used to binding keys with bindkeys command but fish is a bit different.&lt;br&gt;
You would need to go to the file&lt;/p&gt;

&lt;p&gt;/usr/share/fish/functions/fish_vi_key_bindings.fish to create your custom keys&lt;/p&gt;

&lt;p&gt;two custom bindkeys I use often is to open up ncmpcpcc with the visualier and also neomutt&lt;/p&gt;

&lt;p&gt;for the neomutt I use the Ctrl+e keys&lt;br&gt;
to do this&lt;br&gt;
I just input &lt;br&gt;
&lt;code&gt;bind -s --preset -M insert \ce 'neomutt'&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;for the ncmpcpp I use the Ctrl+n&lt;br&gt;
&lt;code&gt;bind -s --preset -M insert \cn 'ncmpcpp -S visualizer'&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;If you also want to have your own personal greeting whenever fish is executed.&lt;/p&gt;

&lt;p&gt;I would create a fish_greeting.fish in ~/.config/fish/functions/&lt;/p&gt;

&lt;p&gt;enter the following code&lt;br&gt;
`function fish_greeting&lt;br&gt;
     echo "Hello World"&lt;br&gt;
neofetch # to execute the command&lt;br&gt;
mpc # to see the current song&lt;/p&gt;

&lt;p&gt;end`&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Dual Boot Grub-Customizer</title>
      <dc:creator>HaxNet</dc:creator>
      <pubDate>Sat, 18 Jun 2022 13:01:43 +0000</pubDate>
      <link>https://dev.to/haxnet/dual-boot-grub-customizer-5022</link>
      <guid>https://dev.to/haxnet/dual-boot-grub-customizer-5022</guid>
      <description>&lt;p&gt;It took me a while to figure this out. I always had Windows Boot Manager on my grub menu, but when I added a theme. It disappeared.&lt;/p&gt;

&lt;p&gt;To fix this:&lt;/p&gt;

&lt;p&gt;In the terminal&lt;/p&gt;

&lt;p&gt;sudo os-prober #if it detects it then run&lt;/p&gt;

&lt;p&gt;update-grub&lt;/p&gt;

&lt;p&gt;if update-grub isn't found. Just install it&lt;/p&gt;

&lt;p&gt;sudo pacman -S update-grub&lt;br&gt;
yay -S update-grub&lt;/p&gt;

&lt;p&gt;I got a warning that os-prober won't detect it when I ran the command.&lt;br&gt;
I would go to &lt;/p&gt;

&lt;p&gt;/etc/default/grub (this is a file) you need to edit it&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Dual Boot Grub-Customizer</title>
      <dc:creator>HaxNet</dc:creator>
      <pubDate>Thu, 09 Jun 2022 23:54:23 +0000</pubDate>
      <link>https://dev.to/haxnet/dual-boot-grub-customizer-317a</link>
      <guid>https://dev.to/haxnet/dual-boot-grub-customizer-317a</guid>
      <description>&lt;p&gt;It took me a while to figure this out. I always had Windows Boot Manager on my grub menu, but when I added a theme. It disappeared.&lt;/p&gt;

&lt;p&gt;To fix this:&lt;/p&gt;

&lt;p&gt;In the terminal&lt;/p&gt;

&lt;p&gt;sudo os-prober #if it detects it then run&lt;/p&gt;

&lt;p&gt;update-grub&lt;/p&gt;

&lt;p&gt;if update-grub isn't found. Just install it&lt;/p&gt;

&lt;p&gt;sudo pacman -S update-grub&lt;br&gt;
yay -S update-grub&lt;/p&gt;

&lt;p&gt;I got a warning that os-prober won't detect it when I ran the command.&lt;br&gt;
I would go to &lt;/p&gt;

&lt;p&gt;/etc/default/grub (this is a file) you need to edit it&lt;/p&gt;

&lt;p&gt;GRUB_DISABLE_OS_PROBER=false&lt;/p&gt;

&lt;p&gt;just uncomment it and save.&lt;/p&gt;

&lt;p&gt;Try again.&lt;/p&gt;

&lt;p&gt;It should work now.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>ArchLinux &amp; CUPS</title>
      <dc:creator>HaxNet</dc:creator>
      <pubDate>Thu, 02 Jun 2022 00:23:45 +0000</pubDate>
      <link>https://dev.to/haxnet/archlinux-cups-3knl</link>
      <guid>https://dev.to/haxnet/archlinux-cups-3knl</guid>
      <description>&lt;p&gt;It has been a long time since I posted something.&lt;br&gt;
One big reason I had to stick with Windows at work was printing stuff. I got a brand new mini PC with 16GB with Windows 11.&lt;/p&gt;

&lt;p&gt;I decided to dual boot with Arch Linux (ArchLabs) because I had to install it quickly. I am using i3 with it.&lt;/p&gt;

&lt;p&gt;To install your wireless printer:&lt;/p&gt;

&lt;p&gt;For quickness I installed YAY as my installer&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In terminal: yay cups or just sudo pacman -S cups&lt;/li&gt;
&lt;li&gt;add yourself to the lp group;
a. sudo su
b. usermod -aG lp {username}
c. exit&lt;/li&gt;
&lt;li&gt;sudo systemctl enable cups.service&lt;/li&gt;
&lt;li&gt;sudo systemctl start cups.service&lt;/li&gt;
&lt;li&gt;reboot&lt;/li&gt;
&lt;li&gt;download the driver by searching through the AUR repo.&lt;/li&gt;
&lt;li&gt;Go to browser and type in "localhost:631" without the quotes&lt;/li&gt;
&lt;li&gt;Find printer&lt;/li&gt;
&lt;li&gt;Add the printer&lt;/li&gt;
&lt;li&gt;change the connection to ipp://ip.addr.of.printer/ipp or&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;lpd://ip.addr.of.printer/queue/ &amp;lt;~ this one seems to be working better.&lt;/p&gt;

&lt;p&gt;That's it.&lt;/p&gt;

&lt;p&gt;It took me a long time to get this figured out.&lt;/p&gt;

&lt;p&gt;If you don't know how to get the address of your printer, I would suggest go to the printer and print a report of the printer, the newer printers typically has the network information. If that doesn't work, go to your modem/router admin page to find it that way.&lt;/p&gt;

&lt;p&gt;I also post this for my future self. &lt;/p&gt;

</description>
      <category>printer</category>
      <category>archlinux</category>
    </item>
  </channel>
</rss>
