Now that you mentioned Ctrl+R, also check out program named atuin. It makes the command search a bit more friendly, and you can also optionally sync command history. It has NixOS options, of course.
IDK why the Atuin config file that got generated is commented out in it’s entirety and nothing works. Right now I can’t be bothered to go trough the entire config and enable things one by one. From what I’ve tried nothing works and IDK why. CTRL+R does not invoke the Atuin search it still invokes the old one. I uncommented everything and still nothing seems to work. The atuin definitely responds to my commands in terminal though. I did run atuin setup as well.
edit:
OK, I’ve spent another 30min+ on this and I still can’t understand why it does not work. I’ve adjusted config, even got a custom config from other users and I can’t seem to be able to invoke it in the terminal besides using it’s commands which are the only thing that seem to work. I was able to make an account and login via terminal as well.
edit2:
Figured it out! I’ve tried mcfly and encountered the same issue. Turns out I needed to edit .bashrc which is read only even for sudo and even after chmod. So after beating my head against a wall I’ve realized that .bashrc is symlinked to my home.nix and that’s where I need to place my edits. So now mcfly runs fine and I’m assuming Atuin would as well since after looking at github I pretty much had to do the same edit for both.
You don’t need to add mcfly bash integration to your .bashrc manually. Remove it from home.packages and instead enable the home-manager module with programs.mcfly.enable = true;. That’s all you need to do, it has a enableBashIntegration setting that’s true by default. Same for atuin, programs.atuin.enable = true; is enough.
It’s an habit you have to learn when switching to nix, check first if there is a module for the program you want to install before resorting to home.packages or environment.systemPackages.
Now that you mentioned Ctrl+R, also check out program named atuin. It makes the command search a bit more friendly, and you can also optionally sync command history. It has NixOS options, of course.
IDK why the Atuin config file that got generated is commented out in it’s entirety and nothing works. Right now I can’t be bothered to go trough the entire config and enable things one by one. From what I’ve tried nothing works and IDK why. CTRL+R does not invoke the Atuin search it still invokes the old one. I uncommented everything and still nothing seems to work. The atuin definitely responds to my commands in terminal though. I did run
atuin setupas well.edit: OK, I’ve spent another 30min+ on this and I still can’t understand why it does not work. I’ve adjusted config, even got a custom config from other users and I can’t seem to be able to invoke it in the terminal besides using it’s commands which are the only thing that seem to work. I was able to make an account and login via terminal as well.
edit2: Figured it out! I’ve tried
mcflyand encountered the same issue. Turns out I needed to edit.bashrcwhich is read only even for sudo and even after chmod. So after beating my head against a wall I’ve realized that.bashrcis symlinked to myhome.nixand that’s where I need to place my edits. So nowmcflyruns fine and I’m assuming Atuin would as well since after looking at github I pretty much had to do the same edit for both.You don’t need to add mcfly bash integration to your
.bashrcmanually. Remove it fromhome.packagesand instead enable the home-manager module withprograms.mcfly.enable = true;. That’s all you need to do, it has aenableBashIntegrationsetting that’s true by default. Same for atuin,programs.atuin.enable = true;is enough.It’s an habit you have to learn when switching to nix, check first if there is a module for the program you want to install before resorting to
home.packagesorenvironment.systemPackages.