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(-)
@@ -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
@@ -0,0 +1,6 @@
module Main (main) where
import Distribution.Simple
main :: IO ()
main = defaultMain
@@ -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
@@ -1,2 +0,0 @@
{ pkgs ? import <nixpkgs> { } }:
pkgs.haskellPackages.callCabal2nix "certificate-updater" ./. { }
@@ -58,4 +58,4 @@
},
"root": "root",
"version": 7
}
}
\ No newline at end of file
@@ -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, ... }:
@@ -1,4 +0,0 @@
{ pkgs ? import <nixpkgs> { }, ... }:
pkgs.mkShell {
inputsFrom = [ (pkgs.haskellPackages.callCabal2nix "certificate-updater" ./. { }).env ];
}