{ modulesPath, lib, nixos-hardware, pkgs, ... }: { imports = [ (modulesPath + "/installer/scan/not-detected.nix") nixos-hardware.nixosModules.raspberry-pi-4 ]; boot = { initrd = { availableKernelModules = [ "xhci_pci" ]; }; loader = { generic-extlinux-compatible.enable = true; }; }; fileSystems."/" = { device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888"; fsType = "ext4"; }; hardware.raspberry-pi."4".fkms-3d.enable = true; networking = { useDHCP = lib.mkDefault true; }; powerManagement.cpuFreqGovernor = "ondemand"; services.gnome.gnome-keyring.enable = true; programs.sway = { enable = true; wrapperFeatures.gtk = true; }; security.polkit.enable = true; services.greetd = { enable = true; settings = { default_session = { command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd sway"; user = "greeter"; }; }; }; fonts = { fontDir.enable = true; packages = with pkgs; [ noto-fonts noto-fonts-cjk noto-fonts-emoji font-awesome source-han-sans source-han-sans-japanese source-han-serif-japanese ]; fontconfig.defaultFonts = { serif = [ "Noto Serif" "Source Han Serif" ]; sansSerif = [ "Noto Sans" "Source Han Sans" ]; }; }; services.nix-serve = { enable = true; openFirewall = true; secretKeyFile = "/var/cache-priv-key.pem"; }; environment.systemPackages = with pkgs; [ grim # screenshot functionality slurp # screenshot functionality wl-clipboard # wl-copy and wl-paste for copy/paste from stdin / stdout mako # notification system developed by swaywm maintainer kitty firefox-devedition ]; xdg = { sounds.enable = true; mime.enable = true; menus.enable = true; icons.enable = true; autostart.enable = true; portal = { enable = true; extraPortals = with pkgs; [ xdg-desktop-portal ]; }; }; i18n = { defaultLocale = "en_NZ.UTF-8"; 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"; LC_CTYPE = "de_DE.UTF-8"; LC_COLLATE = "de_DE.UTF-8"; LC_MESSAGES = "en_NZ.UTF-8"; }; }; environment.variables = { LOG_ICONS = "true"; }; services = { xserver = { xkb.layout = "de"; }; }; console = { enable = true; keyMap = "de"; }; }