Commit graph

156 commits

Author SHA1 Message Date
Bryan Lai
454d8d95c6 zsh: allow configuring history 2025-11-13 14:54:56 +08:00
XYenon
54802bec7c fix: zsh-fast-syntax-highlighting path
https://github.com/NixOS/nixpkgs/pull/101007
2025-11-05 15:41:07 +08:00
Josh Tilles
89abe5ba46 Adapt to a vim pkg rename/replacement in Nixpkgs
Addresses an error like the following:
```sh-session
$ sudo darwin-rebuild --verbose --print-build-logs switch
building the system configuration...
fetching git input 'git+file:///private/etc/nix-darwin'
error:
       … while evaluating an expression to select 'drvPath' on it
         at «internal»:1:552:
       … while evaluating strict
         at «internal»:1:552:
       (stack trace truncated; use '--show-trace' to show the full trace)

       error: 'vim_configurable' has been renamed to/replaced by 'vim-full'
```

See <853d9f31ea>

Fixes nix-darwin/nix-darwin#1622
2025-11-04 17:31:53 -05:00
Elliot
6f24595362
fish: add shellAbbrs config
Co-authored-by: Sam <30577766+Samasaur1@users.noreply.github.com>
2025-08-14 14:56:43 +08:00
Michael Hoang
0d71cbf88d
programs/ssh: backport knownHosts changes (#1517) 2025-06-19 09:27:36 +00:00
Michael Hoang
82566dd254 programs/ssh: remove with lib; 2025-06-19 16:08:37 +07:00
Michael Hoang
a991859d1f nixos/ssh: undeprecate knownHosts.«name».hostNames
Backport e9f17a9f45

Co-authored-by: pennae <github@quasiparticle.net>
2025-06-19 16:08:09 +07:00
Michael Hoang
9d5b27bc93 modules/programs/ssh: knownHosts -> extraKnownHosts
Backport 8fa2e787f1

Co-authored-by: Taeer Bar-Yam <taeer@bar-yam.me>
2025-06-19 16:07:11 +07:00
Michael Hoang
2d257c09a1 programs.ssh.knownHosts: update example to be an attrset
Backport 4f11c06fac

Co-authored-by: Florian Klink <flokli@flokli.de>
2025-06-19 16:05:09 +07:00
Michael Hoang
04b04f4b9d programs/ssh: move to match path in NixOS 2025-06-19 10:45:32 +07:00
Sam
63c31af37a
etc: add known hashes for zprofile and zshrc in macOS 26 beta 1
This also includes versions of /etc/zshrc with both the official and
DeterminateSystems installers.
2025-06-11 01:43:35 -07:00
Sam
19346808c4
programs/direnv: fix silent option (#1491) 2025-06-06 07:19:53 +00:00
Duc Nghiem-Xuan
daf8e22831 programs/direnv: add finalPackage readonly option 2025-06-06 15:49:37 +09:00
Sam
9753a8706b
feat: add option programs.zsh.enableAutosuggestions (#1433) 2025-06-06 06:02:11 +00:00
Duc Nghiem-Xuan
fb27326bbc programs/direnv: fix silent option 2025-06-05 17:49:17 +09:00
Michael Hoang
7347f72507 programs/arqbackup: init module 2025-05-24 15:16:24 +10:00
Michael Hoang
f2753a4ca6 _1password{,-gui}: fix package not being used 2025-05-15 17:01:26 +10:00
Michael Hoang
c36b57f219 programs/_1password-gui: init module 2025-05-08 20:17:13 +10:00
Michael Hoang
24c2d2bab7 programs/_1password: init module 2025-05-08 20:16:50 +10:00
ed9w2in6
0e83fc6e76 feat: add option programs.zsh.enableAutosuggestions
We got enableSyntaxHighlighting, so why not enableAutosuggestions too?

Ref: #527
2025-05-01 23:31:51 +08:00
Michael Hoang
53a0c2fe6e
Merge pull request #1233 from adamcstephens/fish/package
fish: add package option
2024-12-29 10:04:09 +11:00
Xingquan Liu
daf9d9fe5d
fix(zsh): correct the path of zsh-fast-syntax-highlighting 2024-12-29 01:31:31 +08:00
Adam C. Stephens
2165857a24
fish: add package option 2024-12-27 23:47:55 -05:00
Jörg Thalheim
2c86af2e99 programs.ssh: add extraConfig option
Same interface as in NixOS. This is useful to apply configuration for remote builders.
2024-12-23 21:32:37 +01:00
Sam
5fbb7b7637
zsh: only run shell initialization in /etc/zshenv when RCs are enabled 2024-11-07 20:29:35 -08:00
Michael Hoang
98e7dba872
Merge pull request #909 from motheki/fast-syntax-highlighting-support
Add support for zsh-fast-syntax-highlighting
2024-11-06 07:31:39 +00:00
Trevor Opiyo
48e5c8de1a
Update modules/programs/zsh/default.nix
Changes added by Enzime

Co-authored-by: Michael Hoang <Enzime@users.noreply.github.com>
2024-11-06 01:10:24 -06:00
Trevor Opiyo
897fc37c47
Update default.nix
Co-authored-by: Michael Hoang <Enzime@users.noreply.github.com>
2024-11-05 08:16:35 -06:00
Emily
f203352cc0
Merge pull request #1135 from Enzime/push-lxwqqpssklyn
environment: remove misleading `environment.loginShell` option
2024-11-02 22:23:10 +00:00
Michael Hoang
63f4d40e55 tmux: remove programs.tmux.defaultCommand 2024-10-31 16:00:03 +11:00
Michael Hoang
470f87c182 zsh: enable by default as zsh is the default shell on macOS
Historically this was a footgun because users would not always have this
enabled leading to `darwin-rebuild` and other programs not being found.
2024-10-31 15:09:11 +11:00
isabel
c9fd4820d5
programs/bash: move to completion.*
a port of https://github.com/NixOS/nixpkgs/pull/291552 for darwin
2024-10-08 10:05:26 +01:00
Antoine Cotten
953d02ba59
{bash,zsh}: remove nix-shell early return in /etc/{bashrc,zshenv}
The condition does not match the comment, and therefore not the original
intention. It currently returns early in *any* type of Nix shell, not
just pure ones, including 'nix develop'.

Besides being unnecessary, this check prevents Nix shells from
functioning properly. For instance, it causes the initialization of the
Zsh fpath to be skipped, which is critical. The fact that the user is
unable to opt out of this behaviour makes this an ever bigger problem
since /etc/zshenv is being loaded unconditionally by Zsh.

For reference, NixOS does not perform such check, and apparently never
did.
2024-09-12 17:37:56 +00:00
Sebastian Reuße
6ad463a764
zsh: don't be noisy when scripts are run with -u
When a script specifies the shell option "nounset" as part of the
shebang (e.g., via "#!/usr/bin/env -S zsh -u"), our initialization
scripts would produce error messages of the form:

    __ETC_FOO_SOURCED: parameter not set

These messages could probably be confusing to users when running such
scripts. By providing a fall-back in the parameter expansion, we can
avoid them.

This patch does not address interactive shell start-up, where such
messages may (or may not) be less problematic.

NixOS/nixpkgs@7d84dbdf5b
2024-09-11 14:07:24 +02:00
Jörg Thalheim
7e6c548eef
zsh: let children shells set their fpath
Currently zshenv by default only sets fpath without exporting it. A
parent shell would also not set those variables usually as they are
shell local.

It also sources a file called set-environment but this is protected by
an environment variable called __NIX_DARWIN_SET_ENVIRONMENT_DONE. Hence
any modification done by the parent shell should persist as long as
__NIX_DARWIN_SET_ENVIRONMENT_DONE is not unset.

This behavior deviates from what we do in bashrc and breaks common
setups such as tmux/mosh or screen.

NixOS/nixpkgs@55819e6c86
2024-09-11 13:01:26 +02:00
Sebastian Reuße
15f64efcaf
zsh: prefer Nix completions these from Zsh package
Zsh ships some rudimentary completions for programs where upstream also
ships their own completions (e.g., curl). So as not to shadow those
completions, we need to prepend to the fpath instead of appending.

NixOS/nixpkgs@8dad5a2239
2024-09-10 21:40:11 +02:00
Jan Malakhovski
4d59f660bc
zsh: move fpath init from /etc/zshrc to /etc/zshenv
We want these to be set even when /etc/zshrc loading is disabled.

NixOS/nixpkgs@f70e3f3738
2024-09-10 21:35:35 +02:00
Ihar Hrachyshka
75d14c62cb gpg: Suppress stderr from gpg-connect-agent on shell init
In some scenarios, the command may fail, e.g. when the shell is executed
with a different $HOME from where gpg agent is configured to run from.

(E.g. this happens in kitty terminal test suite.)

This patch will suppress stderr errors on tty in this situation.

Note that zsh does not allow to suppress execution of /etc/zshenv on
startup, so it's impossible to skip it in the test suite environment.

An alternative would be to set IN_NIX_SHELL in the test suite, but this
was rejected in upstream:

https://github.com/kovidgoyal/kitty/pull/7800

There's also a kitty package specific fix posted here but this may be
unnecessary once nix-darwin is patched here:

https://github.com/NixOS/nixpkgs/pull/338070

Signed-off-by: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
2024-08-29 16:37:56 -04:00
Alice Carroll
d5dba1c6f5
refactor: rename environment.postBuild to environment.extraSetup 2024-08-17 02:50:56 +03:00
Jörg Thalheim
cf45edbf27 programs.ssh: add certificate authorities 2024-07-31 19:34:17 +02:00
zowoq
e88eb66c2b mapAttrsFlatten -> mapAttrsToList
deprecated in 473e469d5a
2024-07-27 13:37:28 +10:00
Emily
cf297a8d24
Merge pull request #976 from emilazy/openssh-use-links-for-authorized-keys
ssh: use symlinks for `authorizedKeys` options
2024-07-10 09:17:22 +01:00
Nikola Milojević
e00896468a
chore: remove mkpackageoptionmd deprecation 2024-07-01 16:24:41 +02:00
Emily
b833d4a32d ssh: use symlinks for authorizedKeys options
As explained in the changelog and activation check, the previous
implementation had a nasty security bug that made removing a user’s
authorized keys effectively a no‐op.
2024-06-15 12:15:13 +01:00
Trevor Opiyo
44c88484c4 add warning for enabling syntax highlighting and fast syntax highlighting 2024-05-29 12:24:11 -05:00
Trevor Opiyo
2839ef54aa Add support for zsh-fast-syntax-highlighting 2024-05-29 12:24:11 -05:00
Dominik Gleich
c8a8faedbc
Change zsh default prompt 2024-05-20 09:48:03 +02:00
Weijia Wang
def1e23be8 treewide: remove lib.mdDoc 2024-04-19 04:05:50 +02:00
Mathew Polzin
9090c6f897 nix-darwin/programs.direnv: init 2024-02-27 08:38:36 -06:00
Evan Petousis
f1a0d68a8f
etc: add known hash for /etc/zshenv and /etc/nix/nix.conf
Adds support for DeterminateSystems installer 0.16.0 and later. Fixes #880.
2024-02-23 18:45:24 +11:00