From 91eea7811a1c26e2f0995713e0075d9be5349f05 Mon Sep 17 00:00:00 2001 From: notgne2 Date: Sat, 11 Jun 2022 11:37:58 -0700 Subject: [PATCH] nixfmt --- common.nix | 13 +- flake.nix | 5 +- modules/de2.nix | 20 +-- modules/ezpassthru.nix | 17 +-- modules/ezpw.nix | 275 ++++++++++++++++++++------------------- modules/ezwg.nix | 84 +++++------- modules/fuckingprint.nix | 15 ++- modules/kiosk.nix | 30 ++--- modules/workstation.nix | 56 ++++---- 9 files changed, 259 insertions(+), 256 deletions(-) diff --git a/common.nix b/common.nix index b75375c..77e9653 100644 --- a/common.nix +++ b/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 = { diff --git a/flake.nix b/flake.nix index 6562000..ee90874 100644 --- a/flake.nix +++ b/flake.nix @@ -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; }; diff --git a/modules/de2.nix b/modules/de2.nix index d858bca..0a979b8 100644 --- a/modules/de2.nix +++ b/modules/de2.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 { @@ -14,8 +12,8 @@ in ]; i18n.inputMethod = { - enabled = "ibus"; - ibus.engines = with pkgs.ibus-engines; [ typing-booster uniemoji ]; + enabled = "ibus"; + ibus.engines = with pkgs.ibus-engines; [ typing-booster uniemoji ]; }; services.xserver = { @@ -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; + }]; }; } diff --git a/modules/ezpassthru.nix b/modules/ezpassthru.nix index 08be11c..4d5e125 100644 --- a/modules/ezpassthru.nix +++ b/modules/ezpassthru.nix @@ -1,13 +1,10 @@ { config, lib, pkgs, ... }: with lib; -let - cfg = config.services.ezpassthru; -in -{ +let cfg = config.services.ezpassthru; +in { options.services.ezpassthru = { - enable = - mkEnableOption - "Enable simple VM PCI passthrough config (NOTE: this is only for ppl with a primary AMD/Intel, and a non-primary NVidia)"; + 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 { description = "The ID pairs of your PCI devices to passthrough"; @@ -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) diff --git a/modules/ezpw.nix b/modules/ezpw.nix index b72e09c..99713ff 100644 --- a/modules/ezpw.nix +++ b/modules/ezpw.nix @@ -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,166 +38,169 @@ in }; }; - config = - let - qr = "${toString cfg.quantum}/${toString cfg.rate}"; - in - mkIf cfg.enable { - hardware.pulseaudio.enable = lib.mkDefault false; - sound.enable = lib.mkDefault false; + config = let qr = "${toString cfg.quantum}/${toString cfg.rate}"; + in mkIf cfg.enable { + hardware.pulseaudio.enable = lib.mkDefault false; + sound.enable = lib.mkDefault false; - services.pipewire = { - enable = lib.mkDefault true; - jack.enable = lib.mkDefault true; - alsa.enable = lib.mkDefault true; - alsa.support32Bit = lib.mkDefault true; - pulse.enable = lib.mkDefault true; + services.pipewire = { + enable = lib.mkDefault true; + jack.enable = lib.mkDefault true; + alsa.enable = lib.mkDefault true; + alsa.support32Bit = lib.mkDefault true; + pulse.enable = lib.mkDefault true; - media-session.enable = lib.mkDefault false; - wireplumber.enable = lib.mkDefault true; + media-session.enable = lib.mkDefault false; + wireplumber.enable = lib.mkDefault true; - config = mkIf cfg.lowLatency { - pipewire = { - "context.properties" = { - "default.clock.rate" = cfg.rate; - "default.clock.quantum" = cfg.quantum; - "default.clock.min-quantum" = cfg.quantum; - }; - - "context.modules" = [ - { - name = "libpipewire-module-rtkit"; - args = { - "nice.level" = -11; - "rt.prio" = 88; - "rt.time.soft" = 200000; - "rt.time.hard" = 200000; - }; - flags = [ "ifexists" "nofail" ]; - } - { name = "libpipewire-module-protocol-native"; } - { name = "libpipewire-module-profiler"; } - { name = "libpipewire-module-metadata"; } - { name = "libpipewire-module-spa-device-factory"; } - { name = "libpipewire-module-spa-node-factory"; } - { name = "libpipewire-module-client-node"; } - { name = "libpipewire-module-client-device"; } - { - name = "libpipewire-module-portal"; - flags = [ "ifexists" "nofail" ]; - } - { - name = "libpipewire-module-access"; - args = { }; - } - { name = "libpipewire-module-adapter"; } - { name = "libpipewire-module-link-factory"; } - { name = "libpipewire-module-session-manager"; } - ]; + config = mkIf cfg.lowLatency { + pipewire = { + "context.properties" = { + "default.clock.rate" = cfg.rate; + "default.clock.quantum" = cfg.quantum; + "default.clock.min-quantum" = cfg.quantum; }; - pipewire-pulse = { - "context.modules" = [ - { - name = "libpipewire-module-rtkit"; - args = { - "nice.level" = -11; - "rt.prio" = 88; - "rt.time.soft" = 200000; - "rt.time.hard" = 200000; - }; - flags = [ "ifexists" "nofail" ]; - } - { name = "libpipewire-module-protocol-native"; } - { name = "libpipewire-module-client-node"; } - { name = "libpipewire-module-adapter"; } - { name = "libpipewire-module-metadata"; } - { - name = "libpipewire-module-protocol-pulse"; - args = { - "pulse.min.req" = qr; - "pulse.default.req" = qr; - "pulse.min.quantum" = qr; - "server.address" = [ "unix:native" ]; - }; - } - ]; - - "stream.properties" = { - "node.latency" = qr; - "resample.quality" = 1; - }; - }; - }; - - media-session.config.alsa-monitor = mkIf cfg.lowLatency { - rules = [ + "context.modules" = [ { - matches = [{ node.name = "alsa_output.*"; }]; - actions = { - update-props = { - "audio.format" = "S32LE"; - "audio.rate" = cfg.rate * (if cfg.usbSoundcard then 2 else 1); - "api.alsa.period-size" = cfg.periodSize; - }; + name = "libpipewire-module-rtkit"; + args = { + "nice.level" = -11; + "rt.prio" = 88; + "rt.time.soft" = 200000; + "rt.time.hard" = 200000; }; + flags = [ "ifexists" "nofail" ]; } + { name = "libpipewire-module-protocol-native"; } + { name = "libpipewire-module-profiler"; } + { name = "libpipewire-module-metadata"; } + { name = "libpipewire-module-spa-device-factory"; } + { name = "libpipewire-module-spa-node-factory"; } + { name = "libpipewire-module-client-node"; } + { name = "libpipewire-module-client-device"; } + { + name = "libpipewire-module-portal"; + flags = [ "ifexists" "nofail" ]; + } + { + name = "libpipewire-module-access"; + args = { }; + } + { name = "libpipewire-module-adapter"; } + { name = "libpipewire-module-link-factory"; } + { name = "libpipewire-module-session-manager"; } ]; }; - media-session.config.bluez-monitor = { - properties = { - "bluez5.codecs" = [ "sbc" "aac" "ldac" "aptx" "aptx_hd" ]; - "bluez5.mdbc-support" = true; - }; - rules = [ + pipewire-pulse = { + "context.modules" = [ { - actions = { - update-props = { - "bluez5.auto-connect" = [ "hsp_hs" "hfp_hf" "a2dp_sink" ]; - "bluez5.hw-volume" = - [ "hsp_ag" "hfp_ag" "a2dp_source" "a2dp_sink" ]; - "bluez5.autoswitch-profile" = true; - }; + name = "libpipewire-module-rtkit"; + args = { + "nice.level" = -11; + "rt.prio" = 88; + "rt.time.soft" = 200000; + "rt.time.hard" = 200000; }; - matches = [{ "device.name" = "~bluez_card.*"; }]; + flags = [ "ifexists" "nofail" ]; } + { name = "libpipewire-module-protocol-native"; } + { name = "libpipewire-module-client-node"; } + { name = "libpipewire-module-adapter"; } + { name = "libpipewire-module-metadata"; } { - actions = { update-props = { "node.pause-on-idle" = false; }; }; - matches = [ - { "node.name" = "~bluez_input.*"; } - { "node.name" = "~bluez_output.*"; } - ]; + name = "libpipewire-module-protocol-pulse"; + args = { + "pulse.min.req" = qr; + "pulse.default.req" = qr; + "pulse.min.quantum" = qr; + "server.address" = [ "unix:native" ]; + }; } ]; + + "stream.properties" = { + "node.latency" = qr; + "resample.quality" = 1; + }; }; }; - environment.systemPackages = with pkgs; [ + media-session.config.alsa-monitor = mkIf cfg.lowLatency { + rules = [{ + matches = [{ node.name = "alsa_output.*"; }]; + actions = { + update-props = { + "audio.format" = "S32LE"; + "audio.rate" = cfg.rate * (if cfg.usbSoundcard then 2 else 1); + "api.alsa.period-size" = cfg.periodSize; + }; + }; + }]; + }; + + media-session.config.bluez-monitor = { + properties = { + "bluez5.codecs" = [ "sbc" "aac" "ldac" "aptx" "aptx_hd" ]; + "bluez5.mdbc-support" = true; + }; + rules = [ + { + actions = { + update-props = { + "bluez5.auto-connect" = [ "hsp_hs" "hfp_hf" "a2dp_sink" ]; + "bluez5.hw-volume" = + [ "hsp_ag" "hfp_ag" "a2dp_source" "a2dp_sink" ]; + "bluez5.autoswitch-profile" = true; + }; + }; + matches = [{ "device.name" = "~bluez_card.*"; }]; + } + { + actions = { update-props = { "node.pause-on-idle" = false; }; }; + matches = [ + { "node.name" = "~bluez_input.*"; } + { "node.name" = "~bluez_output.*"; } + ]; + } + ]; + }; + }; + + 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} } ''; - environment.etc."wireplumber/bluetooth.lua.d/51-bluez-config.lua".text = '' - bluez_monitor.properties = { - ["bluez5.enable-sbc-xq"] = true, - ["bluez5.enable-msbc"] = true, - ["bluez5.enable-hw-volume"] = true, - ["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag ]" - } - ''; + environment.etc."wireplumber/bluetooth.lua.d/51-bluez-config.lua".text = '' + bluez_monitor.properties = { + ["bluez5.enable-sbc-xq"] = true, + ["bluez5.enable-msbc"] = true, + ["bluez5.enable-hw-volume"] = true, + ["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag ]" + } + ''; - 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.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 + ]); + }; } diff --git a/modules/ezwg.nix b/modules/ezwg.nix index 5aface4..cf4f6c4 100644 --- a/modules/ezwg.nix +++ b/modules/ezwg.nix @@ -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 - { - networking.firewall.checkReversePath = false; + config = mkIf cfg.enable { + networking.firewall.checkReversePath = false; - systemd.paths = mapAttrs' - (instName: inst: { - name = "wireguard-${instName}"; - value = if inst.autoStart then { } else { wantedBy = mkForce [ ]; }; - }) - cfg.instances; + systemd.paths = mapAttrs' (instName: inst: { + name = "wireguard-${instName}"; + value = if inst.autoStart then { } else { wantedBy = mkForce [ ]; }; + }) cfg.instances; - 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}"; - value = if inst.autoStart then { } else { wantedBy = mkForce [ ]; }; - }) - inst.servers) - cfg.instances)); + 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}"; + value = if inst.autoStart then { } else { wantedBy = mkForce [ ]; }; + }) inst.servers) cfg.instances)); + 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 { + ips = [ "${inst.vlanIP}/${toString inst.vlanSize}" ]; + privateKeyFile = inst.privateKeyFile; + peers = map (server: { + inherit allowedIPs; + publicKey = server.publicKey; + endpoint = "${server.ip}:${toString server.port}"; + persistentKeepalive = 25; + }) inst.servers; + }) cfg.instances; - 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 - { - ips = [ "${inst.vlanIP}/${toString inst.vlanSize}" ]; - privateKeyFile = inst.privateKeyFile; - peers = map - (server: { - inherit allowedIPs; - publicKey = server.publicKey; - endpoint = "${server.ip}:${toString server.port}"; - persistentKeepalive = 25; - }) - inst.servers; - }) - cfg.instances; - - }; + }; } diff --git a/modules/fuckingprint.nix b/modules/fuckingprint.nix index 9ad6b35..1f6be6b 100644 --- a/modules/fuckingprint.nix +++ b/modules/fuckingprint.nix @@ -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; diff --git a/modules/kiosk.nix b/modules/kiosk.nix index 96ea005..4cbbe3e 100644 --- a/modules/kiosk.nix +++ b/modules/kiosk.nix @@ -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,20 +63,18 @@ in displayManager.xserverArgs = if cfg.cursor then [ ] else [ "-nocursor" ]; displayManager.defaultSession = "kiosk+ratpoison"; - desktopManager.session = [ - { - name = "kiosk"; - start = '' - # dont blank the screen after 5min - xset dpms force on - xset -dpms - xset s noblank - xset s off + desktopManager.session = [{ + name = "kiosk"; + start = '' + # dont blank the screen after 5min + xset dpms force on + xset -dpms + xset s noblank + xset s off - ${cfg.session} - ''; - } - ]; + ${cfg.session} + ''; + }]; }; }; } diff --git a/modules/workstation.nix b/modules/workstation.nix index 396ea82..f1f2c21 100644 --- a/modules/workstation.nix +++ b/modules/workstation.nix @@ -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 = [ - { - startUid = 100000; - count = 65536; - } - ]; - subGidRanges = [ - { - startGid = 100000; - count = 65536; - } - ]; + subUidRanges = [{ + startUid = 100000; + count = 65536; + }]; + 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"; }; }