Given a foreign binary on a Nix system, you have to patch its dynamic linker/loader.
First you need to find out what linker/loader to use.
You can do this by going into your nix repl and loading your desired nixpkgs.
Then you run:
Given a foreign binary on a Nix system, you have to patch its dynamic linker/loader.
First you need to find out what linker/loader to use.
You can do this by going into your nix repl and loading your desired nixpkgs.
Then you run:
Modern versions of Windows support GPU paravirtualization in Hyper-V with normal consumer graphics cards. This is used e.g. for graphics acceleration in Windows Sandbox, as well as WSLg. In some cases, it may be useful to create a normal VM with GPU acceleration using this feature, but this is not officially supported. People already figured out how to do it with Windows guests though, so why not do the same with Linux? It should be easy given that WSLg is open source and reasonably well documented, right?
Well... not quite. I managed to get it to run... but not well.
| [package] | |
| name = "pocket2linkhut" | |
| version = "0.1.0" | |
| edition = "2024" | |
| [dependencies] | |
| anyhow = "1.0" | |
| argh = "0.1" | |
| csv = "1.3" | |
| serde = { version = "1.0", features = ["derive"] } |
| cheatsheet.tex | |
| *.aux | |
| *.fls | |
| *.log | |
| *.synctex.gz | |
| *.fdb_latexmk | |
| *.lot |
NixOS provides good support for the Xfce desktop environment out-of-the-box, but the defaults are minimal. The files in this Gist provide a more complete experience, including a suite of basic software and plugins as well as an optional home-manager configuration for theming.
The key additions to the default Xfce provided by NixOS are:
pkgs.package.override - res of lib.makeOverridable (used by callPackage),
overrides arguments of callPackage
https://nixos.org/nixos/nix-pills/override-design-pattern.html
pkgs.foo.override { arg1 = val1; arg2 = val2; ... }
| ;; Required setup for emacs init file | |
| (package-initialize) | |
| (require 'org) | |
| (require 'org-protocol) | |
| ;; Set 'my-org-directory' to the base directory of all of | |
| ;; your org files (with a trailing slash). For me it's: | |
| (setq my-org-directory "/scp:org:/home/orgmode/") | |
| ;; But it could be a local directory for you |
| # build python nix shell from a local `./requirements.txt` | |
| mkdir ./env | |
| cat > ./env/flake.nix << 'EOF' | |
| { | |
| inputs = { | |
| nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; | |
| flake-utils.url = "github:numtide/flake-utils"; | |
| poetry2nix = { | |
| url = "github:nix-community/poetry2nix"; | |
| inputs.nixpkgs.follows = "nixpkgs"; |
I've spent the day trying to get this setup working with GitHub and given the number of gotcha's I encountered, it seemed like a good idea to document how I finally got this working with as few hacks as possible. There's a lot of documentation out there (some of it old and misleading) and committing here for posterity will help me remember this when I inevitably need to do this again.
Passwords are simply not enough these days. Regardless of the company, breaches (and the associated Personally Identifiable Information harvested) are a matter of not if, but when. There are a number of things you can do to protect yourself, but being on the tin-foil-hat side of paranoia, means there are a few Commandents that I adhere to (and recommend for other folks)[Insert link to Fight Club Rules for the Secure Internet].
That being said, if you use 2-factor authentication and have committed to using a hardware token such as the Yubikey, then you're already ahead of the curve. The problem is that wh
Setup full disk encryption on a Hetzner cloud CX42 machine. No fancy SSH unlock: you have to go to their web based terminal to enter the disk password on boot.
Notes: