Skip to content

Instantly share code, notes, and snippets.

9 1 0x01 147 39984 2088515013 55466767689355
name type data
hits 4 227098528
iohits 4 162963
misses 4 1148629
demand_data_hits 4 48027529
demand_data_iohits 4 659
demand_data_misses 4 267582
demand_metadata_hits 4 178122149
demand_metadata_iohits 4 4992
@Mic92
Mic92 / iwd_migration.py
Last active July 1, 2024 13:28
Convert networkmanager/wpa_supplicant WPA/WPA2 networks to iwd networks
import glob
import re
import sys
import os
import subprocess
import curses.ascii
import binascii
from typing import Tuple, Optional
def parse_network_manager(filename: str) -> Tuple[Optional[str], Optional[str]]:
# Containers
General introduction to containers/namespaces/cgroups (40min): https://www.youtube.com/watch?v=GMs3kLteZvk
Slides: https://github.com/ls1-adv-sys-prog-course/docs/blob/main/slides/01-containers.pdf
Assignment explained (10min): https://www.youtube.com/watch?v=INyb4Rj073U
## Intro
@Mic92
Mic92 / 0_usage.md
Last active March 8, 2024 13:43
Disko impure image script example

First generate the image script:

$ nix build .#nixosConfigurations.myhost.config.system.build.diskoImagesScript

Next we build the image:

$ sudo ./result --build-memory 2048
@Mic92
Mic92 / 0_description.md
Last active December 15, 2023 19:35
Tvix (79246855d1a0fd9b81be113b16a56379c7641aa1) vs nix (2.19.2) evaluation of the hello package

Tvix is a new implementation of the Nix language and package manager. In this benchmark we test it's performance when instantiating the hello package from nix. Note that at the time tvix does not have its own store implementation yet and it has to execute nix-store whenever it needs to copy files to the store.

@Mic92
Mic92 / scrape-prs.py
Created October 22, 2023 05:57
Scrape all nixpkgs pull requests
#!/usr/bin/env python3
import http.client
import json
import os
import time
import urllib.parse
import urllib.request
from pathlib import Path
from typing import Any
@Mic92
Mic92 / kexec-installer.nix
Last active September 24, 2023 02:02
kexec-based installer for nixos to install nixos from every linux!
## USAGE
# $ nix-build kexec-installer.nix
# can be deployed remote like this
# $ rsync -aL -e ssh result/ root@host:
# $ ssh root@host ./kexec-installer
## Customize it like this
# # custom-installer.nix
# import ./kexec-installer.nix {
# extraConfig = {pkgs, ... } {
# user.extraUsers.root.openssh.authorizedKeys.keys = [ "<your-key>" ];
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p sqlite -p bash
SQL=$(cat <<EOF
select * from DerivationOutputs do
inner join ValidPaths vp on vp.id = do.drv
inner join Refs r1 on r1.referrer = vp.id
inner join ValidPaths vp2 on r1.reference = vp2.id
where do.path GLOB '/nix/store/$1-*'
EOF
@Mic92
Mic92 / shell.nix
Created March 25, 2018 09:03 — forked from abbradar/shell.nix
Nix FHS env for OpenWrt
{ pkgs ? import <nixpkgs> {} }:
let
fixWrapper = pkgs.runCommand "fix-wrapper" {} ''
mkdir -p $out/bin
for i in ${pkgs.gcc.cc}/bin/*-gnu-gcc*; do
ln -s ${pkgs.gcc}/bin/gcc $out/bin/$(basename "$i")
done
for i in ${pkgs.gcc.cc}/bin/*-gnu-{g++,c++}*; do
ln -s ${pkgs.gcc}/bin/g++ $out/bin/$(basename "$i")