This is an OpenPGP proof that connects my OpenPGP key to this Github account. For details check out https://keyoxide.org/guides/openpgp-proofs
[Verifying my OpenPGP key: openpgp4fpr:0107655cc20afd1a8f3f9872c1782440640bc696]
This is an OpenPGP proof that connects my OpenPGP key to this Github account. For details check out https://keyoxide.org/guides/openpgp-proofs
[Verifying my OpenPGP key: openpgp4fpr:0107655cc20afd1a8f3f9872c1782440640bc696]
{-# LANGUAGE DataKinds #-} | |
{-# LANGUAGE DeriveGeneric #-} | |
{-# LANGUAGE DerivingStrategies #-} | |
{-# LANGUAGE FlexibleContexts #-} | |
{-# LANGUAGE GeneralizedNewtypeDeriving #-} | |
{-# LANGUAGE KindSignatures #-} | |
{-# LANGUAGE LambdaCase #-} | |
{-# LANGUAGE NamedFieldPuns #-} | |
{-# LANGUAGE RankNTypes #-} | |
{-# LANGUAGE ScopedTypeVariables #-} |
{-# LANGUAGE AllowAmbiguousTypes, ConstraintKinds, DataKinds, FlexibleContexts, | |
FlexibleInstances, FunctionalDependencies, InstanceSigs, | |
MultiParamTypeClasses, RankNTypes, RecordWildCards, ScopedTypeVariables, | |
StandaloneKindSignatures, TypeApplications, TypeFamilies, | |
TypeFamilyDependencies #-} | |
import Control.Monad.Reader (MonadReader) | |
import Control.Monad.Trans (MonadTrans) | |
import Control.Monad.Trans.Except (ExceptT, runExceptT) | |
import Data.Kind (Constraint, Type) |
######################### | |
# Machine Configuration # | |
######################### | |
{ config, inputs, lib, pkgs, unstable, ... }: | |
{ | |
imports = [ | |
./primary-user-nixos.nix | |
./desktop-apps.nix | |
./desktop-kde.nix |
{ fetchFromGitHub, gmp, nettle, sqlite, stdenv }: | |
let | |
rev = "3d7c095cb10a1b692c80dd28f6051dea91d45baa"; | |
version = "5.0"; | |
tag = "v${version}"; | |
in | |
stdenv.mkDerivation { | |
pname = "pihole-ftl"; |
library.DemoLib.hs
should be placed at library/DemoLib.hs
, gists don't allow a naming convention of library/DemoLib.hs
nix-shell -E 'let pkgs = import ./pinned.nix {}; pkg = pkgs.haskellPackages.developPackage { root = ./.; }; in pkg.overrideAttrs (attrs: { buildInputs = attrs.buildInputs ++ [ pkgs.cabal-install]; })'
cabal update
(to ensure that there's a valid $HOME/.cabal
directory with relevant Hackage information, even though we're not going to use it)cabal build
and verify that the package builds.import Control.Lens hiding (from, to) | |
import GHC.Generics | |
class Empty a where | |
impossible :: a -> x | |
default impossible :: (Generic a, GEmpty (Rep a)) => a -> x | |
impossible = gimpossible . from | |
instance Empty Void where | |
impossible = absurd |
;;; init.el --- jkachmar's Emacs setup. -*- lexical-binding: t; -*- | |
;; | |
;;; Commentary: | |
;; This file loads use-package, org-mode, and compiles and executes readme.org | |
;; | |
;;; Code: | |
(require 'package) | |
(setq package-enable-at-startup nil) |
newtype ClientInterpreter params m | |
= ClientInterpreter | |
( forall response | |
. params | |
-> ClientEnv | |
-> ClientF response | |
-> ExceptT ServantError m response | |
) | |
class HasClientInterpreter (context :: Type -> (Type -> Type) -> Type) where |
I hereby claim:
To claim this, I am signing this object: