136 lines
2.7 KiB
Nix
136 lines
2.7 KiB
Nix
{
|
|
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";
|
|
};
|
|
}
|