nixos-config/flake.nix

89 lines
2 KiB
Nix

{
description = "NixOs Config";
inputs = {
# nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
unstable.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager/master";
# url = "github:nix-community/home-manager/release-24.05";
inputs.nixpkgs.follows = "nixpkgs";
};
snowfall-lib = {
url = "github:snowfallorg/lib";
inputs.nixpkgs.follows = "nixpkgs";
};
snowfall-flake = {
url = "github:snowfallorg/flake";
inputs.nixpkgs.follows = "unstable";
};
kickstartnvim = {
url = "github:Daholli/kickstart-nix-nvim";
inputs.nixpkgs.follows = "nixpkgs";
};
# Hardware Configuration
nixos-hardware.url = "github:nixos/nixos-hardware";
# Run unpatched dynamically compiled binaries
nix-ld = {
url = "github:Mic92/nix-ld";
inputs.nixpkgs.follows = "unstable";
};
# GPG default configuration
gpg-base-conf = {
url = "github:drduh/config";
flake = false;
};
pyfa = {
url = "github:Daholli/Pyfa/nixos-support";
inputs.nixpkgs.follows = "unstable";
};
sops-nix.url = "github:Mic92/sops-nix";
};
outputs =
inputs:
let
lib = inputs.snowfall-lib.mkLib {
inherit inputs;
src = ./.;
snowfall = {
meta = {
name = "wyrdgard";
title = "Wyrdgard";
};
namespace = "wyrdgard";
};
};
in
lib.mkFlake {
channels-config = {
allowUnfree = true;
};
outputs-builder = channels: { formatter = channels.nixpkgs.nixfmt-rfc-style; };
overlays = with inputs; [
snowfall-flake.overlays.default
kickstartnvim.overlays.default
];
systems.modules.nixos = with inputs; [
home-manager.nixosModules.home-manager
nix-ld.nixosModules.nix-ld
sops-nix.nixosModules.sops
];
};
}