Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
Nothing

Matthias Beyer matthiasbeyer

💭
Nothing
View GitHub Profile
@matthiasbeyer
matthiasbeyer / lint.yaml
Created May 31, 2022
github action for linting commit messages with gitlint
View lint.yaml
name: lint commit messages
on:
pull_request:
jobs:
commit-lint:
runs-on: "ubuntu-latest"
steps:
@matthiasbeyer
matthiasbeyer / pre-commit
Last active May 1, 2022
Non-failing cargo fmt git hook for files patched in current staging
View pre-commit
#!/usr/bin/env bash
Green='\e[0;32m' # Green
Red='\e[0;31m' # Red
Color_Off='\e[0m' # Text Reset
files=$(cargo fmt -- --check --files-with-diff)
staged=$(git diff --name-only --staged)
@matthiasbeyer
matthiasbeyer / mypackage.nix
Created Nov 9, 2021
Using a specific nixpkgs version to install a package
View mypackage.nix
{ pkgs ? (import <nixpkgs> {}) }:
rec {
# import nixpkgs from a specific commit hash
oldNixpkgs = pkgs.fetchFromGitHub {
owner = "nixos";
repo = "nixpkgs";
# here goes the commit hash
rev = "c2268175651c4aa1da23c1b84ecebc0a0df56633";
@matthiasbeyer
matthiasbeyer / git-diff-to.sh
Created Apr 17, 2021
diff a branch to a base branch
View git-diff-to.sh
#!/usr/bin/env bash
help() {
cat <<EOS
$0 [-h | --help] [base] [head]
Diff current branch (or [head], if passed) to [base]
EOS
}
@matthiasbeyer
matthiasbeyer / lib.rs
Created Oct 15, 2020
Stream of buffers to stream of lines
View lib.rs
// should be all code...
use std::pin::Pin;
use std::result::Result as RResult;
use futures::Stream;
use futures::StreamExt;
use futures::task::Context;
use futures::task::Poll;
use anyhow::Error;
@matthiasbeyer
matthiasbeyer / remote-build.sh
Created Oct 13, 2020
execute nix-build remote
View remote-build.sh
#!/usr/bin/env bash
host="$1"
branch="$2"
pkg="$3"
remote_dir="$$"
[[ -z "$host" ]] && { echo "no HOST"; exit 1; }
[[ -z "$branch" ]] && { echo "no branch"; exit 1; }
[[ -z "$pkg" ]] && { echo "no pkg"; exit 1; }
@matthiasbeyer
matthiasbeyer / example.rs
Created Dec 6, 2019
Context menu with Cursive
View example.rs
use cursive::event::{Event, Key};
use cursive::traits::*;
use cursive::views::{Dialog, EditView, OnEventView, TextArea};
use cursive::Cursive;
use cursive::view::Boxable;
use cursive::views::SelectView;
use cursive::event::EventResult;
use cursive::align::HAlign;
use cursive_context_menu::ContextMenu;
View sway config
#
# Copy this to ~/.config/sway/config and edit it to your liking.
#
# Read `man 5 sway` for a complete reference.
#
input * xkb_layout "de"
input * xkb_variant "nodeadkeys"
input 2:7:SynPS/2_Synaptics_TouchPad {
@matthiasbeyer
matthiasbeyer / git-apply-github-pr
Created Apr 13, 2019
A script to apply github PRs as one commit
View git-apply-github-pr
#!/usr/bin/env bash
while read line
do
patch=$(echo "$line" | sed
's,github\.com,patch-diff.githubusercontent.com/raw,; s,$,.patch,')
prnr=$(echo "$line" | sed 's,.*/,,')
curl $patch | git am -s || exit 1
View utils.nix
{ pkgs }:
rec {
optimizeWithFlag = pkg: flag:
pkg.overrideAttrs (attrs: {
NIX_CFLAGS_COMPILE = (attrs.NIX_CFLAGS_COMPILE or "") + " ${flag}";
});
optimizeWithFlags = pkg: flags:
pkgs.lib.foldl' (pkg: flag: optimizeWithFlag pkg flag) pkg flags;