this post was submitted on 26 Mar 2024
35 points (100.0% liked)

libre

9836 readers
2 users here now

Welcome to libre

A comm dedicated to the fight for free software with an anti-capitalist perspective.

The struggle for libre computing cannot be disentangled from other forms of socialist reform. One must be willing to reject proprietary software as fiercely as they would reject capitalism. Luckily, we are not alone.

libretion

Resources

  1. Free Software, Free Society provides an excellent primer in the origins and theory around free software and the GNU Project, the pioneers of the Free Software Movement.
  2. Switch to GNU/Linux! If you're still using Windows in $CURRENT_YEAR, flock to Linux Mint!; Apple Silicon users will want to check out Asahi Linux.

Rules

  1. Be on topic: Posts should be about free software and other hacktivst struggles. Topics about general tech news should be in the technology comm or programming comm. That doesn't mean all posts have to be serious though, memes are welcome!
  2. Avoid using misleading terms/speading misinformation: Here's a great article about what those words are. In short, try to avoid parroting common Techbro lingo and topics.
  3. Avoid being confrontational: People are in different stages of liberating their computing, focus on informing rather than accusing. Debatebro nonsense is not tolerated.
  4. All site-wide rules still apply

Artwork

founded 3 years ago
MODERATORS
 

Like, best text editor? Helix, Neovim, vim, emacs? All of the above, because why not? Currently leaning helix, becuase there's less setup involved with plugins and what not, but I'm not a serious programmer or anything.

Any reason to use an alternative to bash?

Any cool games? Best terminal file manager? Tmux or Zelij? Etc.

Useful aliases you use?

I'm currently messing around with NixOS, and was trying to build up a replacement for my current debian media server, and (eventually, hopefully, inshallah ) as a replacement to my current windows install.

I like debian a lot, but after installing it on both my laptop and server there was a lot of program drift between the two, when I wanted them to basically be identical, and then I found nix, and thought "this looks neat" and the idea of being able to reproduce everything on each install, with the same config format, appealed to me. I am currently playing around with it in a vm until the config is to my liking.

Seeing as the .nix config files are so portable I started working on a "module" for terminal apps to get about as close to a fully functional system as you can get with only a command line or terminal session, just to see what I could do.

So far I have quite a list, and looked over quite a few top 10 lists for this stuff, but was wondering if there was anything else out there I'm overlooking?

Pic is of my current bash prompt with starship, which was incredibly easy to get working and tweak thanks to home-manager modules. If anyone else is running starship and has a cool config they want to share, please do.

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 7 points 7 months ago (1 children)

ripgrep is an excellent grep replacement to check out. wild how much faster it runs. +1 on the eza (other poster said exa but that's abandonware forked to eza)

check out deploy-rs and ragenix once you've replaced your current media server with a NixOS one. They make it much easier to apply configuration changes and to handle secrets if you need em for configs. +1 on start using flakes ASAP if you're not already (pretty sure both these tools only work with flakes), Xe Iaso's got a bunch of good blog posts about em if those are your jam.

I am currently playing around with it in a vm until the config is to my liking.

this is how I got NixOS to click for me, 10/10 highly recommend. even if it doesn't stick this time keep your config in source control somewhere so you can revisit it.

Any reason to use an alternative to bash?

gonna strongly disagree with one of the other posters in here that you should use POSIX-compliant shells because they're more portable, for a few reasons:

  1. if you're using the shell on a server or someone else's workstation to do more than run a handful of diagnostic binaries you're already wasting your time, and even then finding a quick one-liner in stack overflow to do some annoying repetitive task like filesystem cleanup or the like will be trivial. goes double for nixos where the likelihood you're doing anything once shelled in besides editing a config or running a diagnostic becomes even more unlikely
  2. speaking of, since you use nixos, you can trivially have your preferred shell environment available on any server you're running for yourself
  3. modern structured data pipeline-based shells (PowerShell, elvish, nushell, etc.) are far more ergonomic for both interactive and scripted usage

I wrote a little bit more about how modern structured data shells have been a more ergonomic option for like two decades now in a dunk tank post a few weeks back so I'll just link that instead of elaborating.

even if you find you prefer flat text pipelines, zsh and fish are fine (and were preferable for me for interactive use before I started using pwsh and then elvish) and you'll still wind up writing bash scripts anyway. or at least when I used those shells I don't think I once wrote a script that targeted them instead of bash. also #! /usr/bin/env sh is fine, you should hopefully be well aware when you write scripts that have a chance of running on a system that has a weird shell symlinked to sh.

[โ€“] [email protected] 4 points 7 months ago

Thanks for the flake tutorial. I've implemented one already, but was a little confused about it. I plan to come back to it eventually.

I was planning to stick to bash, but since with nix you can switch between a few different shells trivially, I might as well look into the alternativces more closely.