gramgan

joined 7 months ago
[–] gramgan@lemmy.ml 10 points 12 hours ago

NixOS because it’s easy to understand—I can pop open any .nix file in my config and see exactly what is being set up, so I don’t have to mentally keep track of innumerable imperative changes I would otherwise make to the system, and thus lose track of the entropy over time.

[–] gramgan@lemmy.ml 2 points 1 week ago (1 children)

Nice!

I don’t see a lot of River out in the wild—I’m curious why you prefer it?

[–] gramgan@lemmy.ml 7 points 1 week ago (1 children)

I’m curious why links2 over, say, w3m? It feels like none of the terminal browsers are as nice as they could be these days…

[–] gramgan@lemmy.ml 1 points 1 month ago (1 children)

How is nushell? I’ve always been curious about that…

[–] gramgan@lemmy.ml 3 points 1 month ago

Vertical is without a doubt the best for reading and such.

[–] gramgan@lemmy.ml 6 points 1 month ago

Just curious—what accessibility extensions do you use on desktop?

[–] gramgan@lemmy.ml 3 points 1 month ago (1 children)

I've used it for uni on a Linux tablet/convertible and it worked really quite well and has some nice convenient features for note-taking.

What tablet did you use?

[–] gramgan@lemmy.ml 12 points 1 month ago (2 children)

If you’re on Wayland, fuzzel just keeps getting better each release.

[–] gramgan@lemmy.ml 13 points 1 month ago (3 children)

Wait, so how do we print now?

 

I'm trying to set up a simple script (linked to a hotkey in my window manager) that can launch a terminal window with a nix-shell containing packages I specify. So far, I got this:

set packages (fuzzel -d --lines 0 --prompt 'packages for nix-shell > ')
kitty nix-shell --packages $packages --run fish

If I type a single package into my runlauncher (fuzzel) (e.g. grim), the window spawns with a nix-shell as expected; if, however, I attempt to launch a shell with multiple packages (e.g. grim slurp), it fails to launch with the following error:

error:
       … while calling the 'derivationStrict' builtin

         at /builtin/derivation.nix:9:12: (source not available)

       … while evaluating derivation 'shell'
         whose name attribute is located at /nix/store/cjz8w4dgc3rd2n3dqv5c208vygndjyba-source/pkgs/stdenv/generic/make-derivation.nix:336:7

       … while evaluating attribute 'buildInputs' of derivation 'shell'

         at /nix/store/cjz8w4dgc3rd2n3dqv5c208vygndjyba-source/pkgs/stdenv/generic/make-derivation.nix:383:7:

          382|       depsHostHost                = elemAt (elemAt dependencies 1) 0;
          383|       buildInputs                 = elemAt (elemAt dependencies 1) 1;
             |       ^
          384|       depsTargetTarget            = elemAt (elemAt dependencies 2) 0;

       error: attempt to call something which is not a function but a set

       at «string»:1:107:

            1| {...}@args: with import <nixpkgs> args; (pkgs.runCommandCC or pkgs.runCommand) "shell" { buildInputs = [ (grim slurp) ]; } ""
             |                                                                                                           ^

This happens with or without launching a new kitty window, and it happens with other runlaunchers as well. Why on earth isn't this working?

Any help appreciated---thanks, everyone.

[–] gramgan@lemmy.ml 5 points 1 month ago (1 children)

I find it infuriating to have to keep track of what’s system and what’s home-manager—why isn’t this all merged at this point?

[–] gramgan@lemmy.ml 15 points 1 month ago

Uplink is where it’s at.

 

Hey all,

I'm a big fan of my plain text and terminal -based applications for things, and I'm looking a calendar system in this spirit. I'd like for a system which:

  1. If possible, is stored in a plain-text (human-readable) format (a la calendar.txt)
  2. Has some way of managing repeating events/automating some of the process (which is my only problem with calendar.txt)
  3. Can be accessed on my phone (an iPhone---yes yes, I know, I can sense everyone's disappointment) while on the go (either through some application, or just through a plain text editor)

For the past month or two, I've been using remind, which, while fantastic in features and usage, seems relatively obscure and unsupported, and the file format isn't as human-readable as I'd prefer (take this slightly modified excerpt from my class schedule):

OMIT 2024-11-25 THROUGH 2024-11-29 MSG Thanksgiving Break
REM Tue Thu FROM 2024-08-19 UNTIL 2024-12-20 SKIP AT 09:05 DURATION [1:15] MSG Class 1
REM Tue Thu FROM 2024-08-19 UNTIL 2024-12-20 SKIP AT 10:40 DURATION [0:50] MSG Class 2
REM Tue Thu FROM 2024-08-19 UNTIL 2024-12-20 SKIP AT 12:00 DURATION [1:15] MSG Class 3

I recently heard about calcure, which I'm very curious about, as the interface seems (quite frankly) a bit nicer than wyrd, which is what I've been using for remind---but is there an easy way to interface locally with .ics files on an iPhone?

For my to-dos, I've been pretty happy with the todo.txt format, and with topydo and todooo as frontends for it---surely there is something like this, but for calendar events?

P.S.---Before someone mentions it, yes, I am familiar with org-mode, and I know it perfectly fits my bill, and perhaps it is what I will ultimately turn to---but I'd strongly prefer not to, as I'm currently rebelling against Emacs, and we all know how poorly implemented org is outside of it.

[–] gramgan@lemmy.ml 3 points 2 months ago

Love fuzzel—it’s pretty performant, even with a few thousand options to pick from.

1
submitted 3 months ago* (last edited 3 months ago) by gramgan@lemmy.ml to c/opensource@lemmy.ml
 

Hi all,

I’m looking for something to automatically tag some old music files I have sitting around. I’ve been working with Picard, but a lot of albums are not in MusicBrainz, and adding them has been a serious PITA. Is there any kind of software that either:

  1. Can apply metadata directly from a streaming service (like this script for adding albums to MusicBrainz does)?
  2. Can simply allow me to manually edit metadata with an interface that isn’t completely awful to use?

or even:

  1. Two separate tools, one to grab metadata and another to manually add it (maybe a CLI interface for batch operations?)

Appreciative of any advice—I just hope there’s a better way, with how tedious this can be.

EDIT: Just to specify, I’m on NixOS.

 

For me, I really want to get into niri, but the lack of XWayland support scares me (I know there’s solutions, but I don’t understand them yet).

Also, I stopped using Emacs (even though I love its design and philosophy with my whole heart) because it’s very slow, even as a daemon.

 

Hi friends,

I've been using yt-dlp to download a few things off of YouTube Music, and I just wanted to ask a few questions about best practice. Right now, I've just been doing it this way:

yt-dlp -f bestaudio -x

I've found that has usually downloaded .opus files (though, .m4a as of late—anyone know why this is?), but, I was wondering (for the sake of compatibility with different music players), do I lose anything by passing --recode mp3?

Also, about losing the .opus files, I got this output when I ran yt-dlp -F on a link:

|ID |  EXT   RESOLUTION FPS CH |    FILESIZE  TBR PROTO | VCODEC         VBR ACODEC      ABR ASR MORE INFO
--------------------------------------------------------------------------------------------------------------------------
233 mp4   audio only        |                  m3u8  | audio only         unknown             Default
234 mp4   audio only        |                  m3u8  | audio only         unknown             Default
249 webm  audio only      2 |     1.30MiB  64k https | audio only         opus        64k 48k low, THROTTLED, webm_dash
250 webm  audio only      2 |     1.64MiB  81k https | audio only         opus        81k 48k low, THROTTLED, webm_dash
139 m4a   audio only      2 |  1019.36KiB  49k https | audio only         mp4a.40.5   49k 22k low, m4a_dash
251 webm  audio only      2 |     3.03MiB 149k https | audio only         opus       149k 48k medium, THROTTLED, webm_dash
140 m4a   audio only      2 |     2.64MiB 130k https | audio only         mp4a.40.2  130k 44k medium, m4a_dash

Any insights as to why I'm getting that throttling, and why it's downloading m4a instead of opus? Is it even that much of a difference? Is there some option I can pass to yt-dlp to avoid this?

Any help is much appreciated!

17
submitted 5 months ago* (last edited 6 days ago) by gramgan@lemmy.ml to c/linux@lemmy.ml
 

Fellas, I'm at my wit's end with this one. I'm trying to set a general rule for window opacity in sway, and then have a few programs excepted from it.

Back on i3 with picom, I could do this pretty easily by setting activeOpacity to 0.9, for example, and then specifying additional opacityRules like this:

"100:class_g = 'mpv'"
"100:class_g = 'Brave-browser'"

Likewise, hyprland's window rules made it pretty easy to override the general opacity rules as well.

I can't seem to get this on sway, though; if I set it up like this:

[app_id=".*"] opacity 0.85

[app_id="brave-browser"] opacity set 1
[app_id="librewolf"] opacity 1

it simply sets everything to 0.85.

Currently, I have this:

[app_id="^(?!mpv$|brave-browser$).*$"] opacity 0.85

[app_id="brave-browser"] opacity set 1
[app_id="mpv"] opacity 1

but it is still exhibiting the same behavior (except mpv also seems to totally disregard any opacity rules whatsoever).

Any help is greatly appreciated---I haven't been able to find anyone else asking or talking about what seems to me like pretty basic functionality.

UPDATE:

Months later, I have it working—it seems my regex was incorrect. Indeed, you cannot apply opacity rules twice (once with a wildcard, and again for specific windows after), so the way to do it is with a regex like this:

for_window {
  [app_id="^(?!brave-browser$)(?!mpv$).*"] opacity 0.8
}
29
submitted 6 months ago* (last edited 6 months ago) by gramgan@lemmy.ml to c/linux@lemmy.ml
 

cross-posted from: https://lemmy.ml/post/15059157

cross-posted from: https://lemmy.ml/post/15059150

Hey friends,

I tried Kakoune for the first time recently—I definitely feel like it gets keybindings right. So I just wrapped up configuring Helix to (as far as I can tell) use those bindings (basically, it totally cuts out select mode and makes things much faster). Thought I'd share for anyone else interested.

[keys.normal]
H = "extend_char_left"
J = "extend_line_down"
K = "extend_line_up"
L = "extend_char_right"

W = "extend_next_word_start"
E = "extend_next_word_end"
B = "extend_prev_word_start"

A-j = "join_selections"

A-n = "search_prev"
N = "extend_search_next"
A-N = "extend_search_prev"

[keys.normal.g]
e = ["goto_last_line", "goto_line_end"]
G = ["select_mode", "goto_file_start", "normal_mode"]
[keys.normal.G]
H = "extend_to_line_start"
L = "extend_to_line_end"
E = ["select_mode", "goto_last_line", "goto_line_end", "normal_mode"]
[keys.normal.v]
t = "align_view_top"
b = "align_view_bottom"
v = "align_view_center"

Happy editing!

 

Fellas,

I've been using my current setup on NixOS (Xfce + i3) for about a month now---it's totally great, but I've got some minor things that bother me just a little bit, and I want to see if Wayland does anything for me. I like my combination of a lightweight desktop and tiling windows, so I thought maybe I could do something like MATE + Sway?

Does anyone run anything like this? MATE seems pretty close to Xfce, right?

Happy to hear any thoughts.

Cheers!

view more: next ›