mirror of
https://codeberg.org/27/inception-of-things.git
synced 2025-12-31 21:56:41 +01:00
115 lines
2.1 KiB
Nix
115 lines
2.1 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
modulesPath,
|
|
hostname,
|
|
...
|
|
}:
|
|
|
|
{
|
|
imports = [
|
|
(modulesPath + "/profiles/minimal.nix")
|
|
];
|
|
|
|
networking.hostName = hostname;
|
|
nixpkgs.config = {
|
|
allowUnfree = true;
|
|
};
|
|
nix.settings.experimental-features = [
|
|
"nix-command"
|
|
"flakes"
|
|
];
|
|
|
|
# Since `fileSystems` is ignored by nixos-generators, we need to be creative
|
|
systemd.services.mount-iot = {
|
|
description = "Mount the IOT shared folder";
|
|
|
|
script = ''
|
|
mkdir -p /iot
|
|
/run/wrappers/bin/mount -t 9p -o trans=virtio,version=9p2000.L host0 /iot
|
|
'';
|
|
|
|
wantedBy = [ "multi-user.target" ];
|
|
after = [ "network.target" ];
|
|
|
|
serviceConfig = {
|
|
Type = "oneshot";
|
|
RemainAfterExit = true;
|
|
};
|
|
};
|
|
|
|
users.users = {
|
|
root.password = "toor";
|
|
user = {
|
|
password = "iot";
|
|
isNormalUser = true;
|
|
extraGroups = [ "wheel" "docker" "libvirt" ];
|
|
};
|
|
};
|
|
|
|
services = {
|
|
k3s = {
|
|
enable = true;
|
|
};
|
|
getty.autologinUser = "root";
|
|
openssh = {
|
|
enable = true;
|
|
ports = [ 22 ];
|
|
settings = {
|
|
PermitRootLogin = "yes";
|
|
PasswordAuthentication = true;
|
|
AllowUsers = null;
|
|
};
|
|
};
|
|
xserver = {
|
|
enable = true;
|
|
xkb = {
|
|
layout = "fr";
|
|
variant = "us";
|
|
};
|
|
};
|
|
displayManager = {
|
|
gdm.enable = true;
|
|
autoLogin = {
|
|
enable = true;
|
|
user = "test";
|
|
};
|
|
};
|
|
desktopManager.gnome.enable = true;
|
|
libinput.enable = true;
|
|
};
|
|
hardware.graphics = {
|
|
enable = true;
|
|
enable32Bit = true;
|
|
};
|
|
virtualisation.docker.enable = true;
|
|
boot.kernelParams = [ "kvm.enable_virt_at_load=0" ];
|
|
|
|
programs = {
|
|
zsh = {
|
|
autosuggestions.enable = true;
|
|
syntaxHighlighting.enable = true;
|
|
enable = true;
|
|
enableBashCompletion = true;
|
|
shellAliases = (import ./aliases.nix);
|
|
};
|
|
};
|
|
|
|
environment = {
|
|
systemPackages = with pkgs; [
|
|
bindfs
|
|
git
|
|
zip
|
|
neovim
|
|
eza
|
|
bat
|
|
|
|
vagrant
|
|
k3d
|
|
kubectl
|
|
];
|
|
};
|
|
|
|
system.stateVersion = "24.11";
|
|
}
|