80 lines
2.2 KiB
Nix
80 lines
2.2 KiB
Nix
# * Common OS
|
|
{
|
|
lib,
|
|
pkgs,
|
|
mkkArg,
|
|
config,
|
|
konfig,
|
|
...
|
|
}:
|
|
{
|
|
|
|
imports = [
|
|
mkkArg.current.sops-nix.nixosModules.sops
|
|
# * Config
|
|
# ** System
|
|
# *** Fonts
|
|
{
|
|
options.mkk.os.fonts.enable = konfig.nixerusPkgs.lib.mkBoolOpt false "Enable MKK font settings for OS";
|
|
|
|
config = lib.mkIf config.mkk.os.fonts.enable {
|
|
|
|
fonts.packages = konfig.vars.packageLists.fonts;
|
|
fonts.enableDefaultPackages = lib.mkDefault true;
|
|
|
|
fonts.fontconfig.enable = lib.mkDefault true;
|
|
fonts.fontconfig.cache32Bit = lib.mkDefault true;
|
|
|
|
fonts.fontconfig.defaultFonts.sansSerif = [ "Noto Sans" "DejaVu Sans" "WenQuanYi Zen Hei" "Noto Color Emoji" ];
|
|
fonts.fontconfig.defaultFonts.serif = [ "Noto Serif" "DejaVu Serif" "WenQuanYi Zen Hei" "Noto Color Emoji" ];
|
|
fonts.fontconfig.defaultFonts.emoji = [ "Noto Color Emoji" "OpenMoji Color" ];
|
|
fonts.fontconfig.defaultFonts.monospace = [ "Hack Nerd Font" "Noto Sans Mono" "WenQuanYi Zen Hei Mono" ];
|
|
|
|
fonts.fontDir.enable = lib.mkDefault true;
|
|
};
|
|
}
|
|
# ** Shells
|
|
# *** Zsh
|
|
{
|
|
options.mkk.os.zsh.enable =
|
|
konfig.nixerusPkgs.lib.mkBoolOpt true "Enable MKK system zsh config";
|
|
config = lib.mkIf config.mkk.os.zsh.enable {
|
|
users.defaultUserShell = pkgs.zsh;
|
|
environment.shells = [ pkgs.zsh ];
|
|
programs.zsh = {
|
|
enable = true;
|
|
enableGlobalCompInit = false;
|
|
interactiveShellInit = ''
|
|
if [[ ''${__MATERUS_HM_ZSH:-0} == 0 ]]; then
|
|
source ${pkgs.grml-zsh-config}/etc/zsh/zshrc
|
|
fi
|
|
'';
|
|
promptInit = '''';
|
|
};
|
|
};
|
|
}
|
|
# ** Assertions
|
|
{
|
|
assertions = [
|
|
{
|
|
assertion = builtins.pathExists (config.konfig.vars.path.mkk + "/host/keys/ssh_host_ed25519_key");
|
|
message = "Not found host ed25519 key";
|
|
}
|
|
{
|
|
assertion = builtins.pathExists (config.konfig.vars.path.mkk + "/host/keys//ssh_host_rsa_key");
|
|
message = "Not found host RSA key";
|
|
}
|
|
];
|
|
}
|
|
# ** Variables
|
|
{
|
|
mkk.commonVariables = {
|
|
path = {
|
|
mkk = "/mkk";
|
|
};
|
|
};
|
|
}
|
|
# * Common OS END
|
|
];
|
|
}
|