feat: add collabora gtimelog
Collabora has a special gtimelog application which allows reporting to
its timelog servers. It can be trivially packaged by modifying the
existing gtimelog package from nixpkgs
Change-Id: I9fa7560d8a4a6412ed4b5f818909193aaf1ceeb3
Reviewed-on: https://git.clicks.codes/c/Chimera/NixFiles/+/704
Reviewed-by: Skyler Grey <minion@clicks.codes>
Tested-by: Skyler Grey <minion@clicks.codes>
Reviewed-by: Samuel Shuert <coded@clicks.codes>
diff --git a/flake.lock b/flake.lock
index fa05397..c63a1e0 100644
--- a/flake.lock
+++ b/flake.lock
@@ -21,6 +21,34 @@
"type": "github"
}
},
+ "collabora-gtimelog": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1699275431,
+ "narHash": "sha256-u5ooKnWhkf9Eh90nyqAvHzIDgidhx05SI66L3VLwRJ0=",
+ "ref": "refs/heads/master",
+ "rev": "3faf89054bebf89fcee8640f1b1c2b2b23d1a0dc",
+ "revCount": 464,
+ "type": "git",
+ "url": "https://gitlab.collabora.com/collabora/gtimelog.git"
+ },
+ "original": {
+ "type": "git",
+ "url": "https://gitlab.collabora.com/collabora/gtimelog.git"
+ }
+ },
+ "collabora-icon": {
+ "flake": false,
+ "locked": {
+ "narHash": "sha256-D1rWQZ7dd5IaZSiPPbQchA6nZO0QItrdMs5G2sflIu0=",
+ "type": "file",
+ "url": "https://www.collabora.com/favicon.ico"
+ },
+ "original": {
+ "type": "file",
+ "url": "https://www.collabora.com/favicon.ico"
+ }
+ },
"ewwsalmoomedits--eww-widgets": {
"flake": false,
"locked": {
@@ -351,6 +379,8 @@
"root": {
"inputs": {
"anyrun": "anyrun",
+ "collabora-gtimelog": "collabora-gtimelog",
+ "collabora-icon": "collabora-icon",
"ewwsalmoomedits--eww-widgets": "ewwsalmoomedits--eww-widgets",
"home-manager": "home-manager",
"hyprland": "hyprland",
diff --git a/flake.nix b/flake.nix
index b886ce7..a40d052 100644
--- a/flake.nix
+++ b/flake.nix
@@ -7,6 +7,15 @@
inputs.nixpkgs.follows = "nixpkgs";
};
+ collabora-gtimelog = {
+ url = "git+https://gitlab.collabora.com/collabora/gtimelog.git";
+ flake = false;
+ };
+ collabora-icon = {
+ url = "https://www.collabora.com/favicon.ico";
+ flake = false;
+ };
+
ewwsalmoomedits--eww-widgets = {
url = "github:saimoomedits/eww-widgets";
flake = false;
@@ -51,6 +60,7 @@
inputs.hyprland.homeManagerModules.default
inputs.nur.hmModules.nur
inputs.nix-index-database.hmModules.nix-index
+ inputs.sops-nix.homeManagerModules.sops
];
systems.modules.nixos = [
diff --git a/homes/x86_64-linux/skyler@canvasback/default.nix b/homes/x86_64-linux/skyler@canvasback/default.nix
index f3e7c1b..ccfd1f1 100644
--- a/homes/x86_64-linux/skyler@canvasback/default.nix
+++ b/homes/x86_64-linux/skyler@canvasback/default.nix
@@ -19,10 +19,20 @@
...
}:
{
- home.packages = [ pkgs.home-manager ];
+ home.packages = [
+ pkgs.home-manager
+ pkgs.chimera.gtimelog-collabora
+ ];
chimera.minion.enable = true;
home.shellAliases.home-manager = "${pkgs.home-manager}/bin/home-manager --flake ${config.chimera.shell.rebuildFlakePath}#skyler@canvasback";
+ sops.gnupg.home = config.programs.gpg.homedir;
+ sops.secrets."homes/x86_64-linux/skyler@canvasback/gtimelogrc.sops.minion.toml.bin" = {
+ format = "binary";
+ sopsFile = ./gtimelogrc.sops.minion.toml.bin;
+ path = "${config.home.homeDirectory}/.gtimelog/gtimelogrc";
+ };
+
programs.kitty.settings.shell = "${pkgs.bashInteractive}/bin/bash --login"; # nasty hack to make environment variables load on gnome
}
diff --git a/homes/x86_64-linux/skyler@canvasback/gtimelogrc.sops.minion.toml.bin b/homes/x86_64-linux/skyler@canvasback/gtimelogrc.sops.minion.toml.bin
new file mode 100644
index 0000000..466f893
--- /dev/null
+++ b/homes/x86_64-linux/skyler@canvasback/gtimelogrc.sops.minion.toml.bin
@@ -0,0 +1,26 @@
+{
+ "data": "ENC[AES256_GCM,data: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,iv:G/nRa7pmQnzx9GVzrqXd5PHtVcSfCy7BGdXbrtMQlYw=,tag:g+VLm9TwgonaJteR8WLpXA==,type:str]",
+ "sops": {
+ "kms": null,
+ "gcp_kms": null,
+ "azure_kv": null,
+ "hc_vault": null,
+ "age": null,
+ "lastmodified": "2024-03-12T14:00:59Z",
+ "mac": "ENC[AES256_GCM,data:8eqDG1R5Aze5Q70O1YFreTADLL+ohQuxmleWEG2ajV0vYzkELQdnIzx3XDYV9jgofODrLiUX1LvW5CoZXX7t7AUgWaKYh136UB8DKOlonDGyZ7xnaoGxTHZMA4ABzz5okFl61lWfcl98nOxsgpnFUkd+8cEz03dXJ8uuiAZHlOM=,iv:Rdbnrf/k2OoTsWHBLDOVHlYSZqKHXG89d3mSH/mWQ2U=,tag:xUBLHXWwFdmqRVarqkSAWg==,type:str]",
+ "pgp": [
+ {
+ "created_at": "2023-04-15T17:13:31Z",
+ "enc": "-----BEGIN PGP MESSAGE-----\n\nhQIMA4vnwRU2nlKhAQ//RFkGwGQ0DwoYoUe5XfR6pXX9yZi+fpj3BbNwSaPLUuaH\nolLR+SEZnD5d5Lkp4lBrfeTBVCBC6KduGrwfnlvwE4l2y7PhMuaR+MxS2QlIdK8T\nOcwJyoJRUH8h6R6hnJttH4C3Q+B+01O42xYitDorbbBeVK52uktyBNZFrSAW1ZfE\nGdJOzlpfa6+RA0gcxHCkpIkU+QR0RqW7KICnKFx2FtDb22DIaNxKgJTpeGUKHhfP\naJNIZ5K9rYkrCCEEINSeGHsLn4zyvsZXmlQMdQnoUAo33WanrIsUbXurZAMy1hbB\ngjxm7vaRfbgODu2l9LbQL5kd/eMpZ7BD4wvoyzw7Vyc+yuTyTDWmvMJSwdntLGDu\nEL6eT+XYvqawQ5/7vrnsgv6tjD4rmlmbOu+8hs/7qSEGLP0oOigQpMvCJhGghOhw\na+P1SDaxX0hqTaOVt6CyaKegLsg6mdNTUFI4WZEy948POzIngoWytW3ABPA5tbdF\n9S9IWXhgsUjLyU0P/H/H1WQpZ3bp+pYekEQA1PRhSUpVw8z0wlXoModqL5q9AG7x\np5A2csiRMsrOBr3477UiyRb7VmJPOlq5uR6nopH2uab3pwF4hw6FxttlMsiDj/zw\nk18ta/UjqjBkXtKsHEVFLcVGQbuMnSIz95mmzjtK+yCjsJkYbFgdICcHtr4iUxjS\nXgGpQB8Oz4SaOLHvwMeFJT68ip+ByGfkpZMQqmVsTun1mnJMmrfIKR1l7TTXKd/J\nhaSiSItlU1W5jxOpvGTQL6ilAQM6h5cebEpSEU8X1NAwkwywn/XHkLwqp8Jz5Wk=\n=O9bV\n-----END PGP MESSAGE-----",
+ "fp": "D520AC8D7C9692125B2BBD3A1AFD10256B3C714D"
+ },
+ {
+ "created_at": "2023-04-15T17:13:31Z",
+ "enc": "-----BEGIN PGP MESSAGE-----\n\nhQIMAzZ2yNxQ0k/2ARAAu+YQDtAHiK1Tl8+ZWytagBwuAXIKFDpvKEmwTmuQNA9G\nX0se3SILE7FX+WJnl5s4dMtqun11Sdcdhxc7OreAf3tOe+qX5n5cVUh39VS1V4Pj\n/FQfDJivUcqHf0KZiu8hTg0WaWY3UUWRsbXcetkMcZr4pxgNBVQ5ezFsDAVdYmGu\nkm3YGLtbiYbufWtSVzirBeEwN0P10TTtWe9FYJLXMS1O97snUCRDLS9jcIxLs1G/\nxHKv6pnsqsxaDXShHC7BDRF6vZQ4BLYlP06HaMlWhSUvzZvac3rn/I3FkSD0iBOY\nEaYkJeVxIqrXhR4E+M1eneazmrFtBdAupuZGz/8Sc2iRZE6cWxNIjjLRHw5aITHZ\ns3yAiRdIPWWZGOgRw7hPwDvAZKktankuy5O5+Fxq5f1ar7BAJ+pae0kJriUHIhq5\np99jnkZOQI2D1mauwdRwsyeHRBr0/n05KVeYTcm+erxILqZAB1lzykY7kJs5eKyD\nAWzvM+Gw7vDN5xYX2GraNTlcy0R6t6EWOVeLVpgSSBebUohfbMQd9dOce8CT6Hr7\nVfdWb0/bHeeuCOT99DsGKK62Es+hlTKG9zqG4kNxYM2aNA7VmWlTDbcAc9dcfcSi\nJQjMg7wB8biLLeeKIGuA0+UWpWY43h0iqfiHoB0Rqb32t9hOA8GGcgYDhDohDL3S\nWAGanUqlJTwDA/vFrb0d9AmeGQdJX4KDbEp/nQ7R/Epbw5nzGrEc6MTavPOFtL0T\nwbmbl8JhLcqcalvpZWcCl/jCzuhyxqm+B2g2MR6VRzJln5cDa0U8OTM=\n=snGR\n-----END PGP MESSAGE-----",
+ "fp": "B2EEB25AFB4C3A2EC7FAC3A43676C8DC50D24FF6"
+ }
+ ],
+ "unencrypted_suffix": "_unencrypted",
+ "version": "3.8.1"
+ }
+}
\ No newline at end of file
diff --git a/packages/gtimelog-collabora/default.nix b/packages/gtimelog-collabora/default.nix
new file mode 100644
index 0000000..3581d37
--- /dev/null
+++ b/packages/gtimelog-collabora/default.nix
@@ -0,0 +1,39 @@
+{
+ inputs,
+ lib,
+ gtimelog,
+ glib-networking,
+ gtk3,
+ libsoup,
+ glib,
+ pango,
+ harfbuzz,
+ gdk-pixbuf,
+ atk,
+ libsecret,
+ gobject-introspection,
+ ...
+}:
+gtimelog.overrideAttrs (oldAttrs: {
+ src = inputs.collabora-gtimelog;
+ makeWrapperArgs = [
+ "--set GIO_MODULE_DIR ${lib.makeSearchPathOutput "out" "lib/gio/modules" [ glib-networking ]}"
+ "--set GI_TYPELIB_PATH ${
+ lib.makeSearchPathOutput "out" "lib/girepository-1.0" [
+ gtk3
+ libsoup
+ glib
+ pango
+ harfbuzz
+ gdk-pixbuf
+ atk
+ libsecret
+ ]
+ }"
+ ];
+ buildInputs = oldAttrs.buildInputs ++ [ glib-networking ];
+ nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ gobject-introspection ];
+ preInstall = ''
+ cp ${inputs.collabora-icon} src/gtimelog/gtimelog-large.png
+ '';
+})