262 lines
5.9 KiB
Nix
262 lines
5.9 KiB
Nix
# * common.nix
|
|
{
|
|
pkgs,
|
|
lib,
|
|
mkkArg,
|
|
config,
|
|
...
|
|
}:
|
|
{
|
|
imports = [
|
|
# * Config
|
|
# ** NIX & NIXPKGS
|
|
{
|
|
nixpkgs.config = {
|
|
allowUnfree = lib.mkDefault true;
|
|
joypixels.acceptLicense = lib.mkDefault true;
|
|
nvidia.acceptLicense = lib.mkDefault true;
|
|
};
|
|
|
|
nix.package = lib.mkDefault pkgs.nixVersions.latest;
|
|
nix.settings = {
|
|
experimental-features = [
|
|
"nix-command"
|
|
"flakes"
|
|
"no-url-literals"
|
|
];
|
|
|
|
auto-optimise-store = true;
|
|
trusted-users = [
|
|
"root"
|
|
"@wheel"
|
|
];
|
|
|
|
substituters = [
|
|
"https://nix-community.cachix.org"
|
|
"https://cache.nixos.org/"
|
|
"https://nixerus.cachix.org/"
|
|
];
|
|
trusted-public-keys = [
|
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
"nixerus.cachix.org-1:2x7sIG7y1vAoxc8BNRJwsfapZsiX4hIl4aTi9V5ZDdE="
|
|
];
|
|
};
|
|
|
|
nix.registry = {
|
|
nixpkgs-stable = {
|
|
from = {
|
|
type = "indirect";
|
|
id = "nixpkgs-stable";
|
|
};
|
|
flake = mkkArg.stable.nixpkgs;
|
|
};
|
|
nixpkgs-unstable = {
|
|
from = {
|
|
type = "indirect";
|
|
id = "nixpkgs-unstable";
|
|
};
|
|
flake = mkkArg.unstable.nixpkgs;
|
|
};
|
|
|
|
nixpkgs = {
|
|
from = {
|
|
type = "indirect";
|
|
id = "nixpkgs";
|
|
};
|
|
flake = mkkArg.current.nixpkgs;
|
|
};
|
|
|
|
emacs-overlay = {
|
|
from = {
|
|
type = "indirect";
|
|
id = "emacs-overlay";
|
|
};
|
|
flake = mkkArg.current.emacs-overlay;
|
|
};
|
|
|
|
flake-utils = {
|
|
from = {
|
|
type = "indirect";
|
|
id = "flake-utils";
|
|
};
|
|
flake = mkkArg.current.flake-utils;
|
|
};
|
|
|
|
nixos-hardware = {
|
|
from = {
|
|
type = "indirect";
|
|
id = "nixos-hardware";
|
|
};
|
|
flake = mkkArg.current.nixos-hardware;
|
|
};
|
|
|
|
nixerus = {
|
|
from = {
|
|
type = "indirect";
|
|
id = "nixerus";
|
|
};
|
|
flake = mkkArg.current.nixerus;
|
|
};
|
|
|
|
devshell = {
|
|
from = {
|
|
type = "indirect";
|
|
id = "devshell";
|
|
};
|
|
flake = mkkArg.current.devshell;
|
|
};
|
|
|
|
home-manager = {
|
|
from = {
|
|
type = "indirect";
|
|
id = "home-manager";
|
|
};
|
|
flake = mkkArg.current.home-manager;
|
|
};
|
|
|
|
sops-nix = {
|
|
from = {
|
|
type = "indirect";
|
|
id = "sops-nix";
|
|
};
|
|
flake = mkkArg.current.sops-nix;
|
|
};
|
|
|
|
base16 = {
|
|
from = {
|
|
type = "indirect";
|
|
id = "base16";
|
|
};
|
|
flake = mkkArg.current.base16;
|
|
};
|
|
|
|
git-agecrypt = {
|
|
from = {
|
|
type = "indirect";
|
|
id = "git-agecrypt";
|
|
};
|
|
flake = mkkArg.current.git-agecrypt;
|
|
};
|
|
|
|
plasma-manager = {
|
|
from = {
|
|
type = "indirect";
|
|
id = "plasma-manager";
|
|
};
|
|
flake = mkkArg.current.plasma-manager;
|
|
};
|
|
|
|
nur = {
|
|
from = {
|
|
type = "indirect";
|
|
id = "nur";
|
|
};
|
|
flake = mkkArg.current.nur;
|
|
};
|
|
|
|
nix-vscode-extensions = {
|
|
from = {
|
|
type = "indirect";
|
|
id = "nix-vscode-extensions";
|
|
};
|
|
flake = mkkArg.current.nix-vscode-extensions;
|
|
};
|
|
|
|
impermanence = {
|
|
from = {
|
|
type = "indirect";
|
|
id = "impermanence";
|
|
};
|
|
flake = mkkArg.current.impermanence;
|
|
};
|
|
|
|
};
|
|
}
|
|
# ** Variables
|
|
{
|
|
mkk.commonVariables = {
|
|
packageLists = rec {
|
|
defaultFonts = [
|
|
pkgs.dejavu_fonts
|
|
pkgs.freefont_ttf
|
|
pkgs.gyre-fonts
|
|
pkgs.liberation_ttf
|
|
pkgs.unifont
|
|
];
|
|
fonts = [
|
|
pkgs.noto-fonts
|
|
pkgs.noto-fonts-extra
|
|
pkgs.noto-fonts-emoji
|
|
pkgs.noto-fonts-cjk-sans
|
|
pkgs.noto-fonts-cjk-serif
|
|
|
|
pkgs.wqy_zenhei
|
|
|
|
pkgs.corefonts
|
|
pkgs.hack-font
|
|
pkgs.ubuntu_font_family
|
|
pkgs.monocraft
|
|
|
|
pkgs.nerd-fonts.hack
|
|
pkgs.nerd-fonts.meslo-lg
|
|
pkgs.nerd-fonts.droid-sans-mono
|
|
pkgs.nerd-fonts.profont
|
|
pkgs.nerd-fonts.fira-code
|
|
|
|
] ++ defaultFonts;
|
|
|
|
};
|
|
};
|
|
}
|
|
# ** Assertions
|
|
{
|
|
config.assertions = [
|
|
{
|
|
assertion = builtins ? currentSystem;
|
|
message = "MKK must be build with --impure";
|
|
}
|
|
|
|
{
|
|
assertion = mkkArg.isDecrypted;
|
|
message = "Need to decrypt MKK repo to build";
|
|
}
|
|
];
|
|
}
|
|
# ** Args
|
|
{
|
|
imports = [
|
|
(if mkkArg.isDecrypted then ./variables-private.nix else {})
|
|
(if mkkArg.isOs then ./common-os.nix else {})
|
|
];
|
|
options.konfig = lib.mkOption { default = { }; };
|
|
options.mkk.commonVariables = lib.mkOption { default = { }; };
|
|
|
|
config = {
|
|
konfig = {
|
|
unstable = mkkArg.unstable;
|
|
stable = mkkArg.stable;
|
|
current = mkkArg.current;
|
|
nixerusPkgs =
|
|
(import mkkArg.current.nixerus { inherit pkgs; })
|
|
// (
|
|
if (pkgs.system == "x86_64-linux") then
|
|
{
|
|
i686Linux = import mkkArg.current.nixerus { pkgs = pkgs.pkgsi686Linux; };
|
|
}
|
|
else
|
|
{ }
|
|
);
|
|
|
|
arg = mkkArg;
|
|
rootFlake = (builtins.getFlake mkkArg.configRootPath);
|
|
vars = config.mkk.commonVariables;
|
|
};
|
|
_module.args.konfig = config.konfig;
|
|
};
|
|
}
|
|
|
|
# * common.nix END
|
|
];
|
|
|
|
}
|