feat(bbuddy): evdev barcode scanner client

This commit is contained in:
arcnmx 2024-05-17 13:29:59 -07:00
parent c3cd9b0564
commit 90901a302c
24 changed files with 847 additions and 253 deletions

View file

@ -4,10 +4,15 @@ _: {
modules = [
./nixos.nix
];
deploy.hostname = "10.1.1.63";
exports = {
services = {
sshd.enable = true;
};
};
network.networks = {
local = {
slaac.postfix = "40c3:23df:e82a:b214";
address4 = "10.1.1.63";
};
};
}

View file

@ -1,20 +1,25 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the nixos.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
config,
pkgs,
meta,
...
}: {
imports = let
inherit (meta) nixos;
in [
nixos.sops
nixos.base
nixos.barcodebuddy-scanner
./hardware-configuration.nix
];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "nixos"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
@ -24,12 +29,6 @@
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "America/Vancouver";
# Select internationalisation properties.
i18n.defaultLocale = "en_CA.UTF-8";
# Enable the X11 windowing system.
services.xserver.enable = true;
@ -39,8 +38,10 @@
# Configure keymap in X11
services.xserver = {
layout = "us";
xkbVariant = "";
xkb = {
layout = "us";
variant = "";
};
};
# Enable CUPS to print documents.
@ -68,11 +69,13 @@
# Define a user account. Don't forget to set a password with passwd.
users.users.logistics = {
uid = 1000;
isNormalUser = true;
description = "Logistics";
extraGroups = [ "networkmanager" "wheel" ];
extraGroups = ["networkmanager" "wheel"];
hashedPasswordFile = config.sops.secrets.logistics-user-password.path;
packages = with pkgs; [
# thunderbird
# thunderbird
];
};
@ -99,6 +102,8 @@
# List services that you want to enable:
services.barcodebuddy-scanner.user = "logistics";
# Enable the OpenSSH daemon.
services.openssh.enable = true;
@ -108,6 +113,11 @@
# Or disable the firewall altogether.
# networking.firewall.enable = false;
sops = {
defaultSopsFile = ./secrets.yaml;
secrets.logistics-user-password = {};
};
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
@ -115,5 +125,4 @@
# Before changing this value read the documentation for this option
# (e.g. man nixos.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.11"; # Did you read the comment?
}

View file

@ -0,0 +1,57 @@
logistics-user-password: ENC[AES256_GCM,data:2n7OFQT4ZTrjzwVuuejP2sJxenP0dXzooWfr3Y+g6u5fM5tkGm5+Oa76VfLrFZtjwJUj3Q9BP1L1/ISPVZxnujxDwJW7mDtvKg==,iv:Q/UAxMQypP2Y6CzQxboI5dN6l95KECuJa2pB+Dcivvs=,tag:B1ahOzNzR8mU30qECWZtqA==,type:str]
sops:
shamir_threshold: 1
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1tkkau8vk5h9dh3kemash4eghn7lk84j0hhpmvvf7j6phgcsm9vmsphv0py
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjYk9IbTZjTFVsU28rN0Rh
ZE1wbzlrbjJkNFpXM2VnRytGb2V4QlVUaFcwCnNRaUtLTDFjbGF4TURhcW9LNXUw
aFAyeWRtU1NSaFI5UzMva1N2NTFsME0KLS0tIHhUNS9jK2hPamgrR0RjZ2xGajFG
dFVET2hqU0NTTmtKc0dKSGFSdnhMTGcKreJqNeHczADUmMgHOHhy+pa7S5hZvTUt
TXycS6WHfBjiG221yoxyr/L/wPCHKTatVMmcxHhTPBKyzOBYZL3dzQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-05-18T00:10:16Z"
mac: ENC[AES256_GCM,data:XmvgNXygTjC3ra13KvluZNUZt8XTGN75OVsnNX+pK/ZXbK/+qt9/Q/1thSOhkg8pLzfLYm9KXqRlVYHTrK+Wr2jko/mVdr9i8IgkVS5pJfvmvIjG7tW5nN88XjfFWAs5fnuvtSvJ2eJKzC5/kgWRwOMXdEfnodiZllqcqznvDAo=,iv:VbJvo8TgU78SOWAvlQ/bH4XY/w1ISaQG7X1UzNZ6InU=,tag:LRrfSssmIgDxuagy0gfbpg==,type:str]
pgp:
- created_at: "2024-05-18T00:09:19Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA82M54yws73UAQ/8C2v2raqvfKJAkTBOY2hFj8n3TeC6y6GdnHubFSlHiEHH
uuVnlRnRVBOXytMiVq5WdY4ryW2lj1L5RR3xVkMsKgykQjotSodjdv0gYXw3ymp8
z7IVbWYY7u2xO7oscqSHOY5kgQmQOnNSy5RppcD+WOu3osWInsEa3BMvWmfa1JWx
qkkUIOVG0E/mxc6z/FUCuKMV5vKAMATPUpxFxNo7U4nseX1Wz6W5s/P6O7W7Mx94
DA68s8z3pLRj7jOjM/jZGj2Hg4wBqYdQ6xb0N6GaYDll4zH1nDJdB5eeyd0rO1V1
UdEwqcuWZQ34PVFu9sqEgVY3V5ugK6oQp7jIEOYBL5pawmxnDxDVUhE+CvfOBQdN
zEhzsV5SshGwRQMzc2+mU1b/6niKWRQIN03jKv1cZ1r+FEGdt6bTeOx4D4+dJo1h
WFESDAsuE12gbzc3tOgDX9yMQU9spa7vcLVLEkn8wnFhHJNkdvmTzKNT4vvShAcq
mbpOe3EE03watP9Eg1vyczkQd5wHDCMiU+a6ewlxFbYCyvEOa31n9mUV6k/NMlhF
FFk/U3WAJ8EXHMmWSSNf91vqT5R3UBdZ5nOfJ+W6u6GO9yDs/1LcsJMyxhVf6Jpz
CB1n9BlSLjfF3Yu/gZ+75E2WqHCDDAKwxIU3y+q3bKYXBGd5AnYvH0Xuv6oa3gTS
XgErI7vjtfKztf77RnXOrSXn0uaP4HjSqmNCl0WLFiICRB17ZrlSgDtI/nF82+hj
OELdclxPfpZjWbF9mHW5bJPnAkcRsgVqwIjU8YY5x/CXDLc5BWBwKp2oMSLzIfg=
=NSbc
-----END PGP MESSAGE-----
fp: CD8CE78CB0B3BDD4
- created_at: "2024-05-18T00:09:19Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQEMA2W9MER3HLb7AQf/UKlYZ3sPQA0GIQahBvPxYaHZqAElGN5PgQhV1AZMm6ev
ZlXR6z2t4qbV/4rEGNJlBh2d/xwn7BENnJuDf/XiQlzMxpqOVp06V8EToS0xp9Uk
cAglQm5EwTMSEfcNP6f2wKn6S17exbmodk2zhmXzB2f0mxF9scbLfUjC7t4sGfhe
A4M3e4ZZ+mSIEk1XD8AAQKEwbnxdineqgVTrIzTtejryaVXPdeJv0M7cgOXJhglv
rQjNInN/ITrKCWjzYvhVFAleozAku1yzw5GiVAsSl0wQQ9nMIBX9zK17S5d8UK9I
IXNSfK2RVHLenlffI00a0yxgqEWfgJafB8Ov4glym9JeAR6wUPdxr34ZA/AkX0hF
NJABFE5PFqtYDn8hV6+zOSuPIpAPtvrCLb2G4z9mEn9ItmLscJfsaRJKFfpWKHTt
TSuFNluSvvUWW6OvbGvZbgZlp2yu/PHjOT3i6DXKxw==
=E1Vw
-----END PGP MESSAGE-----
fp: 65BD3044771CB6FB
unencrypted_suffix: _unencrypted
version: 3.8.1

View file

@ -17,6 +17,7 @@ _: {
tailscale.enable = true;
home-assistant.enable = true;
zigbee2mqtt.enable = true;
barcodebuddy.enable = true;
postgresql.enable = true;
};
};