2020-09-27 14:27:25 +02:00
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
|
|
|
{
|
|
|
|
imports = [
|
|
|
|
# ./hardware/base.nix
|
|
|
|
# ./system
|
|
|
|
./system/nix.nix
|
|
|
|
./system/i18n.nix
|
|
|
|
./services/jellyfin.nix
|
2020-10-03 16:23:36 +02:00
|
|
|
./modules/cfdyndns.nix
|
2020-09-27 14:27:25 +02:00
|
|
|
];
|
|
|
|
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
|
|
|
|
# rpi4 base config
|
|
|
|
boot.loader.grub.enable = false;
|
|
|
|
boot.loader.raspberryPi.enable = true;
|
|
|
|
boot.loader.raspberryPi.version = 4;
|
|
|
|
boot.kernelPackages = pkgs.linuxPackages_rpi4;
|
|
|
|
boot.kernelParams = [
|
|
|
|
"console=ttyAMA0,115200"
|
|
|
|
"console=tty1"
|
|
|
|
];
|
2020-10-03 16:25:05 +02:00
|
|
|
hardware.enableRedistributableFirmware = true;
|
2020-09-27 14:27:25 +02:00
|
|
|
|
2020-10-03 16:23:36 +02:00
|
|
|
networking.domain = "home.felschr.com";
|
|
|
|
|
|
|
|
networking.firewall.allowedTCPPorts = [
|
|
|
|
80 443
|
|
|
|
];
|
|
|
|
|
|
|
|
security.acme = {
|
|
|
|
acceptTerms = true;
|
|
|
|
email = "felschr@pm.me";
|
|
|
|
};
|
|
|
|
|
|
|
|
services.custom.cfdyndns = {
|
|
|
|
enable = true;
|
|
|
|
email = "felschr@pm.me";
|
|
|
|
apikeyFile = "/etc/nixos/secrets/cfdyndns-apikey";
|
|
|
|
records = [ "home.felschr.com" ];
|
|
|
|
};
|
|
|
|
|
2020-09-27 14:27:25 +02:00
|
|
|
programs.zsh.enable = true;
|
|
|
|
|
|
|
|
services.openssh.enable = true;
|
|
|
|
|
|
|
|
users.users.felschr = {
|
|
|
|
isNormalUser = true;
|
|
|
|
extraGroups = [ "wheel" "audio" "disk" ];
|
|
|
|
shell = pkgs.zsh;
|
|
|
|
};
|
|
|
|
|
|
|
|
home-manager = {
|
|
|
|
useUserPackages = true;
|
|
|
|
useGlobalPkgs = true;
|
|
|
|
users.felschr = import ./home/felschr-rpi4.nix;
|
|
|
|
};
|
|
|
|
|
|
|
|
# only change this when specified in release notes
|
|
|
|
system.stateVersion = "20.09";
|
|
|
|
|
|
|
|
system.autoUpgrade.enable = true;
|
|
|
|
}
|