Split generic parts out of machine-confs/helium.nix
This commit is contained in:
parent
d354c5d205
commit
39d8043ed0
7 changed files with 172 additions and 136 deletions
24
hardware-specific/amd-laptop.nix
Normal file
24
hardware-specific/amd-laptop.nix
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# Config for laptop with AMD CPU and integrated graphics
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
environment.systemPackages = with pkgs; [ zenmonitor ];
|
||||||
|
|
||||||
|
hardware.opengl.extraPackages = with pkgs; [ rocmPackages.clr.icd ];
|
||||||
|
|
||||||
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
|
|
||||||
|
services = {
|
||||||
|
xserver = {
|
||||||
|
videoDrivers = [
|
||||||
|
"amdgpu"
|
||||||
|
"modesetting"
|
||||||
|
];
|
||||||
|
deviceSection = ''
|
||||||
|
Option "DRI" "2"
|
||||||
|
Option "TearFree" "true"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
logind.lidSwitch = "hibernate";
|
||||||
|
};
|
||||||
|
}
|
10
hardware-specific/keychron-q11.nix
Normal file
10
hardware-specific/keychron-q11.nix
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# Config for Keychron Q11 keyboard
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
environment.systemPackages = with pkgs; [ via ];
|
||||||
|
|
||||||
|
# Keychron Q11
|
||||||
|
services.udev.extraRules = ''
|
||||||
|
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3434", ATTRS{idProduct}=="01e0", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
||||||
|
'';
|
||||||
|
}
|
79
hardware-specific/trackball.nix
Normal file
79
hardware-specific/trackball.nix
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
# Config for my Logitech trackball
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
disabledModules = [ "services/hardware/libinput.nix" ];
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(final: prev: {
|
||||||
|
moonlight-qt = prev.moonlight-qt.overrideAttrs (old: {
|
||||||
|
patches = (old.patches or [ ]) ++ [ ../misc/mouse-accel.patch ];
|
||||||
|
});
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
imports = [ ../misc/libinput.nix ];
|
||||||
|
|
||||||
|
hardware.logitech.wireless = {
|
||||||
|
enable = true;
|
||||||
|
enableGraphical = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.libinput.mouse = {
|
||||||
|
accelProfile = "custom";
|
||||||
|
accelStepMotion = 5.0e-2;
|
||||||
|
accelPointsMotion = [
|
||||||
|
0.0
|
||||||
|
2.0e-2
|
||||||
|
4.0e-2
|
||||||
|
6.0e-2
|
||||||
|
8.0e-2
|
||||||
|
0.1
|
||||||
|
0.12
|
||||||
|
0.14
|
||||||
|
0.16
|
||||||
|
0.18
|
||||||
|
0.2
|
||||||
|
0.2525
|
||||||
|
0.31
|
||||||
|
0.3725
|
||||||
|
0.44
|
||||||
|
0.5125
|
||||||
|
0.59
|
||||||
|
0.6725
|
||||||
|
0.76
|
||||||
|
0.8525
|
||||||
|
0.95
|
||||||
|
1.155
|
||||||
|
1.37
|
||||||
|
1.595
|
||||||
|
1.83
|
||||||
|
2.075
|
||||||
|
2.33
|
||||||
|
2.595
|
||||||
|
2.87
|
||||||
|
3.155
|
||||||
|
3.45
|
||||||
|
3.755
|
||||||
|
4.07
|
||||||
|
4.395
|
||||||
|
4.73
|
||||||
|
5.075
|
||||||
|
5.43
|
||||||
|
5.795
|
||||||
|
6.17
|
||||||
|
6.555
|
||||||
|
6.95
|
||||||
|
7.355
|
||||||
|
7.77
|
||||||
|
8.195
|
||||||
|
8.63
|
||||||
|
9.075
|
||||||
|
9.53
|
||||||
|
9.995
|
||||||
|
10.47
|
||||||
|
10.955
|
||||||
|
11.45
|
||||||
|
11.95
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
9
hardware-specific/usb-automount.nix
Normal file
9
hardware-specific/usb-automount.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# Config for automounting USB devices
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
services = {
|
||||||
|
devmon.enable = true;
|
||||||
|
gvfs.enable = true;
|
||||||
|
udisks2.enable = true;
|
||||||
|
};
|
||||||
|
}
|
|
@ -7,10 +7,12 @@
|
||||||
{
|
{
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "helium";
|
hostName = "helium";
|
||||||
|
|
||||||
firewall.allowedUDPPorts = [
|
firewall.allowedUDPPorts = [
|
||||||
51820
|
51820
|
||||||
51821
|
51821
|
||||||
];
|
];
|
||||||
|
|
||||||
wg-quick.interfaces = {
|
wg-quick.interfaces = {
|
||||||
wg0 = {
|
wg0 = {
|
||||||
autostart = false;
|
autostart = false;
|
||||||
|
@ -59,154 +61,35 @@
|
||||||
imports = [
|
imports = [
|
||||||
../base.nix
|
../base.nix
|
||||||
../users/vili.nix
|
../users/vili.nix
|
||||||
../services/syncthing.nix
|
|
||||||
../desktop.nix
|
../desktop.nix
|
||||||
../development.nix
|
../development.nix
|
||||||
../misc/libinput.nix
|
../services/syncthing.nix
|
||||||
];
|
../services/redshift.nix
|
||||||
disabledModules = [ "services/hardware/libinput.nix" ];
|
../services/game-streaming.nix
|
||||||
|
../hardware-specific/keychron-q11.nix
|
||||||
nixpkgs.overlays = [
|
../hardware-specific/trackball.nix
|
||||||
(final: prev: {
|
../hardware-specific/amd-laptop.nix
|
||||||
moonlight-qt = prev.moonlight-qt.overrideAttrs (old: {
|
../hardware-specific/usb-automount.nix
|
||||||
patches = (old.patches or [ ]) ++ [ ../misc/mouse-accel.patch ];
|
|
||||||
});
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
services.xserver.displayManager.setupCommands = ''
|
||||||
zenmonitor
|
${pkgs.xorg.xrandr}/bin/xrandr --output DisplayPort-0 --auto --pos 0x0 --primary --output eDP --auto --pos 3840x360
|
||||||
moonlight-qt
|
'';
|
||||||
parsec-bin
|
|
||||||
via
|
|
||||||
];
|
|
||||||
|
|
||||||
# HARDWARE SPECIFIC
|
boot = {
|
||||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
resumeDevice = "/dev/mapper/luks-f6e1979b-0dee-4ee9-8170-10490019854b";
|
||||||
hardware = {
|
kernelParams = [ "resume_offset=44537856" ];
|
||||||
opengl.extraPackages = with pkgs; [ rocmPackages.clr.icd ];
|
|
||||||
logitech.wireless = {
|
loader = {
|
||||||
enable = true;
|
systemd-boot.enable = true;
|
||||||
enableGraphical = true;
|
efi.canTouchEfiVariables = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
|
||||||
xserver = {
|
|
||||||
videoDrivers = [
|
|
||||||
"amdgpu"
|
|
||||||
"modesetting"
|
|
||||||
];
|
|
||||||
deviceSection = ''
|
|
||||||
Option "DRI" "2"
|
|
||||||
Option "TearFree" "true"
|
|
||||||
'';
|
|
||||||
|
|
||||||
displayManager.setupCommands = ''
|
|
||||||
${pkgs.xorg.xrandr}/bin/xrandr --output DisplayPort-0 --auto --pos 0x0 --primary --output eDP --auto --pos 3840x360
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
libinput.mouse = {
|
|
||||||
accelProfile = "custom";
|
|
||||||
accelPointsMotion = [
|
|
||||||
0.0
|
|
||||||
2.0e-2
|
|
||||||
4.0e-2
|
|
||||||
6.0e-2
|
|
||||||
8.0e-2
|
|
||||||
0.1
|
|
||||||
0.12
|
|
||||||
0.14
|
|
||||||
0.16
|
|
||||||
0.18
|
|
||||||
0.2
|
|
||||||
0.2525
|
|
||||||
0.31
|
|
||||||
0.3725
|
|
||||||
0.44
|
|
||||||
0.5125
|
|
||||||
0.59
|
|
||||||
0.6725
|
|
||||||
0.76
|
|
||||||
0.8525
|
|
||||||
0.95
|
|
||||||
1.155
|
|
||||||
1.37
|
|
||||||
1.595
|
|
||||||
1.83
|
|
||||||
2.075
|
|
||||||
2.33
|
|
||||||
2.595
|
|
||||||
2.87
|
|
||||||
3.155
|
|
||||||
3.45
|
|
||||||
3.755
|
|
||||||
4.07
|
|
||||||
4.395
|
|
||||||
4.73
|
|
||||||
5.075
|
|
||||||
5.43
|
|
||||||
5.795
|
|
||||||
6.17
|
|
||||||
6.555
|
|
||||||
6.95
|
|
||||||
7.355
|
|
||||||
7.77
|
|
||||||
8.195
|
|
||||||
8.63
|
|
||||||
9.075
|
|
||||||
9.53
|
|
||||||
9.995
|
|
||||||
10.47
|
|
||||||
10.955
|
|
||||||
11.45
|
|
||||||
11.95
|
|
||||||
];
|
|
||||||
accelStepMotion = 5.0e-2;
|
|
||||||
};
|
|
||||||
|
|
||||||
redshift = {
|
|
||||||
executable = "/bin/redshift-gtk";
|
|
||||||
enable = true;
|
|
||||||
temperature = {
|
|
||||||
night = 2800;
|
|
||||||
day = 6500;
|
|
||||||
};
|
|
||||||
brightness = {
|
|
||||||
night = "0.5";
|
|
||||||
day = "1";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
devmon.enable = true;
|
|
||||||
gvfs.enable = true;
|
|
||||||
udisks2.enable = true;
|
|
||||||
};
|
|
||||||
location = {
|
|
||||||
latitude = 60.17;
|
|
||||||
longitude = 24.94;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Swap + hibernate
|
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
{
|
{
|
||||||
device = "/var/lib/swapfile";
|
device = "/var/lib/swapfile";
|
||||||
size = 16 * 1024;
|
size = 16 * 1024;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
boot.resumeDevice = "/dev/mapper/luks-f6e1979b-0dee-4ee9-8170-10490019854b";
|
|
||||||
boot.kernelParams = [ "resume_offset=44537856" ];
|
|
||||||
services.logind = {
|
|
||||||
lidSwitch = "hibernate";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Keychron Q11
|
|
||||||
services.udev.extraRules = ''
|
|
||||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3434", ATTRS{idProduct}=="01e0", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Bootloader.
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
}
|
}
|
||||||
|
|
8
services/game-streaming.nix
Normal file
8
services/game-streaming.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
# Game streaming software (and possibly services in future)
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
moonlight-qt
|
||||||
|
parsec-bin
|
||||||
|
];
|
||||||
|
}
|
23
services/redshift.nix
Normal file
23
services/redshift.nix
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
# Redshift bluelight reducer
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
services = {
|
||||||
|
redshift = {
|
||||||
|
executable = "/bin/redshift-gtk";
|
||||||
|
enable = true;
|
||||||
|
temperature = {
|
||||||
|
night = 2800;
|
||||||
|
day = 6500;
|
||||||
|
};
|
||||||
|
brightness = {
|
||||||
|
night = "0.5";
|
||||||
|
day = "1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
location = {
|
||||||
|
latitude = 60.17;
|
||||||
|
longitude = 24.94;
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue