diff options
author | Karel Kočí <cynerd@email.cz> | 2022-04-14 18:18:30 +0200 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2022-04-14 18:18:30 +0200 |
commit | 94f863d84acb5340c3c999f1fa06678f7a5df9f5 (patch) | |
tree | ec38540ddd274d5a43661fccdcf229c111f883e0 | |
parent | 51bda2b636e35a64b2ff25dd676d124f4b11b6e0 (diff) | |
download | nixturris-94f863d84acb5340c3c999f1fa06678f7a5df9f5.tar.gz nixturris-94f863d84acb5340c3c999f1fa06678f7a5df9f5.tar.bz2 nixturris-94f863d84acb5340c3c999f1fa06678f7a5df9f5.zip |
nixos: add turris-wifi modules
-rw-r--r-- | nixos/default.nix | 1 | ||||
-rw-r--r-- | nixos/modules/turris-defaults.nix | 6 | ||||
-rw-r--r-- | nixos/modules/turris-wifi.nix | 33 |
3 files changed, 37 insertions, 3 deletions
diff --git a/nixos/default.nix b/nixos/default.nix index e7c8f00..05d804d 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -1,4 +1,5 @@ { turris-board = import ./modules/turris-board.nix; turris-defaults = import ./modules/turris-defaults.nix; + turris-wifi = import ./modules/turris-wifi.nix; } diff --git a/nixos/modules/turris-defaults.nix b/nixos/modules/turris-defaults.nix index 8799664..2f61827 100644 --- a/nixos/modules/turris-defaults.nix +++ b/nixos/modules/turris-defaults.nix @@ -30,8 +30,8 @@ in { config = mkIf cnf.enable { # We do not need Grub as U-Boot supports boot using extlinux like file - boot.loader.grub.enable = false; - boot.loader.generic-extlinux-compatible.enable = true; + boot.loader.grub.enable = mkDefault false; + boot.loader.generic-extlinux-compatible.enable = mkDefault true; # Use early print to the serial console boot.kernelParams = [ "boot.shell_on_fail" @@ -43,7 +43,7 @@ in { ]; # Use the latest kernel - boot.kernelPackages = pkgs.linuxPackages_latest; + boot.kernelPackages = mkDefault pkgs.linuxPackages_latest; # The supported deployment is on BTRFS boot.supportedFilesystems = [ "btrfs" ]; diff --git a/nixos/modules/turris-wifi.nix b/nixos/modules/turris-wifi.nix new file mode 100644 index 0000000..bd74523 --- /dev/null +++ b/nixos/modules/turris-wifi.nix @@ -0,0 +1,33 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cnf = config.turris.wifi; + +in { + + options = { + turris.wifi = { + enable = mkOption { + type = types.bool; + default = true; + description = "Enable Turris WiFi configuration"; + }; + }; + }; + + config = mkIf cnf.enable { + # Needed for Ath10k firmware + hardware.firmware = with pkgs; [ firmwareLinuxNonfree ]; + + # The additional administration packages + environment.systemPackages = with pkgs; [ + iw + ] ++ optionals (config.turris.board == "mox") [ + ] ++ optionals (config.turris.board == "omnia") [ + ]; + + }; +} |