View ReifyExceptions.hs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- code by mniip | |
types :: [String] | |
types = $( | |
do | |
insts <- reifyInstances ''Exception [VarT (mkName "a")] | |
let | |
tyConOf (AppT ty _) = tyConOf ty | |
tyConOf (ConT con) = Just con | |
tyConOf _ = Nothing | |
tyCons <- for insts \case |
View ifd1.nix
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# https://nixos.wiki/wiki/Import_From_Derivation | |
# https://discourse.nixos.org/t/how-to-import-a-derivation-with-import/15375 | |
# https://nixos.org/manual/nix/stable/language/builtins#builtins-import | |
# https://nixos.org/manual/nix/stable/language/values.html#type-string | |
let | |
pkgs = import <nixpkgs> {}; | |
derivation-to-import = pkgs.writeText "inner" "5"; | |
imported-nix-value = import derivation-to-import; | |
in pkgs.writeText "foo" '' | |
The value from the inner derivation was: ${toString imported-nix-value} |
View main.tf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# https://developer.hashicorp.com/terraform/language/providers/requirements | |
# https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli | |
terraform { | |
required_providers { | |
hcloud = { | |
source = "hetznercloud/hcloud" | |
version = "1.36.2" | |
} | |
} | |
} |
View flake.macos.nix
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
# https://nix.dev/anti-patterns/language#unquoted-urls | |
inputs.nixpkgs.url = "github:NixOS/nixpkgs"; | |
outputs = { self, nixpkgs, ... }@attrs: | |
# https://discourse.nixos.org/t/using-nixpkgs-legacypackages-system-vs-import/17462/5 | |
# https://discourse.nixos.org/t/recommendations-for-use-of-flakes-input-follows/17413 | |
let pkgs = nixpkgs.legacyPackages.aarch64-darwin; | |
in { | |
# https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-fmt.html |
View shell.nix
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# https://wiremock.org/docs/running-standalone/ | |
# inspired by https://discourse.nixos.org/t/download-and-wrap-a-jar-extensively-documented-example/8049 | |
{ pkgs ? import <nixpkgs> {} }: | |
let mywiremock = | |
pkgs.stdenv.mkDerivation rec { | |
name = "mywiremock"; | |
version = "2.35.0"; | |
# https://ryantm.github.io/nixpkgs/builders/fetchers/ | |
src = pkgs.fetchurl { |
View LinearAPI.hs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE BlockArguments #-} | |
{-# LANGUAGE DataKinds #-} | |
{-# LANGUAGE LinearTypes #-} | |
{-# LANGUAGE OverloadedStrings #-} | |
{-# LANGUAGE QualifiedDo #-} | |
{-# LANGUAGE TypeFamilies #-} | |
{-# LANGUAGE NoImplicitPrelude #-} | |
-- https://discourse.haskell.org/t/enforcing-correct-api-usage-via-types/5798 | |
module Main where |
View AccumConstructorInitialization.hs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE BlockArguments #-} | |
{-# LANGUAGE DeriveAnyClass #-} | |
{-# LANGUAGE DeriveGeneric #-} | |
{-# LANGUAGE DerivingStrategies #-} | |
{-# LANGUAGE DerivingVia #-} | |
{-# LANGUAGE ImportQualifiedPost #-} | |
{-# LANGUAGE QualifiedDo #-} | |
{-# LANGUAGE TypeSynonymInstances #-} | |
{-# LANGUAGE UndecidableInstances #-} | |
{-# LANGUAGE ViewPatterns #-} |
View AccumConstructorExample.hs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE BlockArguments #-} | |
{-# LANGUAGE DeriveAnyClass #-} | |
{-# LANGUAGE DeriveGeneric #-} | |
{-# LANGUAGE DerivingStrategies #-} | |
{-# LANGUAGE NumDecimals #-} | |
{-# LANGUAGE QualifiedDo #-} | |
{-# LANGUAGE ViewPatterns #-} | |
-- depends on the "dep-t" and "async" packages | |
module Main where |
View shell.nix
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ pkgs ? import <nixpkgs> {} }: | |
pkgs.mkShell { | |
packages = [ | |
pkgs.glibcLocales | |
(pkgs.postgresql.withPackages (p: [])) | |
pkgs.pgcli | |
]; | |
shellHook = '' | |
StartPG(){ | |
pg_ctl -w -l $PGDATA/log start |
View TypeLevelFieldMetadata.hs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE AllowAmbiguousTypes #-} | |
{-# LANGUAGE BlockArguments #-} | |
{-# LANGUAGE DataKinds #-} | |
{-# LANGUAGE DeriveGeneric #-} | |
{-# LANGUAGE FlexibleInstances #-} | |
{-# LANGUAGE PolyKinds #-} | |
{-# LANGUAGE ScopedTypeVariables #-} | |
{-# LANGUAGE StandaloneKindSignatures #-} | |
{-# LANGUAGE TypeApplications #-} | |
{-# LANGUAGE TypeOperators #-} |
NewerOlder