diff --git a/base/patio/configuration.nix b/base/patio/configuration.nix index d715a16..6152d20 100644 --- a/base/patio/configuration.nix +++ b/base/patio/configuration.nix @@ -12,7 +12,7 @@ nix.package = pkgs.lix; nix.buildMachines = [ { - hostName = "alyx@192.168.1.145"; + hostName = "alyx@192.168.1.146"; system = "x86_64-linux"; protocol = "ssh-ng"; # if the builder supports building for multiple architectures, @@ -169,6 +169,9 @@ pulseaudio steamdeck-firmware jupiter-dock-updater-bin + maliit-keyboard + squeekboard + wvkbd winetricks p7zip cabextract diff --git a/base/patio/configuration.nix.save b/base/patio/configuration.nix.save new file mode 100644 index 0000000..362fc72 --- /dev/null +++ b/base/patio/configuration.nix.save @@ -0,0 +1,182 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ config, pkgs, lib, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + nix.package = pkgs.lix; + nix.buildMachines = [ { + hostName = "alyx@192.168.1.145"; + system = "x86_64-linux"; + protocol = "ssh-ng"; + # if the builder supports building for multiple architectures, + # replace the previous line by, e.g. + # systems = ["x86_64-linux" "aarch64-linux"]; + maxJobs = 1; + speedFactor = 2; + supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ]; + mandatoryFeatures = [ ]; + }] ; + nix.distributedBuilds = true; + # optional, useful when the builder has a faster internet connection than yours + nix.extraOptions = '' + builders-use-substitutes = true + ''; + services.desktopManager.plasma6.enable = true; + jovian.devices.steamdeck.enable = true; + jovian.steam.autoStart = true; + jovian.steam.enable = true; + jovian.steam.user = "alyx"; + jovian.steam.desktopSession = "plasma"; + jovian.devices.steamdeck.autoUpdate = true; + jovian.decky-loader.enable = true; + + environment.pathsToLink = [ "/share/xdg-desktop-portal" ]; + + security.sudo.package = pkgs.sudo.override { withInsults = true; }; + + programs = { + adb.enable = true; + flashrom.enable = true; + nix-ld.enable = true; + nix-ld.libraries = with pkgs; [xorg.libxcb libao xorg.libX11 libusb1 cargo rustc pkg-config cacert]; + }; + + services.journald.extraConfig = '' + SystemMaxUse=2G + ''; + + services.tailscale = { + enable = true; + useRoutingFeatures = "both"; + }; + + boot.supportedFilesystems = ["exfat" "ntfs" "xfs"]; + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + boot.initrd.systemd.enable = true; + boot.initrd.kernelModules = [ "amdgpu" ]; + boot.loader.efi.efiSysMountPoint = "/boot/"; + + networking.hostName = "patio"; # Define your hostname. + + powerManagement.cpuFreqGovernor = "performance"; + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Enable networking + hardware.graphics = { + enable = true; + enable32Bit = true; + extraPackages = with pkgs; [mesa.opencl libvdpau-va-gl vaapiVdpau vulkan-validation-layers]; + extraPackages32 = with pkgs; [driversi686Linux.amdvlk driversi686Linux.mesa.opencl]; + }; + + hardware.bluetooth.enable = true; + services.blueman.enable = true; + + networking.networkmanager = { + enable = true; + wifi.backend = "iwd"; + }; + + # Set your time zone. + time.timeZone = "Europe/London"; + + # Select internationalisation properties. +? i18n.defaultLocale = "en_GB.UTF-8"; + + services.udisks2.enable = true; + + 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"; + }; + + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; + + # Enable the X11 windowing system. + services.xserver.enable = true; + programs.dconf.enable = true; + + # Configure keymap in X11 + services.xserver.xkb = { + layout = "us"; + variant = ""; + }; + + # Enable CUPS to print documents. + services.printing.enable = true; + services.printing.drivers = [pkgs.gutenprint]; + + security = { + rtkit.enable = true; + }; + + # Enable sound with pipewire. + services.pulseaudio.enable = false; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + # If you want to use JACK applications, uncomment this + jack.enable = true; + }; + + # Define a user account. Don't forget to set a password with ‘passwd’. + + users.users.alyx = { + isNormalUser = true; + description = "Alyx"; + extraGroups = [ "networkmanager" "wheel" "camera" ]; + packages = with pkgs; [ + ]; + }; + + services.libinput.enable = true; + + # Allow unfree packages + nixpkgs.config.allowUnfree = true; + + environment.systemPackages = with pkgs; [ + wget + neovim + cbfstool + git + keepassxc + pulseaudio + steamdeck-firmware + jupiter-dock-updater-bin + winetricks + p7zip + cabextract + unzip + ineWowPackages.stable + (pkgs.python3.withPackages (ps: with ps; [tkinter])) + ]; + + system.stateVersion = "24.11"; # Did you read the comment? + +} diff --git a/home/niri.nix b/home/niri.nix index 687b3eb..5d45de9 100644 --- a/home/niri.nix +++ b/home/niri.nix @@ -15,6 +15,7 @@ }; programs.niri = { enable = true; + package = inputs.niri.packages.${pkgs.stdenv.hostPlatform.system}.niri-unstable; settings = { input.power-key-handling.enable = false; input.touchpad = {