dotfiles/nixos/raspberry-pi.nix

120 lines
2.4 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ config, pkgs, ... }:
{
imports = [
<nixos-hardware/raspberry-pi/4>
./essential-packages.nix
];
nixpkgs.overlays = [
(import ./overlays.nix)
];
hardware.raspberry-pi."4".fkms-3d.enable = true;
boot = {
kernelPackages = pkgs.linuxPackages_rpi4;
tmpOnTmpfs = true;
loader = {
grub.enable = false;
generic-extlinux-compatible.enable = true;
raspberryPi = {
enable = true;
version = 4;
firmwareConfig = ''
dtparam=audio=on
hdmi_drive=2
'';
};
};
};
hardware.bluetooth.enable = true;
services.blueman.enable = true;
hardware.enableRedistributableFirmware = true;
networking = {
networkmanager.enable = true;
};
# networking.hostName = "nixos"; # Define your hostname.
networking.useDHCP = false;
networking.interfaces.eth0.useDHCP = true;
networking.interfaces.wlan0.useDHCP = true;
# Enable the X11 windowing system.
services.xserver = {
exportConfiguration = true;
layout = "us";
enable = true;
desktopManager = {
plasma5.enable = true;
};
displayManager.lightdm.enable = true;
};
powerManagement.cpuFreqGovernor = "ondemand";
fileSystems."/" = {
device = "/dev/disk/by-label/NIXOS_SD";
fsType = "ext4";
options = [ "noatime" ];
};
hardware.video.hidpi.enable = true;
sound.enable = true;
hardware.pulseaudio.enable = true;
# Define a user account. Don't forget to set a password with passwd.
users.users.imalison = {
isNormalUser = true;
extraGroups = [ "wheel" ]; # Enable sudo for the user.
};
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
raspberrypi-eeprom
vlc
yubikey-manager
networkmanagerapplet
ncdu
jq
rcm
ic-keysmith
quill
];
services.openssh.enable = true;
services.avahi = {
enable = true;
nssmdns = true;
publish = {
enable = true;
domain = true;
userServices = true;
};
};
programs.gnupg.agent = { enable = true; enableSSHSupport = true; };
services.pcscd.enable = true;
security.sudo.wheelNeedsPassword = false;
nix = {
autoOptimiseStore = true;
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
};
system.stateVersion = "21.05"; # Did you read the comment?
nix.trustedUsers = ["imalison" "kat"];
}