The Kernal Guy With A Computer

Using Org Agenda To Fix Your Life

Emacs can make your writing and coding more efficient, be used as a standardized framework for hundreds of Elisp applications, and be used as a desktop environment. But there’s one thing that I’ve always wanted Emacs to do. I want Emacs to fix my life. I want this Elisp interpreter to make me a better, more productive, and more focused person. Well as it turns out, there is one application out there that does just that. Org Agenda has deccended from the heavens, like a graceful angel spreading joy and goodness, to fix your scheduling. So, if you too would like to be graced by this holy application, I will demonstrate the basics of how you can install, set up, and use Org Agenda on Emacs.

Creating & Sourcing Agenda Files

It is most likely that you are going to want several different files for all of the different things you need to do in your day-to-day life. For example, I have four files called, ‘School.org’, ‘Blog.org’, ‘Personal.org’, and ‘Other.org’. Most likely, you are going to want to put these in a directory of their own. One common place for these files is ~/org/agenda/, but many people also keep them in ~/Documents. However, it really doesn’t matter where you put them, just make sure that they’re somewhere.

And once you have these files created in their respective directory, you need to edit your init file. You just need to point Org Agenda to the correct files, by making use of the ‘org-agenda-files’ setting. Here is an example with two files, however there can be as many or as few as you desire.

(setq org-agenda-files (list "~/DIR/FILE.org"
                         "~/DIR/FILE2.org")

Using The Sourced Files

Now that you have the files set up, you have to get to creating TODO’s, scheduling, and completing them. I always like to start off with a level 1 heading for the task that I would like to accomplish. Here is an example.

  • Write About Org Agenda

Then, I add a subheading for the type of task it is.

** Tutorial

And from there, I start creating TODO entries. You can either type ‘TODO’ before the task you would like to complete, or type “C-c C-t”, which will bring up a menu where you can turn the current line into a TODO entry. You aren’t just restricted to ‘TODO’ either. You can use ‘DOING’, ‘DONE’, and ‘CANCEL’, which are all just as valid.

DONE Research and get basic outline

TODO Finish Writing and upload

Unless you just want a simple list, you are going to need to schedule your tasks. This can be done with the keybinding, “C-c C-s”. Once you enter the keybinding, Org-Calendar will pop up, and you have to pick what day and time you would like to schedule your task.

Once you put all of these aspects together, you are left with something that looks a little like this.

* Write About Org Agenda
** Tutorial
*** DONE Research And Get basic outline
CLOSED: 2022-06-23 THu 00:43 SCHEDULED: 2022-06-22 Wed
*** TODO Finish And Upload
SCHEDULED: 2022-06-23 Thu

Using The Agenda

Org agenda can be launched with “C-c a”. And from there, you have a few options. There are a total of 14, but the most important are as follows.

Agenda View

Displays the agenda for the current day or week.

Can be launched with “a

TODO View

Lists all TODO entries, from any time period.

Can be launched with “t

Prompts You To Search Through All TODO Entries

Can be launched with “s

And once you have the Agenda open, you can mark your tasks as completed using the “t” keybinding, which will open up the same menu as before, where you can mark it as ‘DONE’, ‘CANCEL’, or even ‘DOING’.

You Did It!

You can now properly create, schedule, search, and complete items on a virtual agenda from within Emacs. This will allow you to have a propper, reliable, and freedom-respecting Agenda, without having to download a super heavy calendar app, or worry about keeping a pen & paper with you. And while this may not be the most robust Org Agenda tutorial in the world, it should be enough to use it effectively, with some room to grow and learn about this amazing program.

Turning Exwm Into A Fully Featured Tiling Window Manager

Emacs, for many people, is not simply an extensible text editor/Elisp interpreter. Emacs is a way of life. Many people who use Emacs prefer to never leave, and choose to use Emacs not only as their shell, text editor, file manager, but as their window manager as well. However, while EXWM is an amazing program, it doesn’t result in a cohesive, attractive, or easy to use window manager. So, if you’d like to make your EXWM setup super usable with a custom modeline, wallpaper, and more powerful window management, here’s some easy Emacs customizations to improve your EXWM experience.

Customizing The Modeline

Adding Workspaces

If you use EXWM, workspaces are going to be how you move around with most of your graphical windows. But, by default, there’s no way to find out what workspace you’re on without pressing (s-w). Thankfully, like everything, there’s a package to add it to the modeline. To install the package, you can just type,

M-x package-install RET exwm-modeline

Then, once it’s installed, you can either run it manually with M-x RET exwm-modeline-mode, or put

(exwm-modeline-mode)

in your init file.

Switching To Doom Modeline

While the default Emacs modeline is functional, it isn’t the prettiest. To combat this, the community has made many different modelines. Doom modeline is the most popular of these endeavors, being used in Doom Emacs, Spacemacs, and Centaur Emacs, along with many people’s personal configs. Follow the steps below to get Doom Modeline installed and in working order.

  • Add the MELPA repository, using the instructions hyperlinked on this line.

  • Install ‘doom-modeline’ and ‘all-the-icons’ with the following commands.

    M-x package-install RET doom-modeline
    M-x package-install RET all-the-icons
    
  • Put these lines in your Emacs init file.

    (require 'doom-modeline)
    
    (doom-modeline-mode 1)
    
(require ‘all-the-icons)

Moving The Modeline To The Top Of The Window

In most tiling window managers that come with a built in bar, the bar is placed at the top of the screen. This is a standard that many people expect. However, the default Emacs modeline at a first glance, appears to be locked in place. And while the modeline itself can’t actually be moved, you can get the same result using something called a header line.

Enabling The Header Line, And Removing The Modeline (Mostly)

In order to do the brunt of the work, you can just move these lines to your Emacs init file.

(setq-default mode-line-format nil)
(setq-default header-line-format mode-line-format)

Adding Hooks To Remove The Modeline On Certain Pesky Applications

While the previous lines of code are enough to remove the modeline on most applications, there appear to be a pesky few that continue to have both the modeline and the header line. To fix this, you’ll need to install a package called ‘hide-mode-line’.

M-x package-install RET hide-mode-line

Then, start it in your Emacs init file.

(require 'hide-mode-line)

In order to remove the modeline on your application of choice, you’re going to need to add a hook. I’m not going to get into how hooks work in Elisp, but, I will provide you with an example. Here’s the hook I added for ‘emacs-dashboard’ in my init file.

(add-hook 'dashboard-mode-hook #'hide-mode-line-mode)

Feel free to exchange ‘dashboard-mode-hook’ with any other application that is giving you trouble.

Window Management

Ace Window

Ace Window is another quality of life application that’s built in to almost every Emacs distribution, but the default GNU Emacs. Ace Window is a replacement for the default ‘other-window’, that attempts to make window management easier and more efficient, especially when it comes to a large amount of windows. When Invoked, Ace Window will assign each window a number, and allow you to choose which window you’d like to select just by typing the assigned number. You can install Ace Window like so.

M-x package-install RET ace-window

Then, you can bind it to ‘M-o’ by putting this line in your init file.

(global-set-key (kbd "M-o") 'ace-window)

Wind move

If you’d like something a little more predictable and simple, you can instead choose Wind Move. Wind Move also ditches the default ‘other-window’, for a simpler and faster experience. With Wind Move enabled, you can move (Shift-ArrowKey) to move to the window up, down, left, and right of your current window. And since it’s pre-installed, all you have to do is add these lines to your init file.

(when (fboundp 'windmove-default-keybindings)
(windmove-default-keybindings))

Wallpaper

Due to the very nature of EXWM, and the fact that everything is running in Emacs, there isn’t much reason to use a wallpaper. However, many people would prefer to have one. And while you can’t have a wallpaper in the traditional sense, you can make Emacs transparent, in order to show a wallpaper faintly in the background of whatever Emacs buffer you’re on.

Installing The System Packages

Unlike all of the other improvements, you’re going to have to install a few system packages. Depending on what disto you use, you can just copy-paste one of these commands.

Debian/Ubuntu

sudo apt install feh picom

Fedora/CentOS/RHEL

sudo dnf install feh picom

Arch/Artix/Manjaro

sudo pacman -S feh picom

Acquiring Transparency On Emacs

Starting Picom

In order to get transparency, you’re going to need to use Picom (or any other compatable compositor). If you start Emacs with your .xinitrc, you can simply put compton & in its own line, preferably before the exec emacs line.

Enabling Compositing In Your Init File

While Picom will give you the ability to use transparency, nothing’s going to happen unless you edit your Emacs init file. Move this little morsel of code into your init file to get 95% transparency.

(set-frame-parameter (selected-frame) 'alpha '(95))
(add-to-list 'default-frame-alist '(alpha . (95)))

Setting Your Background

While you’re Emacs window is now transparent, there isn’t a wallpaper to display. Just a black screen. To set the wallpaper, I recommend using Feh. Just put this line into your .xinitrc, preferably before the exec emacs line.

feh --bg-scale /home/user/PATHTO/IMAGE.fmt

Conclusion

While under no circumstances are all of these changes necessary, they will provide you with a much more usable, much easier to understand, and more powerful window manager from within Emacs. Many of the luxuries provided to you by more common tiling window managers will be provided just through these few customizations. And as an added benefit, you get to laugh at Doom Emacs users for having a bloated, inferior EXWM setup.

Table of Contents

  1. Customizing The Modeline
    1. Adding Workspaces
    2. Switching To Doom Modeline
    3. Moving The Modeline To The Top Of The Window
      1. Enabling The Header Line, And Removing The Modeline (Mostly)
      2. Adding Hooks To Remove The Modeline On Certain Pesky Applications
  2. Window Management
    1. Ace Window
    2. Wind move
  3. Wallpaper
    1. Installing The System Packages
      1. Debian/Ubuntu
      2. Fedora/CentOS/RHEL
      3. Arch/Artix/Manjaro
    2. Acquiring Transparency On Emacs
      1. Starting Picom
      2. Enabling Compositing In Your Init File
      3. Setting Your Background
  4. Conclusion

Nitrux, My New Favorite Desktop Linux Distro

There are hundreds of desktop Linux distros that attempt to improve on many aspects of the experience. However, it is very rare that a distro truly distinguishes itself from the rest. Nitrux does just that. With an unusual base, underused init system, and even custom app framework, Nitrux still manages to be extremely fast, reliable, and idiot proof. So, I’m going to give you a little bit deeper of an explanation about what makes this distro so great.

Install

IMG1

The install process for Nitrux seems to be especially polished when compared to other distributions. They use a customized Calamares installer that’s super clean and professional. It has all of the features that you could ever wish for in an installer, all packed into a super slick, modern interface. It makes the new Windows installer look like it has come strait out of 1995.

Desktop

IMG2

As you can see, the default Nitrux desktop is absolutely stunning. But if you look closely, you’ll see that the desktop is just a heavily themed KDE, making use of Latte instead of traditional KDE panels. Functionally, it’s almost identical to MacOS, which you may or may not appreciate. And while it looks amazing, I would not say that it’s the most stable, especially on lower end hardware, as the panel crashed on me twice in just 30 minutes in my VM.

Resource Usage

IMG3

Nitrux is surprisingly light on resources. On a cold boot, with no programs open but the terminal, I was registering 750-800MB of RAM usage, and less than 2% total CPU usage on my 4GB 4 core virtual machine. While that may be a little less than what some older computers can reasonably handle, for the extremely polished, heavily themed KDE desktop you get, that’s pretty darn great.

Nitruxs’s Base

Nitrux, instead of choosing Ubuntu as it’s base, opts for Debian Sid, which is an amazing decision. However, it’s not just your bogstandard Debian Sid. Nitrux swaps out the industry standard init system, Systemd for the more optimized, less common OpenRC. They also seem to use some external repositories for KDE Neon. It may not be one of the main selling points of the distro, but it is their choice of distro base that really sets Nitrux apart from the hundred other Ubuntu forks.

MauiKit

IMG4

MauiKit is the thing that really puts Nitrux on the map. Maui is a cross platform app toolkit that is beautifully integrated into the OS. Many of the apps that would otherwise be native apps from KDE, are replaced with Maui alternatives. Everything from the file manager, the terminal emulator, and even the music player are completely re-written in MauiKit. And although I didn’t use many of the apps for more than a minute, I found them all extremely snappy and beautiful.

Even if you don’t intend to use Nitrux, I would recommend that you check out some Maui apps right here.

Package Management

IMG5

Nitrux handles package management exceptionally well. They discourage the use of traditional binary package managers, but refreshingly, they tend to lean twords Appimages as their main method of distributing software. All of the Maui kit apps and most of the pre-installed software is packaged in Appimage. And unlike some other Appimages I’ve used in the past, Nitrux’s seem to launch almost instantly. However, if you want to install Deb packages, you are required to use their ‘pkcon’ at the terminal as an alternative to the standard apt package manager.

Conclusion

Nitrux is one of a kind. It’s an incredibly powerful distro that has cemented its place not only as a viable alternative to Windows and MacOS, but as an easy to use alternative to most desktop Linux distros. You can tell that Nitrux has had a lot of hard work put into it, which is the reason that it feels so polished and well thought out. If you’re looking for a simple, easy to use desktop distribution, but are less than impressed by most of the options, I would 100% recommend giving Nitrux a shot.

Table of Contents

  1. Install
  2. Desktop
  3. Resource Usage
  4. Nitruxs’s Base
  5. MauiKit
  6. Package Management
  7. Conclusion

Linux Mint, An Amazing Linux Os For The Desktop

The last time I had used Linux Mint before I started researching for this blog was around 2018, where I was using the Ubuntu 16.04 base and the XFCE desktop. And, despite being very happy with it, I have never used it since. Although, I have recommended it to a great many people online and in real life. So, out of sheer curiosity, I decided to give it another whirl. And After installing it in KVM, and playing around with it for around 30 minutes, I have to say, It’s better So, to bring you up to speed on this incredible operating system, I’ll give you a rundown of Linux Mint’s Performance, Appearance, Software Management, and some incredibly useful apps made by the Linux Mint Team.

Performance

My Specs

  • 4 GB of RAM
  • 4 CPU Cores
  • No GPU

RAM Usage

With the Cinnamon Desktop Environment, I am averaging 610MB of RAM used on a cold boot, without any apps open. Not bad for a desktop environment boasting so many fancy effects.

CPU Usage

CPU usage, too, was quite good. Again, on a cold boot, I am achieving 3-5% total CPU usage, split pretty evenly between all 4 cores.

Boot-up time

After realizing that the boot up speed is decently fast I decided to measure that as well. Without any additional services, I record a speed of 15 seconds flat, which is pretty good for a fully fledged distro like Linux Mint.

Appearance

LinuxMint

Cinnamon is not as snazzy as something as GNOME 42, but really, it doesn’t have to be. The icons, while not what you usually see nowadays, are very readable and aesthetically pleasing. The themes are also very easy on the eyes, and seems like a good middle ground between the flat, round look Adwiata and the sharp, layered look of Breeze. And much like Ubuntu 22.04, you can easily change the accent colors the settings, which effects not only the GTK theme, but the icon theme as well.

Cinnamon Settings

Due to the fact that Linux Mint uses mainly GNOME apps, I was convinced that they were going to use the GNOME settings app as well. So it was a pleasent surprise when I opened the ‘Cinnamon Control Center’ and found something completely different. The Cinnamon Control Center has a staggering amount of things to configure, (I counted 42), and the tools you’re provided within the Control Center are extremely powerful, rivaled only by KDE.

WebApp Manager

The WebApp Manager is another app created by Linux Mint, but usable in almost every Linux distro. It does just what it says on the tin, managing Web Apps. You can select your choice of browser, what name you would like the Web App to have, the icon, and of course, the link to the website itself. From there, you can open the app menu and interact your web app in the same way that you would a regular application.

TimeShift

TimeShift is an application that I have written about before. And that is for good reason. TimeShift, apart from Snapper on SUSE, is the fastest and easiest to use backup utility currently available. You can make a filesystem backup at any time, or you can set a schedule. You even get to choose which directories you would like to back up. You can choose to include or exclude your , /home, and /boot, so that when you roll back you can keep any files or configurations that you really need.

Software Management

Synaptic

Ol’ Reliable. Synaptic is a very old, very stable, and very tested front end for apt. There is absolutely nothing wrong with it, apart from the fact that there is very dated, confusing to new users, and a little ugly.

GNOME Software

When I first used Linux Mint, GNOME Software was not installed by default, so it is nice to see that they’ve changed their minds. It’s new, modern, and launches reasonably fast. GNOME Software is a great addition that will help new users get acclimated to Linux without having to use the terminal.

Update Manager

Technically, Update Manager is Synaptic, but it is labeled as a different app in the menu, so I will count it as a seperate app as well. Update Manager appears as both a app in the app menu, and a applet in the system tray. When you need updates, the applet will transform from a full ‘Sheild’ to only half, alerting you. Then, once you click on it, you will be brought to synaptic, which will list all of the packages that need updates. From there, you can click on the check mark, type in your password, and wait for the update to be over.

Conclusion

Linux Mint has done a beautiful job at creating a desktop operating system that is simple enough for complete newbies, and powerful enough for any person with extensive Linux knowledge to be content using it. Its mix of traditional desktop metaphors, GUI apps for everything, and new innovations that makes Linux Mint an exelent competitor to Microsoft Windows. If there ever was a single distro that you should recommend to non-Linux users, Linux Mint is it.

Table Of Contents

  1. Performance
    1. My Specs
    2. RAM Usage
    3. CPU Usage
    4. Boot-up time
  2. Appearance
  3. Cinnamon Settings
  4. WebApp Manager
  5. TimeShift
  6. Software Management
    1. Synaptic
    2. GNOME Software
    3. Update Manager
  7. Conclusion
    1. Download Linux Mint

Download Linux Mint

Logo

CLICK ME!!

Centaur Emacs, The Only Good Emacs Distribution

No matter how much your try to fight it, you always come back to Emacs. It is not only an amazing text editor, but an amazing file manager, window manager, shell, and even browser. I personally have switched back to Emacs, as its productivity features and extensions geared towards writers are just unrivaled. However, I am not a fan of Doom Emacs. And I don’t want to spend 10+ hours perfecting my Emacs config. So, I set out on a quest, to find the Emacs distribution that fits my every need. And after around 20 minutes of digging, I found the perfect mix of vanilla Emacs, eye candy, and extra features. For me, that is Centaur Emacs. Centaur Emacs is a super easy, snappy, and configureable Emacs that doesn’t rock the boat too much. And since I have been spending so much time with it recently, I thought it fair to share my experience with you, and hopefully get your attention on this amazing Emacs distribution.

Instillation

The install for Centaur Emacs is one of the more straightforward than many of the others that I’ve done. There is no options while installing, no splash screen, no progress bar, you just copy the files to your ~/.emacs.d and then open Emacs and wait 2-5 minutes for all of the packages to install. In fact, if you already have Emacs installed, you only need two commands.

Getting ~/.emacs.d out of the way

Creating A Backup

mv ~/.emacs.d ~/.emacs.d.bakup

Deleting It Entirely

rm -Rf ~/.emacs.d

Cloning The Github Repository

git clone https://github.com/seagle0128/.emacs.d ~/.emacs.d

Speed

My specs are as follows.

CPU

Intel i5, 8 Core CPU

RAM

8 GB

GPU

Intel WhiskeyLake UHD Graphics

So far, Centaur Emacs has been running as smooth as silk. I have had no freezes at all, and have consistently stayed under 10% CPU usage and 500MB of RAM usage on Ubuntu with EXWM running. In terms of boot speed, Centaur Emacs hovers around 3-5 seconds. Which, while not terrible is slower than default Emacs. But, if that’s really a huge problem for you, consider running Emacs as a daemon.

Appearance

LookingGood

Centaur, in terms of appearance, is very comparable to Doom Emacs. However, there are some small differences. For example, Centaur uses ‘doom-themes’, but handles theming differently. Just run ‘centaur-load-theme’, and pick between one of the 8 options. But of course, you can always do the dirty work yourself and edit the ~/.emacs.d/custom.el yourself. There is also a custom configuration of the status bar, which looks great and is very light one resources. Centaur Emacs even comes with a super nice, custom dashboard that is chocked full of featres, and is configurable to your hearts content.

Configuration

Centaur Emacs can be configured in the exactly same manner as regular Emacs. There is no seperate directory where you have to run a command to update your configuration. Just go to your ~/.emacs.d and configure the exact same file that you would on regular Emacs. And thankfully, Unlike Doom Emacs, there isn’t another package manager, so you can just run ‘package-install’ and restart Emacs to install any plugin you could ever need.

Nifty Apps

Org-Agenda

Org-Agenda is the sole reason that some people use Emacs, it’s just that good. You can make an Org file that can include your tasks, notes, due dates, and much more, and then have it neatly displayed as an agenda. You can just put ‘Agenda.org’ in your /org directory and use it immediately.

Vterm

I absolutely love Eshell, and tolerate the defualt ‘ansi-term’, but sometimes you need something a little more powerful. And Vterm does that better than anything else. Vterm loads fast, uses your default shell, and is packed full of features that aren’t in ‘ansi-term’. There really is no reason not to use it.

Treemacs

If you use Vim or VSCodium, there is a good chance that you have a file tree on the left of your editor. And if you are missing this crucial feature, you can just use the keybinding ‘C-x t t’ to launch the file tree. From there, you can navigate the current directory and select the file to do with what your please.

Ace window

When you press ‘C-x o’ to switch windows in Centaur Emacs, you will notice something out of the norm. You are prompted to press a number in order to select the window that you would like to switch to. This saves a lot of effort, since you don’t have to press ‘C-x o’ 20 times just to get to your preferred window.

Counsel

In the same vein as Ace window, Counsel is a replacement for the regular ‘M-x’ menu. Thankfully, it doesn’t change a whole lot. The menu looks a lot like Rofi, spawining in the middle of the screen and boasting predictive auto-complete. It even has the ability to study the keybindings for any application on demand. Other than that, it acts just like the standard ‘M-x’ menu.

Conclusion

Centaur Emacs may not be the best Emacs distribution for you. If you are not already familiar with Emacs, it can get a little complicated, and it is less intuitive to configure and install. However, I truly believe that for a large amount of the people readingf this rightf now, Centaur Emacs may be just what you need. It is fast beautiful, and super friendly for the power-user. Leave the world of evil, and be free.

Install Here

Logo

Click Me!!