nixfmt
This commit is contained in:
parent
ac021ac976
commit
91eea7811a
13
common.nix
13
common.nix
@ -1,9 +1,7 @@
|
||||
{ config, pkgs, lib, options, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./modules
|
||||
];
|
||||
imports = [ ./modules ];
|
||||
|
||||
config = {
|
||||
services.haveged.enable = lib.mkDefault true;
|
||||
@ -19,9 +17,12 @@
|
||||
|
||||
programs.mosh.enable = lib.mkDefault true;
|
||||
|
||||
systemd.services.nix-gc.serviceConfig.IOSchedulingPriority = lib.mkDefault 7;
|
||||
systemd.services.nix-gc.serviceConfig.IOSchedulingClass = lib.mkDefault "idle";
|
||||
systemd.services.nix-gc.serviceConfig.CPUSchedulingPolicy = lib.mkDefault "idle";
|
||||
systemd.services.nix-gc.serviceConfig.IOSchedulingPriority =
|
||||
lib.mkDefault 7;
|
||||
systemd.services.nix-gc.serviceConfig.IOSchedulingClass =
|
||||
lib.mkDefault "idle";
|
||||
systemd.services.nix-gc.serviceConfig.CPUSchedulingPolicy =
|
||||
lib.mkDefault "idle";
|
||||
|
||||
nix = {
|
||||
gc = {
|
||||
|
@ -51,7 +51,7 @@
|
||||
flake = false;
|
||||
};
|
||||
npmlock2nix = {
|
||||
url = github:nix-community/npmlock2nix;
|
||||
url = "github:nix-community/npmlock2nix";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
@ -86,7 +86,8 @@
|
||||
nixosModules.common-chekkie = import ./users/chekkie.nix;
|
||||
|
||||
homeManagerModules.common = import ./home-manager/common.nix inputs;
|
||||
homeManagerModules.common-notgne2 = import ./home-manager/users/notgne2.nix inputs;
|
||||
homeManagerModules.common-notgne2 =
|
||||
import ./home-manager/users/notgne2.nix inputs;
|
||||
homeManagerModules.common-glooder = import ./home-manager/users/glooder.nix;
|
||||
homeManagerModules.common-chekkie = import ./home-manager/users/chekkie.nix;
|
||||
};
|
||||
|
@ -1,9 +1,7 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.de2;
|
||||
in
|
||||
{
|
||||
let cfg = config.de2;
|
||||
in {
|
||||
options.de2.enable = mkEnableOption "Enable de2 system stuff";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
@ -28,7 +26,13 @@ in
|
||||
services.power-profiles-daemon.enable = lib.mkDefault false;
|
||||
|
||||
# for KDE connect
|
||||
networking.firewall.allowedTCPPortRanges = [ { from = 1714; to = 1764; } ];
|
||||
networking.firewall.allowedUDPPortRanges = [ { from = 1714; to = 1764; } ];
|
||||
networking.firewall.allowedTCPPortRanges = [{
|
||||
from = 1714;
|
||||
to = 1764;
|
||||
}];
|
||||
networking.firewall.allowedUDPPortRanges = [{
|
||||
from = 1714;
|
||||
to = 1764;
|
||||
}];
|
||||
};
|
||||
}
|
||||
|
@ -1,12 +1,9 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.ezpassthru;
|
||||
in
|
||||
{
|
||||
let cfg = config.services.ezpassthru;
|
||||
in {
|
||||
options.services.ezpassthru = {
|
||||
enable =
|
||||
mkEnableOption
|
||||
enable = mkEnableOption
|
||||
"Enable simple VM PCI passthrough config (NOTE: this is only for ppl with a primary AMD/Intel, and a non-primary NVidia)";
|
||||
|
||||
PCIs = mkOption {
|
||||
@ -29,11 +26,7 @@ in
|
||||
"vfio"
|
||||
];
|
||||
|
||||
boot.kernelParams = [
|
||||
"intel_iommu=on"
|
||||
"amd_iommu=on"
|
||||
"pcie_aspm=off"
|
||||
];
|
||||
boot.kernelParams = [ "intel_iommu=on" "amd_iommu=on" "pcie_aspm=off" ];
|
||||
|
||||
boot.extraModprobeConfig = "options vfio-pci ids=${
|
||||
builtins.concatStringsSep "," (builtins.attrNames cfg.PCIs)
|
||||
|
@ -1,9 +1,7 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.ezpw;
|
||||
in
|
||||
{
|
||||
let cfg = config.services.ezpw;
|
||||
in {
|
||||
options.services.ezpw = {
|
||||
enable = mkEnableOption "Enable pipewire";
|
||||
|
||||
@ -15,13 +13,15 @@ in
|
||||
|
||||
usbSoundcard = mkOption {
|
||||
type = types.bool;
|
||||
description = "Doubles the audio rate for alsa outputs in low latency mode";
|
||||
description =
|
||||
"Doubles the audio rate for alsa outputs in low latency mode";
|
||||
default = false;
|
||||
};
|
||||
|
||||
periodSize = mkOption {
|
||||
type = types.int;
|
||||
description = "Pipewire period size in low latency mode (\"tweak by trial-and-error\")";
|
||||
description = ''
|
||||
Pipewire period size in low latency mode ("tweak by trial-and-error")'';
|
||||
default = 32;
|
||||
};
|
||||
|
||||
@ -38,11 +38,8 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
config =
|
||||
let
|
||||
qr = "${toString cfg.quantum}/${toString cfg.rate}";
|
||||
in
|
||||
mkIf cfg.enable {
|
||||
config = let qr = "${toString cfg.quantum}/${toString cfg.rate}";
|
||||
in mkIf cfg.enable {
|
||||
hardware.pulseaudio.enable = lib.mkDefault false;
|
||||
sound.enable = lib.mkDefault false;
|
||||
|
||||
@ -131,8 +128,7 @@ in
|
||||
};
|
||||
|
||||
media-session.config.alsa-monitor = mkIf cfg.lowLatency {
|
||||
rules = [
|
||||
{
|
||||
rules = [{
|
||||
matches = [{ node.name = "alsa_output.*"; }];
|
||||
actions = {
|
||||
update-props = {
|
||||
@ -141,8 +137,7 @@ in
|
||||
"api.alsa.period-size" = cfg.periodSize;
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
}];
|
||||
};
|
||||
|
||||
media-session.config.bluez-monitor = {
|
||||
@ -173,14 +168,18 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
environment.systemPackages = with pkgs;
|
||||
[
|
||||
# pactl is required for pipewire-pulse
|
||||
pulseaudio
|
||||
];
|
||||
|
||||
environment.etc."wireplumber/main.lua.d/51-alsa-config.lua".text = mkIf cfg.lowLatency ''
|
||||
environment.etc."wireplumber/main.lua.d/51-alsa-config.lua".text =
|
||||
mkIf cfg.lowLatency ''
|
||||
alsa_monitor.properties = {
|
||||
["audio.rate"] = ${toString (cfg.rate * (if cfg.usbSoundcard then 2 else 1))},
|
||||
["audio.rate"] = ${
|
||||
toString (cfg.rate * (if cfg.usbSoundcard then 2 else 1))
|
||||
},
|
||||
["audio.format"] = "S32LE",
|
||||
["api.alsa.headroom"] = 512,
|
||||
["api.alsa.period-size"] = ${toString cfg.periodSize}
|
||||
@ -198,6 +197,10 @@ in
|
||||
|
||||
xdg.portal.enable = lib.mkDefault true;
|
||||
xdg.portal.gtkUsePortal = lib.mkDefault true;
|
||||
xdg.portal.extraPortals = lib.mkDefault (with pkgs; [ xdg-desktop-portal-gnome xdg-desktop-portal-wlr xdg-desktop-portal-gtk ]);
|
||||
xdg.portal.extraPortals = lib.mkDefault (with pkgs; [
|
||||
xdg-desktop-portal-gnome
|
||||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-gtk
|
||||
]);
|
||||
};
|
||||
}
|
||||
|
@ -25,8 +25,7 @@ let
|
||||
rangesOutput = pkgs.runCommandNoCC "exclusionary-wildcard-ranges" { } ''
|
||||
${pkgs.python3}/bin/python3 ${generateRangesScript} > $out
|
||||
'';
|
||||
in
|
||||
lib.splitString ":" (builtins.readFile "${rangesOutput}");
|
||||
in lib.splitString ":" (builtins.readFile "${rangesOutput}");
|
||||
|
||||
subnet = vlanIP: vlanSize:
|
||||
let
|
||||
@ -39,8 +38,7 @@ let
|
||||
subnetOutput = pkgs.runCommandNoCC "subnet-without-host-bits" { } ''
|
||||
${pkgs.python3}/bin/python3 ${generateSubnetScript} > $out
|
||||
'';
|
||||
in
|
||||
builtins.readFile "${subnetOutput}";
|
||||
in builtins.readFile "${subnetOutput}";
|
||||
|
||||
serverOpts.options = {
|
||||
ip = mkOption {
|
||||
@ -88,8 +86,7 @@ let
|
||||
description = "The IP to use on the wg VLAN";
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.services.ezwg = {
|
||||
enable = mkEnableOption "Enable simple Wireguard connection";
|
||||
instances = mkOption {
|
||||
@ -99,51 +96,40 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable
|
||||
{
|
||||
config = mkIf cfg.enable {
|
||||
networking.firewall.checkReversePath = false;
|
||||
|
||||
systemd.paths = mapAttrs'
|
||||
(instName: inst: {
|
||||
systemd.paths = mapAttrs' (instName: inst: {
|
||||
name = "wireguard-${instName}";
|
||||
value = if inst.autoStart then { } else { wantedBy = mkForce [ ]; };
|
||||
})
|
||||
cfg.instances;
|
||||
}) cfg.instances;
|
||||
|
||||
systemd.services = lib.listToAttrs (flatten
|
||||
(mapAttrsToList
|
||||
(instName: inst: [
|
||||
{
|
||||
systemd.services = lib.listToAttrs (flatten (mapAttrsToList (instName: inst:
|
||||
[{
|
||||
name = "wireguard-${instName}";
|
||||
value = if inst.autoStart then { } else { wantedBy = mkForce [ ]; };
|
||||
}
|
||||
] ++ map
|
||||
(server: {
|
||||
name = "wireguard-${instName}-peer${peerNameReplacement server.publicKey}";
|
||||
}] ++ map (server: {
|
||||
name =
|
||||
"wireguard-${instName}-peer${peerNameReplacement server.publicKey}";
|
||||
value = if inst.autoStart then { } else { wantedBy = mkForce [ ]; };
|
||||
})
|
||||
inst.servers)
|
||||
cfg.instances));
|
||||
}) inst.servers) cfg.instances));
|
||||
|
||||
|
||||
networking.wireguard.interfaces = mapAttrs
|
||||
(instName: inst:
|
||||
networking.wireguard.interfaces = mapAttrs (instName: inst:
|
||||
let
|
||||
allowedIPs = if inst.proxy then ranges (map (s: s.ip) inst.servers) else [ (subnet inst.vlanIP inst.vlanSize) ];
|
||||
in
|
||||
{
|
||||
allowedIPs = if inst.proxy then
|
||||
ranges (map (s: s.ip) inst.servers)
|
||||
else
|
||||
[ (subnet inst.vlanIP inst.vlanSize) ];
|
||||
in {
|
||||
ips = [ "${inst.vlanIP}/${toString inst.vlanSize}" ];
|
||||
privateKeyFile = inst.privateKeyFile;
|
||||
peers = map
|
||||
(server: {
|
||||
peers = map (server: {
|
||||
inherit allowedIPs;
|
||||
publicKey = server.publicKey;
|
||||
endpoint = "${server.ip}:${toString server.port}";
|
||||
persistentKeepalive = 25;
|
||||
})
|
||||
inst.servers;
|
||||
})
|
||||
cfg.instances;
|
||||
}) inst.servers;
|
||||
}) cfg.instances;
|
||||
|
||||
};
|
||||
}
|
||||
|
@ -3,9 +3,14 @@ with lib;
|
||||
let
|
||||
cfg = config.fuckingprint;
|
||||
|
||||
fixPlatforms = p: p.overrideAttrs (super: super // { meta = super.meta // { platforms = super.meta.platforms ++ [ "x86_64-linux" ]; }; });
|
||||
in
|
||||
{
|
||||
fixPlatforms = p:
|
||||
p.overrideAttrs (super:
|
||||
super // {
|
||||
meta = super.meta // {
|
||||
platforms = super.meta.platforms ++ [ "x86_64-linux" ];
|
||||
};
|
||||
});
|
||||
in {
|
||||
options.fuckingprint.enable = mkEnableOption "Make my fucking printer work";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
@ -76,7 +81,9 @@ in
|
||||
mfcl3770cdwlpr
|
||||
|
||||
# Maybe this isn't a good idea?
|
||||
(mfcl8690cdwcupswrapper.override { mfcl8690cdwlpr = fixPlatforms mfcl8690cdwlpr; })
|
||||
(mfcl8690cdwcupswrapper.override {
|
||||
mfcl8690cdwlpr = fixPlatforms mfcl8690cdwlpr;
|
||||
})
|
||||
(fixPlatforms mfcl8690cdwlpr)
|
||||
];
|
||||
hardware.sane.enable = true;
|
||||
|
@ -1,9 +1,7 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.kiosk;
|
||||
in
|
||||
{
|
||||
let cfg = config.services.kiosk;
|
||||
in {
|
||||
options.services.kiosk = {
|
||||
enable = mkEnableOption "Enable simple kiosk display";
|
||||
|
||||
@ -65,8 +63,7 @@ in
|
||||
displayManager.xserverArgs = if cfg.cursor then [ ] else [ "-nocursor" ];
|
||||
displayManager.defaultSession = "kiosk+ratpoison";
|
||||
|
||||
desktopManager.session = [
|
||||
{
|
||||
desktopManager.session = [{
|
||||
name = "kiosk";
|
||||
start = ''
|
||||
# dont blank the screen after 5min
|
||||
@ -77,8 +74,7 @@ in
|
||||
|
||||
${cfg.session}
|
||||
'';
|
||||
}
|
||||
];
|
||||
}];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -1,9 +1,7 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.workstation;
|
||||
in
|
||||
{
|
||||
let cfg = config.workstation;
|
||||
in {
|
||||
options.workstation = {
|
||||
enable = mkEnableOption "make my computer work";
|
||||
|
||||
@ -37,7 +35,13 @@ in
|
||||
|
||||
services.thermald.enable = lib.mkDefault true;
|
||||
|
||||
boot.kernelParams = lib.optionals cfg.battery [ "iwlwifi.uapsd_disable=0" "iwlmvm.power_scheme=3" "iwldvm.force_cam=0" "snd_hda_intel.power_save=1" "snd_ac97_codec.power_save=1" ];
|
||||
boot.kernelParams = lib.optionals cfg.battery [
|
||||
"iwlwifi.uapsd_disable=0"
|
||||
"iwlmvm.power_scheme=3"
|
||||
"iwldvm.force_cam=0"
|
||||
"snd_hda_intel.power_save=1"
|
||||
"snd_ac97_codec.power_save=1"
|
||||
];
|
||||
|
||||
# Don't kill the battery
|
||||
services.upower = {
|
||||
@ -109,9 +113,7 @@ in
|
||||
# Optimizes running games
|
||||
programs.gamemode = {
|
||||
enable = lib.mkDefault true;
|
||||
settings = {
|
||||
general.renice = 10;
|
||||
};
|
||||
settings = { general.renice = 10; };
|
||||
};
|
||||
|
||||
# Allows realtime stuff, useful for games, audio etc
|
||||
@ -164,20 +166,29 @@ in
|
||||
|
||||
# the user should have some basic permissions lol
|
||||
users.users."${cfg.user}" = {
|
||||
extraGroups = [ "adbusers" "audio" "video" "libvirtd" "kvm" "sway" "wheel" "networkmanager" "docker" "podman" "input" "uinput" ];
|
||||
extraGroups = [
|
||||
"adbusers"
|
||||
"audio"
|
||||
"video"
|
||||
"libvirtd"
|
||||
"kvm"
|
||||
"sway"
|
||||
"wheel"
|
||||
"networkmanager"
|
||||
"docker"
|
||||
"podman"
|
||||
"input"
|
||||
"uinput"
|
||||
];
|
||||
|
||||
subUidRanges = [
|
||||
{
|
||||
subUidRanges = [{
|
||||
startUid = 100000;
|
||||
count = 65536;
|
||||
}
|
||||
];
|
||||
subGidRanges = [
|
||||
{
|
||||
}];
|
||||
subGidRanges = [{
|
||||
startGid = 100000;
|
||||
count = 65536;
|
||||
}
|
||||
];
|
||||
}];
|
||||
};
|
||||
|
||||
# brightness
|
||||
@ -268,6 +279,7 @@ in
|
||||
|
||||
# bluetooth
|
||||
hardware.bluetooth.enable = lib.mkDefault true;
|
||||
hardware.bluetooth.settings.General.Enable = lib.mkDefault "Source,Sink,Media,Socket";
|
||||
hardware.bluetooth.settings.General.Enable =
|
||||
lib.mkDefault "Source,Sink,Media,Socket";
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user