Skip to content

Instantly share code, notes, and snippets.

Audio

(This is still quite exploratory: when some of the questions have been answered and we find out if our suppositions are right, we can build a configuration option to enable audio cleanly)

To enable the audio subsystem, you first need to write to /dev/subsys_adsp

# echo 1 > /dev/subsys_adsp
@hanetzer
hanetzer / $ cat config ;
Created September 8, 2019 21:36
$ cat config ;
$ cat config
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 5.0.10 Kernel Configuration
#
#
# Compiler: aarch64-buildroot-linux-musl-gcc.br_real (Buildroot 2019.05-git-00928-g9152387703-dirty) 8.3.0
#
CONFIG_CC_IS_GCC=y
@samueldr
samueldr / whats-the-holdup
Last active August 11, 2019 01:49
Simple script to find out what's holding a store path alive
#!/usr/bin/env nix-shell
#!nix-shell -p nix -p ruby_2_6 -i ruby
require "open3"
require "shellwords"
def usage
puts "Usage: whats-the-holdup [-m|--with-memory] <path>"
end
@tazjin
tazjin / yants.md
Last active June 15, 2023 22:32
Yet Another Nix Type System (aka YANTS)

yants

Note: Yants now has its own repository.


This is a tiny type-checker for data in Nix, written in Nix.

Features:

Linux workstation security checklist

This is a set of recommendations used by the Linux Foundation for their systems administrators. All of LF employees are remote workers and we use this set of guidelines to ensure that a sysadmin's system passes core security requirements in order to reduce the risk of it becoming an attack vector against the rest of our infrastructure.

Even if your systems administrators are not remote workers, chances are that they perform a lot of their work either from a portable laptop in a work

@dogtopus
dogtopus / Pipfile
Last active April 12, 2025 22:28 — forked from stecman/_readme.md
Brother P-Touch PT-P300BT bluetooth driver python
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
pybluez = "*"
pillow = "*"
packbits = "*"
@betaboon
betaboon / refind-builder.py
Created July 8, 2018 22:59
refind-nixos-module
#! @python3@/bin/python3 -B
import argparse
import os
import os.path
import sys
import errno
import subprocess
import glob
import datetime
import shutil
@techhazard
techhazard / Readme.md
Last active July 24, 2025 17:20
NixOS: PCI Passthrough

PCI Passthrough

Warning: unfinished (but successfull!)

I did PCI passthrough on Archlinux and Debian with the old PCI-stub method (this was pre-4.0 era). And later I did PCI passthrough on the 4.1+ kernels on Arch and Ubuntu (16.10 I think?).

This is my attempt at doing the same on Nixos.

Requirements

@apritzel
apritzel / firmware_build.md
Created June 19, 2016 20:37
Building instructions for firmware image

Rebuilding the firmware image

The Pine64 firmware consists of four parts:

  • The on-chip boot ROM (BROM), which cannot be changed and does the very first steps in loading code. It is part of the A64 SoC and thus not included here.
  • A secondary program loader (SPL): Its main task is to initialize the DRAM and load the remaining firmware parts. Due to BROM limitations the SPL is limited in size to 32K. The SPL can be a part of U-Boot, but at the moment we lack free source for the DRAM initialization. The alternative is to use Allwinner's boot0, which is a closed source, but redistributable blob serving the same purpose.
  • An EL3 runtime firmware. The task of this code is to provide runtime services like PSCI. It stays resident during the whole time and can be called from an OS like Linux to enable or disable secondary cores or request other services. It also takes care of low level CPU initialization and some errata handling. We use a version of ARM Trusted Firmware, based on the official 1.0 release from

Multi user nix installation

Each section should be run as the user or as root, pay attention to which one!

Install nix single user

As $USER

curl https://nixos.org/nix/install | sh