hosts/satori: random changes + debloating sound
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
		@@ -6,7 +6,7 @@ let
 | 
			
		||||
    ./modules/nvim
 | 
			
		||||
    globalArgs
 | 
			
		||||
  ];
 | 
			
		||||
  personalModules = [ ./modules/sound.nix ];
 | 
			
		||||
  personalModules = [ ];
 | 
			
		||||
  serverModules = [ ./modules/minimal.nix ];
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
 
 | 
			
		||||
@@ -121,7 +121,6 @@ require'nvim-tree'.setup {
 | 
			
		||||
    enable = true,
 | 
			
		||||
    update_root = true,
 | 
			
		||||
  },
 | 
			
		||||
  ignore_ft_on_setup = { "startify" },  
 | 
			
		||||
  renderer = {
 | 
			
		||||
    highlight_opened_files = "all",
 | 
			
		||||
    highlight_git = true
 | 
			
		||||
 
 | 
			
		||||
@@ -1,82 +0,0 @@
 | 
			
		||||
{ lib, config, pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  services = {
 | 
			
		||||
    pipewire = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      alsa = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        support32Bit = true;
 | 
			
		||||
      };
 | 
			
		||||
      pulse.enable = true;
 | 
			
		||||
      socketActivation = true;
 | 
			
		||||
      wireplumber.enable = true;
 | 
			
		||||
 | 
			
		||||
      # https://nixos.wiki/wiki/PipeWire#Low-latency_setup
 | 
			
		||||
      config.pipewire = {
 | 
			
		||||
        context.objects = [
 | 
			
		||||
          {
 | 
			
		||||
            factory = "spa-node-factory";
 | 
			
		||||
            args = {
 | 
			
		||||
              factory.name = "support.node.driver";
 | 
			
		||||
              node.name = "Dummy-Driver";
 | 
			
		||||
              priority.driver = 8000;
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
        ];
 | 
			
		||||
        context.modules = [
 | 
			
		||||
          {
 | 
			
		||||
            name = "libpipewire-module-rtkit";
 | 
			
		||||
            args = {
 | 
			
		||||
              nice.level = -15;
 | 
			
		||||
              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.pipewire-pulse = {
 | 
			
		||||
        context.modules = [
 | 
			
		||||
          { 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 = "32/48000";
 | 
			
		||||
              pulse.min.quantum = "32/48000";
 | 
			
		||||
              pulse.min.frag = "32/48000";
 | 
			
		||||
            };
 | 
			
		||||
          }
 | 
			
		||||
        ];
 | 
			
		||||
        stream.properties = {
 | 
			
		||||
          node.latency = "32/48000";
 | 
			
		||||
          resample.quality = 1;
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
  sound.enable = true;
 | 
			
		||||
}
 | 
			
		||||
@@ -2,7 +2,6 @@
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  boot = {
 | 
			
		||||
    supportedFilesystems = [ "zfs" ];
 | 
			
		||||
    kernelPackages = pkgs.linuxPackages_latest;
 | 
			
		||||
    initrd = {
 | 
			
		||||
      availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "vfio-pci" ];
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,8 @@
 | 
			
		||||
    vulkan-headers
 | 
			
		||||
    jq
 | 
			
		||||
    dconf
 | 
			
		||||
    stlink
 | 
			
		||||
    stlink-gui
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  programs = {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,27 @@
 | 
			
		||||
{ lib, config, pkgs, ... }:
 | 
			
		||||
let
 | 
			
		||||
 | 
			
		||||
udev-cypher = pkgs.stdenv.mkDerivation {
 | 
			
		||||
  name = "udev-cypher";
 | 
			
		||||
 | 
			
		||||
  dontBuild = true;
 | 
			
		||||
  dontConfigure = true;
 | 
			
		||||
  dontUnpack = true;
 | 
			
		||||
 | 
			
		||||
  installPhase = ''
 | 
			
		||||
    mkdir -p $out/lib/udev/rules.d
 | 
			
		||||
    touch $out/lib/udev/rules.d/21-cypherock.rules
 | 
			
		||||
cat << 'EOF' >> $out/lib/udev/rules.d/21-cypherock.rules
 | 
			
		||||
SUBSYSTEM=="input", GROUP="input", MODE="0666"
 | 
			
		||||
SUBSYSTEM=="usb", ATTRS{idVendor}=="3503", ATTRS{idProduct}=="0103", MODE="666", GROUP="plugdev"
 | 
			
		||||
KERNEL=="hidraw*", ATTRS{idVendor}=="3503", ATTRS{idProduct}=="0103", MODE="0666", GROUP="plugdev"
 | 
			
		||||
0483:374f
 | 
			
		||||
SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374f", MODE="666", GROUP="plugdev"
 | 
			
		||||
KERNEL=="hidraw*", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="374f", MODE="0666", GROUP="plugdev"
 | 
			
		||||
EOF
 | 
			
		||||
  '';
 | 
			
		||||
};
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  services = {
 | 
			
		||||
    tor.enable = true;
 | 
			
		||||
@@ -9,10 +31,9 @@
 | 
			
		||||
    };
 | 
			
		||||
    ratbagd.enable = true;
 | 
			
		||||
    btrfs.autoScrub.enable = true;
 | 
			
		||||
    zfs.autoScrub.enable = true;
 | 
			
		||||
    udev.extraRules = ''
 | 
			
		||||
      ACTION=="add|change", KERNEL=="sda", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="bfq"
 | 
			
		||||
    '';
 | 
			
		||||
    udev = {
 | 
			
		||||
      packages = [ pkgs.stlink udev-cypher ];
 | 
			
		||||
    };
 | 
			
		||||
    gvfs.enable = true;
 | 
			
		||||
    tlp = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
@@ -21,7 +42,10 @@
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
    logind.extraConfig = "RuntimeDirectorySize=30%";
 | 
			
		||||
    mysql.enable = true;
 | 
			
		||||
    mysql.package = pkgs.mariadb;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  systemd.services = {
 | 
			
		||||
    tor.wantedBy = lib.mkForce [ ];
 | 
			
		||||
    libvirtd.wantedBy = lib.mkForce [ ];
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@
 | 
			
		||||
    isNormalUser = true;
 | 
			
		||||
    shell = pkgs.zsh;
 | 
			
		||||
    home = "/home/natto";
 | 
			
		||||
    extraGroups = [ "wheel" "adbusers" "video" "libvirtd" "docker" "networkmanager" ];
 | 
			
		||||
    extraGroups = [ "wheel" "adbusers" "video" "libvirtd" "docker" "networkmanager" "dialout" ];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  virtualisation = {
 | 
			
		||||
@@ -53,4 +53,17 @@
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  gtk.iconCache.enable = true;
 | 
			
		||||
 | 
			
		||||
  # sound stuff
 | 
			
		||||
  sound.enable = true;
 | 
			
		||||
  services.pipewire = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    alsa = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      support32Bit = true;
 | 
			
		||||
    };
 | 
			
		||||
    pulse.enable = true;
 | 
			
		||||
    socketActivation = true;
 | 
			
		||||
    wireplumber.enable = true;
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user