Browse Source

small nix update

master
arnaucube 5 months ago
parent
commit
685ccc5eff
3 changed files with 68 additions and 52 deletions
  1. +12
    -0
      nixos/README.md
  2. +1
    -0
      nixos/configuration.nix
  3. +55
    -52
      nixos/surface-extra-hardware-configuration.nix

+ 12
- 0
nixos/README.md

@ -0,0 +1,12 @@
from time to time run the following commands to remove stuff from old generations
```
# list old generations
sudo nix-env --list-generations --profile /nix/var/nix/profiles/system
# remove old generations
sudo nix-env --profile /nix/var/nix/profiles/system --delete-generations 9 10 11 12 13 X...
# to remove old programs
nix-collect-garbage --delete-old
```

+ 1
- 0
nixos/configuration.nix

@ -83,6 +83,7 @@
tig
mosh
bat
lf
ripgrep
fzf
python3

+ 55
- 52
nixos/surface-extra-hardware-configuration.nix

@ -37,62 +37,65 @@
# add pulseaudio support to manage audio
hardware.pulseaudio.enable = true;
# prevent suspend on folding
services.logind.lidSwitch = "ignore";
# next sleep & wake is code from: https://github.com/hpfr/system/blob/2e5b3b967b0436203d7add6adbd6b6f55e87cf3c/hosts/linux-surface.nix
systemd.services = {
surface-sleep = {
enable = lib.versionOlder config.boot.kernelPackages.kernel.version "5.4";
before = [ "suspend.target" ];
wantedBy = [ "suspend.target" ];
serviceConfig.Type = "oneshot";
path = with pkgs; [ procps kmod bluez ];
script = ''
# Disable bluetooth if no device is connected
if ps cax | grep bluetoothd && ! bluetoothctl info; then
bluetoothctl power off
fi
# systemd.services = {
# surface-sleep = {
# enable = lib.versionOlder config.boot.kernelPackages.kernel.version "5.4";
# before = [ "suspend.target" ];
# wantedBy = [ "suspend.target" ];
# serviceConfig.Type = "oneshot";
# path = with pkgs; [ procps kmod bluez ];
# script = ''
# # Disable bluetooth if no device is connected
# if ps cax | grep bluetoothd && ! bluetoothctl info; then
# bluetoothctl power off
# fi
## Disable bluetooth regardless if devices are connected (see notes below)
# if ps cax | grep bluetoothd; then
# bluetoothctl power off
# fi
# ## Disable bluetooth regardless if devices are connected (see notes below)
# # if ps cax | grep bluetoothd; then
# # bluetoothctl power off
# # fi
## > Remove IPTS from ME side
modprobe -r ipts_surface
modprobe -r intel_ipts
# modprobe -r mei_hdcp
modprobe -r mei_me
modprobe -r mei
## > Remove IPTS from i915 side
for i in $(find /sys/kernel/debug/dri -name i915_ipts_cleanup); do
echo 1 > $i
done
'';
};
surface-wake = {
enable = lib.versionOlder config.boot.kernelPackages.kernel.version "5.4";
after = [ "post-resume.target" ];
wantedBy = [ "post-resume.target" ];
serviceConfig.Type = "oneshot";
path = with pkgs; [ procps kmod bluez ];
script = ''
## > Load IPTS from i915 side
for i in $(find /sys/kernel/debug/dri -name i915_ipts_init); do
echo 1 > $i
done
## > Load IPTS from ME side
modprobe mei
modprobe mei_me
# modprobe mei_hdcp
modprobe intel_ipts
modprobe ipts_surface
# ## > Remove IPTS from ME side
# modprobe -r ipts_surface
# modprobe -r intel_ipts
# # modprobe -r mei_hdcp
# modprobe -r mei_me
# modprobe -r mei
# ## > Remove IPTS from i915 side
# for i in $(find /sys/kernel/debug/dri -name i915_ipts_cleanup); do
# echo 1 > $i
# done
# '';
# };
# surface-wake = {
# enable = lib.versionOlder config.boot.kernelPackages.kernel.version "5.4";
# after = [ "post-resume.target" ];
# wantedBy = [ "post-resume.target" ];
# serviceConfig.Type = "oneshot";
# path = with pkgs; [ procps kmod bluez ];
# script = ''
# ## > Load IPTS from i915 side
# for i in $(find /sys/kernel/debug/dri -name i915_ipts_init); do
# echo 1 > $i
# done
# ## > Load IPTS from ME side
# modprobe mei
# modprobe mei_me
# # modprobe mei_hdcp
# modprobe intel_ipts
# modprobe ipts_surface
# Restart bluetooth
if ps cax | grep bluetoothd; then
bluetoothctl power on
fi
'';
};
};
# # Restart bluetooth
# if ps cax | grep bluetoothd; then
# bluetoothctl power on
# fi
# '';
# };
# };
## NOTES:
# Susspend issue:

Loading…
Cancel
Save