2021-10-23 23:14:04 +00:00
|
|
|
|
{ config, pkgs, lib, self, ... }:
|
2021-06-14 19:44:38 +00:00
|
|
|
|
with lib;
|
|
|
|
|
let
|
|
|
|
|
psCfg = config.pub-solar;
|
|
|
|
|
xdg = config.home-manager.users."${psCfg.user.name}".xdg;
|
|
|
|
|
in
|
|
|
|
|
{
|
|
|
|
|
imports = [
|
|
|
|
|
./hardware-configuration.nix
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
config = {
|
2021-10-23 23:14:04 +00:00
|
|
|
|
age.secrets.environment-secrets = {
|
|
|
|
|
file = "${self}/secrets/environment-secrets.age";
|
|
|
|
|
mode = "700";
|
|
|
|
|
owner = "teutat3s";
|
|
|
|
|
};
|
|
|
|
|
|
2021-09-06 16:59:46 +00:00
|
|
|
|
pub-solar.virtualisation.enable = true;
|
2021-06-14 19:44:38 +00:00
|
|
|
|
|
|
|
|
|
# fix backlight for keyboard and brightness, adjust function key binding
|
2021-06-20 13:38:01 +00:00
|
|
|
|
boot.kernelParams = [ "acpi_backlight=video" "hid_apple.fnmode=2" "intel_pstate=active" ];
|
2021-06-14 19:44:38 +00:00
|
|
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
|
|
|
|
|
|
|
|
hardware = {
|
|
|
|
|
cpu.intel.updateMicrocode = true;
|
|
|
|
|
facetimehd.enable = true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
networking = import ./networking.nix;
|
|
|
|
|
|
|
|
|
|
security.pki.certificateFiles = [ ./consul-agent-ca.pem ];
|
|
|
|
|
|
|
|
|
|
services.unbound = import ./unbound.nix;
|
|
|
|
|
|
|
|
|
|
# Radeon driver seems to work better than amdgpu with Radeon R9 M370X
|
|
|
|
|
services.xserver.videoDrivers = [ "radeon" ];
|
|
|
|
|
|
|
|
|
|
# Thunderbolt tools
|
|
|
|
|
services.hardware.bolt.enable = true;
|
|
|
|
|
|
2021-06-20 13:38:01 +00:00
|
|
|
|
# TLP for power management
|
|
|
|
|
services.tlp = {
|
|
|
|
|
enable = true;
|
|
|
|
|
settings = {
|
|
|
|
|
CPU_SCALING_GOVERNOR_ON_AC = "performance";
|
|
|
|
|
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
|
|
|
|
|
CPU_BOOST_ON_AC = 1;
|
|
|
|
|
CPU_BOOST_ON_BAT = 0;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
2021-06-14 19:44:38 +00:00
|
|
|
|
services.udev.extraRules =
|
|
|
|
|
# Disable XHC1 wakeup signal to avoid resume getting triggered some time
|
|
|
|
|
# after suspend. Reboot required for this to take effect.
|
|
|
|
|
''SUBSYSTEM=="pci", KERNEL=="0000:00:14.0", ATTR{power/wakeup}="disabled"'';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
services.printing.enable = true;
|
|
|
|
|
services.printing.drivers = [ pkgs.brlaser ];
|
|
|
|
|
|
|
|
|
|
home-manager = pkgs.lib.setAttrByPath [ "users" psCfg.user.name ] {
|
|
|
|
|
# Custom device sway configs
|
|
|
|
|
xdg.configFile = mkIf psCfg.sway.enable {
|
|
|
|
|
"sway/config.d/10-applications.conf".source = ./.config/sway/config.d/applications.conf;
|
|
|
|
|
"sway/config.d/autostart.conf".source = ./.config/sway/config.d/autostart.conf;
|
|
|
|
|
"sway/config.d/10-custom-keybindings.conf".source = ./.config/sway/config.d/custom-keybindings.conf;
|
|
|
|
|
"sway/config.d/input-defaults.conf".source = ./.config/sway/config.d/input-defaults.conf;
|
|
|
|
|
"sway/config.d/screens.conf".source = ./.config/sway/config.d/screens.conf;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
users.users.teutat3s = {
|
|
|
|
|
extraGroups = [ "unbound" ];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# WLAN frequency compliance (e.g. check for radar with DFS)
|
|
|
|
|
hardware.firmware = with pkgs; [ wireless-regdb ];
|
|
|
|
|
boot.extraModprobeConfig = ''
|
|
|
|
|
options cfg80211 ieee80211_regdom="DE"
|
|
|
|
|
'';
|
|
|
|
|
|
|
|
|
|
# This value determines the NixOS release from which the default
|
|
|
|
|
# settings for stateful data, like file locations and database versions
|
|
|
|
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
|
|
|
|
# this value at the release version of the first install of this system.
|
|
|
|
|
# Before changing this value read the documentation for this option
|
|
|
|
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
|
|
|
|
system.stateVersion = "21.05"; # Did you read the comment?
|
|
|
|
|
};
|
|
|
|
|
}
|