# Thanks to https://colinramsay.co.uk/2021/10/19/migrating-a-nixos-install-to-flakes.html
{
inputs = {
# Firefox nightly overlay
# TODO: replace when #344 closes: https://github.com/mozilla/nixpkgs-mozilla/pull/344
mozilla-overlay.url = "github:mozilla/nixpkgs-mozilla?ref=pull/344/head";
# Home manager
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
# Lix
lix = {
url = "https://git.lix.systems/lix-project/lix/archive/main.tar.gz";
flake = false;
};
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
inputs.lix.follows = "lix";
};
# Nixpkgs
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
# Rust overlay
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
};
# Boilerplate from https://nix-community.github.io/home-manager/index.xhtml#sec-flakes-nixos-module
outputs =
inputs@{
nixpkgs,
home-manager,
lix-module,
lix,
...
}:
{
nixosConfigurations = {
# A gotcha: nixos is the HOSTNAME, need to change this eventually
nixos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./nixos/configuration.nix
home-manager.nixosModules.home-manager
lix-module.nixosModules.default
# Home-manager configuration
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.finchie = import ./home.nix;
}
# Nixpkgs overlays
{
nixpkgs.overlays = with inputs; [
rust-overlay.overlays.default
mozilla-overlay.overlay
# wild.overlays.default
];
}
];
};
};
};
}