fork
Configure Feed
Select the types of activity you want to include in your feed.
nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
fork
Configure Feed
Select the types of activity you want to include in your feed.
1{
2 lib,
3 fetchFromGitHub,
4 python3,
5 yubikey-manager,
6 gitUpdater,
7 cacert,
8}:
9
10python3.pkgs.buildPythonApplication rec {
11 pname = "gam";
12 version = "7.21.01";
13 pyproject = true;
14
15 src = fetchFromGitHub {
16 owner = "GAM-team";
17 repo = "GAM";
18 tag = "v${version}";
19 hash = "sha256-Xj9GTNVuRddu3YQtXD/+yM/MNMxXUkfprtIFAm9SnA4=";
20 };
21
22 build-system = [ python3.pkgs.hatchling ];
23
24 dependencies = with python3.pkgs; [
25 arrow
26 chardet
27 cryptography
28 distro
29 filelock
30 google-api-python-client
31 google-auth
32 google-auth-httplib2
33 google-auth-oauthlib
34 httplib2
35 lxml
36 passlib
37 pathvalidate
38 python-dateutil
39 yubikey-manager
40 ];
41
42 # Use XDG-ish dirs for configuration. These would otherwise be in the gam
43 # package.
44 #
45 # Using --run as `makeWapper` evaluates variables for --set and --set-default
46 # at build time and then single quotes the vars in the wrapper, thus they
47 # wouldn't get expanded. But using --run allows setting default vars that are
48 # evaluated on run and not during build time.
49 # Detailed on this page: https://github.com/GAM-team/GAM/wiki/gam.cfg
50 makeWrapperArgs = [
51 ''--set-default GAM_CA_FILE "${cacert}/etc/ssl/certs/ca-bundle.crt"''
52 ''--run 'export GAMCFGDIR="''${XDG_CONFIG_HOME:-$HOME/.config}/gam"' ''
53 ''--run 'export GAMUSERCONFIGDIR="''${XDG_CONFIG_HOME:-$HOME/.config}/gam"' ''
54 ''--run 'export GAMSITECONFIGDIR="''${XDG_CONFIG_HOME:-$HOME/.config}/gam"' ''
55 ''--run 'export GAMCACHEDIR="''${XDG_CACHE_HOME:-$HOME/.cache}/gam"' ''
56 ''--run 'export GAMDRIVEDIR="$PWD"' ''
57 ];
58
59 pythonImportsCheck = [ "gam" ];
60
61 passthru.updateScript = gitUpdater { rev-prefix = "v"; };
62
63 meta = {
64 description = "Command line management for Google Workspace";
65 mainProgram = "gam";
66 homepage = "https://github.com/GAM-team/GAM/wiki";
67 changelog = "https://github.com/GAM-team/GAM/releases/tag/v${version}";
68 license = lib.licenses.asl20;
69 maintainers = with lib.maintainers; [ thanegill ];
70 };
71
72}