NixOS system configurations + dotfiles via home-manager
1{
2 flake.modules.nixos.core =
3 { config, lib, ... }:
4 let
5 username = config.local.user.name;
6 userCfg = config.users.users.${username};
7 vmVariant = {
8 nixpkgs.hostPlatform = "x86_64-linux";
9 users.users.root.hashedPasswordFile = lib.mkForce null;
10 users.users.${username} = {
11 password = "";
12 hashedPasswordFile = lib.mkForce null;
13 };
14 # https://github.com/NixOS/nixpkgs/issues/6481
15 systemd.tmpfiles.rules = [
16 "d ${userCfg.home} ${userCfg.homeMode} ${userCfg.name} ${userCfg.group}"
17 ];
18 virtualisation = {
19 cores = 3;
20 memorySize = 1024 * 3;
21 graphics = false;
22 };
23 };
24 in
25 {
26 virtualisation = {
27 inherit vmVariant;
28 vmVariantWithDisko = vmVariant;
29 };
30 };
31}