This is Kert Jalukse’s personal homepage/portfolio.
Topics
Recent posts
-
TLDR :)
My first annoyance with NixOS
This all started when I tried to make an Android app using the Flutter framework. The first thought on my mind was to simply create a
...shell.nix
or aflake.nix
file to download flutter and androidSdk tools. I tried this with flakes as my system packages are NixOS stable packages and I didn’t feel like changing it. I was very displeased to find that when I had created myflake.nix
file (with only flutter and androidSdk from NixOS unstable channel, mind you), it started downloading like 40 GiB of data. Feel free to make fun of me, when there is something obvious that I am missing, but PLEASE reach out if you know the solution. 40 GiB might not sound like too much for some of you, but I have an astronomically slow internet connection and I am working on a laptop with about 250 GB of storage so after leaving it downloading overnight, I woke up to a failed build and a completely full disk. -
Outline
I am going to develop a 64-bit kernel, which will abide by the following rules:
- be written completely in the
Rust
programming language - support at least the
x86_64
architecture - support the
multiboot2
standard (GRUB
) - work on
BIOS
(andUEFI
) - have a functional
- exception/interrupt handling system
- memory management system
- task management system
- abide by the
microkernel
architecture
Actions to take
My first course of action is to set up a development environment. I will use my
...nix-shell
setup to manage my environment (read more) with one difference: I am going to userustup
to be able to manage my toolchains in arust-toolchain.toml
file. - be written completely in the
-
TLDR :)
I like the Nix package manager, because I don’t have to have every tool and compiler installed on my machine polluting my userspace. If you’ve ever heard of Nix, I bet you’ve also heard a sentence like that. There are multiple ways to set up your development environment on Nix (not just NixOS, the Nix package manager is cross platform!), but I currently like
nix-shell
the best.Nix shell command
The simplest way to start a new environment is to just run the command
...