149 lines
2.9 KiB
Nix
149 lines
2.9 KiB
Nix
{
|
|
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;
|
|
|
|
# ------------ 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.allowUnfreePredicate = pkg:
|
|
builtins.elem (lib.getName pkg) [
|
|
"steam"
|
|
"steam-original"
|
|
"steam-run"
|
|
"nvidia-x11"
|
|
"nvidia-settings"
|
|
"discord"
|
|
"spotify"
|
|
];
|
|
|
|
programs.nix-index.enable = true;
|
|
programs.command-not-found.enable = false;
|
|
|
|
# ------------ Software ------------
|
|
|
|
environment = {
|
|
systemPackages = with pkgs; [
|
|
screen
|
|
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;
|
|
};
|
|
|
|
}
|
|
|