config/hosts/vm/configuration.nix

80 lines
1.7 KiB
Nix
Raw Normal View History

{
2024-02-04 16:18:47 +02:00
self,
lib,
pkgs,
2024-02-04 22:28:36 +02:00
myData,
2024-02-04 22:05:44 +02:00
config,
2024-02-04 16:18:47 +02:00
modulesPath,
...
}: {
2024-02-04 16:18:47 +02:00
imports = [
"${modulesPath}/profiles/all-hardware.nix"
"${modulesPath}/installer/cd-dvd/iso-image.nix"
../../modules/profiles/desktop
];
home-manager.useGlobalPkgs = true;
2024-02-04 22:05:44 +02:00
home-manager.users.nixos = {pkgs, ...}:
2024-02-04 22:23:56 +02:00
import ../../shared/home/default.nix {
inherit lib;
inherit pkgs;
inherit (config.mj) stateVersion;
username = "nixos";
devTools = true;
hmOnly = false;
email = "motiejus@jakstys.lt";
};
2024-02-04 16:18:47 +02:00
mj = {
2024-02-04 16:18:47 +02:00
stateVersion = "23.11";
timeZone = "UTC";
2024-03-04 14:53:50 +02:00
username = "nixos";
};
2024-02-04 16:18:47 +02:00
isoImage = {
2024-02-04 18:16:15 +02:00
isoName = "toolshed-${self.lastModifiedDate}.iso";
2024-02-04 16:18:47 +02:00
squashfsCompression = "zstd";
appendToMenuLabel = " Toolshed ${self.lastModifiedDate}";
makeEfiBootable = true; # EFI booting
makeUsbBootable = true; # USB booting
};
2024-02-04 16:18:47 +02:00
boot.kernelPackages = pkgs.zfs.latestCompatibleLinuxPackages;
swapDevices = [];
services = {
2024-02-04 16:18:47 +02:00
pcscd.enable = true;
getty.autologinUser = "nixos";
2024-03-01 10:35:33 +02:00
xserver.enable = true;
};
2024-02-04 16:18:47 +02:00
users.users = {
nixos = {
isNormalUser = true;
initialHashedPassword = "";
2024-02-04 22:28:36 +02:00
openssh.authorizedKeys.keys = [myData.people_pubkeys.motiejus];
2024-02-04 16:18:47 +02:00
};
root.initialHashedPassword = "";
};
2024-03-04 14:53:50 +02:00
# do not autostart lightdm, leave at tty
systemd.services.display-manager.wantedBy = lib.mkForce [];
2024-02-04 16:18:47 +02:00
security = {
pam.services.lightdm.text = ''
auth sufficient pam_succeed_if.so user ingroup wheel
'';
sudo = {
enable = true;
wheelNeedsPassword = false;
};
};
networking = {
hostName = "vm";
2024-02-04 22:28:36 +02:00
domain = "jakstys.lt";
2024-02-04 16:18:47 +02:00
firewall.allowedTCPPorts = [22];
};
}