git.delta.rocks / jrsonnet / refs/commits / 0acb02b71741

difftreelog

source

flake.nix1.6 KiBsourcehistory
1{2  description = "Dotfiles manager";3  inputs = {4    nixpkgs.url = "github:nixos/nixpkgs";5    flake-utils.url = "github:numtide/flake-utils";6    naersk.url = "github:nix-community/naersk";7    rust-overlay.url = "github:oxalica/rust-overlay";8    pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";9  };10  outputs = { self, nixpkgs, flake-utils, rust-overlay, pre-commit-hooks, naersk }:11    flake-utils.lib.eachDefaultSystem (system:12      let13        pkgs = import nixpkgs14          {15            inherit system;16            overlays = [ rust-overlay.overlay ];17          };18        rust = ((pkgs.rustChannelOf { date = "2021-11-11"; channel = "nightly"; }).default.override {19          extensions = [ "rust-src" ];20        });21        naersk-lib = naersk.lib."${system}".override {22          rustc = rust;23          cargo = rust;24        };25      in26      rec {27        checks = {28          pre-commit-check = pre-commit-hooks.lib.${system}.run {29            src = ./.;30            hooks = {31              nixpkgs-fmt.enable = true;32            };33          };34        };35        defaultPackage = naersk-lib.buildPackage {36          pname = "dotman";37          root = ./.;38          buildInputs = with pkgs; [39            pkgs.sqlite40          ];41        };42        devShell = pkgs.mkShell {43          inherit (checks.pre-commit-check) shellHook;44          nativeBuildInputs = with pkgs;[45            pkgs.binutils46            pkgs.pkgconfig47            pkgs.clang48            pkgs.x1149            pkgs.alsaLib50            pkgs.libudev51            pkgs.sqlite52            rust53            cargo-edit54            go-jsonnet55          ];56        };57      }58    );59}