configuration.nix
Branches > main > d1eb5fd > files / nixos / machines / pc / configuration.nix
{ config, pkgs, callPackage, ... }:
{
imports = [
./hardware-configuration.nix
(import ../../modules/base.nix {inherit pkgs;})
(import ../../modules/i3.nix {inherit pkgs;})
(import ../../modules/bluetooth.nix {inherit pkgs;})
];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
home-manager.backupFileExtension = "backup-home";
networking.hostName = "pc";
## Nvidia here
services.xserver.dpi = 300;
services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
powerManagement.finegrained = false;
open = true;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
services.usbmuxd = {
enable = true;
package = pkgs.usbmuxd2;
};
hardware.graphics.enable = true;
hardware.graphics.enable32Bit = true;
## Disable SSH gui popup thing?
programs.ssh.askPassword = "";
programs.ssh.startAgent = true;
services.udev.extraRules = ''
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="feed", ATTRS{idProduct}=="400d", MODE="0666"
'';
## Plover's AppRun checks for this exact file, else it tries pkexec
services.udev.packages = [
(pkgs.writeTextFile {
name = "plover-uinput-udev";
destination = "/etc/udev/rules.d/99-plover-uinput.rules";
text = ''
KERNEL=="uinput", GROUP="plover", MODE="0660", OPTIONS+="static_node=uinput"
'';
})
];
users.groups.plover = {};
programs.nix-ld.enable = true;
# services.usbmuxd.enable = true;
services.printing.enable = true;
services.blueman.enable = true;
users.users.grahp = {
isNormalUser = true;
description = "Grahp";
extraGroups = ["networkmanager" "wheel" "dialout" "plover"];
shell = pkgs.fish;
};
services.openssh = {
enable = true;
passwordAuthentication = false;
permitRootLogin = "no";
};
programs.fish.enable = true;
environment.shells = [pkgs.fish];
programs.firefox.enable = true;
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
};
hardware.steam-hardware.enable = true;
## More ai smiesmie (this may have been failing?)
# boot.kernelParams = [ "usbcore.autosuspend=-1" ];
boot.kernelModules = [ "v4l2loopback" "uinput" ];
boot.extraModulePackages = with config.boot.kernelPackages; [
v4l2loopback
];
boot.extraModprobeConfig = ''
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
'';
security.polkit.enable = true;
# boot.extraModprobeConfig = ''
# options v4l2loopback devices=1 video_nr=2 card_label="OBS Virtual Camera" exclusive_caps=1 formats=YUYV,MJPEG
# '';
#
# programs.obs-studio.enableVirtualCamera = true;
## No touchy says the comment!
system.stateVersion = "24.11";
}