feasible config for the beginning
This commit is contained in:
parent
b4c2ba8174
commit
25d5980e6c
13 changed files with 563 additions and 203 deletions
89
modules/nixOS/default.nix
Normal file
89
modules/nixOS/default.nix
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
inputs,
|
||||
outputs,
|
||||
helperLib,
|
||||
...
|
||||
}: let
|
||||
cfg = config.myNixOS;
|
||||
|
||||
# Taking all modules in ./features and adding enables to them
|
||||
features =
|
||||
helperLib.extendModules
|
||||
(name: {
|
||||
extraOptions = {
|
||||
myNixOS.${name}.enable = lib.mkEnableOption "enable my ${name} configuration";
|
||||
};
|
||||
|
||||
configExtension = config: (lib.mkIf cfg.${name}.enable config);
|
||||
})
|
||||
(helperLib.filesIn ./features);
|
||||
|
||||
# taking all module bundles in ./bundles and adding bundle.enables to them
|
||||
bundles =
|
||||
helperLib.extendModules
|
||||
(name: {
|
||||
extraOptions = {
|
||||
myNixOS.bundles.${name}.enable = lib.mkEnableOption "enable ${name} module bundle";
|
||||
};
|
||||
|
||||
configExtension = config: (lib.mkIf cfg.bundles.${name}.enable config);
|
||||
})
|
||||
(helperLib.filesIn ./bundles);
|
||||
|
||||
# taking all module services in ./services and adding service.enables to them
|
||||
# services =
|
||||
# helperLib.extendModules
|
||||
# (name: {
|
||||
# extraOptions = {
|
||||
# myNixOS.services.${name}.enable = lib.mkEnableOption "enable ${name} module service";
|
||||
# };
|
||||
#
|
||||
# configExtension = config: (lib.mkIf cfg.services.${name}.enable config);
|
||||
# })
|
||||
# (helperLib.filesIn ./services);
|
||||
in {
|
||||
imports =
|
||||
[
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
]
|
||||
++ features
|
||||
++ bundles
|
||||
# ++ services
|
||||
;
|
||||
|
||||
options.myNixOS = {
|
||||
sharedSettings = {
|
||||
# put settings here that are shared between homemanager and nixos, e.g.
|
||||
# hyprland.enable = lib.mkEnableOption "enable hyprland";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
config = {
|
||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||
programs.nix-ld.enable = true;
|
||||
nixpkgs.config.allowUnfree = lib.mkDefault true;
|
||||
|
||||
myNixOS = {
|
||||
defaultLocale.enable = lib.mkDefault true;
|
||||
|
||||
bundles.users.enable = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
# imports = [
|
||||
# ./neo.nix
|
||||
# ./locale.nix
|
||||
# ./pipewire.nix
|
||||
# ];
|
||||
#
|
||||
# locale.enable = lib.mkDefault true;
|
||||
# neo.enable = lib.mkDefault true;
|
||||
#
|
||||
# pipewire.enable = lib.mkDefault true;
|
||||
# pipewire.useJack = lib.mkDefault false;
|
||||
# }
|
||||
Loading…
Add table
Add a link
Reference in a new issue