Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
.stack-work/
*~
/result
/dist-newstyle
25 changes: 25 additions & 0 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 36 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
description = "A command-line replacement for the Google Authenticator App";
inputs.nixpkgs.url = "nixpkgs";
outputs = { self, nixpkgs }:
let
supportedSystems = [ "x86_64-linux" "x86_64-darwin" ];
forAllSystems = f: nixpkgs.lib.genAttrs supportedSystems (system: f system);
nixpkgsFor = forAllSystems (system: import nixpkgs {
inherit system;
overlays = [ self.overlay ];
});
in
{
overlay = (final: prev: {
gamgee = final.haskellPackages.callCabal2nix "gamgee" ./. { };
});
packages = forAllSystems (system: {
gamgee = nixpkgsFor.${system}.gamgee;
});
defaultPackage = forAllSystems (system: self.packages.${system}.gamgee);
checks = self.packages;
devShell = forAllSystems (system:
let haskellPackages = nixpkgsFor.${system}.haskellPackages;
in haskellPackages.shellFor {
packages = p: [ self.packages.${system}.gamgee ];
withHoogle = true;
buildInputs = with haskellPackages; [
haskell-language-server
ghcid
cabal-install
];
# Change the prompt to show that you are in a devShell
shellHook = "export PS1='\\e[1;34mdev > \\e[0m'";
});
};
}
76 changes: 38 additions & 38 deletions gamgee.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -41,17 +41,17 @@ library
default-extensions: ApplicativeDo BangPatterns ConstraintKinds DataKinds DefaultSignatures DeriveAnyClass DeriveFoldable DeriveFunctor DeriveGeneric DeriveLift DeriveTraversable DerivingStrategies EmptyCase ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MultiParamTypeClasses MultiWayIf NamedFieldPuns NoImplicitPrelude OverloadedStrings PatternSynonyms PolyKinds RankNTypes ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeApplications TypeFamilies TypeFamilyDependencies TypeOperators
ghc-options: -Wall -Wcompat -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns
build-depends:
aeson ==1.5.6.0
, base ==4.14.1.0
, base64-bytestring ==1.1.0.0
, bytestring ==0.10.12.0
, cryptonite ==0.27
, memory ==0.15.0
, polysemy ==1.5.0.0
, relude ==0.7.0.0
, safe-exceptions ==0.1.7.1
, text ==1.2.4.1
, time ==1.9.3
aeson >=2
, base
, base64-bytestring
, bytestring
, cryptonite
, memory
, polysemy
, relude
, safe-exceptions
, text
, time
default-language: Haskell2010

executable gamgee
Expand All @@ -65,19 +65,19 @@ executable gamgee
default-extensions: ApplicativeDo BangPatterns ConstraintKinds DataKinds DefaultSignatures DeriveAnyClass DeriveFoldable DeriveFunctor DeriveGeneric DeriveLift DeriveTraversable DerivingStrategies EmptyCase ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MultiParamTypeClasses MultiWayIf NamedFieldPuns NoImplicitPrelude OverloadedStrings PatternSynonyms PolyKinds RankNTypes ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeApplications TypeFamilies TypeFamilyDependencies TypeOperators
ghc-options: -Wall -Wcompat -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns -threaded -rtsopts -with-rtsopts=-N
build-depends:
Hclip ==3.0.0.4
, aeson ==1.5.6.0
, base ==4.14.1.0
, directory ==1.3.6.0
, filepath ==1.4.2.1
Hclip
, aeson >=2
, base
, directory
, filepath
, gamgee
, optparse-applicative ==0.15.1.0
, polysemy ==1.5.0.0
, relude ==0.7.0.0
, safe-exceptions ==0.1.7.1
, text ==1.2.4.1
, time ==1.9.3
, unix ==2.7.2.2
, optparse-applicative
, polysemy
, relude
, safe-exceptions
, text
, time
, unix
default-language: Haskell2010

test-suite gamgee-test
Expand All @@ -94,20 +94,20 @@ test-suite gamgee-test
default-extensions: ApplicativeDo BangPatterns ConstraintKinds DataKinds DefaultSignatures DeriveAnyClass DeriveFoldable DeriveFunctor DeriveGeneric DeriveLift DeriveTraversable DerivingStrategies EmptyCase ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MultiParamTypeClasses MultiWayIf NamedFieldPuns NoImplicitPrelude OverloadedStrings PatternSynonyms PolyKinds RankNTypes ScopedTypeVariables StandaloneDeriving TemplateHaskell TupleSections TypeApplications TypeFamilies TypeFamilyDependencies TypeOperators
ghc-options: -Wall -Wcompat -Wredundant-constraints -Wincomplete-record-updates -Wincomplete-uni-patterns -threaded -rtsopts -with-rtsopts=-N
build-depends:
QuickCheck ==2.14.2
, aeson ==1.5.6.0
, base ==4.14.1.0
, bytestring ==0.10.12.0
, cryptonite ==0.27
, filepath ==1.4.2.1
QuickCheck
, aeson >=2
, base
, bytestring
, cryptonite
, filepath
, gamgee
, memory ==0.15.0
, polysemy ==1.5.0.0
, quickcheck-instances ==0.3.25.2
, relude ==0.7.0.0
, tasty ==1.2.3
, tasty-golden ==2.3.3.2
, tasty-quickcheck ==0.10.1.2
, text ==1.2.4.1
, time ==1.9.3
, memory
, polysemy
, quickcheck-instances
, relude
, tasty
, tasty-golden
, tasty-quickcheck
, text
, time
default-language: Haskell2010