# # Specific system configuration settings for desktop # # flake.nix # ├─ ./hosts # │ └─ ./desktop # │ ├─ default.nix * # │ └─ hardware-configuration.nix # └─ ./modules # ├─ ./desktop # │ ├─ ./hyprland # │ │ └─ default.nix # │ └─ ./virtualisation # │ └─ default.nix # ├─ ./programs # │ └─ games.nix # └─ ./hardware # └─ default.nix # { pkgs, lib, user, ... }: { imports = # For now, if applying to other system, swap files [(import ./hardware-configuration.nix)] ++ # Current system hardware config @ /etc/nixos/hardware-configuration.nix #[(import ../../modules/programs/games.nix)] ++ # Gaming [(import ../../modules/desktop/dm/sddm.nix)] ++ # Desktop manager [(import ../../modules/desktop/qtile/default.nix)] ++ # Window Manager #(import ../../modules/desktop/virtualisation) ++ # Virtual Machines & VNC (import ../../modules/hardware); # Hardware devices boot = { # Boot options kernelPackages = pkgs.linuxPackages_latest; initrd.kernelModules = [ "amdgpu" ]; # Video drivers loader = { # For legacy boot: systemd-boot = { enable = true; configurationLimit = 5; # Limit the amount of configurations }; efi.canTouchEfiVariables = true; timeout = 1; # Grub auto select time }; }; hardware = { opengl = { enable = true; driSupport = true; driSupport32Bit = true; }; }; environment = { # Packages installed system wide systemPackages = with pkgs; [ # This is because some options need to be configured. wacomtablet xorg.xf86videoamdgpu ]; }; services = { blueman.enable = true; # Bluetooth xserver.videoDrivers = [ "amdgpu" ]; }; networking.wireguard.interfaces = { wg0 = { ips = [ "${inputs.semi-secrets.wg.lan.desktopIp}/32" ]; }; }; # nixpkgs.overlays = [ # This overlay will pull the latest version of Discord # (self: super: { # discord = super.discord.overrideAttrs ( # _: { src = builtins.fetchTarball { # url = "https://discord.com/api/download?platform=linux&format=tar.gz"; # sha256 = "1z980p3zmwmy29cdz2v8c36ywrybr7saw8n0w7wlb74m63zb9gpi"; # };} # ); # }) # ]; }