Push these changes to a branch cause I'm kind of giving up

This commit is contained in:
Jimbo 2024-10-07 11:42:34 -04:00
parent d9469fc321
commit e3bacb2d84
229 changed files with 1496 additions and 1479 deletions

View file

@ -0,0 +1,14 @@
{ ... }: {
hardware.bluetooth = {
enable = true;
settings = {
General.Experimental = "true";
Policy.AutoEnable = "true";
};
};
# Enable lingering for Bluetooth
systemd.tmpfiles.rules = [
"f /var/lib/systemd/linger/jimbo"
];
}

View file

@ -1,5 +1,4 @@
{
# For ARM machines
boot.loader = {
generic-extlinux-compatible.enable = true;
grub.enable = false;

View file

@ -1,5 +1,4 @@
{
# For UEFI machines
boot.loader.systemd-boot = {
enable = true;
netbootxyz.enable = true;

View file

@ -0,0 +1,12 @@
{ ... }: {
imports = [
./bluetooth
./filesystems
./networking
./pipewire
./printing
./security
./udev
./video
];
}

View file

@ -1,4 +1,4 @@
{lib, ...}: {
{ lib, ... }: {
boot.supportedFilesystems = {
ntfs = true;
zfs = lib.mkForce false;

View file

@ -1,9 +0,0 @@
{pkgs, ...}: {
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
environment.systemPackages = with pkgs; [
git-crypt
];
}

View file

@ -1,7 +1,11 @@
{
# Networking settings
{ ... }: {
imports = [
./wireless
];
networking = {
wireless.enable = false;
dhcpcd.enable = true;
nftables.enable = true;
};
}

View file

@ -0,0 +1,12 @@
{ lib, config, ... }: {
options = {
networking.wifi.enable = lib.mkEnableOption "Enable enable Network Manager and B43";
};
config = lib.mkIf config.misc.general.enable {
networking = {
networkmanager.enable = true;
enableB43Firmware = true;
};
};
}

View file

@ -1,4 +0,0 @@
{pkgs, ...}: {
# Enable video drivers
services.xserver.videoDrivers = ["nouveau"];
}

View file

@ -1,10 +0,0 @@
{pkgs, config, ...}: {
# Enable video drivers
services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = {
modesetting.enable = true;
nvidiaSettings = false;
package = config.boot.kernelPackages.nvidiaPackages.beta;
open = false;
};
}

View file

@ -0,0 +1,7 @@
{ outputs, ... }: {
nixpkgs.overlays = [
outputs.overlays.additions
outputs.overlays.selfsuper
outputs.overlays.finalprev
];
}

View file

@ -0,0 +1,22 @@
{ pkgs, ... }: {
services = {
pipewire = {
enable = true;
audio.enable = true;
wireplumber = {
enable = true;
configPackages = [
(pkgs.writeTextDir "share/wireplumber/wireplumber.conf.d/11-bluetooth-policy.conf" ''
wireplumber.settings = { bluetooth.autoswitch-to-headset-profile = false }
'')
];
};
alsa = {
enable = true;
support32Bit = true;
};
pulse.enable = true;
#jack.enable = true;
};
};
}

View file

@ -0,0 +1,18 @@
{ pkgs, ... }: {
services = {
printing = {
enable = true;
drivers = with pkgs; [hplip];
webInterface = false;
};
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
};
environment.systemPackages = with pkgs; [
system-config-printer
];
}

View file

@ -0,0 +1,3 @@
{ ... }: {
security.apparmor.enable = true;
}

View file

@ -0,0 +1,8 @@
{ ... }: {
imports = [
./apparmor
./doas
./gnome-keyring
./polkit
];
}

View file

@ -1,5 +1,4 @@
{
# Enable AppArmor
{ ... }: {
security = {
sudo.enable = false;
doas = {
@ -12,6 +11,5 @@
}
];
};
apparmor.enable = true;
};
}

View file

@ -0,0 +1,3 @@
{ ... }: {
services.gnome.gnome-keyring.enable = true;
}

View file

@ -0,0 +1,6 @@
{ ... }: {
security = {
polkit.enable = true;
rtkit.enable = true;
};
}

View file

@ -0,0 +1,20 @@
{ pkgs, ... }: {
# Rules to make PDP controller and Oculus Rift CV1 work
services.udev = let
pdpRules = pkgs.writeTextFile {
name = "10-pdp.rules";
text = ''SUBSYSTEM=="usb", ATTR{idVendor}=="2833", MODE="0666"'';
destination = "/etc/udev/rules.d/10-pdp.rules";
};
oculusRules = pkgs.writeTextFile {
name = "10-oculus.rules";
text = ''KERNEL=="hidraw*", ATTRS{idVendor}=="0e6f", ATTRS{idProduct}=="0184", MODE="0660", TAG+="uaccess"'';
destination = "/etc/udev/rules.d/10-oculus.rules";
};
in {
packages = [
oculusRules
pdpRules
];
};
}

View file

@ -1,5 +1,9 @@
{pkgs, ...}: {
# Enable OpenGL
{ pkgs, ... }: {
imports = [
./nvidia
./nouveau
];
hardware.opengl = {
enable = true;
driSupport32Bit = true;

View file

@ -0,0 +1,9 @@
{ config, lib, ... }: {
options = {
drivers.nouveau.enable = lib.mkEnableOption "Enable proprietary Nvidia drivers";
};
config = lib.mkIf config.drivers.nvidia.enable {
services.xserver.videoDrivers = [ "nouveau" ];
};
}

View file

@ -0,0 +1,15 @@
{ pkgs, config, lib, ... }: {
options = {
drivers.nvidia.enable = lib.mkEnableOption "Enable proprietary Nvidia drivers";
};
config = lib.mkIf config.drivers.nvidia.enable {
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia = {
modesetting.enable = true;
nvidiaSettings = false;
package = config.boot.kernelPackages.nvidiaPackages.beta;
open = false;
};
};
}

View file

@ -1,7 +0,0 @@
{
# Enable wireless networkmanager
networking = {
networkmanager.enable = true;
enableB43Firmware = true;
};
}