{ config, pkgs, inputs, ... }: { # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.supportedFilesystems = [ "ntfs" ]; networking.networkmanager.enable = true; i18n.defaultLocale = "en_GB.UTF-8"; time.timeZone = "Europe/London"; # Enable sound. security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; users.groups.tmux.gid = 1000; # Used for tmux pairing systemd.tmpfiles.rules = [ "d /var/tmux_share 2770 tsv tmux" ]; users.users.tsv = { isNormalUser = true; extraGroups = [ "wheel" "docker" "tmux" "networkmanager" ]; initialPassword = "password"; }; nix.settings.trusted-users = [ "root" "tsv" ]; nix = { extraOptions = "experimental-features = nix-command flakes"; package = pkgs.nixFlakes; gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 30d"; }; }; services.xserver.enable = true; services.xserver.displayManager.sddm.enable = true; services.xserver.desktopManager.plasma5.enable = true; hardware.bluetooth.enable = true; environment.systemPackages = [ pkgs.wget pkgs.tmux pkgs.git pkgs.pciutils pkgs.pinentry-curses pkgs.xdg-desktop-portal pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-kde inputs.devenv.packages.x86_64-linux.devenv ]; programs.gnupg.agent = { enable = true; enableSSHSupport = true; pinentryFlavor = "curses"; }; environment.variables.LC_ALL = "en_GB.UTF-8"; nixpkgs.config.allowUnfree = true; nixpkgs.overlays = [ (self: super: { # Experimental features in Waybar gives us access to workspace selectors waybar = super.waybar.overrideAttrs (oldAttrs: { mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ]; }); }) inputs.codeium.overlays.x86_64-linux.default inputs.hyprcontrib.overlays.default ]; virtualisation.docker.enable = true; services.openssh = { enable = true; settings.PasswordAuthentication = false; }; system.stateVersion = "22.11"; # Don't change this }