<feed xmlns='http://www.w3.org/2005/Atom'>
<title>atuin/crates/atuin-dotfiles/src, branch main</title>
<subtitle>Turtle. A hard-fork of atuin, focusing on a more minimal feature set</subtitle>
<id>http://git.foss-syndicate.org/bpeetz/forks/atuin/atom/crates/atuin-dotfiles/src?h=main</id>
<link rel='self' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/atom/crates/atuin-dotfiles/src?h=main'/>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/'/>
<updated>2026-06-10T20:01:45Z</updated>
<entry>
<title>chore: Remove some unused rust code</title>
<updated>2026-06-10T20:01:45Z</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2026-06-10T20:01:45Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=5e31a81cd2207f053b8cd8ad84ebe2a2f691b29d'/>
<id>urn:sha1:5e31a81cd2207f053b8cd8ad84ebe2a2f691b29d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat Add PowerShell support (#2543)</title>
<updated>2025-10-23T20:03:39Z</updated>
<author>
<name>Lucas Trzesniewski</name>
<email>lucas.trzesniewski@gmail.com</email>
</author>
<published>2025-10-23T20:03:39Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=592df559da03d6b50260f9d75f194fa4ccf1ea67'/>
<id>urn:sha1:592df559da03d6b50260f9d75f194fa4ccf1ea67</id>
<content type='text'>
This adds PowerShell support 🎉 

I built this script around @lzybkr's
[prototype](https://github.com/atuinsh/atuin/issues/84#issuecomment-1689168533),
so I added him as co-author (I hope that's ok). I wouldn't know where to
start without his contribution.

I'm not a PowerShell expert, so this was a nice opportunity to learn
some stuff. I think it's ok, but I would appreciate if someone more
knowledgeable in the matter could review this though.

It would be nice if other PowerShell users could test this with their
configs and report any issues. I wouldn't be surprised if there are some
remaining bugs or missing features.

Fixes #84

## Installation

If you'd like to test this, you can install the `atuin` from this PR by
running:

```powershell
cargo install --git https://github.com/ltrzesniewski/atuin.git --branch powershell-pr
```

Then, add the following to your PowerShell profile file (whose path is
in `$PROFILE`) and restart the shell:

```powershell
atuin init powershell | Out-String | Invoke-Expression
```

This requires `atuin` to be in the path and the
[PSReadLine](https://github.com/PowerShell/PSReadLine) module to be
installed, which is the case by default.

## Tests

I tested this on the following:
- PowerShell 7.4.6 / PSReadLine 2.3.5 / Windows (the latest one)
- PowerShell 7.5.1 / PSReadLine 2.3.6 / Windows (the latest one)
- PowerShell 5.1.22621.4391 / PSReadLine 2.0.0 / Windows (the one
shipped with Windows)
- PowerShell 7.4.6 / PSReadLine 2.3.5 / Ubuntu WSL (strangely, it didn't
behave exactly like the Windows version)
- PowerShell 7.5.1 / PSReadLine 2.3.6 / Ubuntu WSL

I also tested this with and without my custom [Oh My
Posh](https://ohmyposh.dev/) prompt. It works fine in both cases,
~except that since my OMP config contains `"newline": true`, my prompt
is multiline and shifts downwards by a single line on each `atuin search
-i` invocation. This can be adjusted with the
`$env:ATUIN_POWERSHELL_PROMPT_OFFSET` environment variable (e.g. I set
mine to `-1` to account for the additional prompt line).~ (this variable
is now auto-initialized).

## Checks
- [x] I am happy for maintainers to push small adjustments to this PR,
to speed up the review cycle
- [x] I have checked that there are no existing pull requests for the
same thing

---------

Co-authored-by: Jason Shirk &lt;jasonsh@microsoft.com&gt;</content>
</entry>
<entry>
<title>fix(dotfiles): properly escape spaces/quotes in vars</title>
<updated>2025-09-26T06:49:42Z</updated>
<author>
<name>Braxton Schafer</name>
<email>braxton@cmdcentral.xyz</email>
</author>
<published>2025-09-26T06:49:42Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=9b151b82e6dd5f2ede3cb25aff848f2b43b870d0'/>
<id>urn:sha1:9b151b82e6dd5f2ede3cb25aff848f2b43b870d0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: update to rust 1.88 (#2815)</title>
<updated>2025-07-22T14:03:20Z</updated>
<author>
<name>Ellie Huxtable</name>
<email>ellie@atuin.sh</email>
</author>
<published>2025-07-22T14:03:20Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=e7819d258a29eeec0e9255a961fee3b44735afab'/>
<id>urn:sha1:e7819d258a29eeec0e9255a961fee3b44735afab</id>
<content type='text'>
* chore: update to rust 1.88

* clippy + fmt

* update ci version

* update flake</content>
</entry>
<entry>
<title>fix: add redundant clones to clippy and cleanup instances of it (#2654)</title>
<updated>2025-04-01T14:47:25Z</updated>
<author>
<name>Frank Hamand</name>
<email>frankhamand@gmail.com</email>
</author>
<published>2025-04-01T14:47:25Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=06edab617ac498511d8feed96516cbd835c8e40d'/>
<id>urn:sha1:06edab617ac498511d8feed96516cbd835c8e40d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore: migrate to rust 2024 (#2635)</title>
<updated>2025-03-19T12:44:20Z</updated>
<author>
<name>Ellie Huxtable</name>
<email>ellie@atuin.sh</email>
</author>
<published>2025-03-19T12:44:20Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=14ec768b4520d4fc34dbf24e663ea7db940c18b7'/>
<id>urn:sha1:14ec768b4520d4fc34dbf24e663ea7db940c18b7</id>
<content type='text'>
* chore: upgrade to 2024 edition

* ugh unsafe

* format

* nixxxxxxxxxxx why</content>
</entry>
<entry>
<title>test: add env ATUIN_TEST_LOCAL_TIMEOUT to control test timeout of SQLite (#2337)</title>
<updated>2024-08-05T13:22:40Z</updated>
<author>
<name>Jax Young</name>
<email>jaxvanyang@gmail.com</email>
</author>
<published>2024-08-05T13:22:40Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=90e7d28173ae281ba8c4e396c98da9b093b3bb42'/>
<id>urn:sha1:90e7d28173ae281ba8c4e396c98da9b093b3bb42</id>
<content type='text'>
* test: add env ATUIN_TEST_LOCAL_TIMEOUT to control test timeout of SQLite

This make it possible to control the timeout of SQLite operations in
test. And ATUIN_TEST_LOCAL_TIMEOUT defaults to the default local_timeout,
which is actually used in the client. Instead of a small timeout (0.1),
this change makes the test less likely to fail and better imitate the
default behavior.

SQLite operation timeout was first introduced from #1590, including
connection and store timeout. The env ATUIN_TEST_SQLITE_STORE_TIMEOUT
which added by #1703 only specify the store timeout. This commit doesn't
deprecate ATUIN_TEST_SQLITE_STORE_TIMEOUT, but control it by setting its
default to the new env ATUIN_TEST_LOCAL_TIMEOUT.

* test!: replace ATUIN_TEST_SQLITE_STORE_TIMEOUT with ATUIN_TEST_LOCAL_TIMEOUT

This deprecate ATUIN_TEST_SQLITE_STORE_TIMEOUT for simplicity as the new
env ATUIN_TEST_LOCAL_TIMEOUT can control both connection and store
timeout of SQLite in test. Details see 4d88611.

Revert: #1703.</content>
</entry>
<entry>
<title>fix(dotfiles): allow clearing aliases, disable import (#1995)</title>
<updated>2024-05-02T15:53:38Z</updated>
<author>
<name>Ellie Huxtable</name>
<email>ellie@elliehuxtable.com</email>
</author>
<published>2024-05-02T15:53:38Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=0639ff49604a44b3c487110860f511ac9b426e60'/>
<id>urn:sha1:0639ff49604a44b3c487110860f511ac9b426e60</id>
<content type='text'>
* fix(dotfiles): allow clearing aliases, disable import

At the moment there are far too many edge cases to handle importing
aliases.

1. We need an interactive shell to print aliases. Without it, most
   shells won't report much.
2. Many people have their shells print things on startup (graphics,
   fortunes, etc). This could be detected as an attempt to set an alias.

 Rather than spend the next year finding import edge cases, I'm
 disabling it for now. There's probably a better way we can do this?

* clippy</content>
</entry>
<entry>
<title>feat(dotfiles): support syncing shell/env vars (#1977)</title>
<updated>2024-04-25T06:52:23Z</updated>
<author>
<name>Ellie Huxtable</name>
<email>ellie@elliehuxtable.com</email>
</author>
<published>2024-04-25T06:52:23Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=d020c815c121f7f28cfcf1419f94109851fdc422'/>
<id>urn:sha1:d020c815c121f7f28cfcf1419f94109851fdc422</id>
<content type='text'>
There's a bunch of duplication here!

I'd also like to support syncing shell "snippets", aka just bits of
shell config that don't fit into the structure here. Potentially special
handling for PATH too.

Rather than come up with some abstraction in the beginning, which
inevitably will not fit future uses, I'm duplicating code _for now_.

Once all the functionality is there, I can tidy things up and sort a
proper abstraction out.

Something in atuin-client for map/list style synced structures would
probably work best.</content>
</entry>
<entry>
<title>fix(dotfiles): unquote aliases before quoting (#1976)</title>
<updated>2024-04-23T13:45:07Z</updated>
<author>
<name>Ellie Huxtable</name>
<email>ellie@elliehuxtable.com</email>
</author>
<published>2024-04-23T13:45:07Z</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/forks/atuin/commit/?id=bf88b42cec26ee2912c5e25eaadd5764b3a480f0'/>
<id>urn:sha1:bf88b42cec26ee2912c5e25eaadd5764b3a480f0</id>
<content type='text'>
* fix(dotfiles): unquote aliases before quoting

* tests</content>
</entry>
</feed>
