{ inputs, config, lib, pkgs, ... }: { imports = [ inputs.nix-flatpak.nixosModules.nix-flatpak ./hardware-configuration.nix ./packages.nix ../base.nix ]; boot = { binfmt.emulatedSystems = [ "aarch64-linux" ]; extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; extraModprobeConfig = '' options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1 ''; loader = { efi = { canTouchEfiVariables = false; efiSysMountPoint = "/efi"; }; grub = { enable = true; efiSupport = true; efiInstallAsRemovable = true; devices = [ "nodev" ]; }; }; supportedFilesystems = [ "ntfs" ]; }; # Music pendrive fileSystems."/mnt/world" = { device = "/dev/disk/by-uuid/639bae80-0f5d-481c-ae4e-d2c70f754a1c"; fsType = "ext4"; neededForBoot = false; }; # Big fucking thing fileSystems."/mnt/rae2" = { device = "/dev/disk/by-uuid/fbbcc72f-34af-425c-9151-ef8919a6ae07"; fsType = "ext4"; neededForBoot = false; }; networking = { hosts = { "10.0.0.2" = [ "near" "near.local" ]; }; networkmanager.enable = true; }; hardware = { bluetooth = { enable = true; powerOnBoot = true; }; graphics = { enable = true; extraPackages = with pkgs; [ intel-media-sdk ]; }; nvidia = { modesetting.enable = true; powerManagement = { enable = false; finegrained = false; }; open = false; nvidiaSettings = true; package = config.boot.kernelPackages.nvidiaPackages.stable; }; opentabletdriver.enable = true; }; fonts = { enableDefaultPackages = true; fontconfig = { enable = true; defaultFonts = { emoji = [ "Twitter Color Emoji" "Noto Color Emoji" ]; monospace = [ "Fira Code Light" ]; }; subpixel.rgba = "rgb"; }; packages = with pkgs; [ fira-code gohufont nasin-nanpa noto-fonts noto-fonts-cjk-sans noto-fonts-emoji twemoji-color-font ]; }; programs = { dconf.enable = true; firefox.enable = true; fish.enable = true; gnupg.agent = { enable = true; enableSSHSupport = true; }; steam = { enable = true; remotePlay.openFirewall = true; dedicatedServer.openFirewall = true; localNetworkGameTransfers.openFirewall = true; }; thunderbird = { enable = true; policies.DisableTelemetry = true; }; }; services = { # Xorg xserver = { enable = true; xkb.layout = "us"; #?TODO maybe put all nvidia settings into its own module (i.e. r5e.hardware.nvidia.enable) + x11 with xdg config videoDrivers = [ "nvidia" ]; windowManager = { cwm.enable = true; openbox.enable = true; twm.enable = true; }; }; displayManager = { sddm = { enable = true; settings = { Autologin = { User = "rae"; Session = "none+openbox"; }; }; theme = "catppuccin-mocha"; }; }; # Touchpad support libinput.enable = true; # Sound pipewire = { enable = true; alsa.enable = true; pulse.enable = true; jack.enable = true; }; # CUPS printing # Can be configured at http://127.0.0.1:631/ # Local printers are host-specific (see `hardware.printers`) # Avahi enables IPP Everywhere printing.enable = true; avahi = { enable = true; nssmdns4 = true; openFirewall = true; }; # misc blueman.enable = true; flatpak.enable = true; }; security.polkit.enable = true; xdg.portal = { enable = true; config = { common = { default = [ "gtk" ]; }; }; extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; }; users.users.rae.shell = pkgs.fish; virtualisation.docker.enable = true; time.timeZone = "America/New_York"; system.stateVersion = "24.11"; }