[-] QuazarOmega@lemy.lol 2 points 12 hours ago

haha, yeah, I'm actually very impressed! And it's also something actually original, so double points

[-] QuazarOmega@lemy.lol 13 points 14 hours ago

Open source art

Where .kra file? ( ❛ ֊ ❛)

[-] QuazarOmega@lemy.lol 1 points 1 day ago

alright then, keep your secrets 👀

it is a one tap move

that's cool!

[-] QuazarOmega@lemy.lol 1 points 1 day ago

Thanks again, everyone!!!

btw, @samae@lemmy.menf.in, just updated my post with my solution as promised :)

[-] QuazarOmega@lemy.lol 4 points 1 day ago

Ahh, thank you

[-] QuazarOmega@lemy.lol 2 points 1 day ago

Locking this on request, as it's US-internal news. It's just the person that is from England, please go to the original post if still interested.

[-] QuazarOmega@lemy.lol 5 points 1 day ago

Outfits? What does it mean in this context?

[-] QuazarOmega@lemy.lol 1 points 3 days ago* (last edited 2 days ago)

I've analyzed the script a bit (..ok for more than 2 hours + 2 of refactoring), because the first time I absolutely didn't understand it, now I've got it, but still, I won't ever understand, why make the syntax so confusing?
My system definition shouldn't be a codegolfing competition (•ˋ _ ˊ•)

TL;DR: I liked your script as a challenge to learn even more and I'm glad I did! Now I know a quite a bit more about the functions that Nix provides and how to use them, not a lot, but better than my previous almost 0, so thank you!

Anyways, here's the unmangled thing explained for anyone else who's interested (wrote for plain evaluation, it's interesting what each part outputs):

{
  /*
  builtins.unsafeGetAttrPos "_" { _ = null; }

  yields:
  {
    column = 46;
    file = "/path/to/this/slightly-unholy-file-finder.nix";
    line = 14;
  };

  you want to get the value of the name (which is the "key" in this key-value list) "file"
  */
  filePath = (builtins.unsafeGetAttrPos "_" { _ = null; }).file; # absolute path to current file
  directoryEntries = builtins.readDir ./.;

  entryNames = map
    (node: "./${node}")
    (
      # get name of files
      builtins.attrNames
        (
          /**
          use the function from before to remove this file right here
          from the set (NOT a list) of nodes found by readDir
          (may be files, dirs, etc.)
          
          Why?
          Because we start reading from the path ./
          which is where this file is located, of course
          */
          builtins.removeAttrs
            (builtins.readDir ./.)
            [
              /*
              get the current file name with some built-in, 
              either un- or poorly documented function black magic fuckery
              (I really wasn't able to find any proper documentation on this function)
              */
              (baseNameOf (builtins.unsafeGetAttrPos "_" { _ = null; }).file)
            ]
        )
    );
}

run it with:

nix eval -f ./slightly-unholy-file-finder.nix

There were multiple problems with this solution as I tried it:

  1. The missing baseName on line 39 which was needed to actually filter out the file path of the script that is being ran, because the paths I got out of readDir were relative (just for me? Did I change something in my environment? I'm not usre, the docs aren't very clear)
  2. It doesn't filter out files that are not .nix files
  3. It doesn't filter out directories (may be intentional though, I personally don't think that's a great idea as far as I got)

I'll post later my own further improved solution starting from my own (tbh, by now more like our) script.

[-] QuazarOmega@lemy.lol 1 points 4 days ago

Feel free to steal the idea. I stole it from another post somewhere in here myself. 😄

Ahh I see, then it'll be an honor to copy from a true programmer.

We can only dream of dots.

Isn't the launcher backup the "dots" for this?

[-] QuazarOmega@lemy.lol 1 points 6 days ago

This is really cool! I have to steal the idea of using emojis as tags.
Btw, any dots? 👀

[-] QuazarOmega@lemy.lol 5 points 6 days ago* (last edited 6 days ago)

Both features are important IMO, reproducibility is for being able to define certain aspects of your machine in a way that you can nuke it and, as long as you have its configuration (declarative for Nix, other implementations might have it as imperative), bring it back just how it was set up, without differences or breakages; while immutability is for being always confident that whatever* you do to your machine, you won't be able to break it because the root, which holds the functioning core of your system, can't be messed around with, NixOS has both I believe.

*not really "whatever", because there are still some ways to break, but you have to be very deliberate in doing it (think rm -rf /*), but in normal operation you won't just somehow install something or upgrade your packages and be left with an unusable system

9
submitted 1 week ago* (last edited 1 day ago) by QuazarOmega@lemy.lol to c/nix@programming.dev

My solution:

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
  1. Make a catch-all file default.nix that selectively imports the files inside:
programs/
├── default.nix
└── helix.nix

Content:

{
  imports = [
    ./helix.nix
  ];
}
  1. Import the directory (picking up the default.nix) within the home-manager configuration:
{
  # 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

339
submitted 3 weeks ago* (last edited 3 weeks ago) by QuazarOmega@lemy.lol to c/linuxmemes@lemmy.world

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

11

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?

39
submitted 4 months ago* (last edited 4 months ago) by QuazarOmega@lemy.lol to c/fdroid@lemmy.ml

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

17
submitted 5 months ago* (last edited 5 months ago) by QuazarOmega@lemy.lol to c/kde@lemmy.kde.social

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?

[-] QuazarOmega@lemy.lol 170 points 5 months ago

And then everyone praises him for standing up against Google and Apple for crippling/banning third-party app stores, like, cool... but clearly he's just chasing money, not doing it out of the goodness of his heart for us poor gamers

14
submitted 7 months ago by QuazarOmega@lemy.lol to c/fdroid@lemmy.ml

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?

12
submitted 8 months ago* (last edited 8 months ago) by QuazarOmega@lemy.lol to c/kde@lemmy.kde.social

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?

61
submitted 8 months ago by QuazarOmega@lemy.lol to c/firefox@lemmy.ml

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?

362

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

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

5
submitted 8 months ago by QuazarOmega@lemy.lol to c/eternityapp

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?

14

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

42

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

view more: next ›

QuazarOmega

joined 9 months ago
MODERATOR OF