hosts/satori: random stuff
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
boot = {
|
boot = {
|
||||||
zfs.forceImportAll = false;
|
|
||||||
supportedFilesystems = [ "zfs" ];
|
supportedFilesystems = [ "zfs" ];
|
||||||
|
|
||||||
kernelPackages = pkgs.unstable.linuxPackages_latest;
|
kernelPackages = pkgs.unstable.linuxPackages_latest;
|
||||||
initrd = {
|
initrd = {
|
||||||
availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "vfio-pci" ];
|
availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "vfio-pci" ];
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
};
|
};
|
||||||
kernelParams = [ "intel_pstate=active" "intel_iommu=on" ];
|
kernelParams = [ "intel_pstate=active" "intel_iommu=on" ];
|
||||||
kernelModules = [ "kvm-intel" "snd-seq" "snd-rawmidi" "joydev" ];
|
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 = {
|
loader = {
|
||||||
efi = {
|
efi = {
|
||||||
canTouchEfiVariables = true;
|
canTouchEfiVariables = true;
|
||||||
@@ -35,5 +35,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
binfmt.emulatedSystems = [ "aarch64-linux" ];
|
binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||||
|
zfs.extraPools = [ "stuff" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -8,6 +8,8 @@
|
|||||||
./networking.nix
|
./networking.nix
|
||||||
./boot.nix
|
./boot.nix
|
||||||
./services.nix
|
./services.nix
|
||||||
|
./graphics.nix
|
||||||
|
./xorg.nix
|
||||||
./nix.nix
|
./nix.nix
|
||||||
];
|
];
|
||||||
system.stateVersion = "21.05";
|
system.stateVersion = "21.05";
|
||||||
|
@@ -41,6 +41,7 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
nvidia = {
|
nvidia = {
|
||||||
|
package = config.boot.kernelPackages.nvidia_x11_vulkan_beta;
|
||||||
prime = {
|
prime = {
|
||||||
# sync.enable = true;
|
# sync.enable = true;
|
||||||
offload = { enable = true; };
|
offload = { enable = true; };
|
||||||
|
@@ -7,44 +7,44 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/4c02ddf5-d00e-4d84-856f-c327ae44d047";
|
{
|
||||||
|
device = "/dev/disk/by-uuid/4c02ddf5-d00e-4d84-856f-c327ae44d047";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "compress-force=zstd:3" ];
|
options = [ "compress-force=zstd:3" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot/efi" =
|
fileSystems."/boot/efi" =
|
||||||
{ device = "/dev/disk/by-uuid/2424-5639";
|
{
|
||||||
|
device = "/dev/disk/by-uuid/2424-5639";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/mnt/ntfs" =
|
fileSystems."/mnt/ntfs" =
|
||||||
{ device = "/dev/disk/by-uuid/A4CC66B6CC668282";
|
{
|
||||||
|
device = "/dev/disk/by-uuid/A4CC66B6CC668282";
|
||||||
fsType = "ntfs";
|
fsType = "ntfs";
|
||||||
options = [ "uid=natto" "gid=users" "umask=0022" "rw" ];
|
options = [ "uid=natto" "gid=users" "umask=0022" "rw" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/mnt/real" =
|
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";
|
fsType = "ext4";
|
||||||
options = [ "rw" ];
|
options = [ "rw" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/mnt/stuff" =
|
|
||||||
{ device = "stuff";
|
|
||||||
fsType = "zfs";
|
|
||||||
neededForBoot = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
zramSwap = {
|
zramSwap = {
|
||||||
enable = true;
|
enable = true;
|
||||||
algorithm = "lz4";
|
algorithm = "lz4";
|
||||||
memoryPercent = 30;
|
memoryPercent = 30;
|
||||||
priority = -1;
|
priority = -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
powerManagement = {
|
powerManagement = {
|
||||||
enable = true;
|
enable = true;
|
||||||
cpuFreqGovernor = "schedutil";
|
cpuFreqGovernor = "schedutil";
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
bluetooth.enable = true;
|
bluetooth.enable = true;
|
||||||
};
|
};
|
||||||
|
@@ -2,32 +2,24 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "Satori";
|
hostName = "satori";
|
||||||
hostId = "beca3df0";
|
hostId = "beca3df0";
|
||||||
wireless.enable = true;
|
wireless.enable = true;
|
||||||
wireless.interfaces = [ "wlp0s20f3" ];
|
wireless.interfaces = [ "wlp0s20f3" ];
|
||||||
firewall = {
|
firewall = {
|
||||||
allowedTCPPorts = [ 22 18172 6600 8001 ];
|
allowedTCPPorts = [ 22 18172 6600 8001 ];
|
||||||
allowedUDPPorts = [ 22 17840 18172 ];
|
allowedUDPPorts = [ 22 17840 18172 ];
|
||||||
|
trustedInterfaces = [ "docker0" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
defaultGateway = {
|
defaultGateway = "192.168.1.1";
|
||||||
address = "192.168.0.1";
|
|
||||||
};
|
|
||||||
|
|
||||||
interfaces = {
|
interfaces = {
|
||||||
enp7s0 = {
|
enp7s0 = {
|
||||||
useDHCP = true;
|
useDHCP = true;
|
||||||
ipv4.addresses = [{
|
ipv4.addresses = [{
|
||||||
prefixLength = 24;
|
prefixLength = 24;
|
||||||
address = "192.168.0.109";
|
address = "192.168.1.109";
|
||||||
}];
|
|
||||||
};
|
|
||||||
wlp0s20f3 = {
|
|
||||||
useDHCP = true;
|
|
||||||
ipv4.addresses = [{
|
|
||||||
prefixLength = 24;
|
|
||||||
address = "192.168.0.109";
|
|
||||||
}];
|
}];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -50,29 +50,6 @@
|
|||||||
};
|
};
|
||||||
zsh = {
|
zsh = {
|
||||||
enable = true;
|
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;
|
histSize = 30000;
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
enableBashCompletion = true;
|
enableBashCompletion = true;
|
||||||
@@ -82,8 +59,8 @@
|
|||||||
highlightStyle = "fg=yellow,bold";
|
highlightStyle = "fg=yellow,bold";
|
||||||
};
|
};
|
||||||
ohMyZsh = {
|
ohMyZsh = {
|
||||||
|
plugins = [ "git" ];
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = "awesomepanda";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
dconf.enable = true;
|
dconf.enable = true;
|
||||||
|
@@ -19,6 +19,7 @@
|
|||||||
shellAliases = rec {
|
shellAliases = rec {
|
||||||
ec = "emacsclient";
|
ec = "emacsclient";
|
||||||
ecc = ec + " -c";
|
ecc = ec + " -c";
|
||||||
|
ecnw = ec + " -nw";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
security = {
|
security = {
|
||||||
|
@@ -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)"
|
|
||||||
};
|
|
@@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
@@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
Reference in New Issue
Block a user