<?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: aspectsides</title>
    <description>The latest articles on DEV Community by aspectsides (@aspectsides).</description>
    <link>https://dev.to/aspectsides</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%2F467070%2Ffe32d007-aa28-44a1-a527-dec8da724c6f.png</url>
      <title>DEV Community: aspectsides</title>
      <link>https://dev.to/aspectsides</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aspectsides"/>
    <language>en</language>
    <item>
      <title>The best notetaking software is... Vim?</title>
      <dc:creator>aspectsides</dc:creator>
      <pubDate>Sun, 08 Jan 2023 01:17:18 +0000</pubDate>
      <link>https://dev.to/aspectsides/the-best-notetaking-software-is-vim-1p8p</link>
      <guid>https://dev.to/aspectsides/the-best-notetaking-software-is-vim-1p8p</guid>
      <description>&lt;h1&gt;
  
  
  Why Vimwiki is the Best Notetaking Sofware
&lt;/h1&gt;

&lt;h2&gt;
  
  
  What is Vimwiki?
&lt;/h2&gt;

&lt;p&gt;It's a bit difficult to explain Vimwiki, but at its core, Vimwiki is a notetaking plugin for Vim that allows you to make your own personal wiki. It's really easy to organize notes and create links between them. You can do so many things with Vimwiki, and Vimwiki has all but replaced Emacs Org Mode for me, as it is now much easier to organize my notes with Vimwiki than just shove all of my Org files in a directory in my home folder.&lt;br&gt;
&lt;a href="https://github.com/vimwiki/vimwiki"&gt;Vimwiki Github&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;Vimwiki was made for Vim, and as far as I know, it does not officially support Neovim yet. You can still use it with Neovim, though. To install Vimwiki on Neovim, simply plug "vimwiki/vimwiki" into your package manager. For example, with Packer, it looks something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;use {'vimwiki/vimwiki'}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;However, this installs Vimwiki with its default syntax, which is this weird version of Markdown that I really don't like. So, I put this in my &lt;code&gt;plugins.lua&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  use {
      'vimwiki/vimwiki',
      config = function()
          vim.g.vimwiki_list = {
              {
                  path = '/home/$USER/Documents/vimwiki',
                  syntax = 'markdown',
                  ext = '.md',
              }
          }
      end
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This changes the syntax for files created using Vimwiki to Markdown syntax, as well as changing the file extensions to &lt;code&gt;.md&lt;/code&gt;. It also changes your Vimwiki's location from the default ~/vimwiki to a folder in your Documents directory named Vimwiki. Much better. To finish the installation, restart Neovim.&lt;/p&gt;

&lt;h2&gt;
  
  
  Usage
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Creating Index.md and a new note.
&lt;/h3&gt;

&lt;p&gt;In order to open your &lt;code&gt;index.md&lt;/code&gt; file, which is sort of like the home page for your Vimwiki, the default keybinding is &lt;code&gt;&amp;lt;leader&amp;gt; ww&lt;/code&gt;. This will create an &lt;code&gt;index.wiki&lt;/code&gt; file in the specified path, which in our case is &lt;code&gt;Documents/wimwiki&lt;/code&gt;. This document will be blank since you haven't put anything in it yet, so lets change that. In order to create a new Vimwiki page, simply type the title of the page, highlight the title, go into normal mode, and press the return key. That converts the selected text into a link and creates a new document with the specified title.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Quick Notes](Quick Notes)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Press enter again to jump to the newly created document. At this point, you can just write whatever you want in markdown and :w to save. &lt;/p&gt;

&lt;h3&gt;
  
  
  Todo Lists
&lt;/h3&gt;

&lt;p&gt;Todo lists are incredibly convenient to manage in Vimwiki. Just create a new note named &lt;code&gt;Todo&lt;/code&gt;. To create a todo list in your newly created document, put your todo in this syntax.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;* [ ] Write a blog post about Vimwiki.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now every time you press return, a new todo will automatically be created for you. I suggest following the rules for a &lt;code&gt;todo.txt&lt;/code&gt; file just because that's what I do, but organize your todos however you like. In order to mark a todo as done, simply hit &lt;code&gt;ctrl-space&lt;/code&gt; while in normal mode with your cursor on the todo entry.&lt;/p&gt;

&lt;p&gt;These are the only two features of Vimwiki that I actually use, so those will be the only ones I'm covering in this post, but there is another really cool feature in Vimwiki called diary. Brodie Robertson has a superb video covering this feature on his &lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=FsX3SpHiuYw"&gt;Youtube channel&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Vimwiki is a superb note taking sofware, and I'm basically using it full-time now for everything from school to todo to blog posts to jotting down quick notes. It's just so convenient for me, and I suggest you try it out as well.&lt;/p&gt;

</description>
      <category>vim</category>
      <category>notetaking</category>
      <category>secondbrain</category>
    </item>
    <item>
      <title>Keyoxide proof</title>
      <dc:creator>aspectsides</dc:creator>
      <pubDate>Fri, 30 Dec 2022 22:35:17 +0000</pubDate>
      <link>https://dev.to/aspectsides/keyoxide-proof-379g</link>
      <guid>https://dev.to/aspectsides/keyoxide-proof-379g</guid>
      <description>&lt;p&gt;[Verifying my keyoxide cryptographic key: &lt;a href="https://keyoxide.org/28AAD1A6FEA3CC1CC5D51B4BD1AA1A860CE883C4"&gt;https://keyoxide.org/28AAD1A6FEA3CC1CC5D51B4BD1AA1A860CE883C4&lt;/a&gt;]&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How I daily drive Asahi Linux on my M1 MacBook Air.</title>
      <dc:creator>aspectsides</dc:creator>
      <pubDate>Thu, 29 Dec 2022 07:05:17 +0000</pubDate>
      <link>https://dev.to/aspectsides/how-i-daily-drive-asahi-linux-on-my-m1-macbook-air-4gf9</link>
      <guid>https://dev.to/aspectsides/how-i-daily-drive-asahi-linux-on-my-m1-macbook-air-4gf9</guid>
      <description>&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%2Fknpxg1mn7w0h290sg8zc.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%2Fknpxg1mn7w0h290sg8zc.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  What is Asahi Linux?
&lt;/h1&gt;

&lt;p&gt;Asahi Linux is an Arch-Based distribution of Linux that is specifically designed for use on MacBooks with Apple Silicon processors. It is, weirdly enough, &lt;em&gt;faster&lt;/em&gt; than MacOS on the same hardware. As someone who's only computer is an M1 MacBook Air, I have long been looking for something like this. I installed Asahi back in May of 2022, and it was not a great experience, mainly because of the inability to suspend the system and the lack of GPU drivers, which made it impossible to change the brightness. This meant that I was either staring into a black void with the screen off or staring into the surface of the Sun. At the beginning of December 2022, however, GPU drivers were released on the Asahi Edge kernel, and I decided to try out Asahi again. I installed Qtile, riced it out a little, and it has become my daily driver. Here is how I did it.&lt;/p&gt;

&lt;h1&gt;
  
  
  Installing Asahi
&lt;/h1&gt;

&lt;p&gt;Installing Asahi is incredibly simple, requiring only one line to be pasted into the terminal. Make sure your system is updated to at least MacOS 12.3, then open a terminal and run:&lt;br&gt;
&lt;code&gt;curl https://alx.sh | sh&lt;/code&gt;&lt;br&gt;
Go through the options, making sure not to select expert mode and allocating your desired amount of space to Asahi. As long as you follow the instructions in the installation script you should be completely fine. After the installation is complete, it will prompt you to shut down your computer. &lt;em&gt;Make sure to wait until your computer is fully shut down&lt;/em&gt;, then press and hold the power button until you see "startup options loading." When you see the startup options, select Asahi Linux to boot into it. You will be prompted to enter your root username and password, which should just be the username and password you have been using on MacOS. Follow the rest of the installation process, and you will be greeted by Asahi Linux in the KDE Desktop environment.&lt;/p&gt;
&lt;h1&gt;
  
  
  Installing Dependencies and the Asahi-Edge Kernel
&lt;/h1&gt;

&lt;p&gt;The first thing we are going to do is install the Asahi-Edge kernel. This is the kernel that contains the ability to suspend your computer as well as the GPU drivers. Following the instructions shown on Asahi Linux's official blog post, run the following commands to update your system and install the edge kernel:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ sudo pacman -Syu
$ sudo pacman -S linux-asahi-edge mesa-asahi-edge
$ sudo update-grub
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Before we reboot our computer and log in to the new kernel, we are going to install some dependencies. One essential thing for any Arch user is to install an AUR helper. I use paru, so to install it run these commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo pacman -S --needed base-devel
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we can use paru to install all the things we need.&lt;br&gt;
&lt;code&gt;paru -S rofi alacritty qtile-git qtile-extras-git chromium lf pcmanfm dunst picom-ibhagwan-git fish emacs-git networkmanager blueman light nitrogen&lt;/code&gt;&lt;br&gt;
Now that you have all that installed, you face one of two choices; either copy and paste my dotfiles over from my &lt;a href="https://github.com/Aspectsides/archfiles" rel="noopener noreferrer"&gt;github repo&lt;/a&gt; by running&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://github.com/Aspectsides/archfile
cd archfiles
cp -r .config/* ~/.config
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;or&lt;/em&gt; you could write your own config files. Lemme give you a few tips if you decide to do this.&lt;/p&gt;

&lt;h1&gt;
  
  
  Janky fixes for problems (this is what I get for trying to run Linux on Mac)
&lt;/h1&gt;

&lt;p&gt;By default, there are a few problems with running Qtile as a window manager instead of something like Gnome or KDE, such as the inability to gracefully connect to Wifi or Bluetooth, or even change your volume or brightness with the built-in MacOS volume and brightness keys. We are going to work our way around that.&lt;/p&gt;

&lt;h3&gt;
  
  
  Wifi and Bluetooth (also wallpaper)
&lt;/h3&gt;

&lt;p&gt;These are relatively simple fixes. Install networkmanager and blueman using paru by running &lt;code&gt;paru -S networkmanager blueman&lt;/code&gt; and setting your window manager to run nm-applet and blueman-applet on startup. In Qtile's &lt;code&gt;autostart.sh&lt;/code&gt; this looks something like this.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#!/usr/bin/env bash
nm-applet &amp;amp;
blueman-applet &amp;amp;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will add Wifi and Bluetooth icons to your systray if you have one. If you are using my dotfiles, this is on the internal Qtile bar. Make sure to call &lt;code&gt;autostart.sh&lt;/code&gt; when you start up Qtile by putting this in your &lt;code&gt;config.py&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@hook.subscribe.startup_once
def start_once():
    home = os.path.expanduser("~")
    subprocess.call([home + "/.config/qtile/autostart.sh"])
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now it should be easy to connect to WiFi or Bluetooth simply by clicking on the icon in the systray.&lt;/p&gt;

&lt;h3&gt;
  
  
  Volume and Brightness
&lt;/h3&gt;

&lt;p&gt;In order to use MacOS's keyboard to control volume, I put this in my &lt;code&gt;config.py&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    Key(
        [],
        "XF86AudioRaiseVolume",
        lazy.spawn("pactl set-sink-volume @DEFAULT_SINK@ +5%"),
        desc="Increase volume",
    ),
    Key(
        [],
        "XF86AudioLowerVolume",
        lazy.spawn("pactl set-sink-volume @DEFAULT_SINK@ -5%"),
        desc="Decrease volume",
    ),
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is by no means an elegant method, since it only changes the volume for the audio sink that is currently being used, but it is the only thing that worked for me. Brightness is a bit more problematic because of the nature of the graphics driver. As far as I know, the only way to change the brightness of the display is to do it from KDE itself. In order to change the brightness in Qtile, I had to use the third party program known as light. It should already be installed, so just add this into your config.py&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    Key(
        [],
        "XF86MonBrightnessUp",
        lazy.spawn("light -A 1"),
        desc="Brightness Up",
    ),
    Key(
        [],
        "XF86MonBrightnessDown",
        lazy.spawn("light -U 1"),
        desc="Brightness Down",
    ),
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Using Spotify and Discord
&lt;/h3&gt;

&lt;p&gt;The official clients for Spotify and Discord are not available on the aarch64 architecture, so we're gonna need some alternatives. I include this part because my only friends are on Discord and I physically cannot work with music, so these two apps are very important to me. Fortunately, this is a pretty easy fix. For Discord, just install ArmCord, a Discord client made specifically for the Arm64 architecture. Install it with &lt;code&gt;paru -S armcord-bin&lt;/code&gt;.&lt;br&gt;
For Spotify, I use Spotify-TUI in combination with Spotifyd to play music using Spotify's API. I'm not gonna cover the installation process here, but &lt;a href="https://www.youtube.com/watch?v=TaPWqXFtce8" rel="noopener noreferrer"&gt;this&lt;/a&gt; is a really good video tutorial on this exact topic.&lt;/p&gt;

&lt;h1&gt;
  
  
  Final Thoughts
&lt;/h1&gt;

&lt;p&gt;Now that GPU drivers have been released for Asahi Linux, it is truly a viable OS for daily driving on a Mac. I have had a really good experience with it over the past few days, and I strongly encourage you to go and try it out.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>apple</category>
    </item>
  </channel>
</rss>
