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.hsnix-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: