Skip Navigation
Declaratively manage flatpaks in NixOS/Home Manager by GermanBread
  • oh my goodness, I feel so heard right now, that's exactly as I always felt, I'm glad I'm not the only human obsessing over these things (well, not meaning that I enjoy your struggle lol).

    I also don’t want to be too personally identifiable

    I think you could do like some other accounts I've seen doing, merging their name and surname in some peculiar way, I did the same, but just for having a sort of unique, easy to use handle, I still keep my actual git username as my real one because I want to be identified with it. You on the other hand could do that and also use the same nickname as the git username. Another system I've always liked is to use this neat page on Perchance that generates an adjective-animal couple and they are so convenient for making up random names.
    If you go all out and keep one identity and in the clear too, big respect, I don't do it because I never want to end up in a moment where I wonder "what I'm going to do is a bit in a gray area of acceptable, should I make a new account for this?" as that's going to break all the continuity that is useful to stay connected with the community. When sioling the two identities, I can do everything with much more peace of mind.

    I laughed at “adult friendly” but that’s seriously apt.

    Very happy that the humor came across 😆
    And seeing how exotic/esoteric nix looks to older people, yes apt is way more adult friendly than nix

  • Declaratively manage flatpaks in NixOS/Home Manager by GermanBread
  • It’s been the only declarative flatpak mechanism I’ve gotten to work

    Can you say which others you tried? I'm curious myself and found this one as well, but I'm wondering if there is one clearly better than the others

  • Declaratively manage flatpaks in NixOS/Home Manager by GermanBread
  • This is why I made 2 accounts, as a bonus I get to make and comment weird stuff on my personal, while I can keep it all adult friendly in the other. Downside is that I almost never touch the second, but I'll just pretend that the main one is some secret knowledge I can pull out last minute to show off at the interview (jk, they never ask me a single thing about my forges 🥲)

  • Comenting code
  • Yes, I feel like some kind of bell should ring in your brain when something needs to be commented, most often if you struggled to write out the solution or you had to do a lot of digging from various places to achieve the final resulting piece of code, it doesn't make a lot of sense to pressure yourself into thinking you should comment everything, because some knowledge has to be assumed, nowadays you could even add that if someone completely extraneous to the codebase entered without any knowledge, they could feed the parts of code they need to understand into some LLM to get a feel for what they're looking at, with further feedback from actual devs though, you never know what random bs they might write.
    Good one on the variables to store results of expressions, I agree with that method, though I always forget to do that because I get so lost in the pride of writing that convoluted one-liner that I think, "oh yeah, this is perfectly beautiful and understandable 😇", I have to check myself more on that.

    complex portions in some of my projects that would appreciate similar simplification

    So I'm not alone on that haha.

    This is why [...] better

    Sorry, what's the subject of that?

  • Comenting code
  • Making up an example on the spot is kinda difficult for me, but I'd look at it this way with a bold statement, you should hope that most code won't need comments. Let's exclude documentation blocks that are super ok to be redundant as they should give a nice, consistent, human readable definition of what x thing does (function, constant, enum, etc.) and maybe even how to use it if it's non-intuitive or there are some quirks with it.
    After that, you delve in the actual meat of the code, there are ways to make it more self explanatory like extracting blocks of stuff into functions, even when you don't think it'll be used again, to be used with care though, as not to make a million useless functions, better is to structure your code so that an API is put into place, enabling you to write code that naturally comes out high level enough to be understood just by reading, this thing is very difficult for me to pinpoint though, because we think of high level code as abstractions, something that turns the code you write from describing the what rather than the how, but really, it's a matter of scope, a print statement is high level if the task is to print, but if the task is to render a terminal interface then the print becomes low level, opposite is also true, if you go down and your task is to put a character onto stdout, then the assembly code you'd write might be high level. What I mean to say is that, once you have defined the scope, then you can decide what level of knowledge to expect of the reader when looking at your code, from there, if some process feels fairly convoluted, but it doesn't make sense to build an abstraction over it, then it is a good place to put a comment explaining why you did that, and, if it's not really clear, even what that whole block does

  • Discover Updates tab keeps refreshing non-stop
  • useless research for the curious

    Did a bit more research, was thinking it might be a systemd service, so I checked for timers there, but there was just a countme timer enabled that basically tells the server to include you in the count of active systems (how to disable, for the paranoid 🥸).
    Then I went on to look at the live logs of rpm-ostree and, as found from this website used this command:

    journalctl --follow --unit rpm-ostreed.service
    

    So that I could monitor its activity while I open Discover and so I managed to record when it happens, I also saw from the logs that there is a configuration file at this path /etc/rpm-ostreed.confand that you can configure automatic updates from there, by default there a this line about it (usage greatly explained with man rpm-ostreed.conf btw):

    [Daemon]
    #AutomaticUpdatePolicy=none
    

    but it's commented out, so it couldn't have been that.

    Finally there is this one thing that pops up in the logs:

    Initiated txn AutomaticUpdateTrigger for client(id:cli dbus:1.1625 unit:app-org.kde.discover@df0f43f8979843c0a34d36ad199c7eda.service uid:1000): /org/projectatomic/rpmostree1/fedora
    

    So it is something triggered by Discover, as I had known already, due to other articles that talk about the integration with Discover, but I wasn't so sure about it anymore, since I couldn't find any related settings in the app.

    So I found the setting that configures automatic updates in general... in the three dot menu (questionable UX decision?):

    three dot menu > Configure Updates...

    which actually just leads to the system settings:
    Update software: automatically. Update frequency: weekly
    I had this configured to be weekly, there isn't even a setting as granular as seconds, the smallest span of time is daily, but what I'm guessing is that the "Update frequency" acts on when they should be installed automatically rather than when they should be fetched, so this is a limitation of the system as I understand it

  • Discover Updates tab keeps refreshing non-stop

    I'm using Fedora Kinoite and there's this little issue that has been bugging me to no end, whenever I want to see what updates have been found for my apps and their changelogs I start scrolling there, but every few seconds, say 20, the page will refresh and look for updates again, so it interrupts my reading and resets the scrolling position I was at, so I have to wait there to finish refreshing, jump to where I was and speed-read that piece of text before it refreshes once again and I'm thrown back to square one. I was wondering if there is any setting to control how often Discover auto-refreshes, maybe set it to only manually refresh instead, but there doesn't seem to be anything in the Settings tab. Is there a solution or is this a bug?

    1
    Is there an app that can program audio configuration?

    cross-posted from: https://lemy.lol/post/30887473

    > I sometimes play games and also open my music player, but the sound from the game drowns out the music, so I need to go into the sound mixer on KDE and manually lower the game's volume every time. > I was wondering, is there a way to do this process automatically? As in setting up conditions like "if music is playing (some MPRIS API?) then lower all other apps' volumes)", maybe even crazier "if some app is outputting voice then set its volume back up and lower music app's volume or pause its playback altogether for some specified timeout that keeps being refreshed for as long as voice is heard". > I imagine the latter is a bit of a dream, but maybe for the first, even some quick sound profile selector would go a long way, say switching from "normal profile" to "background music profile", etc. which specify preconfigured volumes for those apps. > Is that a thing?

    3
    Is there an app that can program audio configuration?
  • Why so irritable? I'm just asking, I don't even know German, I thought since you knew the video already, you could point me in the right direction, rather than me having to sift through it all while also passing it through a translator to hopefully (because I don't know how well youtube's auto-translate feature works) find the information I'm looking for in the whole presentation

  • Is there an app that can program audio configuration?

    I sometimes play games and also open my music player, but the sound from the game drowns out the music, so I need to go into the sound mixer on KDE and manually lower the game's volume every time. I was wondering, is there a way to do this process automatically? As in setting up conditions like "if music is playing (some MPRIS API?) then lower all other apps' volumes)", maybe even crazier "if some app is outputting voice then set its volume back up and lower music app's volume or pause its playback altogether for some specified timeout that keeps being refreshed for as long as voice is heard". I imagine the latter is a bit of a dream, but maybe for the first, even some quick sound profile selector would go a long way, say switching from "normal profile" to "background music profile", etc. which specify preconfigured volumes for those apps. Is that a thing?

    18
    [SQL/MariaDB] How will the YEAR data type transform in the future?

    I was looking to implement a year column and while researching I stumbled on the YEAR data type which sounded just right by its name, I assumed that it would just be something like an integer that can maybe hold only 4 digits, maybe more if negative? But then I noticed while actually trying it out that some years I was inputting randomly by hand never went through giving an out of range error, so I went to look at the full details and, sure enough, it's limited to years between 1901 and 2155, just 2155! In terms of life of an application 2155 is just around the corner, well not that any software has ever lived that long, but you get what I mean in the sense that we want our programs to be as little affected by time within what's reasonable given space constraints. So what will they do when they get close enough to that year, because you don't even have to be in that year to need it accessible, there could be references that point to the future, maybe for planning of some thing or user selected dates and whatnot; will they change the underlying definition of it as time passes so it's always shifted forward? If that's the approach they'll take, will they just tell everyone who's using this type that their older dates will just not be supported anymore and they need to migrate to a different type? YEAR-OLD? Then YEAR-OLDER? Then YEAR-OLDER-BUT-LIKE-ACTUALLY? Or, that if they plan to stay in business, they should move to SMALLINT? Or will they take the opposite approach and put out a new YEAR datatype every time the 256 range is expired like YEAR-NEW, YEAR-NEW-1, YEAR-FINAL, YEAR-JK-GUYS-THE-WORLD-HASNT-COLLAPSED, etc.?

    So I wonder, what's the point of this data type? It's just so incredibly restricted that I don't see even a hypothetical use. There exist other questions like this (example) but I think they all don't address this point: has anyone from MariaDB or MySQL or an SQL committee (I don't know if that's a thing) wrote up some document that describes the plan for how this datatype will evolve as time passes? An RFC or anything like that?

    11
    The 2nd Canvas is upon us! What will you be doing? | 12th July 2024

    What is this?

    For all you Reddit refugees this is like r/place. For all who don't know what that is either, this is a public, well, canvas, that will be freely accessible to anyone with a Fediverse account (specifics on the main post, don't worry, Lemmy is included). You'll be able to place (this is not place!!!) one pixel every certain amount of time on the canvas, either in an empty or an already used spot, overwriting it in the latter case.

    Where is this happening?

    Right over on https://canvas.fediverse.events/

    Announcement post and other related stuff:

    When can we participate?

    On the 12th July 2024, or 2024-07-12 for all you ISO lovers!

    Why should I care?

    I don't know, it could be fun and it's not like you have to do it alone, it's actually way more fun to partecipate alongside your fellow fediversers, sooo... monke together strong? If you have some particular interest and you want it represented, try to look for your people in the right communities, and organize together to make the best fricking piece of pixel art the world has ever seen!!

    From here I guess we can invite you to maybe make a little something for our lemy.lol instance's community, claiming a patch of land for ourselves as the (certified) best instance of the Fediverse (full disclosure: am admin of said instance). If we want to make something, we can probably make a Matrix room to coordinate our efforts! Otherwise, just go ahead and have fun with your loved <insert niche game/anime/film/any piece of media> and make something out of it!

    ---

    Lastly here's last year's final canvas to try to win you over (or scare you): !2023 Fediverse Canvas - Final state

    4
    Is there a way to automatically clean my home directory of app-specific directories?

    I saw that there's this nifty xdg-ninja that informs you on what you have installed that doesn't respect the XDG spec, if it has support for it or not and what you can do to make it comply. But now I was wondering if there was any tool to do the actual work automatically, I believe I have once seen a program that spoofed your home directory to non-complying apps so that you could transparently override their whole app data location to a path you wanted so they can keep functioning, but I can't for the life of me find it again. It would be double awesome if it did both, i.e. auto-applying any changes to apps that support XDG but need to be configured to enable it and, for those who don't, forcefully spoofing the home directory

    4
    [home manager] [solved] Is there a way to automatically import all .nix files in a directory?

    My solution:

    ```nix let

    nixFilesInDirectory = directory: ( map (file: "${directory}/${file}") ( builtins.filter ( nodeName: (builtins.isList (builtins.match ".+\.nix$" nodeName)) && # checking that it is NOT a directory by seeing # if the node name forcefully used as a directory is an invalid path (!builtins.pathExists "${directory}/${nodeName}/.") ) (builtins.attrNames (builtins.readDir directory)) ) );

    nixFilesInDirectories = directoryList: ( builtins.concatMap (directory: nixFilesInDirectory directory) (directoryList) );

    ...

    in { imports = nixFilesInDirectories ([ "${./programs}" "${./programs/terminal-niceties}" ]);

    ...

    } ``` snippet from the full source code: quazar-omega/home-manager-config (L5-L26)

    credits:

    ---

    I'm trying out Nix Home Manager and learning its features little by little. I've been trying to split my app configurations into their own files now and saw that many do the following:

    1. Make a directory containing all the app specific configurations: programs/ └── helix.nix
    2. Make a catch-all file default.nix that selectively imports the files inside: programs/ ├── default.nix └── helix.nix Content: nix { imports = [ ./helix.nix ]; }
    3. Import the directory (picking up the default.nix) within the home-manager configuration: ```nix {

    some stuff...

    imports = [ ./programs ];

    some other stuff...

    } ```

    I'd like to avoid having to write each and every file I'll create into the imports of default.nix, that kinda defeats the point of separating it if I'll have to specify everything anyway, so is there a way to do so? I haven't found different ways to do this in various Nix discussions.

    ---

    Example I'm looking at: https://github.com/fufexan/dotfiles/blob/main/home/terminal/default.nix

    My own repository: https://codeberg.org/quazar-omega/home-manager-config

    14
    jk, we still love you Gitea ..for now

    We all know who's the real steward of free software and federation

    \smiles in anticipation\

    --- legit had to draw the vector logo of Gogs for this, smh

    edit: actually... it already exists, oopsie (ᵕ—ᴗ—) smh my head

    37
    Can Filelight analyze MTP devices (Android phone)?

    I was trying to analyze my phone's storage through Filelight, but it just gets frozen after I select the phone's folder. I didn't find anything in Bugzilla regarding this problem. Is the protocol supported at all in the app?

    22
    Any keyboard finder website with good filters?

    I've been looking around to find a good keyboard for myself after having used a sad wireless membrane, so, after reading around a bit, as my first foray I decided I wanted a 75% with mechanical brown switches, but I'm finding it really hard to find a good list of keyboards that matches my description because I'd like the layout to be Italian and most, if not all of the ones I found are US instead, I'm not a touch typer so I still care about that.

    So is there any comprehensive website that allows you to filter by all the relevant characteristics?

    0
    How can I get automatic installation of updates?

    I've mostly been using the official F-droid app, but I've become tired of having to click install every single time there's a new update for an app. On a new phone I tried starting right away with Neo Store, which I know has that functionality, and in fact I haven't had to confirm installation of updates since on there, but on my old devices where I started with F-droid how can I get that to work? I believe I read somewhere that for this to work, the apps I want to update automatically need to be installed the first time from within the same app and, even then, only some apps that target Android SDKs from a certain point forward support that, so not all can benefit from this feature. So how can I make this change, do I have to uninstall every application from F-droid I have and reinstall them from Neo Store or is there an easier way?

    Edit: One other thing, even in Neo Store it seems I can't update without confirmation if I manually update only one app at a time and instead it works if I let it update everything by having "Auto-update" enabled

    20
    [Kate] [solved] How do I make sessions save the chosen folder?

    There's something I don't understand here: why when I do "Open Folder" and then save the session, closing it and opening it again I'm left with nothing? Instead, if I open some files in subdirectories, the next time I reopen the session I'm just presented with the parent folders of those files, but I really needed to have the topmost directory to be able to access the whole tree structure whenever I reopen the session.

    Is it possible? Or do I have to make a project?

    9
    Any Markdown editor that can convert to PDF?

    I've been using Quillnote for a long time now and this is a feature I've been sorely missing, are there other apps that can help me do the conversion?

    11
    How will forge federation affect issue tracking/reporting?

    I was thinking, with the recent news of a contributor to GitLab adding support for forge federation, given some time we could see that being enabled in the KDE instance as well, I hope. So that brings me to a question, if it will be used, will we be able to largely move to reporting and discussing issues on the specific project pages without signing up rather than going to the more generic Bugzilla? I was really hoping for something like this to happen because I find Bugzilla to be very dispersive and it feels hard to find the issues that you want, unless you remember the syntax needed to filter the results correctly every single time, so much so that I never signed up on there (but maybe I'm just too lazy and I never took the time to actually understand it). On the other hand I think most other issue trackers integrated in software forges are way more intuitive, as well as having better discoverability, since they're right there by the code base.

    If, instead, you won't do it and prefer to keep Bugzilla as the main issue tracking platform, could you tell us why? Is it to keep the developer discussions separate from the user ones so as to keep your GitLab more focused? Or would there be other reasons?

    3
    What is the best dark mode extension?

    In terms of the most balanced in speed, consistency in page rendering and good default settings, is there a clear winner?

    Personally I've been using both Dark Reader and Midnight Lizard on different devices and I can't say I noticed much of a difference in terms of performance, what I did notice is that Dark Reader seems to have better defaults, but many complain that it slows down page loading a ton, I haven't heard the same about Midnight Lizard, but maybe that is by virtue that it has way way fewer installations and therefore fewer people talking about it. Do you know if I've missed one and there is a totally different extension that does even better than both?

    21
    "Free" as in royalty-free

    Reposting this since the original got deleted (except on the instances where it was federated in time) when my beehaw account was erased alongside a week worth of data a few months ago. Came across the image and thought "why not post again?", I don't know if I still stand by the meme, but frankly I don't care...

    I just want to schizopost

    ⠛⠛⣿⣿⣿⣿⣿⡷⢶⣦⣶⣶⣤⣤⣤⣀⠀⠀⠀ ⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀ ⠀⠀⠀⠉⠉⠉⠙⠻⣿⣿⠿⠿⠛⠛⠛⠻⣿⣿⣇⠀ ⠀⠀⢤⣀⣀⣀⠀⠀⢸⣷⡄⠀ ⣀⣤⣴⣿⣿⣿⣆ ⠀⠀⠀⠀⠹⠏⠀⠀⠀⣿⣧⠀⠹⣿⣿⣿⣿⣿⡿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⠿⠇⢀⣼⣿⣿⠛⢯⡿⡟ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠦⠴⢿⢿⣿⡿⠷⠀⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠙⣷⣶⣶⣤⣤⣤⣤⣤⣶⣦⠃⠀ ⠀⠀⠀⠀⠀⠀⠀⢐⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⢿⣿⣿⣿⣿⠟

    44
    How can I search text of my own comments?

    Sorry if this is a dumb question, I was looking at the filter feature but I only saw that it can be used to exclude users, instead of including, maybe I overlooked some other option?

    0
    Moments before disaster...

    I won't confirm nor deny my wickedness, mein Fräulein

    0
    Any privacy respecting Instagram frontends?

    Since Bibliogram is dead, has any new project popped up? I found imgsed just now, but it doesn't look like it's open source as far as I can tell

    8
    Happy 32nd birthday to Linux!

    You may wonder: > It's 32 years old, so why does Tux look like a cub?

    To that I say: It's 32 years... young! Linux has never been more in shape than it is today :)

    spoiler

    You may title this as "The Curious Case of Benjamin ButTux", ooor not, that sounds suspiciously like "buttocks"

    ---

    Side note

    I wasn't expecting the birthday to come already, but, as it happens, I was working on my Tux design these past few days, so I felt hard pressed to release some celebratory art today when I found out. You can see the little guy being built right now in my laboratory repository: https://codeberg.org/quazar-omega/tux-reloaded

    I'll be posting a proper announcement when I feel like it's ready (if I don't get burned out before that X﹏X )

    3
    InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)QU
    QuazarOmega @lemy.lol
    Posts 30
    Comments 1.2K
    Moderates