Free Palestine 🇵🇸
🇵🇸
Help Spread Awareness for Palestine.

Packing Custom Fonts for NixOS

I have been using NixOS for a long time. And I am very happy with it. It is very stable and easy to configure. With NixOS, installing and configuring famous and open-source fonts is already very straightforward. Here is my font configuration in configuration.nix: fonts = { fontDir.enable = true; enableGhostscriptFonts = true; packages = with pkgs; [ cantarell-fonts hack-font inter jetbrains-mono liberation_ttf monaspace noto-fonts ubuntu_font_family (nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" "JetBrainsMono" ]; }) ]; }; Things get a little bit complicated when you want to use a custom or any commercial font that is not available in Nix packages....

April 5, 2024 · 3 min · Ali Oguzhan Yildiz

Dual Function Keys on NixOS

Dual Function Keys is a plugin for Interception Tools. It is great for modifying keys. It allows you to configure a key for both holding and tapping actions. For example, you can configure the Caps Lock key to act as Escape when tapped and Control when held. I am using this plugin to modify my Shift keys. When tapped, they act as ( and ) respectively. When held, they act as Shift key....

November 5, 2022 · 2 min · Ali Oguzhan Yildiz

Show Missing Users in Gnome Login Screen

When you install and configure the NixOS with Gnome from minimal image, it is possible that you will not see the existing user(s) in the login screen. It expects you to type your username and password. I know it is not a big deal. But, it is annoying. This is because the user you configured in your configuration.nix file, somehow, is identified as a system user. So, it is not shown in the login screen....

August 7, 2022 · 1 min · Ali Oguzhan Yildiz

Adjusting Chrome's Scaling Factor on Ubuntu

If you are a using 4K monitor with your Full HD laptop, it is highly possible that you will end up having scaling problems at some point. Because Fractional Scaling is not a complete solution. Scaling to fractional values causes blurry renderings most of the time. So you have three options: 1 - Setting the external monitor resolution to 1920x1080 which is something I wouldn’t want to look at. Things got blurry most of the time....

January 28, 2021 · 3 min · Ali Oguzhan Yildiz

A Modern Space Cadet but for Linux

Motivation When I was using a Macbook, after reading Modern Space Cadet by Steve Losh in 2014, I decided to apply some of the suggestions from that article. I first tried the Caps Lock mapping. Which is basically caps lock is acting as a Control key when pressed with another key and Escape when pressed alone. I liked that. After one week or so, I tried another suggestion from the same article: Better Shifting which is way more fun and efficient than my previous attempt....

December 31, 2020 · 5 min · Ali Oguzhan Yildiz

Disabling tap-and-drag gesture in Gnome

There is a very annoying gesture which is enabled by default in Gnome: Tap and Drag It is being activated when you tap somewhere and move your finger a little on the touchpad. If the tapped unit is draggable, even if you move your finger a few millimeters, you start dragging that unit. This happens very frequently when it comes to browser tabs. Fortunately, it is easy to disable this gesture....

December 6, 2020 · 2 min · Ali Oguzhan Yildiz

The Ultimate Migration: I finally sold my Macbook

Preliminary I am a software developer and I have been using Apple computers since 2012. 2012 is also when my professional career had started. It was always Macbook Pro but with different generations (2012, 2014, and 2015). I also have an iPhone, an Apple Watch, and an AirPods. I am saying this in advance so you can have an idea about how deeply coupled I’m into the Apple ecosystem. Once you go deep down that much, It is becoming much harder to break your chains....

November 28, 2020 · 7 min · Ali Oguzhan Yildiz

A Glossary for Javascript World

Javascript is growing (also evolving) fast. I mean very fast. There are tons of libraries, frameworks, compilers, bundlers or even several standards. Even if you are developing in Javascript since the beginning, it still might be difficult to catch up with this evolution’s speed. Here i tried to gather most of those technologies and technical terms together with their definitions, missions and relations to each other. If you are new to either programming or web development, this post is supposed to give you some idea about Javascript and its ecosystem....

September 20, 2018 · 9 min · Ali Oguzhan Yildiz

How to use Scrapy with Django Application

There are a couple of articles on how to integrate Scrapy into a Django Application (or vice versa?). But most of them don’t cover a full complete example that includes triggering spiders from Django views. Since this is a web application, that must be our main goal. What do we need? Before we start, it is better to specify what we want and how we want it. Check this diagram:...

September 12, 2017 · 6 min · Ali Oguzhan Yildiz

LXD — Assigning static IP to containers

By default, lxd containers get random ip from lxd-bridge system. If you want to assign static IPs (i.e with some logical or arithmetic order), good news: It is quite simple. All we need to do is create a DNS configuration file and tell lxd to use it. There is a configuration file lxd-bridge under /etc/default/ directory. It is created when you first run lxd init command. It is something like this:...

May 24, 2017 · 2 min · Ali Oguzhan Yildiz