{ config, inputs, lib, pkgs, ... }: { imports = [ ./users/thiago/default.nix ]; boot.loader.systemd-boot.enable = true; nixpkgs.overlays = [ (final: prev: { libnitrokey = prev.libnitrokey.overrideAttrs (old: { cmakeFlags = (old.cmakeFlags or [ ]) ++ [ "-DCMAKE_POLICY_VERSION_MINIMUM=3.5" ]; }); epsonscan2 = prev.epsonscan2.overrideAttrs (old: { cmakeFlags = (old.cmakeFlags or [ ]) ++ [ "-DCMAKE_POLICY_VERSION_MINIMUM=3.5" ]; }); }) ]; environment = { shells = with pkgs; [ zsh ]; etc = lib.mapAttrs' (name: value: { name = "nix/path/${name}"; value.source = value.flake; }) config.nix.registry; systemPackages = with pkgs; [ ccid epson-escpr epsonscan2 exfat file fuse3 gcsfuse ghostscript git gnupg hidapi home-manager keymapp libnitrokey libusb1 nix-ld opensc pciutils pcsc-safenet pcsclite pcsctools pkcs11helper podman-compose rclone sops wget zsa-udev-rules ]; }; hardware.keyboard.zsa.enable = true; networking.networkmanager.enable = true; nix = { registry = (lib.mapAttrs (_: flake: { inherit flake; })) ( (lib.filterAttrs (_: lib.isType "flake")) inputs ); nixPath = [ "/etc/nix/path" ]; settings = { download-buffer-size = "512M"; experimental-features = "nix-command flakes"; auto-optimise-store = true; }; }; nixpkgs.config.allowUnfree = true; programs = { gnupg = { agent = { enableSSHSupport = true; enable = true; pinentryPackage = pkgs.pinentry-tty; }; }; nix-ld = { enable = true; libraries = with pkgs; [ glibc zlib ]; }; zsh.enable = true; }; services = { printing = { enable = true; drivers = [ pkgs.epson-escpr ]; }; pcscd.enable = true; # xserver.displayManager.sessionCommands = # "${pkgs.xorg.xmodmap}/bin/xmodmap -e 'keycode 64 = Alt_L'"; udev.packages = [ pkgs.libwacom pkgs.nitrokey-udev-rules ]; }; # hardware = { # printers = { # ensurePrinters = [ # { # name = "Epson_L3150"; # location = "HomeOffice"; # deviceUri = "usb://EPSON/L3150%20Series?serial=583545563539353524&interface=1"; # model = "${pkgs.epson-escpr}/share/cups/model/epson-inkjet-printer-escpr/Epson-L3150_Series-epson-escpr-en.ppd"; # ppdOptions = { PageSize = "A4"; }; # } # ]; # ensureDefaultPrinter = "Epson_L3150"; # }; # }; users.groups.scard = { }; time.timeZone = "America/Sao_Paulo"; users.defaultUserShell = pkgs.zsh; }