{ ... }: { imports = [ ./hardware-configuration.nix ]; ## Modules modules = { desktop = { bspwm.enable = true; apps = { discord.enable = true; rofi.enable = true; # godot.enable = true; }; browsers = { default = "firefox"; firefox.enable = true; }; gaming = { steam.enable = true; # emulators.enable = true; # emulators.psx.enable = true; }; media = { daw.enable = true; documents.enable = true; graphics.enable = true; mpv.enable = true; recording.enable = true; spotify.enable = true; }; term = { default = "xst"; st.enable = true; }; vm = { qemu.enable = true; }; }; editors = { default = "emacs -nw"; emacs.enable = true; vim.enable = true; }; hardware = { audio.enable = true; ergodox.enable = true; fs = { enable = true; zfs.enable = true; ssd.enable = true; }; nvidia.enable = true; sensors.enable = true; }; shell = { direnv.enable = true; git.enable = true; gnupg.enable = true; pass.enable = true; tmux.enable = true; zsh.enable = true; }; services = { ssh.enable = true; # Needed occasionally to help the parental units with PC problems # teamviewer.enable = true; }; themes.fluorescence.enable = true; }; ## Local config programs.ssh.startAgent = true; services.openssh.startWhenNeeded = true; boot.loader.systemd-boot.enable = true; networking.networkmanager.enable = true; # The global useDHCP flag is deprecated, therefore explicitly set to false # here. Per-interface useDHCP will be mandatory in the future, so this # generated config replicates the default behaviour. networking.useDHCP = false; }