flake-update-20260201
1{ pkgs, config, ... }:
2{
3 imports = [
4 ../../home/common/dev/default.nix
5 ../../home/common/dev/gh-news.nix
6 ../../home/common/dev/lazyworktree.nix
7 ../../home/common/dev/neovim.nix
8 ../../home/common/dev/emacs.nix
9 ../../home/common/dev/containers.nix
10 ../../home/common/dev/tektoncd.nix
11 ../../home/common/desktop/passage.nix
12 ../../home/common/shell/gh.nix
13 ];
14 systemd.user.services.syncthing.Install.WantedBy = [ "multi-user.target" ];
15
16 home.sessionVariables = {
17 PASSAGE_IDENTITIES_FILE = pkgs.lib.mkForce "${config.home.homeDirectory}/.ssh/id_ed25519";
18 };
19
20 home.packages = with pkgs; [
21 gnumake
22
23 go-org-readwise
24 gh-pr
25 lazypr
26 claude-hooks
27 nixpkgs-pr-watch
28 ssh-to-age
29
30 lazygit
31 ];
32
33 # Passage update service and timer
34 systemd.user.services.passage-update = {
35 Unit = {
36 Description = "Update passage password store";
37 };
38 Service = {
39 Type = "oneshot";
40 ExecStart = "${pkgs.passage}/bin/passage git pull --rebase";
41 WorkingDirectory = config.home.sessionVariables.PASSAGE_DIR;
42 };
43 };
44
45 systemd.user.timers.passage-update = {
46 Unit = {
47 Description = "Daily passage password store update";
48 };
49 Timer = {
50 OnCalendar = "daily";
51 Persistent = true;
52 RandomizedDelaySec = "1h";
53 };
54 Install = {
55 WantedBy = [ "timers.target" ];
56 };
57 };
58}