Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .roborev.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Default agent for this repo when no workflow-specific agent is set.
agent = 'gemini'
agent = 'codex'
# Default model for this repo when no workflow-specific model is set.
model = ''
# Backup agent for this repo if the primary agent fails.
Expand Down
18 changes: 17 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -1091,7 +1091,7 @@ launchctl-tmux-session-logger: ## Restart tmux-session-logger launchd agent.
##@ Systemd Services (Linux)

.PHONY: systemctl
systemctl: systemctl-docker systemctl-cliproxyapi systemctl-cliproxyapi-backup systemctl-code-syncer systemctl-docker-postgres systemctl-dolt systemctl-dotfiles-updater systemctl-make-updater systemctl-neverssl-keepalive systemctl-obsidian systemctl-ollama systemctl-openclaw systemctl-paperclip systemctl-roborev systemctl-tmux-session-logger ## Restart all systemd user services.
systemctl: systemctl-docker systemctl-cliproxyapi systemctl-cliproxyapi-backup systemctl-code-syncer systemctl-docker-postgres systemctl-dolt systemctl-dotfiles-updater systemctl-make-updater systemctl-neverssl-keepalive systemctl-noctalia-shell systemctl-obsidian systemctl-ollama systemctl-openclaw systemctl-paperclip systemctl-roborev systemctl-tmux-session-logger ## Restart all systemd user services.

.PHONY: systemctl-docker
systemctl-docker: ## Start Docker daemon.
Expand Down Expand Up @@ -1153,6 +1153,22 @@ systemctl-neverssl-keepalive: ## Restart neverssl-keepalive systemd timer and se
@systemctl --user restart neverssl-keepalive.timer || true
@echo "✅ neverssl-keepalive restarted"

.PHONY: systemctl-noctalia-shell
systemctl-noctalia-shell: ## Restart noctalia-shell (quickshell) after Nix rebuild (matic only).
@echo "🔄 Restarting noctalia-shell..."
@if [ "$(DETECTED_HOST)" = "matic" ] || [ "$(HOST)" = "matic" ]; then \
if [ -n "$$WAYLAND_DISPLAY" ]; then \
pkill -x quickshell || true; \
sleep 1; \
nohup noctalia-shell >/dev/null 2>&1 & \
else \
echo "Skipping noctalia-shell (WAYLAND_DISPLAY not set)"; \
fi; \
else \
echo "Skipping noctalia-shell (host not matic)"; \
fi
@echo "✅ noctalia-shell restarted"

.PHONY: systemctl-obsidian
systemctl-obsidian: ## Restart Obsidian headless systemd user service.
@echo "🔄 Restarting obsidian..."
Expand Down
2 changes: 1 addition & 1 deletion config/ghostty/config
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ confirm-close-surface = true
macos-option-as-alt = true
macos-titlebar-style = "tabs"
shell-integration = fish
command = __FISH_PATH__ --login
command = fish --login

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Latent regression on macOS GUI launches: Previously config/ghostty/default.nix substituted __FISH_PATH__ with ${pkgs.fish}/bin/fish at build time, so this line was an absolute Nix store path. Now ghostty must resolve fish via PATH (execvp). On macOS, ghostty.app launched from Finder/Spotlight/dock inherits launchd's PATH, which by default contains only /usr/bin:/bin:/usr/sbin:/sbin plus entries in /etc/paths.d/*. The nix multi-user installer adds /nix/var/nix/profiles/default/bin there, but ~/.nix-profile/bin — where home-manager installs fish — is not on launchd's PATH unless the user manually ran launchctl setenv PATH .... Result: ghostty may fail to spawn the shell. On Linux desktop sessions this is fine because Hyprland/etc. inherit the user's session PATH. Either restore the ${pkgs.fish}/bin/fish substitution or document the launchd PATH requirement.

cursor-style = bar
cursor-style-blink = true
mouse-hide-while-typing = true
Expand Down
7 changes: 2 additions & 5 deletions config/ghostty/default.nix
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
{ pkgs, ... }:
let
inherit (pkgs) lib;
fishPath = "${pkgs.fish}/bin/fish";
staticConfig = builtins.readFile ./config;
configText = builtins.replaceStrings [ "__FISH_PATH__" ] [ fishPath ] staticConfig;
in
{
xdg.configFile."ghostty/config" = {
text = configText;
source = ./config;
};
xdg.configFile."ghostty/themes/Dracula Custom" = {
source = ./themes + "/Dracula Custom";
Expand All @@ -20,7 +17,7 @@ in
home.file."Library/Application Support/com.mitchellh.ghostty/config" =
lib.mkIf pkgs.stdenv.isDarwin
{
text = configText;
source = ./config;
};
home.file."Library/Application Support/com.mitchellh.ghostty/themes/Dracula Custom" =
lib.mkIf pkgs.stdenv.isDarwin
Expand Down
5 changes: 1 addition & 4 deletions config/gtk/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@
name = "Adwaita";
size = 24;
};
gtk4.theme = {
name = "Adwaita";
package = pkgs.gnome-themes-extra;
};
gtk4.theme = null;
};
}
4 changes: 4 additions & 0 deletions config/keyd/default.conf
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
[ids]
*
# Framework 13 AI 300 embedded controller (I2C HID). keyd's `*` wildcard
# does not grab I2C HID consumer control devices, so the Framework key
# bypasses keyd unless this id is listed explicitly.
32ac:0006

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Scope drift (nit): This keyd fix is unrelated to the PR's stated purpose (feat: add lean4 to nixpkgs packages). The change itself looks correct — keyd's * wildcard does not grab I2C HID consumer-control devices, so explicitly listing 32ac:0006 (Framework 13 AI 300 EC) is the right way to make the leftmeta/prog1/f13cmd_hyper remaps in [main] apply to the Framework key. But it would be easier to find this fix in git log if it lived in its own PR (or if PR #1754's title/description called it out).

# xremap creates its own virtual keyboard device via uinput. By default, xremap
# uses vendor/product 0x1234/0x5678 for that output device.
#
Expand Down
1 change: 1 addition & 0 deletions home-manager/packages/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ with pkgs;
jujutsu
just
k6
lean4
(if stdenv.isLinux && isDesktop then llama-cpp.override { vulkanSupport = true; } else llama-cpp)
llm
lsof
Expand Down
Loading