This commit is contained in:
commit
95a533c876
451 changed files with 18255 additions and 0 deletions
6
modules/nixos/device/default.nix
Normal file
6
modules/nixos/device/default.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
desktop = import ./desktop.nix;
|
||||
laptop = import ./laptop.nix;
|
||||
server = import ./server.nix;
|
||||
vm = import ./vm.nix;
|
||||
}
|
||||
8
modules/nixos/device/desktop.nix
Normal file
8
modules/nixos/device/desktop.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
imports = [
|
||||
../audio
|
||||
];
|
||||
|
||||
# improve desktop responsiveness when updating the system
|
||||
nix.daemonCPUSchedPolicy = "idle";
|
||||
}
|
||||
33
modules/nixos/device/laptop.nix
Normal file
33
modules/nixos/device/laptop.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkDefault;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./desktop.nix
|
||||
../bluetooth
|
||||
];
|
||||
|
||||
services.tlp = {
|
||||
enable = mkDefault true;
|
||||
settings = {
|
||||
CPU_SCALING_GOVERNOR_ON_AC = mkDefault "performance";
|
||||
CPU_SCALING_GOVERNOR_ON_BAT = mkDefault "powersave";
|
||||
|
||||
CPU_ENERGY_PERF_POLICY_ON_BAT = mkDefault "power";
|
||||
CPU_ENERGY_PERF_POLICY_ON_AC = mkDefault "performance";
|
||||
|
||||
PLATFORM_PROFILE_ON_AC = mkDefault "performance";
|
||||
PLATFORM_PROFILE_ON_BAT = mkDefault "low-power";
|
||||
|
||||
START_CHARGE_THRESH_BAT0 = mkDefault 75;
|
||||
STOP_CHARGE_THRESH_BAT0 = mkDefault 80;
|
||||
};
|
||||
};
|
||||
|
||||
# avoid conflicts with tlp
|
||||
services.power-profiles-daemon.enable = mkDefault false;
|
||||
|
||||
environment.systemPackages = [ pkgs.powertop ];
|
||||
}
|
||||
69
modules/nixos/device/server.nix
Normal file
69
modules/nixos/device/server.nix
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (config.programs) neovim;
|
||||
inherit (lib) mkDefault mkIf;
|
||||
in
|
||||
{
|
||||
environment = {
|
||||
variables = {
|
||||
BROWSER = "echo";
|
||||
EDITOR = mkIf neovim.enable "nvim";
|
||||
VISUAL = mkIf neovim.enable "nvim";
|
||||
};
|
||||
shellAliases = {
|
||||
v = mkIf neovim.enable "nvim";
|
||||
};
|
||||
# do not install /lib/ld-linux.so.2 and /lib64/ld-linux-x86-64.so.2
|
||||
stub-ld.enable = mkDefault false;
|
||||
};
|
||||
|
||||
documentation = {
|
||||
enable = mkDefault false;
|
||||
nixos.enable = mkDefault false;
|
||||
doc.enable = mkDefault false;
|
||||
info.enable = mkDefault false;
|
||||
man.enable = mkDefault false;
|
||||
};
|
||||
|
||||
fonts.fontconfig.enable = mkDefault false;
|
||||
|
||||
xdg.autostart.enable = mkDefault false;
|
||||
xdg.icons.enable = mkDefault false;
|
||||
xdg.menus.enable = mkDefault false;
|
||||
xdg.mime.enable = mkDefault false;
|
||||
xdg.sounds.enable = mkDefault false;
|
||||
|
||||
programs.git.package = mkDefault pkgs.gitMinimal;
|
||||
|
||||
programs.neovim = {
|
||||
enable = mkDefault true;
|
||||
defaultEditor = mkDefault true;
|
||||
vimAlias = mkDefault true;
|
||||
viAlias = mkDefault true;
|
||||
};
|
||||
|
||||
# emergency mode is useless on headless machines
|
||||
systemd.enableEmergencyMode = false;
|
||||
boot.initrd.systemd.suppressedUnits = mkIf config.systemd.enableEmergencyMode [
|
||||
"emergency.service"
|
||||
"emergency.target"
|
||||
];
|
||||
|
||||
systemd.sleep.extraConfig = ''
|
||||
AllowSuspend=no
|
||||
AllowHibernation=no
|
||||
'';
|
||||
|
||||
# force reboots
|
||||
systemd.settings.Manager = {
|
||||
RuntimeWatchdogSec = mkDefault "15s";
|
||||
RebootWatchdogSec = mkDefault "30s";
|
||||
KExecWatchdogSec = mkDefault "1m";
|
||||
};
|
||||
}
|
||||
10
modules/nixos/device/vm.nix
Normal file
10
modules/nixos/device/vm.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{ lib, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkDefault;
|
||||
in
|
||||
{
|
||||
services.qemuGuest.enable = mkDefault true;
|
||||
services.spice-vdagentd.enable = mkDefault true;
|
||||
services.spice-webdavd.enable = mkDefault true;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue