Skip to content

Instantly share code, notes, and snippets.

View ethancedwards8's full-sized avatar
❄️
nix'ing

Ethan Carter Edwards ethancedwards8

❄️
nix'ing
View GitHub Profile
@mjlbach
mjlbach / gccEmacs.md
Last active December 6, 2023 10:34
Installing gccEmacs (native-comp) with Nix

WARNING: THIS GIST IS OUT OF DATE AND NO LONGER RELEVANT

  • Native-comp was enabled by default in nixpgks
  • Pgtk is not enabled by default, for that you can either override the derivation or use emacsPgtk from the nix-community emacs overlay if you don't want to build it yourself

Nix

Adding the overlay and configuring cachix

@edolstra
edolstra / nix-lang.md
Last active August 14, 2026 19:33
Nix language changes

This document contains some ideas for additions to the Nix language.

Motivation

The Nix package manager, Nixpkgs and NixOS currently have several problems:

  • Poor discoverability of package options. Package functions have function arguments like enableFoo, but there is no way for the Nix UI to discover them, let alone to provide programmatic ways to
@analogic
analogic / docker-compose.yml
Last active January 19, 2026 03:43
Poste.io (with Lets Encrypt) + Nginx reverse proxy + Nginx Lets encrypt companion
version: '3'
services:
nginx-proxy:
image: jwilder/nginx-proxy
labels:
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
container_name: nginx-proxy
restart: unless-stopped
ports:
@joepie91
joepie91 / hydra.md
Created November 26, 2017 09:31
Hydra notes

Just some notes from my attempt at setting up Hydra.

Setting up on NixOS

No need for manual database creation and all that; just ensure that your PostgreSQL service is running (services.postgresql.enable = true;), and then enable the Hydra service (services.hydra.enable). The Hydra service will need a few more options to be set up, below is my configuration for it:

    services.hydra = {
        enable = true;
 port = 3333;
@enobayram
enobayram / maybe.c
Created May 21, 2017 15:57
Maybe monad in C
#include <stdlib.h>
#include <stdio.h>
// return :: Monad m => a -> m a
typedef void * /* m a */ return_t(void * /* a */);
// type kleisli_arrow a b = a -> m b
typedef void * /* m b */ kleisli_arrow(void * /* a */);
// bind :: Monad m => m a -> (a -> m b) -> m b
@egmontkob
egmontkob / Hyperlinks_in_Terminal_Emulators.md
Last active August 28, 2026 19:27
Hyperlinks in Terminal Emulators
@tuxfight3r
tuxfight3r / 01.bash_shortcuts_v2.md
Last active September 3, 2026 19:48
Bash keyboard shortcuts

Bash Shortcuts

visual cheetsheet

Moving

command description
ctrl + a Goto BEGINNING of command line
@wandernauta
wandernauta / sp
Last active February 11, 2026 23:06
sp is a command-line client for Spotify's dbus interface. Play, pause, skip and search tracks from the comfort of your command line.
#!/usr/bin/env bash
#
# This is sp, the command-line Spotify controller. It talks to a running
# instance of the Spotify Linux client over dbus, providing an interface not
# unlike mpc.
#
# Put differently, it allows you to control Spotify without leaving the comfort
# of your command line, and without a custom client or Premium subscription.
#
@ymmt2005
ymmt2005 / due2fs.c
Last active June 30, 2021 05:04
Fastest du for Linux. This is in fact faster than du(1) as long as all dentries are cached :-p
/**
* Compilation:
*
* 1. Without e2fslib:
* $ gcc -O2 -o due2fs due2fs.c
*
* 2. With e2fslib
* $ sudo apt-get install e2fslibs-dev
* $ gcc -DUSE_E2FSLIB -O2 -o due2fs due2fs.c -lext2fs
*