mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 09:07:21 +01:00
feat: add profiles for all work host options
This commit is contained in:
parent
e15ab08adf
commit
36d97926e6
30 changed files with 891 additions and 403 deletions
9
modules/nixos/optional/amdcpu.nix
Normal file
9
modules/nixos/optional/amdcpu.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.optional.amdcpu = lib.mkEnableOption "optional amd cpu settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.optional.amdcpu {
|
||||
hardware = {
|
||||
cpu.amd.updateMicrocode = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
15
modules/nixos/optional/amdgpu.nix
Normal file
15
modules/nixos/optional/amdgpu.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.optional.amdgpu = lib.mkEnableOption "optional amd gpu settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.optional.amdgpu {
|
||||
hardware = {
|
||||
amdgpu = {
|
||||
opencl.enable = true;
|
||||
amdvlk = {
|
||||
enable = true;
|
||||
support32Bit.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
9
modules/nixos/optional/btrfs.nix
Normal file
9
modules/nixos/optional/btrfs.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.optional.btrfs = lib.mkEnableOption "optional btrfs settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.optional.btrfs {
|
||||
boot = {
|
||||
supportedFilesystems = [ "btrfs" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
27
modules/nixos/optional/framework.nix
Normal file
27
modules/nixos/optional/framework.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems.modules.optional.framework = lib.mkEnableOption "optional framework machine settings";
|
||||
config = lib.mkIf config.swarselsystems.modules.optional.framework {
|
||||
services = {
|
||||
fwupd = {
|
||||
enable = true;
|
||||
# framework also uses lvfs-testing, but I do not want to use it
|
||||
extraRemotes = [ "lvfs" ];
|
||||
};
|
||||
udev.extraRules = ''
|
||||
# disable Wakeup on Framework Laptop 16 Keyboard (ANSI)
|
||||
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0012", ATTR{power/wakeup}="disabled"
|
||||
# disable Wakeup on Framework Laptop 16 Numpad Module
|
||||
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0014", ATTR{power/wakeup}="disabled"
|
||||
# disable Wakeup on Framework Laptop 16 Trackpad
|
||||
ACTION=="add", SUBSYSTEM=="i2c", DRIVERS=="i2c_hid_acpi", ATTRS{name}=="PIXA3854:00", ATTR{power/wakeup}="disabled"
|
||||
'';
|
||||
};
|
||||
programs.fw-fanctrl = {
|
||||
enable = true;
|
||||
config = {
|
||||
defaultStrategy = "lazy";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
24
modules/nixos/optional/hibernation.nix
Normal file
24
modules/nixos/optional/hibernation.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{ lib, config, ... }:
|
||||
{
|
||||
options.swarselsystems = {
|
||||
modules.optional.hibernation = lib.mkEnableOption "optional amd gpu settings";
|
||||
hibernation = {
|
||||
offset = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 0;
|
||||
};
|
||||
resumeDevice = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "/dev/disk/by-label/nixos";
|
||||
};
|
||||
};
|
||||
};
|
||||
config = lib.mkIf config.swarselsystems.modules.optional.hibernation {
|
||||
boot = {
|
||||
kernelParams = [
|
||||
"resume_offset=${builtins.toString config.swarselsystems.hibernation.offset}"
|
||||
];
|
||||
inherit (config.swarselsystems.hibernation) resumeDevice;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -24,7 +24,17 @@ let
|
|||
};
|
||||
in
|
||||
{
|
||||
options.swarselsystems.modules.optional.work = lib.mkEnableOption "optional work settings";
|
||||
options.swarselsystems = {
|
||||
modules.optional.work = lib.mkEnableOption "optional work settings";
|
||||
hostName = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
};
|
||||
fqdn = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
};
|
||||
};
|
||||
config = lib.mkIf config.swarselsystems.modules.optional.work {
|
||||
sops =
|
||||
let
|
||||
|
|
@ -86,7 +96,12 @@ in
|
|||
};
|
||||
|
||||
networking = {
|
||||
firewall.trustedInterfaces = [ "virbr0" ];
|
||||
inherit (config.swarselsystems) hostName fqdn;
|
||||
networkmanager.wifi.scanRandMacAddress = false;
|
||||
firewall = {
|
||||
enable = lib.mkDefault true;
|
||||
trustedInterfaces = [ "virbr0" ];
|
||||
};
|
||||
search = [
|
||||
"vbc.ac.at"
|
||||
"clip.vbc.ac.at"
|
||||
|
|
@ -122,7 +137,7 @@ in
|
|||
# cryptography
|
||||
# ]))
|
||||
# docker
|
||||
python39
|
||||
stable.python39
|
||||
qemu
|
||||
packer
|
||||
gnumake
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue