🏡 index : ~doyle/certificate-updater.git

author Jordan Doyle <jordan@doyle.la> 2023-09-09 13:57:47.0 +00:00:00
committer Jordan Doyle <jordan@doyle.la> 2023-09-09 18:07:19.0 +00:00:00
commit
c8bd0f472d8e7d0e508c5dc03787b29b90ddcd80 [patch]
tree
719d8f9b049519c1db8cce0ccefb7e269a97efff
parent
50b377ecc52054bda9c5c5a0c8d9e2116ce89e1f
download
c8bd0f472d8e7d0e508c5dc03787b29b90ddcd80.tar.gz

Use nixbuild



Diff

 .github/workflows/build.yml | 17 +++++------------
 Setup.hs                    |  6 ++++++
 certificate-updater.cabal   |  8 +++++++-
 default.nix                 |  2 --
 flake.lock                  |  2 +-
 flake.nix                   | 14 +++++++++++---
 shell.nix                   |  4 ----
 7 files changed, 30 insertions(+), 23 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 6182ace..6e25b8f 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -4,15 +4,8 @@ on:
  push:
jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest]
    steps:
    - uses: actions/checkout@v3
    - uses: cachix/install-nix-action@v22
    - uses: cachix/cachix-action@v12
      with:
        name: w4
        authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
    - run: cachix watch-exec w4 -- nix build .#
    uses: nixbuild/nixbuild-action/.github/workflows/ci-workflow.yml@v17
    secrets:
      nixbuild_ssh_key: ${{ secrets.NIXBUILD_SSH_KEY }}
    with:
      filter_builds: .top_attr
diff --git a/Setup.hs b/Setup.hs
new file mode 100644
index 0000000..6fa548c
--- /dev/null
+++ b/Setup.hs
@@ -0,0 +1,6 @@
module Main (main) where

import Distribution.Simple

main :: IO ()
main = defaultMain
diff --git a/certificate-updater.cabal b/certificate-updater.cabal
index 1bbc9ba..c7244eb 100644
--- a/certificate-updater.cabal
+++ b/certificate-updater.cabal
@@ -9,10 +9,13 @@ license-file:       LICENSE
common warnings
    ghc-options: -Wall

flag threaded
    default: False

executable certificate-updater
    import:           warnings
    main-is:          Main.hs
    build-depends:    base ^>=4.17.0.0,
    build-depends:    base,
                      optparse-generic ^>=1.4.0,
                      rio ^>=0.1.22.0,
                      aeson ^>=2.1.2.1,
@@ -24,3 +27,6 @@ executable certificate-updater
                      unix ^>=2.7.2.2
    hs-source-dirs:   src
    default-language: Haskell2010

    if flag(threaded)
        ghc-options: -threaded
diff --git a/default.nix b/default.nix
deleted file mode 100644
index 7434aae..0000000
--- a/default.nix
+++ /dev/null
@@ -1,2 +0,0 @@
{ pkgs ? import <nixpkgs> { } }:
pkgs.haskellPackages.callCabal2nix "certificate-updater" ./. { }
diff --git a/flake.lock b/flake.lock
index 6f93f9c..ba4331a 100644
--- a/flake.lock
+++ b/flake.lock
@@ -58,4 +58,4 @@
  },
  "root": "root",
  "version": 7
}
}
\ No newline at end of file
diff --git a/flake.nix b/flake.nix
index 6e3149e..ed08905 100644
--- a/flake.nix
+++ b/flake.nix
@@ -5,13 +5,21 @@
  };

  outputs = { self, nixpkgs, utils }:
    utils.lib.eachDefaultSystem (system:
    utils.lib.eachSystem [ "x86_64-linux" "aarch64-linux" ] (system:
      let
        pkgs = import nixpkgs { inherit system; };
      in
      {
        packages.default = (import ./.) {
          inherit pkgs;
        packages.default = pkgs.haskellPackages.mkDerivation {
          pname = "certificate-updater";
          version = "0.1.0.0";
          src = ./.;
          isLibrary = false;
          isExecutable = true;
          executableHaskellDepends = with pkgs.haskellPackages; [
            base optparse-generic rio aeson time http-conduit http-types bytestring unordered-containers unix
          ];
          license = "WTFPL";
        };

        nixosModules.default = { config, lib, pkgs, ... }:
diff --git a/shell.nix b/shell.nix
deleted file mode 100644
index 4d0eb8b..0000000
--- a/shell.nix
+++ /dev/null
@@ -1,4 +0,0 @@
{ pkgs ? import <nixpkgs> { }, ... }:
pkgs.mkShell {
  inputsFrom = [ (pkgs.haskellPackages.callCabal2nix "certificate-updater" ./. { }).env ];
}