nix-conf/hosts/common/default.nix
Thiago Sposito 65627a3ab5 refactor: reorganize Nix configuration and reintroduce Waydroid service
- Update Nix configuration files to improve structure and readability
- Reintroduce Waydroid service configuration in common/default.nix
- Adjust formatting for consistency across home-manager and host configurations
2025-10-05 22:01:07 -03:00

103 lines
2.2 KiB
Nix

{
config,
inputs,
lib,
pkgs,
...
}:
{
imports = [ ./users/thiago/default.nix ];
boot.loader.systemd-boot.enable = true;
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
exfat
file
fuse3
gcsfuse
git
gnupg
hidapi
home-manager
keymapp
libnitrokey
libusb1
nix-ld
opensc
pciutils
pcsc-safenet
pcsclite
pcsctools
pkcs11helper
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 = {
enable = true;
pinentryPackage = pkgs.pinentry-tty;
};
};
nix-ld = {
enable = true;
libraries = with pkgs; [
glibc
zlib
];
};
zsh.enable = true;
};
services = {
pcscd.enable = true;
# xserver.displayManager.sessionCommands =
# "${pkgs.xorg.xmodmap}/bin/xmodmap -e 'keycode 64 = Alt_L'";
udev.packages = [
pkgs.libwacom
pkgs.nitrokey-udev-rules
];
waydroid-config = {
description = "Configure Waydroid Properties";
wantedBy = [ "multi-user.target" ];
after = [ "waydroid-container.service" ];
serviceConfig = {
Type = "oneshot";
ExecStart = pkgs.writeShellScript "waydroid-config" ''
echo "ro.hardware.gralloc=default" >> /var/lib/waydroid/waydroid_base.prop
echo "ro.hardware.egl=swiftshader" >> /var/lib/waydroid/waydroid_base.prop
'';
};
};
};
users.groups.scard = { };
time.timeZone = "America/Sao_Paulo";
users.defaultUserShell = pkgs.zsh;
}