Files
cyper-rpi/nixos/default.nix

123 lines
2.3 KiB
Nix

{
config,
pkgs,
inputs,
self,
primaryUser,
...
}:
{
imports = [
./hardware.nix
./settings.nix
./packages.nix
];
nixpkgs.config.allowUnfree = true;
# 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";
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;
firewall = {
enable = false;
};
};
# SSH configuration
services.openssh = {
enable = true;
settings.PermitRootLogin = "no";
settings.PasswordAuthentication = true;
};
# User configuration
users.users.${primaryUser} = {
isNormalUser = true;
home = "/home/${primaryUser}";
description = "Phil";
extraGroups = [
"wheel"
"networkmanager"
];
shell = pkgs.fish;
};
# 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";
}