summaryrefslogtreecommitdiffstats
path: root/makefu/1systems/x/x13/default.nix
blob: b0400232e51ebd7918fa79a93e0b0b59d521869f (plain)
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
{ pkgs, lib, ... }:
# new zfs deployment
{
  imports = [
    ./zfs.nix
    ./input.nix
    <stockholm/makefu/2configs/hw/bluetooth.nix>
    <nixos-hardware/lenovo/thinkpad/l14/amd> # close enough
    # <stockholm/makefu/2configs/hw/tpm.nix>
    <stockholm/makefu/2configs/hw/ssd.nix>
  ];
  boot.zfs.requestEncryptionCredentials = true;
  networking.hostId = "f8b8e0a2";
  boot.loader.systemd-boot.enable = true;
  boot.loader.efi.canTouchEfiVariables = true;

  # services.xserver.enable = lib.mkForce false;

  services.xserver.videoDrivers = [
    "amdgpu"
  ];
  hardware.opengl.extraPackages = [ pkgs.amdvlk ];
  # is required for amd graphics support ( xorg wont boot otherwise )
  boot.kernelPackages = pkgs.linuxPackages_latest;
  environment.variables.VK_ICD_FILENAMES =
    "/run/opengl-driver/share/vulkan/icd.d/amd_icd64.json";


  programs.light.enable = true;
  services.actkbd = {
    enable = true;
    bindings = [
      { keys = [ 225 ]; events = [ "key" ]; command = "${pkgs.light}/bin/light -A 10"; }
      { keys = [ 224 ]; events = [ "key" ]; command = "${pkgs.light}/bin/light -U 10"; }
      { keys = [ 227 ]; events = [ "key" ]; command = builtins.toString (
        pkgs.writers.writeDash "toggle_lcdshadow" ''
          proc=/proc/acpi/ibm/lcdshadow
          status=$(${pkgs.gawk}/bin/awk '/status:/{print $2}' "$proc")
          if [ "$status" -eq 0 ];then
            echo 1 > "$proc"
          else
            echo 0 > "$proc"
          fi
        '');
      }
    ];
  };

  users.groups.video = {};
  users.users.makefu.extraGroups = [ "video" ];
}