uthredii

joined 2 years ago
MODERATOR OF
[–] uthredii@programming.dev 4 points 1 year ago

yep, I mean a GUI based software centre

[–] uthredii@programming.dev 7 points 1 year ago* (last edited 1 year ago) (5 children)

NixOS:

  • Largest and most up to date package repository (no need for flatpack/appimage/snap ect)
  • Reproducible
  • Declarative
  • Rollbacks you can select at boot time
  • No dependency conflicts

I think it will easily be the number 1 distro if/when they can :

  • the steep learning curve (e.g. have a gui installer EDIT: As in a GUI software centre)
  • documentation
  • have more tools use nixos and have nixos in mind (e.g. there are a couple of tools that didn't work for me because of specific C libraries not beeing present/configured on nixos that are present on other distros. some libraries implicitly expect these to be present).
[–] uthredii@programming.dev 9 points 1 year ago* (last edited 1 year ago)

One thing I haven't seen mentioned is that not moving between mouse and keyboard so much reduces the risk of getting an RSI. So even if it didn't make you faster it would still probably be worth it to find a keyboard based workflow.

I use Helix and would suggest you try it (at least to start off with) as it is easier to learn than vim and does not require plugins or a complex config. To answer your question I will go from the less to more advanced/complex:

  1. Move a line to a new position in the file/another file (takes a couple of seconds)
    1. x then d to select a line (pressing N times will select N lines) and delete it (delete will also copy to the clipboard)
    2. navigate the cursor to the new location
    3. p to paste in a new
  2. Navigating around a file:
    1. jumping to a function/class definition by pressing g then d when on a function/class usage.
    2. getting a list and navigating to class/function calls when the cursor is on a class/function definition by pressing g then r.
  3. Multi cursor editing - I use this to make edits to multiple places at once. I most recently used this to extract the names of 30 tables that are used in a SQL file. This probably took ~5 seconds and I barely thought about it. To do this I used:
    1. % to select the entire files contents
    2. s to search
    3. typed "FROM "
    4. pressed enter to create cursor at all locations matching the search
    5. v then g then l to select the rest of the line
    6. space+y to copy to the system clipboard.
    7. paste into a document where I needed to list the tables
  4. Using a terminal workspace manager (zellij) with helix and a git tui app (gitui) so that I can easily make code changes, commit, push, ,run tests, move to a new repo and more without leaving the keyboard.

There is actually a helix community on programming.dev: helix@programming.dev

[–] uthredii@programming.dev 7 points 1 year ago (1 children)

How often do you run nixos-rebuild --switch?

If you don't run it regularly then you will likely be waiting for a few different packages to get updates. To fix this you can configure auto upgrades:https://nixos.wiki/wiki/Automatic_system_upgrades

[–] uthredii@programming.dev 10 points 1 year ago* (last edited 1 year ago)
[–] uthredii@programming.dev 3 points 1 year ago* (last edited 1 year ago)

I have definitely found it challenging at times to do even simple things. I think it does get easier over time.

I really hope the new user experience will improve. Once the issues with flakes are fixed and they are no longer experimental I would expect flakes to replace the other ways of doing things. This will hopefully make the documentation more concise/focused/better. It might also mean more people start using nix/flakes which will surface more of these problems to be fixed.

I think people need to decide if the benefits they are getting are worth the challenges. I personally really like the reproducibility and the massive amount of packages available from one place. On other distros I have used things have ended up breaking eventually and I have had to re-install things and search for fixes. But on NixOs things keep working.

[–] uthredii@programming.dev 7 points 1 year ago

"I'm playing both sides, so that I always come out on top"

[–] uthredii@programming.dev 18 points 1 year ago* (last edited 1 year ago) (1 children)

Most is described here (the author probably has some amount of bias but this is the only summary I know of): https://github.com/KFearsoff/nix-drama-explained

Other than that some very active contributors resigned as maintainers in support of the open letters.

And it seems now that the community members in support of the open letters/changes have convinced the board of the foundation to agree on some things.

[–] uthredii@programming.dev 2 points 1 year ago (1 children)

yep, this method didn't work with this method for gitui on my nixos machine either. And a youtube commenter pointed out that LazyGit (inside helix) can't open files to edit. So this method is definitely not perfect but is probably still useful in the right situation

[–] uthredii@programming.dev 2 points 1 year ago (2 children)

What is the app?

 
 

If you haven't heard of it before, nutshell is an alternative to bash/zsh: https://github.com/nushell/nushell

 
view more: ‹ prev next ›