summaryrefslogtreecommitdiff
path: root/hosts/headless/configuration.nix
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/headless/configuration.nix')
-rw-r--r--hosts/headless/configuration.nix76
1 files changed, 76 insertions, 0 deletions
diff --git a/hosts/headless/configuration.nix b/hosts/headless/configuration.nix
new file mode 100644
index 0000000..1d18dc5
--- /dev/null
+++ b/hosts/headless/configuration.nix
@@ -0,0 +1,76 @@
+# 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’).
+
+{ ... }:
+
+{
+ imports =
+ [ # Include the results of the hardware scan.
+ ./hardware-configuration.nix
+ ../base.nix
+ ../linux.nix
+ ./headless.nix
+ ];
+
+
+
+ nix = {
+ package = pkgs.nixUnstable;
+ autoOptimiseStore = true;
+ gc = {
+ automatic = true;
+ dates = "weekly";
+ options = "--delete-older-than 30d";
+ };
+ # Free up to 1GiB whenever there is less than 100MiB left.
+ extraOptions = ''
+ min-free = ${toString (100 * 1024 * 1024)}
+ max-free = ${toString (1024 * 1024 * 1024)}
+ '';
+ };
+ boot = {
+ loader = {
+ systemd-boot.consoleMode = "max";
+ grub.enable = false;
+ generic-extlinux-compatible.enable = true; # settings don't get saved without this!!
+ #raspberryPi.enable = true;
+ raspberryPi.version = 4;
+ raspberryPi.firmwareConfig = ''
+ dtparam=audio=on
+ dtoverlay=vc4-kms-3d
+ '';
+ };
+ kernelPackages = pkgs.linuxPackages_rpi4; # Mainline doesn't work yet
+ extraModprobeConfig = ''
+ options snd_bcm2835 enable_headphones=1
+ '';
+ };
+ hardware.raspberry-pi."4" = {
+ fkms-3d.enable = true;
+ audio.enable = true;
+ dwc2.enable = true;
+ };
+
+
+ networking = {
+ hostName = "yfs"; # Define your hostname.
+ };
+
+
+
+ # Set your time zone.
+ time.timeZone = "Asia/Bangkok";
+
+
+ # This value determines the NixOS release from which the default
+ # settings for stateful data, like file locations and database versions
+ # on your system were taken. It‘s perfectly fine and recommended to leave
+ # this value at the release version of the first install of this system.
+ # Before changing this value read the documentation for this option
+ # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
+
+ system.stateVersion = "22.11"; # Did you read the comment?
+
+}
+