From 3d5acb67c49e3e72e36a105197c269b9a5ba826b Mon Sep 17 00:00:00 2001 From: Daniel Langbein Date: Tue, 24 Oct 2023 20:04:49 +0200 Subject: [PATCH] add pi3bplus --- hosts/pi3bplus/configuration.nix | 92 ++++++++++---------------------- iso-aarch64.nix | 3 +- 2 files changed, 31 insertions(+), 64 deletions(-) diff --git a/hosts/pi3bplus/configuration.nix b/hosts/pi3bplus/configuration.nix index fc879d9..77b2bc0 100644 --- a/hosts/pi3bplus/configuration.nix +++ b/hosts/pi3bplus/configuration.nix @@ -1,19 +1,19 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running `nixos-help`). - -{ config, pkgs, ... }: - +{ config, pkgs, lib, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ]; - # Use the extlinux boot loader. (NixOS wants to enable GRUB by default) - boot.loader.grub.enable = false; - # Enables the generation of /boot/extlinux/extlinux.conf - boot.loader.generic-extlinux-compatible.enable = true; + boot = { + # Use the extlinux boot loader. (NixOS wants to enable GRUB by default) + loader.grub.enable = false; + # Enables the generation of /boot/extlinux/extlinux.conf + loader.generic-extlinux-compatible.enable = true; + + kernelPackages = pkgs.linuxPackages_latest; + supportedFilesystems = lib.mkForce [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "ntfs" "cifs" ]; + }; networking.hostName = "pi3bplus"; # Define your hostname. # Pick only one of the below networking options. @@ -23,76 +23,42 @@ # Set your time zone. time.timeZone = "Europe/Berlin"; - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - # Select internationalisation properties. - # i18n.defaultLocale = "en_US.UTF-8"; - # console = { - # font = "Lat2-Terminus16"; - # keyMap = "us"; - # useXkbConfig = true; # use xkbOptions in tty. - # }; + i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; - # Enable the X11 windowing system. - # services.xserver.enable = true; - - # Configure keymap in X11 - # services.xserver.layout = "us"; - # services.xserver.xkbOptions = "eurosign:e,caps:escape"; - - # Enable CUPS to print documents. - # services.printing.enable = true; - - # Enable sound. - # sound.enable = true; - # hardware.pulseaudio.enable = true; - - # Enable touchpad support (enabled default in most desktopManager). - # services.xserver.libinput.enable = true; + console = { + #font = "Lat2-Terminus16"; + keyMap = "de-latin1-nodeadkeys"; + }; # Define a user account. Don't forget to set a password with 'passwd'. users.users."yoda" = { isNormalUser = true; + description = "Yoda"; extraGroups = [ "wheel" ]; # Enable 'sudo' for the user. - #packages = with pkgs; [ - # firefox - # tree - #]; }; - # List packages installed in system profile. To search, run: - # $ nix search wget - # environment.systemPackages = with pkgs; [ - # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - # wget - # ]; - - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - - # List services that you want to enable: - # Enable the OpenSSH daemon. services.openssh = { enable = true; - passwordAuthentication = false; + settings.PasswordAuthentication = false; }; users.users.root.openssh.authorizedKeys.keys = [ (builtins.readFile ./assets/ssh/nitrokey.pub) ]; - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; + hardware.enableRedistributableFirmware = true; # Copy the NixOS configuration file and link it from the resulting system # (/run/current-system/configuration.nix). This is useful in case you diff --git a/iso-aarch64.nix b/iso-aarch64.nix index d651d15..25c8550 100644 --- a/iso-aarch64.nix +++ b/iso-aarch64.nix @@ -12,6 +12,7 @@ ]; boot = { + # Downstream Raspberry Pi 3 kernel. # New tags are published not so often ... # https://github.com/raspberrypi/linux/tags #kernelPackages = pkgs.linuxKernel.packages.linux_rpi3; @@ -31,7 +32,7 @@ sdImage.compressImage = false; services.openssh = { enable = true; - passwordAuthentication = false; + settings.PasswordAuthentication = false; }; users.users.root.openssh.authorizedKeys.keys = [ (builtins.readFile ./assets/ssh/nitrokey.pub)