Files
cyper-rpi/nixos/default.nix

153 lines
3.6 KiB
Nix

{
pkgs,
primaryUser,
...
}:
{
imports = [
./hardware.nix
./settings.nix
./packages.nix
];
nixpkgs.config.allowUnfree = true;
# Speeding up builds
documentation = {
enable = false;
man = {
enable = false;
generateCaches = false;
};
doc.enable = false;
info.enable = false;
nixos.enable = false;
};
# Override python-lsp-server to skip tests (flaky tests cause timeout)
nixpkgs.config.packageOverrides = pkgs: {
python3 = pkgs.python3.override {
packageOverrides = self: super: {
python-lsp-server = super.python-lsp-server.overridePythonAttrs (old: {
doCheck = false;
});
};
};
};
#networking = {
# hostName = "cyper-pi";
#useDHCP = true;
# networkmanager = {
# enable = true;
# unmanaged = [
# "*"
# "except:type:wwan"
# "except:type:gsm"
# ];
# };
# defaultGateway = "192.168.2.1";
# nameservers = [
# "192.168.2.2"
# "8.8.8.8"
# "1.1.1.1"
# ];
#wireless = {
# enable = true;
# networks = {
# LANFRED = {
# pskRaw = "36e2b41b51328800a9582be1a05f13f796f943569610ccdb61304803b86ce3da";
# };
# };
#};
#enableIPv6 = false;
#};
networking = {
hostName = "cyper-pi";
useDHCP = true;
networkmanager.enable = false;
enableIPv6 = false;
firewall.enable = false;
wireless = {
enable = true;
networks = {
LANFRED = {
pskRaw = "36e2b41b51328800a9582be1a05f13f796f943569610ccdb61304803b86ce3da";
};
};
};
};
# SSH configuration
services.openssh = {
enable = true;
settings.PermitRootLogin = "no";
settings.PasswordAuthentication = true;
};
# User configuration
users.users.${primaryUser} = {
isNormalUser = true;
home = "/home/${primaryUser}";
description = "Phil";
hashedPassword = "$6$TqAclAMz/DFP90Ve$HEN4t1pqK36rACeWctJOmLArkTWb/rIBYamu4sY8bPuDnqkVVyfOLqXKkgX8zBf9LKz02.mo4EKFRnYWIzcAX1";
extraGroups = [
"wheel"
"networkmanager"
];
shell = pkgs.fish;
openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCaLHfxVylghDMYR8t4QMUpeRRqXasNABQKBEy9MmhbUXCcWiPbPMSZH8FMHON34rm2OrXP1kY/8jQxqBJDA+SqpFR2AZ4Khk9iVMaq5GHxxpn2amZUjoBa+fB29WaiE1npV5JVJV3O0ylw6GtiCnpneE6fGx2MO1vOY/7zKrUX/OK7WfwkDpeEzZgV/j/md917HrzUVeZwdeTq3WCRO8Gew6R8Xs6FRjSiGuH0dq14D4Ow5Zf1cI1jx+JfD/5vGasw8HXPu1NdxsOE+6D7/22IKqGr+S74/lAoyyD5qqk0s05lw8UY/PXBLJaNLZu9Fwx0BqTHpJEvftpmvd9wUxgR3msx9VXtKNSrqivIbDgeU+3oGzzkrGZODl7FCp4XKGmbrX85Z6lKwEGgv5jez4MLZcmT86bxB7m1wIbqSbVtfhS+GI7yPTA/kLzzFa14Im/+LTj95pb8qs2ALMwTMP1j2f9A6D3RriOFihL+68qn+YbK58KuV1R0f+CQRmlfVbk= phil@web.cyperpunk.de"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEuYuGhqRC/QLoRBH91c3DG5JHlAdRLQsvde18k5ipY2 phil@cyperpunk.de"
];
};
# Shell
programs.zsh.enable = true;
programs.fish.enable = true;
# Nix settings
nix = {
settings = {
experimental-features = [
"nix-command"
"flakes"
];
auto-optimise-store = true;
builders-use-substitutes = true;
trusted-substituters = [ "ssh://phil@192.168.2.40" ];
};
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
buildMachines = [
{
hostName = "192.168.2.40";
system = "aarch64-linux";
sshUser = "phil";
maxJobs = 4;
speedFactor = 2;
supportedFeatures = [
"nixos-test"
"benchmark"
"big-parallel"
"kvm"
];
mandatoryFeatures = [ ];
}
];
};
system.stateVersion = "25.11";
}