-
Notifications
You must be signed in to change notification settings - Fork 9
/
configuration.nix
115 lines (97 loc) · 2.99 KB
/
configuration.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
{ pkgs, lib, config, inputs, ... }:
let
hostname = "pinebook";
in
{
imports = [
../../mixins/common.nix
../../mixins/chromecast.nix
../../mixins/libvirt.nix
../../mixins/sshd.nix
../../mixins/tailscale.nix
../../profiles/desktop-sway-unstable.nix
inputs.wip-pinebook-pro.nixosModule
];
config = {
system.stateVersion = "21.03";
hardware.usbWwan.enable = true;
nix.nixPath = [];
nix.gc.automatic = true;
nix.maxJobs = 2;
documentation.enable = false;
documentation.doc.enable = false;
documentation.info.enable = false;
documentation.nixos.enable = false;
environment.systemPackages = with pkgs; [
drm-howto
virt-viewer
(pkgs.writeScriptBin "pinebook-fix-sound" ''
export NIX_PATH="nixpkgs=${toString inputs.nixpkgs}"
${toString inputs.wip-pinebook-pro}/sound/reset-sound.rb
'')
];
# ignore unfortunately placed power key
# TODO: 3s-press or fn-power for shutdown
services.logind.extraConfig = ''
HandlePowerKey=ignore
'';
fileSystems = {
"/" = {
device = "/dev/disk/by-partlabel/nixos";
fsType = "ext4";
};
"/boot" = {
device = "/dev/disk/by-partlabel/boot";
fsType = "vfat";
};
};
swapDevices = [];
console.earlySetup = true; # hidpi + luks-open # TODO : STILL NEEDED?
console.font = "ter-v32n";
console.packages = [ pkgs.terminus_font ];
boot = {
tmpOnTmpfs = false;
cleanTmpDir = true;
loader.grub.enable = false;
loader.generic-extlinux-compatible.enable = true;
initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
initrd.kernelModules = [ "nvme" ];
consoleLogLevel = pkgs.lib.mkDefault 7;
kernelPackages = lib.mkForce pkgs.linuxPackages_latest;
kernelPatches = [{
name = "pinebook-disable-dp";
patch = ./pbp-disable-dp.patch; # https://patchwork.kernel.org/project/linux-rockchip/patch/20200924063042.41545-1-jhp@endlessos.org/
}];
kernelParams = [
"cma=32M"
"mitigations=off"
"console=ttyS2,1500000n8" "console=tty0"
];
};
networking = {
hostId = "ef66d544";
hostName = hostname;
firewall.enable = true;
firewall.allowedTCPPorts = [ 5900 22 ];
networkmanager.enable = false;
wireless.iwd.enable = true;
useNetworkd = true;
useDHCP = false;
interfaces."wlan0".useDHCP = true;
interfaces."wlan1".useDHCP = true;
interfaces."wlan2".useDHCP = true;
interfaces."eth0".useDHCP = true;
search = [ "ts.r10e.tech" ];
};
services.timesyncd.enable = true;
services.resolved.enable = true;
services.resolved.domains = [ "ts.r10e.tech" ];
systemd.network.enable = true;
nixpkgs.config.allowUnfree = true;
hardware = {
bluetooth.enable = true;
pulseaudio.package = pkgs.pulseaudioFull;
enableRedistributableFirmware = true;
};
};
}