some cleanup, back to wpa_supplicant, about to branch for refactor
This commit is contained in:
parent
29f9ba670f
commit
7b061e6cd8
33 changed files with 2225 additions and 449 deletions
|
@ -2,7 +2,7 @@
|
|||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ nixos-hardware, config, pkgs, musnix, lib, inputs, outputs, ... }:
|
||||
{ config, pkgs, lib, inputs, musnix, outputs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
|
@ -30,20 +30,12 @@
|
|||
flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
|
||||
in {
|
||||
|
||||
# gc = {
|
||||
# automatic = true;
|
||||
# dates = "daily";
|
||||
# options = "--delete-older-than +3";
|
||||
# };
|
||||
|
||||
settings = {
|
||||
# Enable flakes and new 'nix' command
|
||||
experimental-features = "nix-command flakes";
|
||||
# Workaround for https://github.com/NixOS/nix/issues/9574
|
||||
nix-path = config.nix.nixPath;
|
||||
};
|
||||
# Opinionated: disable channels
|
||||
# channel.enable = false;
|
||||
|
||||
# Opinionated: make flake registry and nix path match flake inputs
|
||||
registry = lib.mapAttrs (_: flake: {inherit flake;}) flakeInputs;
|
||||
|
@ -72,7 +64,9 @@
|
|||
egl-wayland
|
||||
glfw-wayland
|
||||
openssl
|
||||
appimage-run
|
||||
xwayland-satellite
|
||||
xwayland-run
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
|
@ -83,11 +77,15 @@
|
|||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
kernelPackages = pkgs.unstable.linuxPackages_latest;
|
||||
initrd.systemd.enable = true;
|
||||
initrd.kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" "snd-virmidi" ];
|
||||
kernelParams = [ "nvidia_drm.fbdev=1" "nvidia_drm.modeset=1" ];
|
||||
};
|
||||
|
||||
systemd.services.tailscaled.after = ["NetworkManager-wait-online.service"];
|
||||
systemd.sleep.extraConfig = ''
|
||||
HibernateDelaySec=2h
|
||||
'';
|
||||
|
||||
documentation = {
|
||||
dev.enable = true;
|
||||
|
@ -120,8 +118,8 @@
|
|||
];
|
||||
|
||||
nvidia = {
|
||||
# Modesetting is required.
|
||||
open = true;
|
||||
# Modesetting is required.
|
||||
modesetting.enable = true;
|
||||
powerManagement.enable = true;
|
||||
powerManagement.finegrained = true;
|
||||
|
@ -163,35 +161,93 @@
|
|||
rtcqs.enable = true;
|
||||
};
|
||||
|
||||
services.udev.extraRules = ''
|
||||
DEVPATH=="/devices/virtual/misc/cpu_dma_latency", OWNER="root", GROUP="audio", MODE="0660"
|
||||
'';
|
||||
services.fstrim.enable = true;
|
||||
|
||||
services.samba = {
|
||||
enable = true;
|
||||
package = pkgs.sambaFull;
|
||||
};
|
||||
|
||||
services.logind = {
|
||||
extraConfig = ''
|
||||
IdleAction=lock
|
||||
IdleActionSec=5m
|
||||
'';
|
||||
};
|
||||
services.udev = {
|
||||
extraRules = ''
|
||||
DEVPATH=="/devices/virtual/misc/cpu_dma_latency", OWNER="root", GROUP="audio", MODE="0660"
|
||||
'';
|
||||
packages = [
|
||||
pkgs.via
|
||||
pkgs.vial
|
||||
(pkgs.writeTextFile {
|
||||
name = "on-battery";
|
||||
text = ''
|
||||
# Rule for when switching to battery
|
||||
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="0", RUN+="${pkgs.power-profiles-daemon}/bin/powerprofilesctl set balanced"
|
||||
'';
|
||||
destination = "/etc/udev/rules.d/60-onbattery.rules";
|
||||
})
|
||||
(pkgs.writeTextFile {
|
||||
name = "on-power";
|
||||
text = ''
|
||||
# Rule for when switching to ac
|
||||
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="1", RUN+="${pkgs.power-profiles-daemon}/bin/powerprofilesctl set performance"
|
||||
'';
|
||||
destination = "/etc/udev/rules.d/61-onpower.rules";
|
||||
})
|
||||
(pkgs.writeTextFile {
|
||||
name = "hibernate-low-battery";
|
||||
text = ''
|
||||
# Suspend the system when battery level drops to 5% or lower
|
||||
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="[0-5]", RUN+="${pkgs.systemd}/bin/systemctl hibernate"
|
||||
'';
|
||||
destination = "/etc/udev/rules.d/99-hibernate-low-battery.rules";
|
||||
})
|
||||
(pkgs.writeTextFile {
|
||||
name = "on-battery-power-saver";
|
||||
text = ''
|
||||
# Switch to power-saver when battery below 50%
|
||||
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="[0-5][0-9]", RUN+="${pkgs.power-profiles-daemon}/bin/powerprofilesctl set power-saver"
|
||||
'';
|
||||
destination = "/etc/udev/rules.d/62-power-save-battery.rules";
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
security.polkit.enable = true;
|
||||
security.rtkit.enable = true;
|
||||
security.pam.services.swaylock = {};
|
||||
security.pam.services.hyprlock = {};
|
||||
|
||||
services.xserver.videoDrivers = [ "nvidia" "modesetting" ];
|
||||
|
||||
programs.nm-applet.enable = true;
|
||||
|
||||
networking = {
|
||||
hostName = "eddie";
|
||||
domain = "local";
|
||||
nameservers = [ "1.1.1.1" "1.0.0.1" ];
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
wifi.powersave = true;
|
||||
# wifi.backend = "iwd";
|
||||
};
|
||||
# wireless = {
|
||||
# iwd = {
|
||||
# enable = true;
|
||||
# package = pkgs.unstable.iwd;
|
||||
# settings = {
|
||||
# IPv6 = {
|
||||
# enabled = true;
|
||||
# };
|
||||
# Settings = {
|
||||
# AutoConnect = true;
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
wifi.powersave = true;
|
||||
# wifi.backend = "iwd";
|
||||
};
|
||||
};
|
||||
|
||||
services.resolved = {
|
||||
|
@ -226,7 +282,7 @@
|
|||
|
||||
programs.niri = {
|
||||
enable = true;
|
||||
package = inputs.niri.packages.x86_64-linux.default;
|
||||
package = inputs.niri.packages.x86_64-linux.niri;
|
||||
};
|
||||
|
||||
# programs.waybar.enable = true;
|
||||
|
@ -384,7 +440,6 @@
|
|||
|
||||
services.kmonad = {
|
||||
enable = true;
|
||||
package = pkgs.unstable.kmonad;
|
||||
keyboards = {
|
||||
sinc = {
|
||||
device = "/dev/input/by-id/usb-Keebio_Sinc_Rev._4-event-kbd";
|
||||
|
@ -457,11 +512,6 @@
|
|||
libudev-zero.out
|
||||
];
|
||||
|
||||
services.udev.packages = with pkgs; [
|
||||
via
|
||||
vial
|
||||
];
|
||||
|
||||
fonts.fontconfig = {
|
||||
enable = true;
|
||||
useEmbeddedBitmaps = true;
|
||||
|
@ -471,13 +521,19 @@
|
|||
enable = true;
|
||||
};
|
||||
|
||||
services.power-profiles-daemon.enable = true;
|
||||
services.power-profiles-daemon = {
|
||||
enable = true;
|
||||
package = pkgs.unstable.power-profiles-daemon;
|
||||
};
|
||||
|
||||
# enable the OpenSSH daemon.
|
||||
services.openssh.enable = true;
|
||||
|
||||
services.avahi = {
|
||||
enable = true;
|
||||
publish.enable = true;
|
||||
publish.userServices = true;
|
||||
openFirewall = true;
|
||||
nssmdns4 = true;
|
||||
};
|
||||
|
||||
|
@ -485,7 +541,7 @@
|
|||
users.users.emenel = {
|
||||
isNormalUser = true;
|
||||
description = "emenel";
|
||||
extraGroups = [ "networkmanager" "wheel" "uinput" "uucp" "dialout" "input" "audio" "video" "libvirtd" "nvidia" "cups" "openrazer" "plugdev" ];
|
||||
extraGroups = [ "networkmanager" "network" "wheel" "uinput" "uucp" "dialout" "input" "audio" "video" "libvirtd" "nvidia" "cups" "openrazer" "plugdev" ];
|
||||
packages = with pkgs; [
|
||||
git
|
||||
];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue