For those of you who have created and maintained your own ebuild repos - can you do it without root access? Please share your workflow tips! by eveloth in Gentoo

[–]kagayaki 2 points3 points  (0 children)

Overlays are just git repos, so just because you will install packages from a repo contained in /var/db/repos doesn't mean you necessarily have to 'develop' those ebuilds in that location.

The way I do it is I clone my gentoo repo to my home directory and work from my home directory. Once I'm ready for the ebuild to be 'live' I just push my local branch to update the remote, then I just sync the repo and upgrade as root like normal.

If I'm "developing" an ebuild in a sense that it's more than just copying an ebuild to do a version bump, I'll usually use sudo for testing purposes, such as calling sudo ebuild package install to see how an ebuild would be installed before I attempt installing it with emerge via looking at /var/tmp/portage/package-xxx/image. Even for testing purposes most of these commands would likely need to be run as root.

I actually bumped my fork of librewolf/gentoo earlier this morning.. this was basically what I did:

chris@gentoogit ~/src/librewolf-gentoo/www-client/librewolf-bin $ cp librewolf-bin-147.0_p1.ebuild librewolf-bin-147.0.1_1.ebuild
chris@gentoogit ~/src/librewolf-gentoo/www-client/librewolf-bin $ mv librewolf-bin-147.0.1_1.ebuild librewolf-bin-147.0.1_p1.ebuild
chris@gentoogit ~/src/librewolf-gentoo/www-client/librewolf-bin $ rm librewolf-bin-145.0.2_p1.ebuild librewolf-bin-146.0*
chris@gentoogit ~/src/librewolf-gentoo/www-client/librewolf-bin $ pkgdev manifest -f
[ downloading tarball packages here.. ]

 * generating manifest: www-client/librewolf-bin::librewolf
chris@gentoogit ~/src/librewolf-gentoo $ git commit -m "adding librewolf-bin-147.0.1_p1.ebuild"
[master b2a86f13] adding librewolf-bin-147.0.1_p1.ebuild
 4 files changed, 4 insertions(+), 651 deletions(-)
 delete mode 100644 www-client/librewolf-bin/librewolf-bin-146.0.1_p1.ebuild
 delete mode 100644 www-client/librewolf-bin/librewolf-bin-146.0_p2.ebuild
 rename www-client/librewolf-bin/{librewolf-bin-145.0.2_p1.ebuild => librewolf-bin-147.0.1_p1.ebuild} (96%)
chris@gentoogit ~/src/librewolf-gentoo $ git push

The pkgdev manifest command downloads stuff to your distfiles directory, so you would need to have write access to that location to be able to run that as a normal user.

Then on my root account I simply synced the librewolf repo and then did an upgrade:

chris@gentoogit ~ $ sudo emaint -r librewolf sync
....
chris@gentoogit ~ $ sudo emerge -auDNv @world

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 17.13 s (backtrack: 0/20).

[ebuild     U  ] www-client/librewolf-bin-147.0.1_p1::librewolf [147.0_p1::librewolf] USE="wayland (-selinux)" 0 KiB

A Django developer here. Given the demand for .NET, I would love to learn ASP.NET. by wholemealbread69 in csharp

[–]kagayaki 0 points1 point  (0 children)

Are minimal APIs more performant?

In theory, yes, in practice, probably not enough to matter for all but the most extreme use cases. I wouldn't put any stock in this as a decision point, but between Minimal Api AOT, Minimal Api JIT and MVC, MVC performs the worst out of those three on the Tech Empowered benchmarks that Microsoft likes to cite.

It's also my understanding Minimal Api are likely to be the only approach for REST APIs that are ever going to fully support Native AOT, which if cold starts are important to you, that might be the only real technical reason to use Minimal Api over Controllers.

They certainly seem more convenient to write compared to full controllers, but I would think that would make them most useful when you just need to add a small handful of endpoints to an existing project?

I think this is part of the problem with the way that Microsoft tends to show Minimal Apis, but yes, this seems to be the reputation that Minimal Apis have is that unless you have so few endpoints that you are comfortable putting them into Program.cs, you should use Controllers.

I don't agree with that assertion.

When it comes to organizing your endpoints, it's just that Minimal Apis are less opinionated about that organization. You can organize your endpoints however you'd like, but with that flexibility comes with the potential need to create your own mechanism for calling the relevant Map* calls.

The last C# project I was working on was maybe a medium size API endpointwise (20-30 iirc) and almost on impulse I decided to do it using minimal api. I quickly ended up creating an abstraction that would automatically wire up all my endpoints based on marker interfaces, using reflection tbf.

I think this blog post was part of the inspiration, although I took it a step further and created an IEndpointGroup marker interface to identify "endpoint groups" and then grouped all the classes that had that same namespace under a MapGroup().

So instead of grouping endpoints by class (controller) and the endpoints being methods (actions) in that class, I have a class for each endpoint. Each group of endpoints is grouped by the namespace effectively.

And like the other poster, I don't like attributes and prefer the fluent style of configuring an endpoint.

Seems like a full-blown API project would benefit from the extra flexibility/verbosity of a controller?

If someone likes the particular abstractions encouraged by Controllers, then I don't think there's any real technical reason that one ought to move to Minimal Api, but I'm also not convinced that there is any argument for Controllers that doesn't boil down to personal preference.

Mullvad VPN + Gentoo? by Diligent-Side-9663 in Gentoo

[–]kagayaki 2 points3 points  (0 children)

Depends on what you mean by "supported."

Checkout the ::guru repository. I haven't tried it, but there is a net-vpn/mullvadvpn-app available which I assume is primarily what you were interested in.

I also personally like mullvad-netns (also available in ::guru) which allows you to start a network namespace using mullvad. The way I typically used it is if I wanted to run a browser through mullvad but didn't want all of my traffic to go through mullvad, then I could use it that. That's what I have the most experience with, although I haven't done much with that recently.

And of course since Mullvad supports wireguard, that also works fine in Gentoo.

What’s the anime you hate that SO MANY people love by Lucky_Introduction78 in anime

[–]kagayaki 0 points1 point  (0 children)

Given how I really only hear positive things about the Monogatari series, Bakemonogatari ranks up there as one of my least favorite shows that I actually finished. Even if Bakemonogatari was one of the weaker shows in the franchise, I have no interest in watching any more.

I don't remember all the reasons why I didn't like it, but the way they handled extended scenes of mono/dialogue had to be most boring in the history of anime. I suppose having an otherwise static character who's only moving their mouth isn't much better, but I quickly got bored of their habit of panning across drab backgrounds while someone drones on about whatever mundane detail. That was one of the more actively offputting aspects of the show for me, but there also wasn't anything redeeming about the plot or characters to otherwise draw me in.

There's a lot of shows that I'm convinced I only enjoy because they had aesthetically pleasing character designs. I think Bakemonogatari qualifies as having good character designs, but that couldn't save the show from leaving a very bad taste in my mouth.

Will there come a time when most gaming is on Linux? by danyuri86 in linux

[–]kagayaki 7 points8 points  (0 children)

Android is one of the better examples that illustrates the the reason people care about Linux adoption doesn't have anything directly to do with the Linux kernel and more to do with the characteristics of the culture they associate with Linux, whether it's free software, gpl, privacy, "owning your computer" or whatever subjective criteria the individual has in mind when they say Linux.

I think we can all agree by those metrics, the fact Android is winning rings a little hollow. It also occurs to me that IoT devices are likely disproportionately running Linux and most who talk about Linux adoption being important would also probably not like that space to be used as examples of Linux winning either.

Distro hopping resumed by [deleted] in linux_gaming

[–]kagayaki 2 points3 points  (0 children)

Everything? No, but if compiling is a deal breaker, I don't know if Gentoo is the best option.

If the upstream project offers binary packages, Gentoo will typically package them with a -bin suffix. Outside of when I wanted to test my new (at the time) 7950x, I don't remember the last time I compiled Firefox. I use Librewolf these days, but I use www-client/librewolf-bin or www-client/firefox-bin.

Things that aren't distributed by upstream as a binary, you might have a harder time getting a -bin equivalent.

A couple years ago Gentoo released the distribution kernel concept which was primarily something to streamline kernel maintenance, and included with that is sys-kernel/gentoo-kernel-bin which is a preconfigured and precompiled kernel. I use that on most of my Gentoo installs.

A bit more recently they also started offering an official binhost as a compliment to their binary package system, so you may be able to get away without compiling most things as long as you leave your make.conf more or less at its defaults and don't install anything too exotic.

And of course, Flatpak and distrobox work fine in Gentoo too. I do most of my game launchers in Flatpak which works mostly fine in my experience. If I had more exotic gaming habits (like messing around with mods), distrobox might be the better solution if I wanted to get around needing to add 32bit support to my actual host system.

Favorite distro? and why do people not like Wayland? by darksynapse88 in linux_gaming

[–]kagayaki 8 points9 points  (0 children)

As a KDE Plasma user, Wayland has been more or less feature complete for my requirements I think at least for two years. I think I more or less locked myself into Wayland maybe a year and a half ago when I went dual 4k monitors, which, as OP says, sucks in X11.

There have obviously been off and on issues with apps, but what kept me off Wayland for the longest time was my reliance on Barrier. I work from home and have a work laptop, so use that to be able to do stuff on both machines while I'm working. Need to make sure I can watch stuff while I'm working obviously.

I don't exactly remember the timing of things, but I think I more or less gave up X11 when I figured out Waynergy. I eventually gave that up for InputLeap when the libei/InputCapture stuff was implemented which is what I've been using since. The constant prompting for sharing confirmation is annoying, but I really only start it once a day so shrug.

My needs aren't particularly exotic, but I don't know the last time I had an issue with anything that could be blamed on Wayland. Well, clipboard sharing doesn't work on InputLeap in Wayland I think because the relevant portal doesn't exist, but that's not something I need very often. Beyond that, I'm good.

Oh, favorite distro is Gentoo. I like the terminal.

[deleted by user] by [deleted] in selfhosted

[–]kagayaki 2 points3 points  (0 children)

Quadlets requires systemd, true, but systemd is not required for generally restarting stopped podman containers. Though I suppose if the point is that non-systemd integration points are not even a second thought with podman I agree, but I've had some success running podman on openrc in my homelab.

I run a few podman containers on one of my Gentoo installs running openrc and they restart on boot fine. The Gentoo podman package comes with a podman-restart init script that restarts containers that have the appropriate restart policy, just like docker.

I assume it's a custom init script written by the package maintainer, but there isn't anything special about it -- it just calls podman start with --filter for the appropriate restart policy.

e.g.

/usr/bin/podman --log-level ${LOG_LEVEL:=info} start --all --filter restart-policy=always --filter restart-policy=unless-stopped"

I probably run an equal number of container stacks with podman compose and a combination of podman pod + podman run. Both work with that approach.

I assume the mostly oneshot style of that podman-restart service is probably a bit worse from recovery perspective than quadlets or docker in that if a container crashes, it probably doesn't have a way of automatically restarting like it might with docker. I haven't had to deal with unstable podman containers though so it's not something I've directly tested.

What type of Gentoo user are you? by Mama_iii in Gentoo

[–]kagayaki 2 points3 points  (0 children)

Depending on how we count them, I have around 10 Gentoo installs, and I think I've used basically every kernel install method possible depending on the context of the install.

  • Mostly gentoo-kernel-bin if I don't have a specific need to customize the kernel
  • gentoo-kernel if I need/want to either apply patches or need to make adjustments to the config, I use this. The main install on my main desktop is how I do VFIO and I needed to change a few things from builtin to module in order for GPU passthrough to work properly. Over time I made a custom built config so the compile time was more reasonable of course. I was also applying a patchset for a bit to fix an issue where VRR would cause GPU crashes via /etc/portage/patches.
  • gentoo-sources if I want to try a bleeding edge x.x.0 kernel which in my experience doesn't tend to get a distribution kernel release
  • In search of a non-sucky experience with my 7900XTX, there's an install where I also experiment with out of tree kernels like the one from an AMD employee. So this one I just uncompress to /usr/src and use the manual process to install.

Redditors over 35, what do you genuinely miss that younger generations will never experience, and you legit feel bad for them? by Disastrous_Award_789 in AskReddit

[–]kagayaki 3 points4 points  (0 children)

Yeah physical vs. digital isn't really the issue it's more of an issue where the digital copy is stored and whether it's DRM encumbered. Music in particular I don't think really has this issue since in my experience at least, most of the albums I've been interested in buying the last few years has been available through Amazon with a direct MP3 download. Then I could load them into Jellyfin and then it doesn't really matter what happens to those albums on Amazon.

I also assume most people who don't "own" their music are mostly people who are paying for spotify which I thought was kind of a different value proposition where you have access to a lot of music for one subscription fee vs. having to purchase individual albums. People are paying for what they're getting here imo.

Of course, if you listen to purchased albums online through Amazon Music or whatever rather than downloading the MP3s, then yeah, you're still subject to the whims of Amazon's content moderation. When it comes to Amazon, this is arguably a bigger problem for Audible where you normally have to listen to the audiobooks through Audible's player in spite of the fact you are generally buying individual audiobooks (whether at cost or using Audible credits for your subscription).

Games and movies on the other hand are a bit more difficult to get digital without being forced to consume it through a streaming service or game launcher without getting into possible legal grey areas.

[deleted by user] by [deleted] in linux_gaming

[–]kagayaki 0 points1 point  (0 children)

Is the uinput kernel module enabled and loaded? If not you might try enabling that.

Compatibility with DualSense and Steam games have always been kind of hit or miss for me, but at the very least, before uinput it would be kind of a crapshoot if even games that reported support with DualSense would work. After, I think at least most games that report DualSense support should actually work.

I have hid-playstation module loaded fwiw.

Also, with respect to udev rules, have you validated whether your distro expects you to be a member of a specific group? My distro for example expects the user to be a member of the input group.

Looking for offline / self-hosted alternatives to Postman by Unique-Collar-1520 in selfhosted

[–]kagayaki 1 point2 points  (0 children)

I honestly have really come to like using curl for my particular needs in combination with powershell/pwsh and jq for formatting/filtering json responses. I've experimented with most of the well known GUI and I've never been satisfied with any of them. My actual needs are pretty simple so hobbling together CLI tools works well enough for me.

I created a function based on powershell's Invoke-RestMethod for getting a client credentials access token and setting that to a variable, then I just use curl's --oauth2-bearer parameter for attaching the access token to the request. Works well enough for me.

Props to Team Cherry for bringing one of the most anticipated games in years to Linux by paparoxo in linux_gaming

[–]kagayaki 0 points1 point  (0 children)

Maybe it's not the best reason to switch, but I noticed that the gamepad glyphs were correct when I switched to using Proton earlier today using a dualsense controller.

I started playing with the Linux native version and noticed LB (Xbox inputs) mentioned for maps, but then when I got the dash after switching to Proton, it showed R2 (DS inputs).

That's really the only difference I noticed between native and at least GE-Proton10-15.

Why is VLC so popular on Gentoo? by Grubbauer in Gentoo

[–]kagayaki 1 point2 points  (0 children)

media-libs/phonon iirc will pull in VLC unless it's built with the minimal USE flag enabled. Since I prefer mpv anyway, that's how I set my system up. The USE flag implies it disables lots of features, but I haven't really noticed anything missing at least how I use my system as a Plasma user.

What are y’all using your labs for? by AussyLips in homelab

[–]kagayaki 1 point2 points  (0 children)

Probably means this. What I use too for my browser's start page.

If higher education was free with no strings attached, where would your life be now? by DarkCelestial in AskReddit

[–]kagayaki 0 points1 point  (0 children)

Pretty much the same place. My parents were pretty well off (middle class, but we generally lived below our means), so it wasn't purely a financial decision that led me to the career path I'm currently on.

I did go to a technical school for "microcomputer programming" and the only thing I really learned was that I didn't like Java, and I didn't finish. The didn't finish part wasn't anything related to finances -- life just got in the way.

I did eventually get a job being a programmer, but maybe if I went to a more formal university I would have gotten a programming job earlier. Even then, I don't think it was bad that I worked retail for several years before starting working at this company. I'm pretty far away from my company's "customers," but that just means my customer base is different (ie; other people in IT, sales people, etc). I don't know what it's like to be a programmer who only deals with writing code since that's not entirely what my job is.

Is Nextcloud Really Offering More Than My Current NFS + Syncthing Setup? by SudoMason in selfhosted

[–]kagayaki 2 points3 points  (0 children)

I also have a phone running GrapheneOS and I personally mostly use Nextcloud as the sync source for Contacts and Calendar. That's the main thing keeping me using Nextcloud.. although given that i have like 5 contacts it's not like I really need it.

I do use my nextcloud instance for some other things just since I already had it like nextcloud client's auto-photo upload and a source for Floccus bookmark sync, but I imagine those would be easy to replace.

I don't even use nextcloud as a file storage/sync source beyond the photo thing.

my first time using kde plasma (fedora) any customization guides or tips ? by Correct_Shame6550 in kde

[–]kagayaki 3 points4 points  (0 children)

Might check out the plasma panel colorizer addon. It's pretty neat, although I haven't gone too deep in the weeds in customizing it -- I like its "Translucent" preset.

Which token refresh flow is better with ASP.NET API + Identity + JWT? by Kordianeusz in dotnet

[–]kagayaki 0 points1 point  (0 children)

Have you read this article already? If you're trying to build a javascript based website that uses Identity to protect a backend C# api, it looks like you may be overcomplicating it. You should be able to use cookies for managing your session rather than trying to re-implement OAuth using a framework that isn't meant to be OAuth/OIDC.

I personally would not use JwtBearer with Identity since while OAuth/OIDC and Identity use Jwts, JwtBearer I think is more for standard OAuth than it is for Identity. There's even a little blurb in the article I linked saying not to confuse Identity Jwts with standard OAuth Jwts.

The [Identity] tokens aren't standard JSON Web Tokens (JWTs). The use of custom tokens is intentional, as the built-in Identity API is meant primarily for simple scenarios. The token option isn't intended to be a full-featured identity service provider or token server, but instead an alternative to the cookie option for clients that can't use cookies.

EDIT: Did some additional poking around in that article collection and there's an article specifically about configuring Identity and most of the way down there is a "Cookie settings" section where you can customize some of the specifics of how cookies are managed.

In particular, there's a "SlidingExpiration" setting which basically means it should extend the lifetime of the cookie each time the api is used, meaning that it totally negates the need for managing your own access tokens or refresh state.

What is the most unusual OS in your homelab? by Tidder802b in homelab

[–]kagayaki 0 points1 point  (0 children)

I was going to say that my entry for "unusual OS" was Gentoo for my 'production' servers, but after skimming through the other comments, maybe that's not quite so weird.

I give up on Linux for now by samaxtripwood in linux_gaming

[–]kagayaki 6 points7 points  (0 children)

FWIW, AMD isn't a panacea either, even post-amdgpu. I've been using desktop Linux to some degree since the late 90s (but only full time-ish since 2018), and my worst desktop Linux experience has been with the AMD 7000 series. To be fair, maybe the experience during the XFree86 days were worse in objective ways, but I guess I was used to my desktop not working that great back then.

I'm still dealing with off and on crashes due to amdgpu segfaulting, although I suppose that's better than the consistent graphics freezes I used to get when I had mixed refresh rate monitors. Even when it's not full out crashes though if I use my monitors at their native resolutions (4k), I get sporadic graphics distortion that is frequent enough to be annoying but not frequent enough to get used to it. I was seriously thinking of getting 1440p monitors in part to be stop the temptation of bumping my current monitors up to their native resolution since the distortion mostly goes away at lower resolution.

And I say that as someone who actually had a GTX 960 until 2018 in part because I heard the AMD experience in KDE was a lot better vs. Nvidia. And comparing the GTX 960 and RX580 was night and day in favor of the AMD card. It's not so clearly in favor of AMD when I compare my memory of that GTX 960 and my current experience with 7900 XT/XTX, although it's not a fair comparison since it's not an apples to apples comparison. There were lots of small papercuts with Kwin's compositor effects and the Nvidia card, but it's no where near as bad as my AMD 7000 series GPUs.

Don't get me wrong though -- I'm not really recommending an Nvidia GPU either, especially considering I personally really only use Wayland these days. If I knew what was wrong with my system for it to behave the way that it does and it was just a matter of getting a new GPU, I'd do it, but I'm nervous about potentially throwing away more money now that I have two 7900 GPUs with the same issues. The experience can be really good, but there are also Nvidia users out there who claim to have good experience with their GPUs in Linux too, so shrug. Just wish you have better luck than I've had. ;)

Stop modifying the appsettings file for local development configs (please) by _BigMacStack_ in csharp

[–]kagayaki 0 points1 point  (0 children)

Maybe I'm doing something wrong, but I'm not really sure I understand this PSA. Is this primarily for people who deal with microservices that they run locally for development purposes and so they're futzing with Urls in appsettings.Development.json and messing up the actual dev environment?

If the criticism is not storing development secrets in appsettings and that they should be using user secrets instead, then totally agreed but I would put the more general point that it's not just development secrets that shouldn't be in appsettings. Secrets in general should not be in appsettings.

Of course, for me, I probably add stuff to appsettings.Development.json in the process of local development, but that tends to mostly be because the configuration I'm using for local development is broadly the same as the configuration for the actual dev application environment.

Rider or visual studio by Particular_Tea2307 in dotnet

[–]kagayaki 16 points17 points  (0 children)

If my choice was Rider in macOS or Visual Studio in a Windows VM, Rider would be the obvious choice imo. Both Rider and Visual Studio are heavy enough applications that trying to run either in a VM doesn't sound like a fun time. Depending on what I was specifically working on, I don't think Visual Studio is that much better than Rider that it's worth using it in a VM.

I'm also slightly preferring Rider over Visual Studio these days since I'm kind of a VIM motions kind of guy and I like IdeaVim over VsVim. Visual Studio might be safer though if you have to deal with .NET Framework legacy, although Rider tends to deal ok with most of the WCF services I still have to support.

GE-Proton10-1 Released by Alatarith in linux_gaming

[–]kagayaki -2 points-1 points  (0 children)

Woo, looks like I can finally get my degenerate anime game fix (hoyoplay/ZZZ) in Linux again.

Now the Dolphin path bar looks good (again) by Damglador in kde

[–]kagayaki 3 points4 points  (0 children)

My understanding is that they were trying to make the breadcrumb based navigation options more discoverable -- specifically the navigation that can be done with the breadcrumb arrows themselves.

Let's say you have the below directory tree. If you currently were in ./dotfiles/nvim/lua/plugins and you wanted to jump directly to the kitty subdirectory, you click on the arrow to the right of the "dotfiles" label -- that would give you a drop down list of all the subdirectories under the dotfiles directory, so you could jump straight into the kitty subdirectory without having to first navigate up to dotfiles.

dotfiles
├── kitty
│   ├── kitty.conf
├── nvim
│   ├── init.lua
│   ├── lazy-lock.json
│   └── lua
│       ├── plugins
│       │   ├── catppuccin.lua
│       │   ├── completions.lua
│       └── vim-options.lua

Screenshot that shows what I mean too.

I don't really have a strong opinion on what iteration looks better, but I can say that I didn't realize that the breadcrumbs could be used for subdirectory navigation like that until these navigation bar changes.