66 lines
1.3 KiB
Nix
66 lines
1.3 KiB
Nix
{ inputs, config, lib, nur, emacs, ... }:
|
|
|
|
/*
|
|
TODO: Make these arguments unneccessary
|
|
|
|
Idea: Make miku.nix, mashu.nix, ... have the following structure
|
|
|
|
{
|
|
architecture: "x86_64-linux";
|
|
config = { ... }: {
|
|
# ...
|
|
};
|
|
}
|
|
*/
|
|
{
|
|
hostConfigFile
|
|
, architecture ? "x86_64-linux"
|
|
}: let
|
|
pkgs = inputs.nixpkgs;
|
|
config = pkgs.lib;
|
|
network = import ./network.nix;
|
|
|
|
util = import ./default.nix {
|
|
inherit inputs config lib;
|
|
};
|
|
|
|
in inputs.nixpkgs.lib.nixosSystem {
|
|
system = architecture;
|
|
|
|
modules = [
|
|
# User configuration management
|
|
inputs.home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager.useGlobalPkgs = true;
|
|
}
|
|
|
|
# Overlays
|
|
(util.mkOverlayFromInput "stable" inputs.stable)
|
|
(util.mkOverlayFromInput "unstable" inputs.nixpkgs)
|
|
{
|
|
nixpkgs.overlays = [
|
|
nur.overlay
|
|
emacs.overlay
|
|
(import ../packages)
|
|
(import ../overlays/simple.nix)
|
|
|
|
# Always keep sandbox.nix as the last overlay
|
|
(import ../overlays/sandbox.nix)
|
|
];
|
|
}
|
|
|
|
# My module system
|
|
(import ../modules)
|
|
inputs.ostylk.nixosModules.nftables
|
|
inputs.tablet-mode.nixosModule
|
|
|
|
# Actual config
|
|
(import ./baseSystem.nix)
|
|
(import hostConfigFile)
|
|
];
|
|
|
|
specialArgs = {
|
|
inherit inputs;
|
|
};
|
|
}
|