-{ pkgs, lib, config, ... }:
-let
- inherit (config) networking;
- inherit (config.security) gnupg;
-in
+{ pkgs, config, ... }:
{
-# This value determines the NixOS release with which your system is to be
-# compatible, in order to avoid breaking some software such as database servers.
-# You should change this only after NixOS release notes say you should.
-system.stateVersion = "19.09"; # Did you read the comment?
-
-nix.gc.dates = "weekly";
-nix.gc.options = "--delete-older-than 7d";
-
-# Avoid the use of systemd-run --user --scope tmux
-# and let mosh work smoothly.
-services.logind.killUserProcesses = false;
-
-hardware.opengl.enable = true;
-
-documentation.nixos = {
- enable = false; # NOTE: useless on a server, and CPU intensive.
-};
-
-boot.kernelParams = [
- # Rotate the consoles anti-clockwise.
- "fbcon=rotate:3"
-];
-
-environment.systemPackages = with pkgs; [
- cryptsetup
- direnv
- f3
- file
- fio
- gdb
- git
- gptfdisk
- #hey
- home-manager
- lm_sensors
- rsync
- smartctl-tbw
- socat
- sanoid
- #iptables-nftables-compat
- pkgs.gnupg
- miniupnpc
- audit
- python
-];
+ # This value determines the NixOS release with which your system is to be
+ # compatible, in order to avoid breaking some software such as database servers.
+ # You should change this only after NixOS release notes say you should.
+ system.stateVersion = "19.09"; # Did you read the comment?
+
+ boot.initrd.systemd = {
+ enable = true;
+ emergencyAccess = true; # FIXME: use a password
+ };
+
+ nix.gc.dates = "weekly";
+ nix.gc.options = "--delete-older-than 7d";
+
+ /*
+ boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
+ nix.binaryCaches = [
+ "https://nixcache.reflex-frp.org"
+ "https://arm.cachix.org"
+ ];
+ nix.binaryCachePublicKeys = [
+ "ryantrinkle.com-1:JJiAKaRv9mWgpVAz8dwewnZe0AzzEAzPkagE9SP5NWI="
+ "arm.cachix.org-1:5BZ2kjoL1q6nWhlnrbAl+G7ThY7+HaBRD9PZzqZkbnM="
+ ];
+ */
+
+ # Avoid the use of systemd-run --user --scope tmux
+ # and let mosh work smoothly.
+ services.logind.killUserProcesses = false;
+
+ hardware.bluetooth.enable = true;
+ #services.blueman.enable = true;
+
+ documentation.nixos = {
+ enable = false; # NOTE: useless on a server, and CPU intensive.
+ };
+
+ boot.kernelParams = [
+ # Rotate the consoles anti-clockwise.
+ #"fbcon=rotate:3"
+ ];
+
+ # Setting the machine-id avoids to reencrypt all credentials
+ # when reinstalling NixOS on a new drive.
+ # Manually generated with : uuidgen | tr -d -
+ environment.etc.machine-id.source = ./machine-id.clear;
}