mirror of
https://github.com/nmasur/dotfiles
synced 2026-08-29 07:28:35 +00:00
fix(nix): resolve stdenv deprecation warnings and gemini-cli deprecation
This commit is contained in:
@@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
## 2026-08-25
|
## 2026-08-25
|
||||||
|
|
||||||
|
- Fixed Nix evaluation warnings for `stdenv` deprecation and `gemini-cli`:
|
||||||
|
- Replaced deprecated `stdenv.isLinux` and `stdenv.isDarwin` checks across module presets and package definitions with `stdenv.hostPlatform.isLinux` and `stdenv.hostPlatform.isDarwin`.
|
||||||
|
- Replaced deprecated `pkgs.gemini-cli` with `pkgs.antigravity-cli` (and updated binary invocation to `agy`) in `experimental.nix` profile and `daily-summary.nix` launchd service.
|
||||||
|
|
||||||
|
## 2026-08-25
|
||||||
|
|
||||||
- Fixed multi-second hang and permanent typing latency in Fish after exiting TUIs inside Zellij and Ghostty:
|
- Fixed multi-second hang and permanent typing latency in Fish after exiting TUIs inside Zellij and Ghostty:
|
||||||
- Exported `fish_features = "no-query-term"` in `home.sessionVariables` and added `set -gx fish_features no-query-term` to Fish's top-level `shellInit`. Previous attempt (`set -a fish_features no-query-term` in `interactiveShellInit`) set a local variable inside an anonymous initialization function block that went out of scope immediately after startup. Furthermore, Fish reads `fish_features` at binary launch before interactive init functions run. Without `no-query-term` exported prior to Fish startup, Fish attempted terminal feature queries (Primary Device Attributes `DA1` / `\e[?c` and termcap) whenever a TUI (e.g. Neovim, Lazygit, Yazi) exited and returned control to Fish. Zellij drops or delays DA1 response sequences, causing Fish to block on a multi-second stdin timeout, followed by severe input reader desynchronization and typing latency on every subsequent keystroke.
|
- Exported `fish_features = "no-query-term"` in `home.sessionVariables` and added `set -gx fish_features no-query-term` to Fish's top-level `shellInit`. Previous attempt (`set -a fish_features no-query-term` in `interactiveShellInit`) set a local variable inside an anonymous initialization function block that went out of scope immediately after startup. Furthermore, Fish reads `fish_features` at binary launch before interactive init functions run. Without `no-query-term` exported prior to Fish startup, Fish attempted terminal feature queries (Primary Device Attributes `DA1` / `\e[?c` and termcap) whenever a TUI (e.g. Neovim, Lazygit, Yazi) exited and returned control to Fish. Zellij drops or delays DA1 response sequences, causing Fish to block on a multi-second stdin timeout, followed by severe input reader desynchronization and typing latency on every subsequent keystroke.
|
||||||
- Disabled `programs.ghostty.enableFishIntegration` and conditionally sourced Ghostty's shell integration script in `shellInit` only when NOT running inside a multiplexer (`not set -q ZELLIJ` and `not set -q TMUX`). Sourcing Ghostty's shell integration inside Zellij sent duplicate and conflicting OSC 133 prompt markers and DECSCUSR cursor escape sequences to Zellij's PTY parser.
|
- Disabled `programs.ghostty.enableFishIntegration` and conditionally sourced Ghostty's shell integration script in `shellInit` only when NOT running inside a multiplexer (`not set -q ZELLIJ` and `not set -q TMUX`). Sourcing Ghostty's shell integration inside Zellij sent duplicate and conflicting OSC 133 prompt markers and DECSCUSR cursor escape sequences to Zellij's PTY parser.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Fix: Volnoti error: 'volnoti' has been removed due to lack of maintenance upstream.
|
# Fix: Volnoti error: 'volnoti' has been removed due to lack of maintenance upstream.
|
||||||
|
|
||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
if !pkgs.stdenv.isLinux then
|
if !pkgs.stdenv.hostPlatform.isLinux then
|
||||||
null
|
null
|
||||||
else
|
else
|
||||||
pkgs.stdenv.mkDerivation {
|
pkgs.stdenv.mkDerivation {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
dotnetCorePackages,
|
dotnetCorePackages,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
if !stdenv.isLinux then
|
if !stdenv.hostPlatform.isLinux then
|
||||||
null
|
null
|
||||||
else
|
else
|
||||||
buildDotnetModule rec {
|
buildDotnetModule rec {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
# Inspired by https://github.com/cleverca22/nix-tests/blob/master/kexec/justdoit.nix
|
# Inspired by https://github.com/cleverca22/nix-tests/blob/master/kexec/justdoit.nix
|
||||||
# This script will partition and format drives; use at your own risk!
|
# This script will partition and format drives; use at your own risk!
|
||||||
|
|
||||||
if !pkgs.stdenv.isLinux then
|
if !pkgs.stdenv.hostPlatform.isLinux then
|
||||||
null
|
null
|
||||||
else
|
else
|
||||||
pkgs.writeShellScriptBin "installer" ''
|
pkgs.writeShellScriptBin "installer" ''
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
pkgs.writeShellScriptBin "rebuild" ''
|
pkgs.writeShellScriptBin "rebuild" ''
|
||||||
echo ${pkgs.stdenv.hostPlatform.system}
|
echo ${pkgs.stdenv.hostPlatform.system}
|
||||||
SYSTEM=${if pkgs.stdenv.isDarwin then "darwin" else "linux"}
|
SYSTEM=${if pkgs.stdenv.hostPlatform.isDarwin then "darwin" else "linux"}
|
||||||
if [ "$SYSTEM" == "darwin" ]; then
|
if [ "$SYSTEM" == "darwin" ]; then
|
||||||
sudo darwin-rebuild switch --flake ${builtins.toString ../../../../.}
|
sudo darwin-rebuild switch --flake ${builtins.toString ../../../../.}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ in
|
|||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs._1password-cli
|
pkgs._1password-cli
|
||||||
]
|
]
|
||||||
++ (if pkgs.stdenv.isLinux then [ pkgs._1password-gui ] else [ ]);
|
++ (if pkgs.stdenv.hostPlatform.isLinux then [ pkgs._1password-gui ] else [ ]);
|
||||||
|
|
||||||
# # Firefox extension
|
# # Firefox extension
|
||||||
# programs.firefox.profiles.default.extensions.packages = [
|
# programs.firefox.profiles.default.extensions.packages = [
|
||||||
|
|||||||
@@ -203,13 +203,13 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Used for macOS
|
# Used for macOS
|
||||||
xdg.enable = lib.mkIf pkgs.stdenv.isDarwin true;
|
xdg.enable = lib.mkIf pkgs.stdenv.hostPlatform.isDarwin true;
|
||||||
|
|
||||||
xdg.desktopEntries.aerc = lib.mkIf (pkgs.stdenv.isLinux) {
|
xdg.desktopEntries.aerc = lib.mkIf (pkgs.stdenv.hostPlatform.isLinux) {
|
||||||
name = "aerc";
|
name = "aerc";
|
||||||
exec = "${lib.getExe config.nmasur.presets.services.i3.terminal} -e aerc %u";
|
exec = "${lib.getExe config.nmasur.presets.services.i3.terminal} -e aerc %u";
|
||||||
};
|
};
|
||||||
xsession.windowManager.i3.config.keybindings = lib.mkIf pkgs.stdenv.isLinux {
|
xsession.windowManager.i3.config.keybindings = lib.mkIf pkgs.stdenv.hostPlatform.isLinux {
|
||||||
"${config.xsession.windowManager.i3.config.modifier}+Shift+e" =
|
"${config.xsession.windowManager.i3.config.modifier}+Shift+e" =
|
||||||
let
|
let
|
||||||
terminal = config.nmasur.presets.services.i3.terminal;
|
terminal = config.nmasur.presets.services.i3.terminal;
|
||||||
|
|||||||
@@ -14,12 +14,12 @@ in
|
|||||||
options.nmasur.presets.programs.calibre.enable = lib.mkEnableOption "Calibre e-book manager";
|
options.nmasur.presets.programs.calibre.enable = lib.mkEnableOption "Calibre e-book manager";
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
home.packages = lib.mkIf pkgs.stdenv.isLinux [ pkgs.calibre ];
|
home.packages = lib.mkIf pkgs.stdenv.hostPlatform.isLinux [ pkgs.calibre ];
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
CALIBRE_USE_DARK_PALETTE = 1;
|
CALIBRE_USE_DARK_PALETTE = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
home.file.".Brewfile".text = lib.mkIf pkgs.stdenv.isDarwin /* homebrew */ ''
|
home.file.".Brewfile".text = lib.mkIf pkgs.stdenv.hostPlatform.isDarwin /* homebrew */ ''
|
||||||
cask "calibre" # Nix package broken on macOS
|
cask "calibre" # Nix package broken on macOS
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ in
|
|||||||
programs.chawan = {
|
programs.chawan = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
external.copy-cmd = if pkgs.stdenv.isLinux then "xclip -selection clipboard -in" else "pbcopy";
|
external.copy-cmd = if pkgs.stdenv.hostPlatform.isLinux then "xclip -selection clipboard -in" else "pbcopy";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.firefox;
|
package = pkgs.firefox;
|
||||||
# Use appropriate default path depending on the OS
|
# Use appropriate default path depending on the OS
|
||||||
configPath = if pkgs.stdenv.isDarwin then "Library/Application Support/Firefox" else ".mozilla/firefox";
|
configPath = if pkgs.stdenv.hostPlatform.isDarwin then "Library/Application Support/Firefox" else ".mozilla/firefox";
|
||||||
profiles.default = {
|
profiles.default = {
|
||||||
id = 0;
|
id = 0;
|
||||||
name = "default";
|
name = "default";
|
||||||
@@ -57,7 +57,7 @@ in
|
|||||||
"app.update.auto" = false;
|
"app.update.auto" = false;
|
||||||
"browser.aboutConfig.showWarning" = false;
|
"browser.aboutConfig.showWarning" = false;
|
||||||
"browser.warnOnQuit" = false;
|
"browser.warnOnQuit" = false;
|
||||||
"browser.quitShortcut.disabled" = if pkgs.stdenv.isLinux then true else false;
|
"browser.quitShortcut.disabled" = if pkgs.stdenv.hostPlatform.isLinux then true else false;
|
||||||
"browser.theme.dark-private-windows" = true;
|
"browser.theme.dark-private-windows" = true;
|
||||||
"browser.toolbars.bookmarks.visibility" = false;
|
"browser.toolbars.bookmarks.visibility" = false;
|
||||||
"browser.startup.page" = 3; # Restore previous session
|
"browser.startup.page" = 3; # Restore previous session
|
||||||
@@ -189,7 +189,7 @@ in
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
xsession.windowManager.i3.config.keybindings = lib.mkIf pkgs.stdenv.isLinux {
|
xsession.windowManager.i3.config.keybindings = lib.mkIf pkgs.stdenv.hostPlatform.isLinux {
|
||||||
"${config.xsession.windowManager.i3.config.modifier}+Shift+b" = "exec ${
|
"${config.xsession.windowManager.i3.config.modifier}+Shift+b" = "exec ${
|
||||||
# Don't name the script `firefox` or it will affect grep
|
# Don't name the script `firefox` or it will affect grep
|
||||||
toString (
|
toString (
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ in
|
|||||||
programs.ghostty = {
|
programs.ghostty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
package = if pkgs.stdenv.isDarwin then pkgs.ghostty-bin else pkgs.ghostty;
|
package = if pkgs.stdenv.hostPlatform.isDarwin then pkgs.ghostty-bin else pkgs.ghostty;
|
||||||
|
|
||||||
enableFishIntegration = false; # Handled conditionally below to avoid conflicts inside Zellij/TMUX
|
enableFishIntegration = false; # Handled conditionally below to avoid conflicts inside Zellij/TMUX
|
||||||
enableBashIntegration = true;
|
enableBashIntegration = true;
|
||||||
@@ -33,8 +33,8 @@ in
|
|||||||
macos-titlebar-style = "hidden";
|
macos-titlebar-style = "hidden";
|
||||||
window-decoration = false;
|
window-decoration = false;
|
||||||
macos-non-native-fullscreen = true;
|
macos-non-native-fullscreen = true;
|
||||||
quit-after-last-window-closed = lib.mkIf pkgs.stdenv.isDarwin true;
|
quit-after-last-window-closed = lib.mkIf pkgs.stdenv.hostPlatform.isDarwin true;
|
||||||
fullscreen = if pkgs.stdenv.isDarwin then true else false;
|
fullscreen = if pkgs.stdenv.hostPlatform.isDarwin then true else false;
|
||||||
keybind = [
|
keybind = [
|
||||||
"super+t=unbind" # Pass super-t to underlying tool (e.g. zellij tabs)
|
"super+t=unbind" # Pass super-t to underlying tool (e.g. zellij tabs)
|
||||||
"super+shift+]=unbind"
|
"super+shift+]=unbind"
|
||||||
|
|||||||
@@ -723,7 +723,7 @@ in
|
|||||||
# Create a desktop option for launching Helix from a file manager
|
# Create a desktop option for launching Helix from a file manager
|
||||||
# (Requires launching the terminal and then executing Helix)
|
# (Requires launching the terminal and then executing Helix)
|
||||||
xdg.desktopEntries.helix =
|
xdg.desktopEntries.helix =
|
||||||
lib.mkIf (pkgs.stdenv.isLinux && config.nmasur.presets.services.i3.enable)
|
lib.mkIf (pkgs.stdenv.hostPlatform.isLinux && config.nmasur.presets.services.i3.enable)
|
||||||
{
|
{
|
||||||
name = "Helix wrapper";
|
name = "Helix wrapper";
|
||||||
exec = ''sh -c "${lib.getExe config.nmasur.presets.services.i3.terminal} --command='hx \$1'" _ %F ''; # TODO: change to work for any terminal
|
exec = ''sh -c "${lib.getExe config.nmasur.presets.services.i3.terminal} --command='hx \$1'" _ %F ''; # TODO: change to work for any terminal
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ in
|
|||||||
nmasur.presets.services.i3.terminal = pkgs.kitty;
|
nmasur.presets.services.i3.terminal = pkgs.kitty;
|
||||||
|
|
||||||
# Set the Rofi terminal for running programs
|
# Set the Rofi terminal for running programs
|
||||||
programs.rofi.terminal = lib.mkIf pkgs.stdenv.isLinux (lib.mkDefault "${pkgs.kitty}/bin/kitty");
|
programs.rofi.terminal = lib.mkIf pkgs.stdenv.hostPlatform.isLinux (lib.mkDefault "${pkgs.kitty}/bin/kitty");
|
||||||
|
|
||||||
# Display images in the terminal
|
# Display images in the terminal
|
||||||
programs.fish.interactiveShellInit = # fish
|
programs.fish.interactiveShellInit = # fish
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ in
|
|||||||
# Create a desktop option for launching Neovim from a file manager
|
# Create a desktop option for launching Neovim from a file manager
|
||||||
# (Requires launching the terminal and then executing Neovim)
|
# (Requires launching the terminal and then executing Neovim)
|
||||||
xdg.desktopEntries.nvim =
|
xdg.desktopEntries.nvim =
|
||||||
lib.mkIf (pkgs.stdenv.isLinux && config.nmasur.presets.services.i3.enable)
|
lib.mkIf (pkgs.stdenv.hostPlatform.isLinux && config.nmasur.presets.services.i3.enable)
|
||||||
{
|
{
|
||||||
name = "Neovim wrapper";
|
name = "Neovim wrapper";
|
||||||
exec = ''${lib.getExe config.nmasur.presets.services.i3.terminal} --command="nvim %F"''; # TODO: change to generic
|
exec = ''${lib.getExe config.nmasur.presets.services.i3.terminal} --command="nvim %F"''; # TODO: change to generic
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ in
|
|||||||
description = "Nixpkgs tools for macOS";
|
description = "Nixpkgs tools for macOS";
|
||||||
default =
|
default =
|
||||||
config.nmasur.presets.programs.nixpkgs.enable
|
config.nmasur.presets.programs.nixpkgs.enable
|
||||||
&& pkgs.stdenv.isDarwin
|
&& pkgs.stdenv.hostPlatform.isDarwin
|
||||||
&& config.nmasur.presets.programs.dotfiles.enable;
|
&& config.nmasur.presets.programs.dotfiles.enable;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ in
|
|||||||
|
|
||||||
options.nmasur.presets.programs.noti.enable = lib.mkEnableOption "Noti CLI notifications";
|
options.nmasur.presets.programs.noti.enable = lib.mkEnableOption "Noti CLI notifications";
|
||||||
|
|
||||||
config = lib.mkIf (cfg.enable && (pkgs.stdenv.isDarwin || config.services.dunst.enable)) {
|
config = lib.mkIf (cfg.enable && (pkgs.stdenv.hostPlatform.isDarwin || config.services.dunst.enable)) {
|
||||||
home.packages = [ pkgs.noti ];
|
home.packages = [ pkgs.noti ];
|
||||||
programs.fish = {
|
programs.fish = {
|
||||||
shellAbbrs = {
|
shellAbbrs = {
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ in
|
|||||||
};
|
};
|
||||||
cmd_duration = {
|
cmd_duration = {
|
||||||
min_time = 5001;
|
min_time = 5001;
|
||||||
show_notifications = if pkgs.stdenv.isLinux then false else true;
|
show_notifications = if pkgs.stdenv.hostPlatform.isLinux then false else true;
|
||||||
min_time_to_notify = 30000;
|
min_time_to_notify = 30000;
|
||||||
format = "[$duration]($style) ";
|
format = "[$duration]($style) ";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ in
|
|||||||
}
|
}
|
||||||
|
|
||||||
config.font = wezterm.font('${cfg.font}', { weight = 'Bold'})
|
config.font = wezterm.font('${cfg.font}', { weight = 'Bold'})
|
||||||
config.font_size = ${if pkgs.stdenv.isLinux then "14.0" else "18.0"}
|
config.font_size = ${if pkgs.stdenv.hostPlatform.isLinux then "14.0" else "18.0"}
|
||||||
|
|
||||||
-- Fix color blocks instead of text
|
-- Fix color blocks instead of text
|
||||||
config.front_end = "WebGpu"
|
config.front_end = "WebGpu"
|
||||||
@@ -114,7 +114,7 @@ in
|
|||||||
config.hide_tab_bar_if_only_one_tab = true
|
config.hide_tab_bar_if_only_one_tab = true
|
||||||
config.window_frame = {
|
config.window_frame = {
|
||||||
font = wezterm.font('${cfg.font}', { weight = 'Bold'}),
|
font = wezterm.font('${cfg.font}', { weight = 'Bold'}),
|
||||||
font_size = ${if pkgs.stdenv.isLinux then "12.0" else "16.0"},
|
font_size = ${if pkgs.stdenv.hostPlatform.isLinux then "12.0" else "16.0"},
|
||||||
}
|
}
|
||||||
|
|
||||||
config.colors = {
|
config.colors = {
|
||||||
@@ -191,7 +191,7 @@ in
|
|||||||
-- super-t open new tab in new dir
|
-- super-t open new tab in new dir
|
||||||
{
|
{
|
||||||
key = 't',
|
key = 't',
|
||||||
mods = ${if pkgs.stdenv.isDarwin then "'SUPER'" else "'ALT'"},
|
mods = ${if pkgs.stdenv.hostPlatform.isDarwin then "'SUPER'" else "'ALT'"},
|
||||||
action = wezterm.action.SpawnCommandInNewTab {
|
action = wezterm.action.SpawnCommandInNewTab {
|
||||||
cwd = wezterm.home_dir,
|
cwd = wezterm.home_dir,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -140,17 +140,17 @@ in
|
|||||||
show_startup_tips = false;
|
show_startup_tips = false;
|
||||||
|
|
||||||
keybinds = {
|
keybinds = {
|
||||||
locked = lib.mkIf (pkgs.stdenv.isLinux && !config.programs.ghostty.enable) {
|
locked = lib.mkIf (pkgs.stdenv.hostPlatform.isLinux && !config.programs.ghostty.enable) {
|
||||||
# For servers that I SSH into, use c-a-G to unlock
|
# For servers that I SSH into, use c-a-G to unlock
|
||||||
"bind \"Ctrl Alt G\"" = lib.mkIf (pkgs.stdenv.isLinux && !config.programs.ghostty.enable) {
|
"bind \"Ctrl Alt G\"" = lib.mkIf (pkgs.stdenv.hostPlatform.isLinux && !config.programs.ghostty.enable) {
|
||||||
SwitchToMode = {
|
SwitchToMode = {
|
||||||
_args = [ "normal" ];
|
_args = [ "normal" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
normal = lib.mkIf (pkgs.stdenv.isLinux && !config.programs.ghostty.enable) {
|
normal = lib.mkIf (pkgs.stdenv.hostPlatform.isLinux && !config.programs.ghostty.enable) {
|
||||||
# For servers that I SSH into, use c-a-G to lock
|
# For servers that I SSH into, use c-a-G to lock
|
||||||
"bind \"Ctrl Alt G\"" = lib.mkIf (pkgs.stdenv.isLinux && !config.programs.ghostty.enable) {
|
"bind \"Ctrl Alt G\"" = lib.mkIf (pkgs.stdenv.hostPlatform.isLinux && !config.programs.ghostty.enable) {
|
||||||
SwitchToMode = {
|
SwitchToMode = {
|
||||||
_args = [ "locked" ];
|
_args = [ "locked" ];
|
||||||
};
|
};
|
||||||
@@ -180,7 +180,7 @@ in
|
|||||||
"bind \"Alt Shift s\"" = {
|
"bind \"Alt Shift s\"" = {
|
||||||
Run = {
|
Run = {
|
||||||
_args =
|
_args =
|
||||||
if pkgs.stdenv.isDarwin then
|
if pkgs.stdenv.hostPlatform.isDarwin then
|
||||||
[
|
[
|
||||||
# "env"
|
# "env"
|
||||||
# "PATH=/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/usr/bin:/bin"
|
# "PATH=/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/usr/bin:/bin"
|
||||||
@@ -254,7 +254,7 @@ in
|
|||||||
"bind \"Alt Shift j\"" = {
|
"bind \"Alt Shift j\"" = {
|
||||||
Run = {
|
Run = {
|
||||||
_args =
|
_args =
|
||||||
if pkgs.stdenv.isDarwin then
|
if pkgs.stdenv.hostPlatform.isDarwin then
|
||||||
[
|
[
|
||||||
"env"
|
"env"
|
||||||
"PATH=${config.home.homeDirectory}/.nix-profile/bin:/etc/profiles/per-user/${username}/bin:/usr/bin"
|
"PATH=${config.home.homeDirectory}/.nix-profile/bin:/etc/profiles/per-user/${username}/bin:/usr/bin"
|
||||||
@@ -295,24 +295,24 @@ in
|
|||||||
"bind \"Ctrl Shift Tab\"" = {
|
"bind \"Ctrl Shift Tab\"" = {
|
||||||
GoToPreviousTab = { };
|
GoToPreviousTab = { };
|
||||||
};
|
};
|
||||||
"bind \"Super t\"" = lib.mkIf pkgs.stdenv.isDarwin {
|
"bind \"Super t\"" = lib.mkIf pkgs.stdenv.hostPlatform.isDarwin {
|
||||||
NewTab = { };
|
NewTab = { };
|
||||||
};
|
};
|
||||||
"bind \"Alt t\"" = lib.mkIf pkgs.stdenv.isLinux {
|
"bind \"Alt t\"" = lib.mkIf pkgs.stdenv.hostPlatform.isLinux {
|
||||||
NewTab = { };
|
NewTab = { };
|
||||||
};
|
};
|
||||||
"bind \"Super k\"" = lib.mkIf pkgs.stdenv.isDarwin {
|
"bind \"Super k\"" = lib.mkIf pkgs.stdenv.hostPlatform.isDarwin {
|
||||||
SwitchToMode = {
|
SwitchToMode = {
|
||||||
_args = [ "scroll" ];
|
_args = [ "scroll" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"bind \"Super Shift e\"" = lib.mkIf pkgs.stdenv.isDarwin {
|
"bind \"Super Shift e\"" = lib.mkIf pkgs.stdenv.hostPlatform.isDarwin {
|
||||||
EditScrollback = { };
|
EditScrollback = { };
|
||||||
SwitchToMode = {
|
SwitchToMode = {
|
||||||
_args = [ "locked" ];
|
_args = [ "locked" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"bind \"Alt Shift e\"" = lib.mkIf pkgs.stdenv.isLinux {
|
"bind \"Alt Shift e\"" = lib.mkIf pkgs.stdenv.hostPlatform.isLinux {
|
||||||
EditScrollback = { };
|
EditScrollback = { };
|
||||||
SwitchToMode = {
|
SwitchToMode = {
|
||||||
_args = [ "locked" ];
|
_args = [ "locked" ];
|
||||||
|
|||||||
@@ -43,14 +43,14 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Automatically check for mail and keep files synced locally
|
# Automatically check for mail and keep files synced locally
|
||||||
services.mbsync = lib.mkIf pkgs.stdenv.isLinux {
|
services.mbsync = lib.mkIf pkgs.stdenv.hostPlatform.isLinux {
|
||||||
enable = true;
|
enable = true;
|
||||||
frequency = "*:0/5";
|
frequency = "*:0/5";
|
||||||
postExec = "${lib.getExe pkgs.notmuch} new";
|
postExec = "${lib.getExe pkgs.notmuch} new";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Used to watch for new mail and trigger sync
|
# Used to watch for new mail and trigger sync
|
||||||
services.imapnotify.enable = pkgs.stdenv.isLinux;
|
services.imapnotify.enable = pkgs.stdenv.hostPlatform.isLinux;
|
||||||
|
|
||||||
# Allows sending email from CLI/sendmail
|
# Allows sending email from CLI/sendmail
|
||||||
programs.msmtp.enable = true;
|
programs.msmtp.enable = true;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ in
|
|||||||
|
|
||||||
home.username = config.nmasur.settings.username;
|
home.username = config.nmasur.settings.username;
|
||||||
home.homeDirectory =
|
home.homeDirectory =
|
||||||
if pkgs.stdenv.isDarwin then "/Users/${config.home.username}" else "/home/${config.home.username}";
|
if pkgs.stdenv.hostPlatform.isDarwin then "/Users/${config.home.username}" else "/home/${config.home.username}";
|
||||||
|
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs.dig # DNS lookup
|
pkgs.dig # DNS lookup
|
||||||
|
|||||||
@@ -40,7 +40,6 @@ in
|
|||||||
|
|
||||||
# LLM
|
# LLM
|
||||||
|
|
||||||
pkgs.gemini-cli # AI LLM Agent
|
|
||||||
pkgs.antigravity-cli # AI LLM Agent
|
pkgs.antigravity-cli # AI LLM Agent
|
||||||
pkgs.pi-coding-agent # AI LLM Agent
|
pkgs.pi-coding-agent # AI LLM Agent
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -29,10 +29,10 @@ in
|
|||||||
# This replaces program and args entirely
|
# This replaces program and args entirely
|
||||||
# script = ''
|
# script = ''
|
||||||
# ${process_urls}/bin/process-urls /Users/${username}/Downloads/Sidebery/
|
# ${process_urls}/bin/process-urls /Users/${username}/Downloads/Sidebery/
|
||||||
# GEMINI_API_KEY=$(cat /Users/${username}/.config/gemini/.gemini_api_key) ${pkgs.gemini-cli}/bin/gemini --allowed-tools all --yolo --include-directories /Users/${username}/Downloads/Sidebery/ --include-directories /Users/${username}/dev/personal/notes/ "${prompt}"
|
# GEMINI_API_KEY=$(cat /Users/${username}/.config/gemini/.gemini_api_key) ${pkgs.antigravity-cli}/bin/agy --allowed-tools all --yolo --include-directories /Users/${username}/Downloads/Sidebery/ --include-directories /Users/${username}/dev/personal/notes/ "${prompt}"
|
||||||
# '';
|
# '';
|
||||||
script = ''
|
script = ''
|
||||||
GEMINI_API_KEY=$(cat /Users/${username}/.config/gemini/.gemini_api_key) ${pkgs.gemini-cli}/bin/gemini --allowed-tools all --yolo --include-directories "/Users/${username}/Downloads/firefox-history/,/Users/${username}/dev/personal/notes/" "${prompt} | tee -a /Users/${username}/dev/personal/gemini-archive/daily-summary-logs/$(date +"%Y-%m-%d").log"
|
GEMINI_API_KEY=$(cat /Users/${username}/.config/gemini/.gemini_api_key) ${pkgs.antigravity-cli}/bin/agy --allowed-tools all --yolo --include-directories "/Users/${username}/Downloads/firefox-history/,/Users/${username}/dev/personal/notes/" "${prompt} | tee -a /Users/${username}/dev/personal/gemini-archive/daily-summary-logs/$(date +"%Y-%m-%d").log"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
path = [
|
path = [
|
||||||
|
|||||||
Reference in New Issue
Block a user