nixos/system/Vanguard.nix
Evie Litherland-Smith 5ff572a9b7 Major rewrite/refactor to simplify things
Move home/ directory under system/ directory. Remove duplicated
machine-specific config files, now handled as one per host (excluding
hardware-configuration directory)

Move as much configuration as possible out of flake.nix and into more
appropriate files (e.g. system/default.nix)

Add a desktop.nix and laptop.nix for system, both will import
home/desktop.nix and home/laptop.nix respectively to reduce
duplication in machine-specific config files

Remove games and streaming directories, moved directly into Vanguard
config file

Remove home/personal.nix since it ended up being empty after changes

Remove old sway config since I haven't been maintaining it and this
refactor will definitely break it
2024-08-30 12:57:02 +01:00

67 lines
1.6 KiB
Nix

{
config,
pkgs,
username,
...
}:
{
imports = [ ./desktop.nix ];
home-manager.users.${username} = {
home.packages = with pkgs; [
kdePackages.ktorrent
krita
kdenlive
helvum
prusa-slicer
blender
freecad
openscad
kicad-small
prismlauncher
cartridges
(lutris.override {
extraPkgs =
pkg: with pkg; [
wineWowPackages.waylandFull
winetricks
dxvk
];
})
];
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [
wlrobs
obs-vkcapture
obs-pipewire-audio-capture
input-overlay
];
};
xdg.configFile = {
"autostart/org.kde.ktorrent.desktop".source = "${pkgs.kdePackages.ktorrent}/share/applications/org.kde.ktorrent.desktop";
"autostart/webcord.desktop".source = "${pkgs.webcord}/share/applications/webcord.desktop";
"autostart/steam.desktop".source = "${config.programs.steam.package}/share/applications/steam.desktop";
};
};
boot = {
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
extraModprobeConfig = ''
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
'';
};
hardware = {
amdgpu.initrd.enable = true;
opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
steam-hardware.enable = true;
};
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
gamescopeSession.enable = true;
};
}