nix/flake.nix
Ameya Shenoy 2b3213c3f8 feat: init
Signed-off-by: Ameya Shenoy <shenoy.ameya@gmail.com>
2024-11-11 01:52:48 +05:30

86 lines
2.4 KiB
Nix

{
description = "CodingCoffee's Flakes!";
inputs = {
nixpkgs = { url = "github:NixOS/nixpkgs/nixos-unstable"; };
# The name "snowfall-lib" is required due to how Snowfall Lib processes your
# flake's inputs.
snowfall-lib = {
url = "github:snowfallorg/lib";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-hardware = { url = "github:NixOS/nixos-hardware/master"; };
darwin-nixpkgs = { url = "github:NixOS/nixpkgs/nixpkgs-unstable"; };
nix-darwin = {
url = "github:LnL7/nix-darwin";
inputs.nixpkgs.follows = "darwin-nixpkgs";
};
wezterm = {
url = "github:wez/wezterm?dir=nix";
inputs.nixpkgs.follows = "nixpkgs";
};
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-needtoreboot = {
url = "github:thefossguy/nixos-needsreboot";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs:
let
lib = inputs.snowfall-lib.mkLib {
# You must provide our flake inputs to Snowfall Lib.
inherit inputs;
# The `src` must be the root of the flake. See configuration
# in the next section for information on how you can move your
# Nix files to a separate directory.
src = ./.;
# Configure Snowfall Lib, all of these settings are optional.
snowfall = {
# Tell Snowfall Lib to look in the `./nix/` directory for your
# Nix files.
root = ./nix;
# Choose a namespace to use for your flake's packages, library,
# and overlays.
namespace = "snowflake";
# Add flake metadata that can be processed by tools like Snowfall Frost.
meta = {
# A slug to use in documentation when displaying things like file paths.
name = "cc-nix-snowflake";
# A title to show for your flake, typically the name.
title = "CodingCoffee's Flakes!";
};
};
};
in lib.mkFlake {
channels-config = { allowUnfree = true; };
systems = {
modules = {
nixos = with inputs; [
home-manager.nixosModules.home-manager
disko.nixosModules.disko
];
};
};
};
}