Commit eadfa8a469ac

Vincent Demeester <vincent@sbr.pm>
2026-02-12 13:49:42
feat(okinawa): added home-manager configuration
Mirrored kyushu home.nix with dev tools, services, and user packages. Adjusted passage token path for okinawa.
1 parent edbd2e4
Changed files (1)
systems
okinawa
systems/okinawa/home.nix
@@ -0,0 +1,119 @@
+{ pkgs, ... }:
+let
+  # Wrapper for jira-cli that injects API token from passage
+  jira-wrapped = pkgs.writeShellScriptBin "jira" ''
+    export JIRA_API_TOKEN=$(${pkgs.passage}/bin/passage show redhat/issues/token/okinawa)
+    exec ${pkgs.jira-cli-go}/bin/jira "$@"
+  '';
+in
+{
+  imports = [
+    ../../home/common/dev/containers.nix
+    ../../home/common/dev/gh-news.nix
+    ../../home/common/dev/github-notif-manager.nix
+    ../../home/common/dev/lazyworktree.nix
+    ../../home/common/dev/neovim.nix
+    ../../home/common/dev/tektoncd.nix
+    ../../home/common/services/color-scheme-timer.nix
+    ../../home/common/services/gcal-to-org.nix
+    ../../home/common/services/goimapnotify.nix
+    ../../home/common/services/mail-monitor.nix
+    ../../home/common/services/readwise-sync.nix
+    ../../home/common/services/redhat.nix
+    ../../home/common/shell/gh.nix
+  ];
+
+  home.packages = with pkgs; [
+    nautilus
+
+    slack
+
+    gcalcli
+    nextmeeting
+
+    calibre
+
+    ntfy-sh
+    libnotify
+
+    monolith
+
+    feishin # navidrome - uses mpv-unwrapped via overlay
+
+    lazygit
+
+    # Keyboard
+    qmk
+    qmk_hid
+
+    startpaac
+    abs-tui
+    batzconverter
+
+    simple-scan
+
+    jira-wrapped
+
+    go-org-readwise
+    radian
+    gh-pr
+    lazypr
+    nixpkgs-pr-watch
+    arr
+    toggle-color-scheme
+    shpool-remote
+    cliphist-cleanup
+
+    slackdump
+  ];
+
+  # Automatic color scheme switching
+  services.color-scheme-timer = {
+    enable = true;
+    latitude = "48.87"; # Paris coordinates
+    longitude = "2.33";
+    lightTime = "07:00"; # Switch to light mode at 7am
+    darkTime = "19:00"; # Switch to dark mode at 7pm
+  };
+
+  # Google Calendar sync to org-mode
+  services.gcal-to-org = {
+    enable = true;
+    interval = "hourly";
+  };
+
+  # Readwise sync to org-mode
+  services.readwise-sync = {
+    enable = true;
+    interval = "daily";
+  };
+
+  # ntfy notification subscriber
+  systemd.user.services.ntfy-subscriber = {
+    Unit = {
+      Description = "ntfy notification subscriber";
+      Documentation = "https://ntfy.sh";
+      After = [
+        "graphical-session.target"
+        "network-online.target"
+      ];
+      Wants = [ "network-online.target" ];
+    };
+
+    Service = {
+      Type = "simple";
+      ExecStart = "${pkgs.ntfy-sh}/bin/ntfy subscribe --from-config";
+      Restart = "on-failure";
+      RestartSec = 10;
+      Environment = [
+        "PATH=${pkgs.bash}/bin:${pkgs.coreutils}/bin:${pkgs.libnotify}/bin:${pkgs.ntfy-sh}/bin:${pkgs.xdg-utils}/bin:${pkgs.curl}/bin:${pkgs.passage}/bin"
+        "PASSAGE_DIR=/home/vincent/.local/share/passage"
+        "PASSAGE_IDENTITIES_FILE=/home/vincent/.local/share/passage/identities"
+      ];
+    };
+
+    Install = {
+      WantedBy = [ "graphical-session.target" ];
+    };
+  };
+}