Commit eadfa8a469ac
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" ];
+ };
+ };
+}