hosts/satori: random stuff

Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
2022-11-05 17:49:27 +05:30
parent b4d37cfc45
commit 3b95e2700d
10 changed files with 42 additions and 238 deletions

View File

@@ -2,8 +2,8 @@
{
boot = {
zfs.forceImportAll = false;
supportedFilesystems = [ "zfs" ];
kernelPackages = pkgs.unstable.linuxPackages_latest;
initrd = {
availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "vfio-pci" ];
@@ -18,7 +18,7 @@
};
kernelParams = [ "intel_pstate=active" "intel_iommu=on" ];
kernelModules = [ "kvm-intel" "snd-seq" "snd-rawmidi" "joydev" ];
extraModulePackages = with config.boot.kernelPackages; [ nvidia_x11 v4l2loopback ];
extraModulePackages = with config.boot.kernelPackages; [ nvidia_x11_vulkan_beta v4l2loopback ];
loader = {
efi = {
canTouchEfiVariables = true;
@@ -35,5 +35,6 @@
};
};
binfmt.emulatedSystems = [ "aarch64-linux" ];
zfs.extraPools = [ "stuff" ];
};
}

View File

@@ -8,6 +8,8 @@
./networking.nix
./boot.nix
./services.nix
./graphics.nix
./xorg.nix
./nix.nix
];
system.stateVersion = "21.05";

View File

@@ -15,32 +15,33 @@ in
hardware = {
/*opengl =
let
fn = oa: with lib; {
nativeBuildInputs = oa.nativeBuildInputs ++ singleton pkgs.glslang;
mesonFlags = oa.mesonFlags ++ singleton "-Dvulkan-layers=device-select,overlay";
patches = oa.patches ++ singleton ./mesa-vulkan-layer-nvidia.patch;
postInstall = oa.postInstall + ''
mv $out/lib/libVkLayer* $drivers/lib
layer=VkLayer_MESA_device_select
substituteInPlace $drivers/share/vulkan/implicit_layer.d/''${layer}.json \
--replace "lib''${layer}" "$drivers/lib/lib''${layer}"
layer=VkLayer_MESA_overlay
substituteInPlace $drivers/share/vulkan/explicit_layer.d/''${layer}.json \
--replace "lib''${layer}" "$drivers/lib/lib''${layer}"
'';
};
fn = oa: with lib; {
nativeBuildInputs = oa.nativeBuildInputs ++ singleton pkgs.glslang;
mesonFlags = oa.mesonFlags ++ singleton "-Dvulkan-layers=device-select,overlay";
patches = oa.patches ++ singleton ./mesa-vulkan-layer-nvidia.patch;
postInstall = oa.postInstall + ''
mv $out/lib/libVkLayer* $drivers/lib
layer=VkLayer_MESA_device_select
substituteInPlace $drivers/share/vulkan/implicit_layer.d/''${layer}.json \
--replace "lib''${layer}" "$drivers/lib/lib''${layer}"
layer=VkLayer_MESA_overlay
substituteInPlace $drivers/share/vulkan/explicit_layer.d/''${layer}.json \
--replace "lib''${layer}" "$drivers/lib/lib''${layer}"
'';
};
in
with pkgs; {
driSupport32Bit = true;
enable = true;
package = (mesa.overrideAttrs fn).drivers;
package32 = (pkgsi686Linux.mesa.overrideAttrs fn).drivers;
driSupport32Bit = true;
enable = true;
package = (mesa.overrideAttrs fn).drivers;
package32 = (pkgsi686Linux.mesa.overrideAttrs fn).drivers;
};*/
opengl = {
driSupport32Bit = true;
enable = true;
};
nvidia = {
package = config.boot.kernelPackages.nvidia_x11_vulkan_beta;
prime = {
# sync.enable = true;
offload = { enable = true; };

View File

@@ -7,44 +7,44 @@
];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/4c02ddf5-d00e-4d84-856f-c327ae44d047";
{
device = "/dev/disk/by-uuid/4c02ddf5-d00e-4d84-856f-c327ae44d047";
fsType = "btrfs";
options = [ "compress-force=zstd:3" ];
};
fileSystems."/boot/efi" =
{ device = "/dev/disk/by-uuid/2424-5639";
{
device = "/dev/disk/by-uuid/2424-5639";
fsType = "vfat";
};
fileSystems."/mnt/ntfs" =
{ device = "/dev/disk/by-uuid/A4CC66B6CC668282";
{
device = "/dev/disk/by-uuid/A4CC66B6CC668282";
fsType = "ntfs";
options = [ "uid=natto" "gid=users" "umask=0022" "rw" ];
};
fileSystems."/mnt/real" =
{ device = "/dev/disk/by-uuid/6372bc0c-0917-469d-a845-2ce65513e306";
{
device = "/dev/disk/by-uuid/6372bc0c-0917-469d-a845-2ce65513e306";
fsType = "ext4";
options = [ "rw" ];
};
fileSystems."/mnt/stuff" =
{ device = "stuff";
fsType = "zfs";
neededForBoot = false;
};
zramSwap = {
enable = true;
algorithm = "lz4";
memoryPercent = 30;
priority = -1;
};
powerManagement = {
enable = true;
cpuFreqGovernor = "schedutil";
};
hardware = {
bluetooth.enable = true;
};

View File

@@ -2,32 +2,24 @@
{
networking = {
hostName = "Satori";
hostName = "satori";
hostId = "beca3df0";
wireless.enable = true;
wireless.interfaces = [ "wlp0s20f3" ];
firewall = {
allowedTCPPorts = [ 22 18172 6600 8001 ];
allowedUDPPorts = [ 22 17840 18172 ];
trustedInterfaces = [ "docker0" ];
};
defaultGateway = {
address = "192.168.0.1";
};
defaultGateway = "192.168.1.1";
interfaces = {
enp7s0 = {
useDHCP = true;
ipv4.addresses = [{
prefixLength = 24;
address = "192.168.0.109";
}];
};
wlp0s20f3 = {
useDHCP = true;
ipv4.addresses = [{
prefixLength = 24;
address = "192.168.0.109";
address = "192.168.1.109";
}];
};
};

View File

@@ -28,8 +28,8 @@
rnix-lsp
vulkan-tools
vulkan-headers
msr-tools
steam
msr-tools
steam
igrep
];
@@ -50,29 +50,6 @@
};
zsh = {
enable = true;
promptInit = ''
RPROMPT='%B%F{cyan}%n%f@%F{red}%m%b'
function preexec() {
timer=$(date +%s%3N)
}
function precmd() {
if [ $timer ]; then
now=$(date +%s%3N)
elapsed=$(($now-$timer))
unset timer
unit="ms"
if [ $elapsed -gt 1000 ]; then
elapsed=$(echo "scale=1; $elapsed/1000" | ${pkgs.bc}/bin/bc -l)
unit="s"
fi
if (( $(echo "$elapsed > 60" | ${pkgs.bc}/bin/bc -l) )) then
elapsed=$(echo "scale=2; $elapsed/60" | ${pkgs.bc}/bin/bc -l)
unit="m"
fi
RPROMPT='%B%F{cyan}%n%f@%F{red}%m %F{yellow}~%f %F{magenta}$elapsed $unit%f%b '
fi
}
'';
histSize = 30000;
enableCompletion = true;
enableBashCompletion = true;
@@ -82,8 +59,8 @@
highlightStyle = "fg=yellow,bold";
};
ohMyZsh = {
plugins = [ "git" ];
enable = true;
theme = "awesomepanda";
};
};
dconf.enable = true;

View File

@@ -19,6 +19,7 @@
shellAliases = rec {
ec = "emacsclient";
ecc = ec + " -c";
ecnw = ec + " -nw";
};
};
security = {

View File

@@ -1,64 +0,0 @@
default partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {
name[Group1] = "English (US Colemak-DH)";
key <TLDE> { [ grave, asciitilde, dead_tilde, asciitilde ] };
key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
key <AE02> { [ 2, at, masculine, twosuperior ] };
key <AE03> { [ 3, numbersign, ordfeminine, threesuperior ] };
key <AE04> { [ 4, dollar, cent, sterling ] };
key <AE05> { [ 5, percent, EuroSign, yen ] };
key <AE06> { [ 6, asciicircum, hstroke, Hstroke ] };
key <AE07> { [ 7, ampersand, eth, ETH ] };
key <AE08> { [ 8, asterisk, thorn, THORN ] };
key <AE09> { [ 9, parenleft, leftsinglequotemark, leftdoublequotemark ] };
key <AE10> { [ 0, parenright, rightsinglequotemark, rightdoublequotemark ] };
key <AE11> { [ minus, underscore, endash, emdash ] };
key <AE12> { [ equal, plus, multiply, division ] };
key <AD01> { [ q, Q, adiaeresis, Adiaeresis ] };
key <AD02> { [ w, W, aring, Aring ] };
key <AD03> { [ f, F, atilde, Atilde ] };
key <AD04> { [ p, P, oslash, Ooblique ] };
key <AD05> { [ b, B, dead_breve, asciitilde ] };
key <AD06> { [ j, J, dstroke, Dstroke ] };
key <AD07> { [ l, L, lstroke, Lstroke ] };
key <AD08> { [ u, U, uacute, Uacute ] };
key <AD09> { [ y, Y, udiaeresis, Udiaeresis ] };
key <AD10> { [ semicolon, colon, odiaeresis, Odiaeresis ] };
key <AD11> { [ bracketleft, braceleft, guillemotleft, 0x1002039 ] };
key <AD12> { [ bracketright, braceright, guillemotright, 0x100203a ] };
key <BKSL> { [ backslash, bar, asciitilde, asciitilde ] };
key <AC01> { [ a, A, aacute, Aacute ] };
key <AC02> { [ r, R, dead_grave, asciitilde ] };
key <AC03> { [ s, S, ssharp, asciitilde ] };
key <AC04> { [ t, T, dead_acute, dead_doubleacute ] };
key <AC05> { [ g, G, dead_ogonek, asciitilde ] };
key <AC06> { [ m, M, dead_macron, asciitilde ] };
key <AC07> { [ n, N, ntilde, Ntilde ] };
key <AC08> { [ e, E, eacute, Eacute ] };
key <AC09> { [ i, I, iacute, Iacute ] };
key <AC10> { [ o, O, oacute, Oacute ] };
key <AC11> { [ apostrophe, quotedbl, otilde, Otilde ] };
key <AB01> { [ z, Z, ae, AE ] };
key <AB02> { [ x, X, dead_circumflex, asciitilde ] };
key <AB03> { [ c, C, ccedilla, Ccedilla ] };
key <AB04> { [ d, D, dead_diaeresis, asciitilde ] };
key <AB05> { [ v, V, oe, OE ] };
key <AB06> { [ k, K, dead_abovering, asciitilde ] };
key <AB07> { [ h, H, dead_caron, asciitilde ] };
key <AB08> { [ comma, less, dead_cedilla, asciitilde ] };
key <AB09> { [ period, greater, dead_abovedot, asciitilde ] };
key <AB10> { [ slash, question, questiondown, asciitilde ] };
key <CAPS> { [ Caps_Lock, Caps_Lock, Caps_Lock, Caps_Lock ] };
key <LSGT> { [ minus, underscore, endash, emdash ] };
key <SPCE> { [ space, space, space, nobreakspace ] };
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "ganda-dh" {
include "us-colemak(basic)"
name[Group1] = "English (US Ganda-DH)";
key <CAPS> { [ BackSpace, BackSpace, BackSpace, BackSpace ] };
include "level3(ralt_switch)"
};

View File

@@ -1,61 +0,0 @@
{ config, pkgs, lib, ... }:
let
nvidia-offload = pkgs.writeShellScriptBin "nvi" ''
export __NV_PRIME_RENDER_OFFLOAD=1
export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
exec "$@"
'';
in
{
environment.systemPackages = with pkgs; [
nvidia-offload
];
hardware = {
/* opengl =
let
fn = oa: with lib; {
nativeBuildInputs = oa.nativeBuildInputs ++ singleton pkgs.glslang;
mesonFlags = oa.mesonFlags ++ singleton "-Dvulkan-layers=device-select,overlay";
patches = oa.patches ++ singleton ./mesa-vulkan-layer-nvidia.patch;
postInstall = oa.postInstall + ''
mv $out/lib/libVkLayer* $drivers/lib
layer=VkLayer_MESA_device_select
substituteInPlace $drivers/share/vulkan/implicit_layer.d/''${layer}.json \
--replace "lib''${layer}" "$drivers/lib/lib''${layer}"
layer=VkLayer_MESA_overlay
substituteInPlace $drivers/share/vulkan/explicit_layer.d/''${layer}.json \
--replace "lib''${layer}" "$drivers/lib/lib''${layer}"
'';
};
in
with pkgs; {
driSupport32Bit = true;
enable = true;
package = (mesa.overrideAttrs fn).drivers;
package32 = (pkgsi686Linux.mesa.overrideAttrs fn).drivers;
};*/
opengl = {
driSupport32Bit = true;
enable = true;
};
nvidia = {
prime = {
# sync.enable = true;
offload = { enable = true; };
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
modesetting = { enable = true; };
powerManagement = {
enable = true;
finegrained = true;
};
};
};
services.xserver = {
videoDrivers = [ "nvidia" ];
dpi = 96;
};
}

View File

@@ -1,45 +0,0 @@
{ config, lib, ... }:
#let
# compiledLayout = pkgs.runCommand "keyboard-layout" {} ''
# ${pkgs.xorg.xkbcomp}/bin/xkbcomp ${./colemak-dh.xkb} $out
# '';
#in
{
console.useXkbConfig = true;
services = {
xserver = {
enable = true;
libinput= {
enable = true;
mouse = {
accelSpeed = "0";
# accelProfile = "flat";
};
touchpad = {
middleEmulation = false;
clickMethod = "buttonareas";
tapping = true;
naturalScrolling =true;
};
};
displayManager = {
startx = {
enable = true;
};
};
extraLayouts = {
us-colemak = {
description = "Colemak with MOD-dh";
languages = [ "eng" ];
symbolsFile = ./colemak-dh;
};
};
layout = "us-colemak";
xkbVariant = "basic";
autoRepeatDelay = 320;
autoRepeatInterval = 30;
};
};
}