{ config, pkgs, ... }: { imports = [ ../../home/wayland # ../../home/xorg ../../modules ]; time.timeZone = "Europe/Zurich"; i18n.defaultLocale = "en_GB.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "en_GB.UTF-8"; LC_IDENTIFICATION = "en_GB.UTF-8"; LC_MEASUREMENT = "en_GB.UTF-8"; LC_MONETARY = "en_GB.UTF-8"; LC_NAME = "en_GB.UTF-8"; LC_NUMERIC = "en_GB.UTF-8"; LC_PAPER = "en_GB.UTF-8"; LC_TELEPHONE = "en_GB.UTF-8"; LC_TIME = "en_GB.UTF-8"; }; services = { fstrim = { enable = true; }; xserver = { enable = true; videoDrivers = [ "amd" ]; layout = "us"; xkbVariant = ""; excludePackages = [ pkgs.xterm ]; desktopManager.xterm.enable = false; }; gvfs = { enable = true; }; }; programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; services.pcscd.enable = true; sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; wireplumber.enable = true; config.pipewire-pulse = { context.modules = [ { name = "libpipewire-module-protocol-pulse"; } { name = "libpipewire-module-loopback"; args = { node.description = "Desktop"; node.name = "Desktop"; audio.position = [ "FL" "FR" ]; capture.props = { media.class = Audio/Sink; node.name = "Desktop"; }; }; } { name = " libpipewire-module-loopback"; args = { node.description = "Music"; node.name = "Music"; audio.position = [ "FL" "FR" ]; capture.props = { media.class = Audio/Sink; node.name = "Music"; }; }; } ]; }; }; hardware.bluetooth.enable = true; services.blueman.enable = true; programs.steam = { enable = true; }; programs.zsh = { enable = true; }; programs.ssh = { extraConfig = '' IdentityFile ${config.sops.secrets."${config.hostcfg.hostname}_ssh_priv".path} ''; }; security.polkit.enable = true; security.pam.services.swaylock = { text = '' auth include login ''; }; hardware = { opengl = { enable = true; extraPackages = with pkgs; []; }; }; users = { defaultUserShell = pkgs.zsh; users.sora = { isNormalUser = true; description = "sora"; extraGroups = [ "networkmanager" "wheel" "vboxsf" "lp"]; }; }; environment.systemPackages = with pkgs; [ wget dconf gvfs go cargo nodejs polkit_gnome nfs-utils bluez bluez-tools jre8 jdk8 jdk ]; nix = { package = pkgs.nixFlakes; extraOptions = '' experimental-features = nix-command flakes warn-dirty = false ''; gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 7d"; }; settings = { auto-optimise-store = true; builders-use-substitutes = true; substituters = [ "https://hyprland.cachix.org" "https://cache.nixos.org" ]; trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; }; }; nixpkgs.config = { permittedInsecurePackages = [ ]; allowUnfree = true; }; system.stateVersion = "unstable"; }