summaryrefslogtreecommitdiffstats
path: root/makefu/1systems/x/x13
diff options
context:
space:
mode:
Diffstat (limited to 'makefu/1systems/x/x13')
-rw-r--r--makefu/1systems/x/x13/battery.nix6
-rw-r--r--makefu/1systems/x/x13/default.nix18
-rw-r--r--makefu/1systems/x/x13/disk.nix67
-rw-r--r--makefu/1systems/x/x13/input.nix44
4 files changed, 107 insertions, 28 deletions
diff --git a/makefu/1systems/x/x13/battery.nix b/makefu/1systems/x/x13/battery.nix
new file mode 100644
index 000000000..3e28292e3
--- /dev/null
+++ b/makefu/1systems/x/x13/battery.nix
@@ -0,0 +1,6 @@
+{ pkgs, ... }:
+{
+ powerManagement.powertop.enable = true;
+ services.power-profiles-daemon.enable = true;
+ users.users.makefu.packages = [ pkgs.gnome.gnome-power-manager ];
+}
diff --git a/makefu/1systems/x/x13/default.nix b/makefu/1systems/x/x13/default.nix
index d652229f9..27ea0c99c 100644
--- a/makefu/1systems/x/x13/default.nix
+++ b/makefu/1systems/x/x13/default.nix
@@ -4,6 +4,7 @@
imports = [
./zfs.nix
./input.nix
+ ./battery.nix
<stockholm/makefu/2configs/hw/bluetooth.nix>
<nixos-hardware/lenovo/thinkpad/l14/amd> # close enough
# <stockholm/makefu/2configs/hw/tpm.nix>
@@ -17,23 +18,26 @@
# services.xserver.enable = lib.mkForce false;
- services.xserver.videoDrivers = [
- "amdgpu"
+ services.xserver.videoDrivers = [ "amdgpu" ];
+ boot.initrd.kernelModules = [ "amdgpu" ];
+ hardware.opengl.driSupport = true;
+ hardware.opengl.extraPackages = [ pkgs.amdvlk pkgs.rocm-opencl-icd pkgs.rocm-opencl-runtime ];
+ # For 32 bit applications
+ hardware.opengl.driSupport32Bit = true;
+ hardware.opengl.extraPackages32 = with pkgs; [
+ driversi686Linux.amdvlk
];
- hardware.opengl.extraPackages = [ pkgs.amdvlk pkgs.rocm-opencl-icd ];
# is required for amd graphics support ( xorg wont boot otherwise )
#boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelPackages = lib.mkForce pkgs.linuxPackages;
- environment.variables.VK_ICD_FILENAMES =
- "/run/opengl-driver/share/vulkan/icd.d/amd_icd64.json";
-
services.fwupd.enable = true;
programs.light.enable = true;
users.groups.video = {};
- users.users.makefu.extraGroups = [ "video" ];
+ users.groups.render = {};
+ users.users.makefu.extraGroups = [ "video" "render" ];
boot.extraModprobeConfig = ''
options thinkpad_acpi fan_control=1
diff --git a/makefu/1systems/x/x13/disk.nix b/makefu/1systems/x/x13/disk.nix
new file mode 100644
index 000000000..7ce77bdf5
--- /dev/null
+++ b/makefu/1systems/x/x13/disk.nix
@@ -0,0 +1,67 @@
+{ disk ? "/dev/sda", ... }: {
+ disko.devices = {
+ disk = {
+ nvme = {
+ type = "disk";
+ device = disk;
+ content = {
+ type = "table";
+ format = "gpt";
+ partitions = [
+ {
+ name = "ESP";
+ start = "0";
+ end = "512MiB";
+ fs-type = "fat32";
+ bootable = true;
+ content = {
+ type = "filesystem";
+ format = "vfat";
+ mountpoint = "/boot";
+ };
+ }
+ {
+ name = "zfs";
+ start = "512MiB";
+ end = "100%";
+ content = {
+ type = "zfs";
+ pool = "tank";
+ };
+ }
+ ];
+ };
+ };
+ };
+ zpool = {
+ tank = {
+ type = "zpool";
+ rootFsOptions = {
+ compression = "lz4";
+ #reservation = "5G";
+ "com.sun:auto-snapshot" = "false";
+ };
+ mountpoint = null;
+ postCreateHook = "zfs snapshot tank@blank";
+
+ datasets = {
+
+ root = {
+ type = "zfs_fs";
+ mountpoint = "/";
+ options = {
+ encryption = "aes-256-gcm";
+ keyformat = "passphrase";
+ "com.sun:auto-snapshot" = "true";
+ };
+ #keylocation = "file:///tmp/secret.key";
+ };
+ "root/home" = {
+ type = "zfs_fs";
+ mountpoint = "/home";
+ };
+ };
+ };
+ };
+ };
+}
diff --git a/makefu/1systems/x/x13/input.nix b/makefu/1systems/x/x13/input.nix
index 775e19303..93816ce84 100644
--- a/makefu/1systems/x/x13/input.nix
+++ b/makefu/1systems/x/x13/input.nix
@@ -4,14 +4,16 @@
# 1. for pressing insert hold shift+fn+Fin
# scroll by holding middle mouse
- services.xserver.displayManager.sessionCommands =''
- xinput set-int-prop "ETPS/2 Elantech TrackPoint" "Evdev Wheel Emulation" 8 1
- xinput set-int-prop "ETPS/2 Elantech TrackPoint" "Evdev Wheel Emulation Button" 8 2
- xinput set-prop "ETPS/2 Elantech TrackPoint" "Evdev Wheel Emulation Axes" 6 7 4 5
- # configure timeout of pressing and holding middle button
- # xinput set-int-prop "ETPS/2 Elantech TrackPoint" "Evdev Wheel Emulation Timeout" 8 200
- xinput disable 'ETPS/2 Elantech Touchpad'
- '';
+ #services.xserver.displayManager.sessionCommands =''
+ # xinput set-int-prop "ETPS/2 Elantech TrackPoint" "Evdev Wheel Emulation" 8 1
+ # xinput set-int-prop "ETPS/2 Elantech TrackPoint" "Evdev Wheel Emulation Button" 8 2
+ # xinput set-prop "ETPS/2 Elantech TrackPoint" "Evdev Wheel Emulation Axes" 6 7 4 5
+ # # configure timeout of pressing and holding middle button
+ # # xinput set-int-prop "ETPS/2 Elantech TrackPoint" "Evdev Wheel Emulation Timeout" 8 200
+ # xinput disable 'ETPS/2 Elantech Touchpad'
+ #'';
+
+ services.xserver.libinput.enable = true;
boot.kernelParams = [
#"psmouse.proto=imps"
#"psmouse.proto=bare"
@@ -27,20 +29,20 @@
{ keys = [ 224 ]; events = [ "key" ]; command = "${pkgs.light}/bin/light -U 10"; } # fn - F6
# fn - 4 => suspend
# fn - d => lcdshadow
- { keys = [ 227 ]; events = [ "key" ]; command = builtins.toString ( # fn - F7
- pkgs.writers.writeDash "toggle_touchpad" ''
- PATH=${lib.makeBinPath [ pkgs.xorg.xinput pkgs.gnugrep ]}
- DISPLAY=:0
- export DISPLAY PATH
+ #{ keys = [ 227 ]; events = [ "key" ]; command = builtins.toString ( # fn - F7
+ # pkgs.writers.writeDash "toggle_touchpad" ''
+ # PATH=${lib.makeBinPath [ pkgs.xorg.xinput pkgs.gnugrep ]}
+ # DISPLAY=:0
+ # export DISPLAY PATH
- device=$(xinput list --name-only | grep Touchpad)
- if [ "$(xinput list-props "$device" | grep -P ".*Device Enabled.*\K.(?=$)" -o)" -eq 1 ];then
- xinput disable "$device"
- else
- xinput enable "$device"
- fi
- '');
- }
+ # device=$(xinput list --name-only | grep Touchpad)
+ # if [ "$(xinput list-props "$device" | grep -P ".*Device Enabled.*\K.(?=$)" -o)" -eq 1 ];then
+ # xinput disable "$device"
+ # else
+ # xinput enable "$device"
+ # fi
+ # '');
+ #}
];
};
}