Compare commits
2 Commits
c09e7674f4
...
579259b156
Author | SHA1 | Date | |
---|---|---|---|
579259b156 | |||
fa2081dab1 |
@ -24,20 +24,22 @@ let
|
|||||||
hardware.cpu.intel.updateMicrocode = lib.mkForce false;
|
hardware.cpu.intel.updateMicrocode = lib.mkForce false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
essential = [ hardwareConfigurations.nova inputs.hosts.nixosModule inputs.home-manager.nixosModules.default ] ++ (with mods; [ grub base sound wayland security ivand wireless wireguard ]);
|
essential = with mods; [ grub base security wireless wireguard ];
|
||||||
systemWithModules = modules: withSystem system (ctx@{ config, inputs', pkgs, ... }: inputs.nixpkgs.lib.nixosSystem {
|
desktop = with mods; [ sound wayland ];
|
||||||
|
configWithModules = { hardware, modules }: withSystem system (ctx@{ config, inputs', pkgs, ... }: inputs.nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit inputs inputs' pkgs;
|
inherit inputs inputs' pkgs;
|
||||||
packages = config.packages;
|
packages = config.packages;
|
||||||
};
|
};
|
||||||
modules = modules;
|
modules = [ hardware ] ++ modules;
|
||||||
});
|
});
|
||||||
|
novaConfig = mods: configWithModules { hardware = hardwareConfigurations.nova; modules = essential ++ desktop ++ mods; };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
flake.nixosConfigurations = {
|
flake.nixosConfigurations = {
|
||||||
nixos = systemWithModules essential;
|
nixos = novaConfig [ mods.ivand ];
|
||||||
music = systemWithModules (essential ++ [ inputs.musnix.nixosModules.musnix mods.music ]);
|
music = novaConfig (with mods; [ music ivand ]);
|
||||||
nonya = systemWithModules (essential ++ (with mods; [ anon cryptocurrency ]));
|
nonya = novaConfig (with mods; [ anon cryptocurrency ivand ]);
|
||||||
ai = systemWithModules (essential ++ (with mods; [ ai ]));
|
ai = novaConfig (with mods; [ ai ivand ]);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
top@{ moduleWithSystem, ... }: {
|
top@{ inputs, moduleWithSystem, ... }: {
|
||||||
flake.nixosModules = {
|
flake.nixosModules = {
|
||||||
grub = moduleWithSystem (toplevel@{ ... }: perSystem@{ pkgs, ... }: {
|
grub = moduleWithSystem (toplevel@{ ... }: perSystem@{ pkgs, ... }: {
|
||||||
boot = {
|
boot = {
|
||||||
@ -13,6 +13,7 @@ top@{ moduleWithSystem, ... }: {
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
base = moduleWithSystem (toplevel@{ ... }: perSystem@{ pkgs, ... }: {
|
base = moduleWithSystem (toplevel@{ ... }: perSystem@{ pkgs, ... }: {
|
||||||
|
imports = [ inputs.hosts.nixosModule ];
|
||||||
system.stateVersion = top.config.flake.stateVersion;
|
system.stateVersion = top.config.flake.stateVersion;
|
||||||
nix = { extraOptions = ''experimental-features = nix-command flakes''; };
|
nix = { extraOptions = ''experimental-features = nix-command flakes''; };
|
||||||
i18n.supportedLocales = [ "all" ];
|
i18n.supportedLocales = [ "all" ];
|
||||||
@ -35,6 +36,7 @@ top@{ moduleWithSystem, ... }: {
|
|||||||
environment.systemPackages = with pkgs; [ pwvucontrol ];
|
environment.systemPackages = with pkgs; [ pwvucontrol ];
|
||||||
});
|
});
|
||||||
music = moduleWithSystem (toplevel@{ ... }: perSystem@{ pkgs, ... }: {
|
music = moduleWithSystem (toplevel@{ ... }: perSystem@{ pkgs, ... }: {
|
||||||
|
imports = [ inputs.musnix.nixosModules.musnix ];
|
||||||
environment.systemPackages = with pkgs; [ guitarix ];
|
environment.systemPackages = with pkgs; [ guitarix ];
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
jack.enable = true;
|
jack.enable = true;
|
||||||
@ -128,6 +130,7 @@ top@{ moduleWithSystem, ... }: {
|
|||||||
};
|
};
|
||||||
ivand = moduleWithSystem (toplevel@{ ... }: perSystem@{ pkgs, ... }:
|
ivand = moduleWithSystem (toplevel@{ ... }: perSystem@{ pkgs, ... }:
|
||||||
let homeMods = top.config.flake.homeManagerModules; in {
|
let homeMods = top.config.flake.homeManagerModules; in {
|
||||||
|
imports = [ inputs.home-manager.nixosModules.default ];
|
||||||
home-manager = {
|
home-manager = {
|
||||||
backupFileExtension = "bak";
|
backupFileExtension = "bak";
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user