Skip Navigation
NixOS made me go back to Windows
  • Why do people think we care why they decided this or that? (same goes for people who switch to linux, or upgrade their gear, or whatever)

  • Is there a way to de-google a smart TV?
  • Basically, the only way is to disconnect the TV and use it as a dumb screen. Lineageos supports a few set top boxes (see here).

    I heard (take it as hearsay) that some smart TV periodically capture screenshots of what's on screen and upload it, so it actually disconnecting the tv from the network could (again, hearsay) make a real difference.

  • What's more important to you a free internet or your Internet privacy?
  • It’s no secret that we trade our information for access to the Internet.

    I pay a monthly subscription for access to the Internet (actually two: one for the landline and one for my phone).

    So what do you prefer a subscription based Internet with privacy protection or a free internet with companies allowed to take and sell your data

    Either one would be better than what we have now, which is not free and not private.

  • Does Windows virtual machine crash due to low RAM?
  • What's crashing? the Linux host? Virtualbox? the windows guest?

    (personally I won't be able to help you, but other people might)

  • Photography @lemmy.world gomp @lemmy.ml
    How to introduce a 12yo to photography?

    My 12yo niece will come visit this summer and I'm thinking of taking her on a photowalk (or more, if she ends up enjoying it).

    Should we go with just my camera or should she have her own? (and in case, should I get her a "proper" one or a simpler/compact one?)

    Can you share your experience in introducing young boys/girls to photography?

    12
    Trump cuts funding to FOSS projects.
  • Well, at least the one he used for thruth is safe (mastodon IIRC?)

  • How do I map "caplock to escape but shift+caplock = normal caplock", like Gnome has?
  • I don't use that so I'm mostly shooting in the dark, but.. does caps:escape_shifted_capslock do what you want?

    (source: localectl list-x11-keymap-options | grep esc)

  • Tell Unihertz: Support the Jelly Max or let Lineage do it!
  • Follow me for a second:

    Why do you have a Unihertz phone? Because you value small phones
    What other phone will you buy after this one? Another Unihertz, because you value small phones
    What will happen if Unihertz starts supporting Lineage? You will keep your current phone
    Why would Unihertz put effort into that?

    Yours is a noble campaign and I wish you all the luck.

    That said, I must admit I myself would have been using Jellies exclusively since long ago if they were supported in Lineage.

    btw: it's a shame the community has no way to pay Lineage towards supporting specific phone models (yeah, I guess I could search for like-minded people and arrange a deal directly with one or more developers, but that would be a too much extra hassle).

  • EU Possibly Emerging As One Of The Greatest Threats To Privacy
  • The title is missing a second part: "after China, the US, Russia, the UK, etc.".

    I get that privacy is potentially in danger if chatcontrol passes (ie. it's not right now) and that to raise awareness is worthwhile, but misrepresenting one of the best places privacy-wise as "one of the greatest threats" is just dishonest.

  • [OC] i'm hanging on
  • I love both the photo and the edit!

  • EU OS: A Fedora-based distro 'for the public sector'
  • Based on a US distro whose versions are supported for 1 year, and "built to the requirements for the EU public sector" (because the EU public sector has one coherent set of requirements and the dev knows them, even if he doesn't list them out).

    This is most probably good-intentioned and it is admirable how the dev sprung into action, but it's naive at best.

  • United States: French researcher turned back for expressing “personal opinion on Trump administration’s policy
  • Visitors to the US have been asked if they were members of the communist party since forever though?

    IDK if those who replied "yes" would be sent back, but I do remember reading about Chinese communist party members being denied entry to the US.

    I don't see much difference between this and that as far as the 1st amendment is concerned... aren't you idealizing the 1st amendment (and/or how seriously the US takes it)?

    PS: let me make clear that I'm not trying to defend the indefensible behaviour of the Trump administration in any way

  • United States: French researcher turned back for expressing “personal opinion on Trump administration’s policy
  • You must have an outdated version. The current version is “We announce that there must be no criticism of the President, and that we are to stand by the President, right or wrong. Anything else is not only unpatriotic and servile, but is morally treasonable to the American public.”

  • How do I bypass Captchas?
  • I know :) that's why I was asking if anybody else did it instead of campaigning for more people to do it

  • How do I bypass Captchas?
  • (tangentially related)

    Do you guys intentionally half-ass your capchtas or am I the only one?

    eg. when Google asks me to recognize traffic lights, I intentionally make some errors to decrease the quality of data they harvest

  • How do I go about reporting a regression from updating my flake.lock?
  • Is git bisect what you are looking for?

  • Best or least worst choices for cell phone service?
  • Generally speaking, if someone asks/talks about some local topic without bothering to specify where they live, you can just assume they live in the US :)

  • green screen background
  • have you read the sidebar?

  • BraX3: the most privacy-friendly smartphone!
  • Does it run lineage? Any other FOSS, third party OS? No? Hard pass.

  • [solved, kinda] "lookup registry-1.docker.io: no such host" when starting an oci-container for the first time at boot
  • I too experimented with k3s, but then abandoned the idea of using it after I realized the proper way to run postgres on it was (IIUC) to use bitnami's helm chart. I like to have some level of understanding of how my homelab and it's config works, and that humongous amount of unreadable templates was not appealing in the least.

    As for containers, I am not really looking for service isolation (IIUC until ##368565 lands, all virtualisation.oci-containers basically run as root and I'm fine with that*)... I just want to be able to run different (usually more recent, but in nixos one also can't easily "pin" an older version of a package if the need arises **) versions of services than those packaged is nixos. Also, not all services I want to run are available as nixos packages, and even less have modules.

    * I know what risk I'm running (more or less): nothing in my homelab is accessible from outside my lan and, even if the container host was somehow pwned, that machine can't really do much harm (the important stuff is on a separate one).

    ** I guess I could import an older version of nixpkgs in my flake, but that requires way too much editing just to pin a package (time I'd rather spend solving the actual issue).

  • [solved, kinda] "lookup registry-1.docker.io: no such host" when starting an oci-container for the first time at boot

    I'm rebuilding my home server in nixos.

    Rather that configuring the various services natively in nixos, I decided to run containers via virtualisation.oci-containers whenever possible, mostly to be able to independently update the system and the various services.

    Everything is going smoothly, but whenever I (for whatever reason) do nixos-rebuild boot and reboot after adding a container instead of nixos-rebuild switch, I run into this issue where podman isn't able to resolve the host (below you see the docker hub host, but it also happened with ghcr.io):

    plaintext podman-apprise-start[1352]: Trying to pull docker.io/caronc/apprise:1.1.8... podman-apprise-start[1352]: Pulling image //caronc/apprise:1.1.8 inside systemd: setting pull timeout to 5m0s podman-apprise-start[1352]: Error: initializing source docker://caronc/apprise:1.1.8: pinging container registry registry-1.docker.io: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io: no such host

    I thought that my podman-* services were missing a dependency on network-online and that they were started before the network was available, but it is't the case:

    ```plaintext

    systemctl list-dependencies podman-apprise.service

    podman-apprise.service ● ├─system.slice ● ├─network-online.target ● │ └─systemd-networkd-wait-online.service ● └─sysinit.target ● ├─dev-hugepages.mount [...snip...] ```

    Do you happen to know what the issue is?

    PS: Manually running systemctl start podman-whatever once fixes the issue, of course, but I wonder if there's a more robust solution?

    ---

    update:

    After investigating based on balsoft input below, the issue seems to be that systemd-networkd-wait-online doesn't behave as expected (by me).

    Basically, systemd-networkd-wait-online waits for network interfaces to have a carrier (working ethernet cable) and an IP address. This is what in systemd-networkd docs is called the "degraded" state (no, it doesn't mean that something got worse than before... don't think too much of what "degraded" implies in English).

    In my case, I have an interface that is setup via DHCP and that also has static IPs assigned:

    ```txt $ cat /etc/systemd/network/00-lan1.network [Match] Name=lan1

    [Network] DHCP=ipv4 IPv6AcceptRA=no LinkLocalAddressing=no

    [Address] Address=192.168.10.10/24

    [Address] Address=192.168.10.99/24 ```

    If you are wondering, the reason I do this is that I want static IPs for my dns server and reverse proxy, but I also want my home server to use DHCP to fetch some network-wide configuration which, critically, includes the default route.

    Back to the issue: IIUC, since the interface has a non-link-local address (which systemd-networkd confusingly calls a "routable" address), it is immediately considered "routable" (a state that is moar better than "degraded") and so not only it's basically ignored by the default systemd-networkd-wait-online configuration, but even adding

    [Link] RequiredForOnline=routable

    to /etc/systemd/network/00-lan1.network doesn't make a difference whatsoever.

    For now, my stopgap solution is to explicitly set the default route for the "lan1" network:

    text [Network] Gateway=192.168.10.1

    this seems to solve the issue with podman and, while the system still thinks to be "online" before being fully configured, it will suffice until I find a more elegant/robust way (ping me in a while if you are interested).

    refs: systemd-networkd-wait-online man page systemd-networkd docs on "RequiredForOnline" networkctl man page

    5
    How did the Ventoy blobs issue end?

    I remember a story where people asked about blobs included in Ventoy and there were no comments from the devs, leading to suspicion.

    At the time it wasn't clear to me if there was any substance to the story or if it was the usual Internet exaggeration, so I resolved to ignore it for the time being and saved a reminder to look into it after a while.

    Now my reminder fired off and I looked around, but couldn't find how the story ended... do you know?

    13
    [newbie] Can I specify what subset of errors a function can return?

    I have two functions that are similar but can fail with different errors:

    ```rust #[derive(Debug, thiserror::Error)] enum MyError { #[error("error a")] MyErrorA, #[error("error b")] MyErrorB, #[error("bad value ({0})")] MyErrorCommon(String), }

    fn functionA() -> Result<String, MyError> { // can fail with MyErrorA MyErrorCommon todo!() }

    fn functionB() -> Result<String, MyError> { // can fail with MyErrorB MyErrorCommon todo!() } ```

    Is there an elegant (\*) way I can express this?

    If I split the error type into two separate types, is there a way to reuse the definition of MyErrorCommon?

    ---

    (\*) by "elegant" I mean something that improves the code - I'm sure one could define a few macros and solve that way, but I don't want to go there

    edit: grammar (rust grammar)

    4
    Selfhosters, how do you run your services?

    I experimented with several ways to run my services:

    1. "regular" systemd services (services.glance = { ... };)
    2. nix containers (containers.glance = { ... };)
    3. podman containers (virtualisation.oci-containers.containers.glance = { ... })

    and I must say I'm starting to appreciate the last option (the least nixos-y) more and more.

    Specifically, I appreciate that:

    • I just have to learn the app/container configuration, instead of also backwards-translating from their config into the various nixos options (of course the .yaml or whatever configuration files are still generated from my nixos config, I just do that in a derivation instead on relying on a module doing it for me)
    • Services are sometimes outdated in nixpks (even in unstable - and juggling packages between stable and unstable is yet another complication)
    • I feel like it's more secure (very arguable and also of very little consequence since everything is on my homelab... it's mainly for the warm fuzzies)

    Do you guys use one of the options above? Something different?

    18
    [resolved] Network access while building a derivation?

    edit: for the solution, see my comment below

    I'm trying to package a go application (beszel) that bundles a bunch of html stuff built with bun (think, npm).

    The html is generated by running bun install and bun run and then embedded in the go binary with //go:embed.

    Being completely ignorant of the javascript ecosystem, my first idea was to just replicate what they do in the Makefile

    nix postConfigure = '' bun install --cwd ./site bun run --cwd ./site build ''

    but, since bun install downloads dependencies from the net, that fails.

    I guess the "clean" solution would be to look for buildNpmPackage or similar (assuming that exists) and let nix manage all the dependencies, but... it's some 800+ dependencies (at least, bun install ... --dry-run lists 800+ things) so that's a hard pass.

    I then tried to look at how buildGoPackage handles the vendoring of dependencies, with the idea of replicating that (it dowloads what's needed and then compare a hash of what was downloaded with a hash provided in the nix package definition), but... I can't for the life of me decipher how nixpkgs' pkgs/build-support/go/module.nix works.

    Do you know how to implement this kind of vendoring in a nix derivation?

    7
    lemmy.ml meta @lemmy.ml gomp @lemmy.ml
    [resolved] lemmy.ml says I'm not logged in if I visit c/simplex

    If I navigate to https://lemmy.ml/c/simplex the page behaves as if I'm not logged in (eg. I see the "login" and "signup" at the top-right link instead of my profile).

    I visited other communities (including this one I'm posting on) and they seem fine; hard-refreshing the browser doesn't seem to have any effect, nor does logging out of lemmy and authenticating again.

    Can someone try and report if it's a bug or some astral conjunction affecting my PC?

    edit: It works now. No idea why.

    0
    Alternative to syncthing for large music collection?

    Over the years I have accumulated a sizable music library (mostly flacs, adding up to a bit less than 1TB) that I now want to reorganize (ie. gradually process with Musicbrainz Picard).

    Since the music lives in my NAS, flacs are relatively big and my network speed is 1GB, I insalled on my computer a hdd I had laying around and replicated the whole library there; the idea being to work on local files and the sync them to the NAS.

    I setup Syncthing for replication and... everything works, in theory.

    In practice, Syncthing loves to rescan the whole library (given how long it takes, it must be reading all the data and computing checksums rather than just scanning the filesystem metadata - why on earth?) and that means my under-powered NAS (Celeron N3150) does nothing but rescanning the same files over and over.

    Syncthing by default rescans directories every hour (again, why on earth?), but it still seem to rescan a whole lot even after I have set rescanIntervalS to 90 days (maybe it rescans once regardless when restarted?).

    Anyway, I am looking into alternatives. Are there any you would recommend? (FOSS please)

    Notes:

    • I know I could just schedule a periodic rsync from my PC to the NAS, but I would prefer a bidirectional solution if possible (rsync is gonna be the last resort)
    • I read about unison, but I also read that it's not great with big jobs and that it too scans a lot
    • The disks on my NAS go to sleep after 10 minutes idle time and if possible I would prefer not waking them up all the time (which would most probably happen if I scheduled a periodic rsync job - the NAS has RAM to spare, but there's no guarantee it'll keep in cache all the data rsync needs)
    31
    [resolved] Help with haskell package that lives in a subdirectory of `src`

    edit: for the solution, see my comment below

    I need/want to build aeson and its subproject attoparsec-aeson from source (it's a fork of the "official" aeson), but I'm stuck... can you help out?

    The sources of attoparsec-aeson live in a subdirectory of the aeson ones, so I have the sources:

    nix aeson-src = fetchFromGitHub { ... }; and the "main" aeson library: nix aeson = haskellPackages.mkDerivation { pname = "aeson"; src = aeson-src; ... }; When I get to attoparsec-aeson however I run into a wall: I tried to follow the documentation about sourceRoot:

    attoparsec-aeson = haskellPackages.mkDerivation { pname = "attoparsec-aeson"; src = aeson-src; sourceRoot = "./attoparsec-aeson"; # maybe this should be "${aeson-src}/attoparsec-aeson"? # (it doesn't work either way) ... }; but I get plaintext error: function 'anonymous lambda' called with unexpected argument 'sourceRoot'

    Did I fail to spot some major blunder (I am nowhere near an expert)? Does sourceRoot not apply to haskellPackages.mkDerivation? What should I do to make it work?

    BTW:

    IDK if this may cause issues, but the attoparsec-aeson sources include symlinks to files in the "main" attoparsec sources:

    shell ~/git-clone-of-attoparsec-sources $ tree attoparsec-aeson/ attoparsec-aeson/ ├── src │   └── Data │   └── Aeson │   ├── Internal │   │   ├── ByteString.hs -> ../../../../../src/Data/Aeson/Internal/ByteString.hs │   │   ├── Text.hs -> ../../../../../src/Data/Aeson/Internal/Text.hs │   │   └── Word8.hs -> ../../../../../src/Data/Aeson/Internal/Word8.hs │   ├── Parser │   │   └── Internal.hs │   └── Parser.hs ├── attoparsec-aeson.cabal └── LICENSE

    7
    ssh won't ask for password unless i force `PubkeyAuthentication=no`

    Lately I noticed that when I want to ssh to a server using a password I need to specify -o PubkeyAuthentication=no or I won't be asked for a password and the authentication will fail (well, for all I know, setting some other option may work too).

    I use password authentication only once on freshly installed servers/vms, so it's not a huge deal, but... it still bothers me (mainly because I don't remember which option to set).

    Do you guys have any idea what it may be?

    client's `~/.ssh/config`

    ``` Host 127...* 192.168.. 10...* 172.16.. 172.17.. 172.18.. 172.19.. 172.2?.. 172.30.. 172.31.. LogLevel quiet Stricthostkeychecking no Userknownhostsfile /dev/null

    Host * ForwardAgent no AddKeysToAgent no Compression yes ServerAliveInterval 10 ServerAliveCountMax 3 HashKnownHosts no UserKnownHostsFile ~/.ssh/known_hosts ControlMaster no ControlPath ~/.ssh/master-%r@%n:%p ControlPersist no ```

    server's `/etc/ssh/sshd_config` (it's from the nixos install iso)

    AuthorizedPrincipalsFile none Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr GatewayPorts no KbdInteractiveAuthentication yes KexAlgorithms sntrup761x25519-sha512@openssh.com,curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256 LogLevel INFO Macs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com PasswordAuthentication yes PermitRootLogin yes PrintMotd no StrictModes yes UseDns no UsePAM yes X11Forwarding no Banner none AddressFamily any Port 22 Subsystem sftp /nix/store/78mv13w9mgh0s0rd7rnr6ff4d7a39bpd-openssh-9.7p1/libexec/sftp-server AuthorizedKeysFile %h/.ssh/authorized_keys /etc/ssh/authorized_keys.d/%u HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_ed25519_key

    17
    [SOLVED] Cronjob with `hdparm -y` to spin down hard disks?

    > Solution: > hd-idle is the way to go (if you read their README, they explain that most drives don't support idle timers)

    I've been looking into spinning down the drives of my NAS, as I use it infrequently and that brings power drain down from ~30W to ~17W.

    Problem is, hdparm -S doesn't seem to do anything for these particular drives: if I set it and wait for the appropriate amount of time (eg. 5 seconds if set to 1) the drives are still reported as "active/idle" and power drain doesn't go down.

    Both hdparm -y and hdparm -Y work fine, but I don't seem to be able to find settings for them in tlp (probably because they are commands rather than settings?).

    Besides the caveats about disks living longer if they are kept spinning, are there reasons why I shouldn't setup a cron job (well, a systemd timer) that runs hdparm -Y every 10 minutes? (for example, could hdparm -y cause errors if run while the drive is being backed up?)

    PS: According to hdparm's manpage, -y puts the drive standby mode while -Y puts it into sleep mode. Considering that in my case power drain seems the same either way, should I prefer one or the other?

    10
    [newbie] one-liner to avoid "temporary value dropped while borrowed"?

    (I'm just starting off with rust, so please be patient)

    Is there an idiomatic way of writing the following as a one-liner, somehow informing rustc that it should keep the PathBuf around?

    ```rust // nevermind the fully-qualified names // they are there to clarify the code // (that's what I hope at least)

    let dir: std::path::PathBuf = std::env::current_dir().unwrap(); let dir: &std::path::Path = dir.as_path();

    // this won't do: // let dir = std::env::current_dir().unwrap().as_path(); ``` I do understand why rust complains that "temporary value dropped while borrowed" (I mean, the message says it all), but, since I don't really need the PathBuf for anything else, I was wondering if there's an idiomatic to tell rust that it should extend its life until the end of the code block.

    11
    Can I do this in hyprland? In sway? In any other WM?

    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)

    4
    Recommend me a scripting language

    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.

    109
    Mozilla acquired Anonym, an ad start-up
    blog.mozilla.org Mozilla Welcomes Anonym: Privacy Preserving Digital Advertising | The Mozilla Blog

    Mozilla has acquired Anonym, a trailblazer in privacy-preserving digital advertising. This strategic acquisition enables Mozilla to help raise the bar for

    Mozilla Welcomes Anonym: Privacy Preserving Digital Advertising | The Mozilla Blog
    37
    Launcher with integrated clock and tray?

    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
    7
    What depends on a specific package?

    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

    6
    Looking for FOSS android TV (or something like Kodi, but dumber)

    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).

    45
    ANC headphones/earbuds that require no proprietary apps?

    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)
    41
    nixos @lemmy.ml gomp @lemmy.ml
    How can I reference the `escapeSystemdPath` function (from nixpkgs' `nixos/lib/utils.nix`) in my config?

    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?

    2
    gomp gomp @lemmy.ml
    Posts 28
    Comments 241