Konrad is a high school student who's been in love with programming for a few years now. Despite his age, he has already gained a few months of commercial experience working on a Haskell codebase, as well as producing white hat security tools in the Red Code Labs organization, which he's a co-owner of. An avid fan of Functional Programming, Nix/NixOS, all things cybersec and a hobbyist sport shooter.
Nix is becoming more and more popular and its community is growing bigger and bigger. An introduction to Nix, its ecosystem, related tools, basic usage. Nix consists of a package manager and a language to describe packages for it. Its main features are: reproducible builds, cross-distro and -platform compatibility, binary caching and collection of software bigger than the AUR. Nix as the language is a rather simple lazy (almost) pure functional language with dynamic typing that was made to be specialized in building packages. NixOS is (almost) purely functional Linux distro, which utilizes Nix to configure the OS. The talk will cover basic know-how of Nix and what real-life problems can Nix solve. This will include: Nix's core concepts, syntax, building basic derivations, nix-shell, configuring NixOS with examples, introduction to ecosystem with an example of home-manager, usage on non-NixOS, nix-portable showcase, solving reproducibility issues, bonus: unstable feature - flakes.