mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-31 16:57:55 +00:00
Gabriel Arazas
e8e2d67810
NixOS doesn't allow configuring nixpkgs modularly for externally defined nixpkgs instances so we'll have to create the option ourselves. This is also defined for other module environments just in case.
49 lines
1.1 KiB
Nix
49 lines
1.1 KiB
Nix
{ inputs, lib, ... }: {
|
|
imports = [
|
|
./dev.nix
|
|
./packages.nix
|
|
./templates.nix
|
|
|
|
# Environment configurations.
|
|
./disko.nix
|
|
./home-manager.nix
|
|
./nixos.nix
|
|
./nixvim.nix
|
|
|
|
# Subprojects.
|
|
./bahaghari.nix
|
|
./wrapper-manager-fds.nix
|
|
];
|
|
|
|
_module.args = {
|
|
# This will be shared among NixOS and home-manager configurations.
|
|
defaultNixConf = { config, lib, pkgs, ... }: {
|
|
# Extend nixpkgs with our overlays except for the NixOS-focused modules
|
|
# here.
|
|
nixpkgs.overlays = lib.attrValues inputs.self.overlays;
|
|
};
|
|
|
|
defaultOverlays = lib.attrValues inputs.self.overlays;
|
|
|
|
defaultSystems = [ "x86_64-linux" ];
|
|
};
|
|
|
|
setups.sharedNixpkgsConfig = {
|
|
allowUnfree = true;
|
|
};
|
|
|
|
perSystem = { lib, system, ... }: {
|
|
_module.args = {
|
|
# nixpkgs for this module should be used as less as possible especially
|
|
# for building NixOS and home-manager systems.
|
|
pkgs = import inputs.nixpkgs {
|
|
inherit system;
|
|
config.allowUnfree = true;
|
|
overlays = lib.attrValues inputs.self.overlays ++ [
|
|
inputs.nur.overlay
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|