2025-04-17 16:52:11 -05:00
|
|
|
{
|
2025-05-10 21:08:05 -05:00
|
|
|
config,
|
2025-04-17 16:52:11 -05:00
|
|
|
lib,
|
|
|
|
|
pkgs,
|
2025-05-10 21:08:05 -05:00
|
|
|
top,
|
2025-04-17 16:52:11 -05:00
|
|
|
...
|
|
|
|
|
}:
|
2022-04-27 11:23:11 -05:00
|
|
|
|
|
|
|
|
{
|
2024-10-03 11:26:39 -05:00
|
|
|
imports = [
|
|
|
|
|
./boot.nix
|
|
|
|
|
./hardware-configuration.nix
|
|
|
|
|
./virt.nix
|
2024-10-22 09:56:36 -05:00
|
|
|
./work.nix
|
2025-05-10 21:08:05 -05:00
|
|
|
top.nix-hardware.nixosModules.system76
|
2024-10-03 11:26:39 -05:00
|
|
|
];
|
2023-08-24 23:05:53 -05:00
|
|
|
|
2025-05-14 21:19:49 -05:00
|
|
|
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
|
2025-05-13 10:47:30 -05:00
|
|
|
|
2024-10-03 11:26:39 -05:00
|
|
|
greg = {
|
|
|
|
|
tailscale.enable = true;
|
|
|
|
|
sway.enable = false;
|
2024-11-04 10:09:47 -06:00
|
|
|
gnome.enable = true;
|
|
|
|
|
kde.enable = false;
|
2025-05-14 21:19:49 -05:00
|
|
|
podman.enable = true;
|
2024-10-03 11:26:39 -05:00
|
|
|
print.enable = true;
|
2024-10-19 10:45:47 -05:00
|
|
|
remote-builder.enable = true;
|
2024-10-03 11:26:39 -05:00
|
|
|
};
|
2023-07-26 21:47:16 -05:00
|
|
|
|
2024-10-19 01:19:59 -05:00
|
|
|
environment.systemPackages =
|
|
|
|
|
with pkgs;
|
|
|
|
|
lib.mkMerge [
|
|
|
|
|
[
|
|
|
|
|
# for Immersed
|
|
|
|
|
cudatoolkit
|
2024-10-19 01:41:53 -05:00
|
|
|
immersed
|
2024-10-19 01:19:59 -05:00
|
|
|
libva
|
|
|
|
|
]
|
|
|
|
|
[
|
|
|
|
|
bind # For things like nslookup
|
|
|
|
|
create_ssl
|
|
|
|
|
distrobox
|
|
|
|
|
expect
|
2025-04-04 09:35:53 -05:00
|
|
|
fswatch
|
2024-10-19 01:19:59 -05:00
|
|
|
gimp
|
|
|
|
|
go
|
|
|
|
|
gparted
|
|
|
|
|
graphviz
|
|
|
|
|
flock
|
|
|
|
|
ffmpeg
|
|
|
|
|
handbrake
|
|
|
|
|
imagemagick
|
|
|
|
|
libtheora
|
|
|
|
|
libxml2
|
|
|
|
|
linode-cli
|
|
|
|
|
makemkv
|
|
|
|
|
oathToolkit
|
|
|
|
|
usbutils
|
|
|
|
|
ventoy
|
|
|
|
|
]
|
2024-03-17 23:02:11 -05:00
|
|
|
|
2024-10-19 01:19:59 -05:00
|
|
|
[
|
|
|
|
|
# Video/Audio data composition framework tools like "gst-inspect", "gst-launch" ...
|
|
|
|
|
gst_all_1.gstreamer
|
|
|
|
|
gst_all_1.gst-plugins-base
|
|
|
|
|
gst_all_1.gst-plugins-good
|
|
|
|
|
gst_all_1.gst-plugins-bad
|
|
|
|
|
gst_all_1.gst-plugins-ugly
|
|
|
|
|
gst_all_1.gst-libav
|
|
|
|
|
gst_all_1.gst-vaapi
|
|
|
|
|
]
|
|
|
|
|
];
|
2023-09-06 14:57:16 -05:00
|
|
|
|
2024-10-03 11:26:39 -05:00
|
|
|
hardware = {
|
|
|
|
|
nvidia = {
|
2025-05-13 22:19:21 -05:00
|
|
|
package = config.boot.kernelPackages.nvidiaPackages.vulkan_beta;
|
2024-10-03 11:26:39 -05:00
|
|
|
modesetting.enable = true;
|
2025-05-13 22:19:21 -05:00
|
|
|
powerManagement = {
|
|
|
|
|
enable = false;
|
|
|
|
|
finegrained = false;
|
|
|
|
|
};
|
2024-10-03 11:26:39 -05:00
|
|
|
nvidiaSettings = true;
|
|
|
|
|
open = true;
|
|
|
|
|
};
|
2024-10-20 16:27:19 -05:00
|
|
|
system76 = {
|
|
|
|
|
firmware-daemon.enable = true;
|
|
|
|
|
#kernel-modules.enable = true;
|
|
|
|
|
};
|
2024-10-03 11:26:39 -05:00
|
|
|
};
|
2025-05-14 21:19:49 -05:00
|
|
|
|
|
|
|
|
networking = {
|
|
|
|
|
hostName = "jude";
|
|
|
|
|
networkmanager.enable = lib.mkForce true;
|
|
|
|
|
enableIPv6 = false;
|
|
|
|
|
interfaces.enp12s0.useDHCP = true;
|
|
|
|
|
firewall = {
|
|
|
|
|
enable = false;
|
|
|
|
|
allowedTCPPorts = [ 21000 ];
|
|
|
|
|
allowedUDPPorts = [
|
|
|
|
|
21000
|
|
|
|
|
21010
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
programs = {
|
|
|
|
|
adb.enable = true;
|
|
|
|
|
steam.enable = true;
|
|
|
|
|
nix-index = {
|
|
|
|
|
enable = true;
|
|
|
|
|
enableBashIntegration = false;
|
|
|
|
|
enableFishIntegration = false;
|
|
|
|
|
enableZshIntegration = false;
|
|
|
|
|
};
|
|
|
|
|
nix-ld.enable = false;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
# Let's do a sound thing
|
|
|
|
|
services = {
|
|
|
|
|
pipewire = {
|
|
|
|
|
enable = true;
|
|
|
|
|
alsa.enable = true;
|
|
|
|
|
audio.enable = true;
|
|
|
|
|
jack.enable = true;
|
|
|
|
|
pulse.enable = true;
|
|
|
|
|
wireplumber.enable = true;
|
|
|
|
|
};
|
|
|
|
|
pulseaudio.enable = false; # This conflicts with pipewire
|
|
|
|
|
locate.enable = true;
|
|
|
|
|
xserver.videoDrivers = [ "nvidia" ];
|
|
|
|
|
};
|
|
|
|
|
|
2025-05-02 15:17:57 -05:00
|
|
|
users.users.greg.extraGroups = [
|
|
|
|
|
"adbusers"
|
|
|
|
|
"kvm"
|
|
|
|
|
];
|
2022-04-27 11:23:11 -05:00
|
|
|
}
|