cerulean/flake.nix
2026-01-15 12:49:41 +10:00

67 lines
1.7 KiB
Nix

# Copyright 2025 Emile Clark-Boman
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{
description = "Your Nix Cloud Simplified";
inputs = {
systems.url = "github:nix-systems/default";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
nib = {
url = "github:emilelcb/nib";
inputs.systems.follows = "systems";
};
mix.url = "github:emilelcb/mix";
deploy-rs.url = "github:serokell/deploy-rs";
};
outputs = {
self,
nixpkgs,
nixpkgs-unstable,
nib,
deploy-rs,
...
} @ inputs: let
lib = nixpkgs.lib;
sys = nib.mkUSys {
pkgs = nib.withPkgs nixpkgs {
config.allowUnfree = false;
overlays = builtins.attrValues self.overlays;
};
upkgs = nib.withPkgs nixpkgs-unstable {
config.allowUnfree = false;
};
};
cerulean = import ./cerulean {inherit inputs lib sys;};
in {
overlays = [
# build deploy-rs as a package not from the flake input,
# hence we can rely on a nixpkg binary cache.
deploy-rs.overlays.default
(self: super: {
deploy-rs = {
inherit (super) deploy-rs;
lib = super.deploy-rs.lib;
};
})
];
};
}