Merge branch 'add-nix-flake'

This commit is contained in:
Tomas Janousek
2021-08-01 22:07:11 +01:00
2 changed files with 52 additions and 0 deletions

25
.github/workflows/nix.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
name: Nix
on:
push:
pull_request:
jobs:
build:
runs-on: ubuntu-latest
name: Nix Flake - Linux
permissions:
contents: read
steps:
- name: Install Nix
uses: cachix/install-nix-action@v13
with:
install_url: https://nixos-nix-install-tests.cachix.org/serve/i6laym9jw3wg9mw6ncyrk6gjx4l34vvx/install
install_options: '--tarball-url-prefix https://nixos-nix-install-tests.cachix.org/serve'
extra_nix_config: |
experimental-features = nix-command flakes
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
- name: Clone project
uses: actions/checkout@v2
- name: Build
run: nix build

27
flake.nix Normal file
View File

@@ -0,0 +1,27 @@
# This file is maintained by @IvanMalison (github)
{
inputs = {
flake-utils.url = github:numtide/flake-utils;
git-ignore-nix.url = github:IvanMalison/gitignore.nix/master;
};
outputs = { self, flake-utils, nixpkgs, git-ignore-nix }:
let
overlay = final: prev: {
haskellPackages = prev.haskellPackages.override (old: {
overrides = prev.lib.composeExtensions (old.overrides or (_: _: {}))
(hself: hsuper: {
xmonad = hself.callCabal2nix "xmonad" (git-ignore-nix.gitIgnoreSource ./.) { };
});
});
};
overlays = [ overlay ];
in flake-utils.lib.eachDefaultSystem (system:
let pkgs = import nixpkgs { inherit system overlays; };
in
rec {
devShell = pkgs.haskellPackages.shellFor {
packages = p: [ p.xmonad ];
};
defaultPackage = pkgs.haskellPackages.xmonad;
}) // { inherit overlay overlays; } ;
}