{ lib, pkgs, ... }: { # ------------ System ------------ users.users.tacocat = { isNormalUser = true; extraGroups = ["wheel" "networkmanager" "audio" "video" "bluetooth" "kvm"]; home = "/home/tacocat"; description = "Aria Nolan"; }; boot.loader = { efi.canTouchEfiVariables = false; grub = { efiSupport = true; configurationLimit = 10; device = "nodev"; }; }; i18n.defaultLocale = "en_US.UTF-8"; console = { font = "Lat2-Terminus16"; keyMap = "us"; }; networking.networkmanager.enable = true; networking.resolvconf.extraConfig = '' name_servers="1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001" name_server_blacklist="129.21.3.17 129.21.4.18 2620:8d:8000:0:aba:ca:daba:ec" ''; # Sound sound.enable = true; services.pipewire = { enable = true; alsa.enable = true; pulse.enable = true; jack.enable = true; }; # Services/Hardware hardware.opentabletdriver.enable = true; hardware.bluetooth.enable = true; services.blueman.enable = true; services.printing.enable = true; services.geoclue2.enable = true; services.mullvad-vpn.enable = true; services.mullvad-vpn.enableExcludeWrapper = false; services.fwupd.enable = true; security.rtkit.enable = true; services.resolved.enable = true; services.udisks2.enable = true; # ------------ Nix ------------ nix.settings = { experimental-features = ["nix-command" "flakes"]; auto-optimise-store = true; trusted-users = ["root" "tacocat"]; }; nix.gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 1w"; }; nixpkgs.config.allowUnfree = true; programs.nix-index.enable = true; programs.command-not-found.enable = false; # ------------ Software ------------ environment = { systemPackages = with pkgs; [ screen udiskie pyocd vim exfat encfs ntfs3g ]; # remove nano defaultPackages = with pkgs; [ perl rsync strace ]; }; programs.sway = { enable = true; wrapperFeatures.gtk = true; extraPackages = with pkgs; [ swaylock swayidle brightnessctl wl-mirror ]; }; programs.waybar.enable = true; programs.steam.enable = true; programs.steam.remotePlay.openFirewall = true; # programs.steam.gamescopeSession = { # enable = true; # args = [ # "-f" # "--expose-wayland" # ]; # }; programs.gamemode.enable = true; # programs.gamescope.enable = true; xdg.portal = { enable = true; wlr.enable = true; extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; }; gtk.iconCache.enable = true; # ------------ Graphics ------------ hardware.opengl = { enable = true; driSupport = true; driSupport32Bit = true; }; }