{ config, lib, pkgs, inputs, ... }: { imports = with inputs.nixos-hardware.nixosModules; [ common-cpu-intel common-pc-ssd ]; fileSystems = { "/" = { device = "/dev/disk/by-uuid/d06b511d-1970-421d-b006-231a7af91942"; fsType = "btrfs"; }; "/boot" = { device = "/dev/disk/by-uuid/DFCE-FE5C"; fsType = "vfat"; }; }; swapDevices = [ ]; # TODO boot = { initrd = { availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "sdhci_pci" "aesni-intel" # NOTE: See https://github.com/NixOS/nixos-hardware/blob/master/common/pc/laptop/acpi_call.nix #"acpi_call" ]; ]; kernelModules = [ "dm-snapshot" "aesni-intel" ]; luks.devices = { cryptroot = { device = "/dev/disk/by-uuid/e1011c40-e1a9-4ce6-b89f-f14b046639c1"; preLVM = false; # NOTE: Since this LUKS device is within an LVM group }; }; }; kernelPackages = pkgs.linuxPackages_xanmod; kernelModules = [ "kvm-intel" ]; extraModulePackages = [ ]; # NOTE: See https://github.com/NixOS/nixos-hardware/blob/master/lenovo/thinkpad/e495/default.nix#L12 kernelParams = [ "acpi_backlight=native" ]; binfmt.emulatedSystems = ["aarch64-linux"]; }; ptw = { programs = { alacritty.enable = true; sway.enable = false; emacs.enable = true; firefox.enable = true; tmux.enable = true; waybar = { enable = true; output = "eDP-1"; }; zsh.enable = true; git.enable = true; office.enable = true; plasma.enable = true; direnv.enable = true; }; services = { yubikey.enable = true; cups.enable = true; gnome.enable = false; kanshi = let horizontal = "Samsung Electric Company C27F398 H4ZR101145"; helpers = import ../lib/helpers/kanshi.nix; mkProfile = helpers.mkProfile; wallpaperScript = helpers.mkWallpaperScript { inherit pkgs config; }; in { enable = true; profiles = { laptop = mkProfile { outputs = [ { criteria = "eDP-1"; status = "enable"; mode = "1920x1080"; position = "0,0"; } ]; name = "laptop"; script = wallpaperScript; }; laptopMultihead = mkProfile { outputs = [ { criteria = "HDMI-A-1"; status = "enable"; mode = "1920x1080"; position = "-1920,0"; } { criteria = "eDP-1"; status = "enable"; mode = "1920x1080"; position = "0,0"; } ]; name = "laptopMultihead"; script = wallpaperScript; }; }; }; swaync.enable = true; }; system = { i18n.enable = true; singleUser = "alexander"; hostName = "nishimiya"; wireless = true; primaryInterface = "wlp5s0"; }; virtualisation.enable = true; }; services = { xserver = { enable = true; layout = "de"; libinput.enable = true; }; }; virtualisation = { podman = { enable = true; dockerCompat = true; dockerSocket.enable = true; }; }; environment.systemPackages = with pkgs; [ ansible gnumake wireguard-tools (pkgs.callPackage ./wrapper.nix { inherit (pkgs) retroarch; cores = with pkgs.libretro; [ mgba mupen64plus melonds desmume dolphin ]; }) ]; programs = { gnupg.agent = { pinentryFlavor = "qt"; }; }; }