homesync/flake.nix

58 lines
1.5 KiB
Nix
Raw Normal View History

2021-12-28 22:06:17 +00:00
{
description = "Project for syncing various home-system configuration files.";
inputs = {
2022-01-09 14:38:13 +00:00
cargo2nix.url = "github:cargo2nix/cargo2nix/master";
2022-03-23 16:22:49 +00:00
flake-compat = {
url = github:edolstra/flake-compat;
flake = false;
};
flake-utils.url = "github:numtide/flake-utils";
nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
2022-01-09 14:38:13 +00:00
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
};
};
2021-12-28 22:06:17 +00:00
};
2022-03-23 16:22:49 +00:00
outputs = { self, cargo2nix, flake-compat, flake-utils, nixpkgs, rust-overlay }:
2021-12-28 22:06:17 +00:00
flake-utils.lib.eachDefaultSystem (system:
let
2022-01-09 14:38:13 +00:00
pkgs = import nixpkgs {
inherit system;
overlays = [
(import "${cargo2nix}/overlay") rust-overlay.overlay
];
};
rustPkgs = pkgs.rustBuilder.makePackageSet' {
rustChannel = "1.56.1";
packageFun = import ./Cargo.nix;
};
in rec {
packages = {
homesync = (rustPkgs.workspace.homesync {}).bin;
};
defaultPackage = packages.homesync;
2021-12-28 22:06:17 +00:00
devShell = with pkgs; mkShell {
buildInputs = [
cargo
rls
2021-12-30 13:37:53 +00:00
libiconv
2021-12-28 22:06:17 +00:00
rustc
rustfmt
2021-12-30 13:37:53 +00:00
] ++ lib.optionals stdenv.isDarwin (
with darwin.apple_sdk.frameworks; [ CoreServices ]
) ++ lib.optionals stdenv.isLinux [
pkgs.openssl
pkgs.zlib
];
2021-12-28 22:06:17 +00:00
};
});
}