gomp

joined 1 year ago
[–] gomp@lemmy.ml 8 points 1 day ago (1 children)

Kensington? I don't think an air tag can actually prevent theft (if they see it they'll remove it - if they don't see it they'll still steal your stuff)

[–] gomp@lemmy.ml 5 points 1 day ago (1 children)

But it has no ads

[–] gomp@lemmy.ml 1 points 3 days ago* (last edited 3 days ago) (1 children)

Reading https://codeberg.org/river/river/src/branch/master/protocol/river-layout-v3.xml it seems to me that what I want to do is actually not possible in river, even writing a custom layout manager...

IIUC the protocol works like this: river asks "how should I layout N windows in HxW screen?" and the layout replies "window1: H1xW1 at offset X1,Y1; window2: H2xW2 ...", so there is no way for the layout manager to identify specific windows and, in my use case, put all the text editors on the left side of the screen etc.

Did you have some other approach in mind when you suggested river? (I may very well be over-complicating things and not seeing a more straightforward solution)

[–] gomp@lemmy.ml 9 points 3 days ago (1 children)

That, or git log --graph --pretty=oneline

(IDK why people seem to be willing to recommend using anything in order to learn git, with the exception of git itself)

[–] gomp@lemmy.ml 2 points 3 days ago (3 children)

TBH I really liked the idea behind river, but does it have tabs? Also... I would need to write my own custom layout, wouldn't I?

BTW: are there other WMs that are modular like river?

[–] gomp@lemmy.ml 2 points 3 days ago

Sorry to be a bother, but... how do I tell hyprland I want a window to be added to a specific group?

I was thinking of something like:

windowrulev2 = tag texteditor, class:(myfirsteditor)
windowrulev2 = tag texteditor, class:(mysecondeditor)
windowrulev2 = group XXX, tag:texteditor

but I can't find what I should write instead of group XXX to tell hyprland/hy3 that I want the window to be added to a group on the left-side of workspace 1...

I would also be fine with some rule that could be added to exec or probably even some dispatcher, but I can't find anything that allows to target (or define) a specific group.

Am I pursuing this from the wrong direction?

 

I want to have my screen (the "dev" workspace) split in three "zones":

  • on the left side, a tabbed group with all the text editors I start (ie. if I start a new one, it goes there in a new tab)
  • on the top-right, a tabbed group of whatever many terminal I feel like launching
  • on the bottom-right, my browsers (and possibly other stuff), in a group without tabs
  • a key combination to cycle between: all three "zones" visible, text editors on the left - terminal on the right, text editors on the left - browser on the right, fullscreen browser

So far I've been looking at hyprland (for no particular reason except the hype) and I don't think I can do the above with it (I am by no means an expert, so... maybe it can actually be done?).

Do you know of any WM where it would be possible? (possibly, one with automatic splitting a-la bspwm, that I would use for the other workspaces)

[–] gomp@lemmy.ml 1 points 5 days ago (1 children)

Philosophy aside, the practical issue with your terminal emulator having to support your shell is... that one does not use just one shell: what happens whenever you start a repl or an whatever program that has interactive sessions (say, for example, psql or parted)?

tightly integrated shell and terminal emulator support. There are just things you cannot do with these being separate things.

I can't think of any, but I'm not the most creative person... what do you have in mind?

Having something that is like (say) tmux+fish could make sense, but only if it's something that outweighs the lost flexibility of being able to combine + .

[–] gomp@lemmy.ml 31 points 1 week ago* (last edited 1 week ago) (4 children)

Might I add the idea that your terminal emulator must support your shell is utterly ridiculous?

https://docs.waveterm.dev/reference/faq#what-shells-does-wave-terminal-support

https://docs.warp.dev/getting-started/using-warp-with-shells

Also Wave might be FOSS but if you look at the footer in their website it says it's backed by venture capital... how would you estimate the chances it gets closed, paywalled or otherwise enshittified?

[–] gomp@lemmy.ml 12 points 1 week ago

That's not something a terminal emulator should do - it's a feature that belongs in your shell :)

[–] gomp@lemmy.ml 6 points 1 week ago

Irrelevant: the goal is not preventing shootings (I mean, they would go for the obvious solution otherwise)

[–] gomp@lemmy.ml 4 points 1 week ago (1 children)

Why did they call them 'gold' and 'silver pro'?

[–] gomp@lemmy.ml 6 points 1 week ago* (last edited 1 week ago) (1 children)

I have no idea what a DreamMachine is (and wikipedia does not help) so here's the long answer :)

If you want a VPN tunnel to your own home, for secure access to your LAN, I'd recommend you look into NetBird and/or TailScale, which at their core are wireguard plus NAT punch-through (you can also run wireguard or openvpn directly, but it may be a pain since you most probably have a dynamic IP and possibly a CGNAT).

If you want to hide your traffic while connecting through networks you don't trust (such as the work one or some cafe's wifi), you can either use NetBird/Tailscale as above and connect though your home (well, assuming you trust your ISP of course) or some third party VPN which connects to their servers (I'd say look into Proton first).

Keep in mind that VPNs actually do very little for your online privacy (ie. it's not like google or facebook can't track or fingerprint you). They do is prevent man-in-the-middle traffic analysis from your ISP (or the admin of whatever LAN you are using), but then the VPN provider can do the exact same things, so... make sure to double-check the privacy guarantees of your VPN provider and compare them with those of your ISP.

 

I've been looking around for a scripting language that:

  • has a cli interpreter
  • is a "general purpose" language (yes, awk is touring complete but no way I'm using that except for manipulating text)
  • allows to write in a functional style (ie. it has functions like map, fold, etc and allows to pass functions around as arguments)
  • has a small disk footprint
  • has decent documentation (doesn't need to be great: I can figure out most things, but I don't want to have to look at the interpter source code to do so)
  • has a simple/straightforward setup (ideally, it should be a single executable that I can just copy to a remote system, use to run a script and then delete)

Do you know of something that would fit the bill?


Here's a use case (the one I run into today, but this is a recurring thing for me).

For my homelab I need (well, want) to generate a luhn mod n check digit (it's for my provisioning scripts to generate synchting device ids from their certificates).

I couldn't find ready-made utilities for this and I might actually need might a variation of the "official" algorithm (IIUC syncthing had a bug in their initial implementation and decided to run with it).

I don't have python (or even bash) available in all my systems, and so my goto language for script is usually sh (yes, posix sh), which in all honestly is quite frustrating for manipulating data.

 

After years of my desktop environment (kde) being configured the same way, I tried enabling auto-hiding in my panel and I quite like the extra screen estate.

Now, the only reasons why I have a panel in the first place are the clock and the system tray (I don't use the ~~start~~ applications menu and I don't care for the task manager) so I've started wondering if I could completely dispose of the panel.

Do you know of any launcher (I use krunner but switching to something else is fine) that satisfies (or can be configured to satisfy) the following?

  1. shows the current date/time
  2. integrates a system tray
  3. launches applications
  4. does math, unit conversion and currency conversion
 

While updating home-manager I got a notice that freeimage-unstable-2021-11-01 is marked as unsafe.

Since chances are it's used by something I never use, I'd like to know what I'm using that depends on it... any idea how to do it?

Also.. any idea why I have 4 copies of the freeimage stuff in my /nix/store? (I just run nix-collect-garbage -d and the 4 seem to be actually different):

❱ md5sum /nix/store/*freeimage*/lib/libfreeimage.a
67a0ce1cb5dd562473e27d7c88e8a9bd  /nix/store/6gi6hm57zngqnxb6p5dnxhjjcbr96lrk-freeimage-unstable-2021-11-01/lib/libfreeimage.a
5995e0affbfa28b63da7e997cb4dbe63  /nix/store/09nwykzzksc0zknflsyxyah5b67c2rsn-freeimage-unstable-2021-11-01/lib/libfreeimage.a
67a0ce1cb5dd562473e27d7c88e8a9bd  /nix/store/ikfiv4gpmcpyir7lsj45by653qcnvgyx-freeimage-unstable-2021-11-01/lib/libfreeimage.a
213a408e3c1fbb5dfa4491deebe05984  /nix/store/q2sc85f2hclgwl8m3qdw8rpbs44gzmah-freeimage-unstable-2021-11-01/lib/libfreeimage.a
 

I've been looking for something to replace the google chromecast that is attached to our TV.

I've tried Kodi out, but the main use case for the TV set is a 70+ yo person watching netflix and there is just no way they will be better off with Kodi than with the stock netflix app.

Besides supporting netflix, being easy to use, and providing significantly better privacy than the chromecast does, the device would ideally:

  • support other mainstream streaming (amazon, disney, ...) for when my people get tired of netflix
  • support a DVB-T2 usb stick (directly, or through IPTV: I can put the stick in a different machine)
  • support youtube without ads (through an adblocker and possibly sponsorblock, or maybe using invidious)
  • possibly, support local public TV streaming (eg. BBC)

I have a PC set aside that should be more than capable enough (intel N100), but I'm open to getting new hardware if needed. Also, it doesn't matter if the system is not very user friendly to setup (eg. if it needs to be nixos), but once it's setup it should be easy to use and relatively straightforward to update/maintain.

I guess a FOSS android TV would be ideal, but.. is there any? (I see Lineage supports the Google ADT-3, but that is basically unobtanium, at least where I live).

17
submitted 10 months ago* (last edited 10 months ago) by gomp@lemmy.ml to c/fdroid@lemmy.ml
 

The app at my gym sucks: there is no checklist of what exercises you have done and no tracking of how much weight you used. Plus, for whatever reason, it wants access to my location.

I've found a number of alternatives on F-Droid, but each of the six or so I tried was completely unusable (some seemed unfinished alphas, others are probably too old for my android version).

Is there one app that you use and would recommend?

What I'm looking for is:

  • At home: I setup my programs (different ones for different days)
  • At the gym: I can select a program, check off the exercises while I do them (the order I do them on depends on where there is fewer people at the gym), and log things like if I managed all the sets/reps, how much weight I used, and how long I exercised for (for things like the tapis roulant).
  • Bonus points if I can also track my weight in the same app, and if the app can export/sync the data or produce some kind of graphs/statistics based on it.

Thanks!

 

This may be OT since strictly speaking it's about hardware... I trust it is ok to post it given the spirit of the community, but have my apologies and feel free to remove it if it's not.

I'm looking to replace my old Bose QC25, since they have recently died (after a long a fulfilling life), but it seems everything nowadays is bluetooth (which I don't mind) and require some proprietary app to turn ANC on/off (which I do mind... are physical buttons/switches become too expensive to include in your overpriced earbuds?).

Anyway... do you know of any headphones/earbuds that meet the following?

  1. can be powered via wire or have batteries that last 12+hrs (long-haul flights)
  2. have decent noise cancelling
  3. don't require me to install a apps or can be used with some open source app (possibly with full functionality and straightforward to setup)
  4. are not overly expensive (I have to buy 2 pairs and I'll only use them a few times a year when I fly)
 

I want to call the escapeSystemdPath (defined in nixpgs at nixos/lib/utils.nix) to derive the name of a systemd mount unit from the target path (eg. srv-my-dir.mount from /srv/my/dir), but I can't figure out how I can reference it... any ideas?

5
submitted 11 months ago* (last edited 11 months ago) by gomp@lemmy.ml to c/nixos@lemmy.ml
 

I'm playing around with nixos in a few VMs and at some point I realized I must have lost the swap configuration in one of my refactorings.

To my surprise, however, the VMs do use the swap partitions I had set up.

There is no mention on "swap" in my nix configuration (or in fstab) and no .swap units in /etc/systemd/system; I do however have a swap partition labelled "swap".

Turns out there is a systemd unit (albeit not a corresponding file) that sets up swap:

[root@vm1:~]# free -hw
               total        used        free      shared     buffers       cache   available
Mem:           2.8Gi       664Mi       955Mi       4.0Mi       3.0Mi       1.3Gi       2.0Gi
Swap:          3.7Gi          0B       3.7Gi

[root@vm1:~]# systemctl list-dependencies swap.target 
swap.target
● └─dev-disk-by\x2ddiskseq-1\x2dpart3.swap

I'm wondering where the unit comes from? Can I rely on this and never configure swap ever again?

 

Is there an extension that warns you when you are wasting time reading ai-generated crap?

Case in point, I was reading an article that claimed to compare kubernetes distros and wasted some good minutes before realizing it was full of crap.

 

I have an option that must be left with the default value when a certain flag (another option) is false.

I didn't find any example (let alone documentation) on how to implement this, so I've come up with two ideas:

option-that-errors-out-if-set-when-flag-is-false =
let
  default = if config.some-flag
          then "some default value for when flag is true"
          else "value that should not be changed when flag is false";
in lib.mkOption {
  type = lib.types.str;
  inherit default;
  apply = v: assert assertMsg (config.some-flag || v == default) "Do not set this option unless 'flag' is true";
          v;
};
option-that-ignores-value-when-flag-is-false =
let
  default = if config.some-flag
          then "some default value for when flag is true"
          else "value that should not be changed when flag is false";
in lib.mkOption {
  type = lib.types.str;
  inherit default;
  apply = v: if config.some-flag then v else default;
};

Which one do you think is "best" (cleaner, more idiomatic, etc..)?

Is apply the "right" place to validate options? Should I make a custom type instead? Should I approach this in some different way?

view more: next ›