Drones Intercepted Near Base Hosting U.S. Troops In Iraq’s Kurdistan (Videos)
Drones Intercepted Near Base Hosting U.S. Troops In Iraq’s Kurdistan (Videos)
Two drones were shot down late on July 1 over the province of Sulaymaniyah in the northern Iraqi semi-autonomous region...Anonymous1199 (South Front)
NATO has picked a new ‘threat’ to bully
NATO has picked a new ‘threat’ to bully
The alliance’s latest summit avoided confronting China but could not cover up the efforts to contain the Asian great powerRT
Three Years of Nix and NixOS: The Good, the Bad, and the Ugly
Three Years of Nix and NixOS: The Good, the Bad, and the Ugly
A review of Nix/NixOS after using it on all my machines for three years. I'll cover what works, what doesn't, and why it's the first OS that's stuck with me.Pierre Zemb's Blog
like this
Starlink's Secret War: How Musk Is Powering a Covert Campaign Against Iran
Elon Musk Activates Starlink to Help Topple Iran’s Regime
After a Trump advisor called for regime change, Musk activated Starlink to aid a covert U.S. effort to undermine Iran’s government.Alan Macleod (MintPress News)
The Best-Selling Apps Made By Israeli Spies
The Best-Selling Apps Made By Israeli Spies
A new frontier for the BDS movementNate Bear (¡Do Not Panic!)
like this
Brazil's Victory for Digital Sovereignty
Brazil's Victory for Digital Sovereignty
Despite years of campaigning for impunity by the Bolsonaros and the American far right, a Supreme Court ruling has increased social media corporations' accountability for internet crimes.Brian Mier (De-Linking Brazil)
like this
like this
Telesur is not going to get censored by Brazilian law lmao, if platforms did that it would be a reprisal for being made to follow Brazilian law.
There is no good argument for the US oligarchy to get final say over the govts of the countries using their services, but this is even crazier to say when US platforms are littered with mysteriously unmoderated Nazi content. Get real?
like this
I'm the one spinning fairy tales?? You're telling me that these companies aren't already blocking people in accordance with their own policies shaped by those very organizations? I just think there is a misunderstanding here, because Bolsonaro would never do anything like this but you're reframing it as a win for him.
I sure hope nobody thinks of Brazil as a magic kingdom where only good things happening. For the govt there to actually grow a backbone and limit the influence of the orgs that are encouraging their petit boug to be little pro-US Evangelical nightmare beings would ve fantastic. The dominance of US tech & media is very very bad and other countries need actual sovereignty (like enforcing their laws on multinational companies and not legalizing their activities - at a bare minimum, as relying on them at all is a result of being deliberately underdeveloped)
These companies are very entwined with US state power it's imperialism and the privatization of the state that is an issue not third world sovereignty itself
like this
No it's not! I hope you can see that uninhibited unlawful access by multinational media & telecom companies is exactly what leads to the establishment of comprador figures like Bolsonaro, who dislike Telesur's politics.
I'm actually glad you've raised this, as it helps me develop my thoughts on social libertarian left tech activism & its limitations. One of its dubious accomplishments is watering down the wrongs done by the US & allied governments with pop social science into generic anti-authoritarian rhetoric, and opposing actions by neo-colonized countries which limit foreign soft power + capital
like this
In 2014, after years of debate, Brazil's Congress ratified Law 12.965/2014, the Internet Civil Framework. This law required social media companies to delete posts and deplatform users who broke Brazilian laws. However, it placed the burden on Brazilian courts to identify the posts and accounts.
Is this meant to apply to all "users" of the platform or only Brazilian Citizens?
If it applies to Brazilian Citizens, that's all fine and good. But if I break brazilian law by criticizing their government, is lemmy.ml expected to "deplatform" and "censor" me?
I read the article. In-fact I started this thread asking for clarification to whom these laws apply. Then you went off on a tangent about Zuckerberg and implied i'm a "chud." So let me state how I think these laws apply, tell me if this is correct.
The Nation of Brazil passes a law that says the users of a website have to abide by Brazil's laws. I don't know what they meant by that, I assume lemmy.ml that is not hosted in Brazil isn't expected to know nor care about what Brazil's laws say. But if that were the case, then Facebook also wouldn't be expected to know nor care about what Brazil's laws say. The citizens of brazil that use facebook? Sure, they should be subject to those laws. But why should any other entity that exists outside of Brazil be obligated to know nor care about Brazilian law?
Those details seem pretty important, and the article doesn't address them at all, it merely says that Brazil's supreme court says that website are required to "deplatform" and "delete posts" of users who broke the law. But why should lemmy.ml abide by brazilian laws?
Lemmy.ml should abide by Brazilian laws because otherwise they'll get blocked in that country. I'm not much of a free speech fanatic. Ideally if people post a bunch of Nazi shit then Brazilian ISPs will be legally obliged to block it. The socdems in Brazil are rather lame so I have little faith in all of the "dark humor" Fb and Telegram groups getting nuked.
I'm not a lawyer, but, if you understand this isn't even a new law and it's just the end of impunity for US companies I don't see why you would frame this as an imminent threat to free speech. That's why I doubted you read.
Taiwan to simulate Chinese invasion in major drill
like this
Peoples and Regimes: Anti-Imperialism and the Islamic Republic of Iran
Peoples and Regimes: Anti-Imperialism and the Islamic Republic of Iran
In the Global South, state structures, particularly those tied to militarization and sovereignty, are vital to social reproduction, national dignity, and regional solidarity.Max Ajl
Spanish MEP wants ban on Israeli military companies accessing EU funds over Gaza
A Spanish member of the European Parliament said Wednesday he wants the European Commission to ban Israeli military companies from accessing EU funds, citing their potential use in the war in the Gaza Strip, Anadolu reports.
Nacho Sanchez Amor, a socialist MEP and member of the European Parliament’s Subcommittee on Human Rights, said the EU must avoid “double standards” in addressing human rights violations.
“The EU cannot fall under double standards when it comes to HumanRightsViolations & it cannot be accessory to Netanyahu genocidal actions,” Amor wrote on X, referencing Israeli Prime Minister Benjamin Netanyahu, who has pursued a war of genocide against the Palestinian population in Gaza since late 2023.
ICE wants to work in secret. We shouldn’t let it
ICE wants to work in secret. We shouldn’t let it
Journalism about ICE is increasingly under attack by officials who prefer government propagandaFreedom of the Press
The Massive Economic Impact of Deportation in California
The Massive Economic Impact of Deportation in California • FrankNez
Explore the Deportation Economic Impact in California, where millions face economic loss and threats to key industries.Randros (FrankNez)
8BitDo announces its controllers now have Steam (SteamOS) compatibility
8BitDo announces its controllers now have Steam (SteamOS) compatibility
8BitDo says its controllers are now compatible with Steam/SteamOS. The announcement specifically mentions three models and advises users to update their controllers and Steam client to the latest version.Habeeb Onawole (Notebookcheck)
like this
If I remember correctly, Valve stated that for being "Steam certified" the controller needs to have capacitive joysticks to regulate the gyro, similar to the "Horipad" that they partnered to release.
I was hoping that 8bitdo would launch a controller that actually has this because it makes gyro much more viable, to the point that I really don't like using gyro without that.
But this announcement is just to indicate explicit compatibility for steam input (which has been available in the beta for a while, btw). I don't think this is a huge change since technically they were compatible before too.. even if it was through the xinput / dinput interface without being recognized as 8bitdo.
Meta’s $100M “Zuck Bucks” Bet Reignites AI Talent War
Meta’s $100M “Zuck Bucks” Bet Reignites AI Talent War
Mark Zuckerberg wants Artificial Superintelligence—and he’s not waiting in line. Over the past month, the Meta CEO has turned talent-hunting into a full-contact sport.GazeOn Team (GazeOn)
Folks not buying PCs from US vendors 'tariff' stockpiles
Folks aren’t buying the PCs that US vendors stockpiled to dodge tariffs
World War Fee: Plus: Consumers respond to imminent Win 10 cutoff date with collective 'Meh'Dan Robinson (The Register)
like this
MPs vote to take forward 'brutal' cuts to disability benefits
MPs vote to take forward ‘brutal’ cuts to disability benefits: ‘It will come to haunt this government’
MPs from all parties slammed the cuts to disability benefits, which will push an estimated 150,000 people into poverty, in a five-hour debate.Isabella McRae (Big Issue)
[Question] Fedora KDE defaults to console mode if I don't turn on the display during boot-up
startx
isn't hard, but I would like not to. Tnx!
Milfy Way, or Milfky Way.
\
(Aka The way of the milf.)
It's such a shitty joke (my brainhole entertains itself in the stupidest, nonsensical, basic ways).
UK and Germany prepare to sign wide-ranging mutual defense treaty
UK and Germany prepare to sign wide-ranging mutual defense treaty
Under the pact, any strategic threat to one country would represent a threat to the other.Esther Webber (POLITICO)
Scientists identify a speech pattern that is a clear indication of a person in cognitive decline
This speech pattern is an indicator of a brain in cognitive decline - Earth.com
Word-finding difficulty (WFD) - frustrating “tip-of-the-tongue” moments when meaning is clear but the word or sound won’t surface.Eric Ralls (Earth.com)
Russia ramps up offensives on 2 fronts in Ukraine as both sides seek an advantage
Russia ramps up offensives on 2 fronts in Ukraine as both sides seek an advantage
An emboldened Russia has ramped up military offensives on two fronts in UkraineSAMYA KULLAB Associated Press (ABC News)
Best Ever Image of a Star’s Surface and Atmosphere - First map of motion of material on a star other than the Sun
Best Ever Image of a Star’s Surface and Atmosphere - First map of motion of material on a star other than the Sun
Using ESO’s Very Large Telescope Interferometer astronomers have constructed the most detailed image ever of a star — the red supergiant star Antares.www.eso.org
I hope all of you tankie roaches meet the same fate as Donbas cowboy, Russell Bentley.
Bentley’s wife, Lyudmila, then claimed that Russian soldiers from a tank battalion abducted him.According to the Investigative Committee, Vansyatsky, Agaltsev, and Iordanov tortured Bentley on April 8, and he died shortly afterward.
Vansyatsky and Agaltsev are suspected of blowing up a car with Bentley’s body in it and ordering Bazhin to get rid of what was left of his remains.
Imagine what was going through Bentley's mind as his fellow Russians were torturing him to death.
You are all vile and disgusting scum. Let's hope one day you get to experience Bentley's last moments.
Better late then never, right?
I hope Dessalines in particular gets a taste of russian culture by getting closely acquainted with some champagne bottles (russian style).
Russian Soldiers Charged With Involvement In American's Death
Russell Bentley, a Texas man who as the "Donbas Cowboy" gained notoriety for joining Russian-backed forces in eastern Ukraine, was tortured before being killed in the Russian-occupied Ukrainian city of Donetsk, Russian authorities said.Current Time (RFE/RL)
US halts weapons shipments to Ukraine over fears stockpiles are too low
The Pentagon has halted shipments of critical US Patriot air defence systems and other precision weapons to Ukraine after concern that US stockpiles are running too low, prompting alarm in Kyiv.
At the end of last week’s Nato summit, Donald Trump hinted that supplies of Patriot missile interceptors were running down because some had been supplied to Israel, though he suggested he would like to help Kyiv.
After a meeting with Ukraine’s Volodymyr Zelenskyy, the US president acknowledged that Ukraine did “want to have the anti-missile systems, as they call the Patriots, and we’re going to see if we can make some available”.
But Trump added: “They’re very hard to get. We need them. We were supplying them to Israel,” implying that supporting Israel in its war with Iran – a priority for the Republican administration – had set back its willingness to help Kyiv.
US halts weapons shipments to Ukraine over fears its stockpiles are too low
Some shipments have been stopped ‘to put America’s interests first’, White House saysDan Sabbagh (The Guardian)
☆ Yσɠƚԋσʂ ☆ likes this.
Trump’s Budget Just Passed the Senate. Brace for a Massive Increase in ICE Raids.
Masked immigration enforcers have swept through American cities in the months since President Donald Trump took office, using flash bangs during restaurant sweeps, slamming people’s heads into the ground, violently arresting gardeners on video, and provoking mass protests against their raids. This may only be the beginning.
The massive Senate budget bill, which passed on Tuesday and awaits a final House vote, gives Donald Trump’s administration the money to rapidly ramp up mass deportation to unprecedented levels, according to immigration experts.
U.S. Immigration and Customs Enforcement will have a budget for more officers than the FBI. The nation’s immigration detention centers will have more funding than the federal Bureau of Prisons.
There may be only one limit on how fast the Trump administration can spend: how quickly it can hire.
Trump’s Budget Just Passed the Senate. Brace for a Massive Increase in ICE Raids.
The budget gives $175 billion to immigration enforcement. “The orders of magnitude are going to be multiplied,” immigration experts say.Matt Sledge (The Intercept)
☆ Yσɠƚԋσʂ ☆ likes this.
California fireworks warehouse catches fire and explodes
California fireworks warehouse catches fire and explodes
A warehouse storing fireworks in California caught fire and exploded Tuesday, sending a fireball into the air, launching debris and causing pyrotechnics to detonate above the site, according to officials and video from the scenePhil Helsel (NBC News)
French police arrest ‘incel’ suspected of planning knife attack on women
An 18-year-old French man who claimed affiliation with the misogynist “incel” movement has been arrested and placed under formal investigation on suspicion of planning attacks targeting women, France’s national anti-terrorist prosecutor’s office (PNAT) has said.
The arrest on Wednesday was part of PNAT’s first case linked to the “incel” (involuntary celibate) movement, an online network of men motivated to engage in violence against women whom they believe unjustly reject their sexual or romantic advances.
PNAT confirmed on Tuesday that it had opened a judicial investigation “against a young man, aged 18, claiming to be a member of the incel movement”, adding that he was being investigated for allegedly “associating with terrorist criminals to prepare one or more crimes against people”.
French police charge ‘incel’ suspected of planning knife attack on women
Detention of 18-year-old man part of anti-terror police force’s first case linked to involuntary celibate movementGuardian staff reporter (The Guardian)
OBS does not allow me to create a new pipewire screen (only one works)
How come when I try to create a new obs screen, it is black, whether or not i toggle off the visibility on Screen Capture
and how do i get it to show the capture settings, like which monitor, or what portion of the screen, to be clear, the! first capture works, for some reason no other capture i try to create is letting me configure or display anything
^ Image \
pastebin.com/AzKCZ8Tt \
^ Logs \
imgur.com/a/K7pMA4p
\
^ Video \
There is a chance this might be related to another issue I had, but I dont know a fix (I have to manually add what portals I want to install due to a bug, but I have the plasma portals so that should be enough?)
debug: Found portal inhibitordebug: Attempted path: /app/bin/../share/obs/obs- - Pastebin.com
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.Pastebin
There's a multitude of things going on here probably, but you need some debug logs to find. My guess is because your machine probably has multiple GPUs enabled, it's picking the inactive one, or you have multiple portal methods install and it's choosing the wrong.
Can you get some logs?
I have the hyprland portals installed, and the kde ones, due to some issue I had to explicitly install them so idk if that will mess with the way applications handle it, assuming not, and yes I have two gpus, one dgpu, and one igpu, the dgpu is directly connected to my hdmi, does OBS stuggle with 2 gpus? still, that sounds like it would be a issue with capturing the monitor managed by my igpu. Not a reason to stop a second pipewire capture.
What logs do you need? I provided some from running OBS but i assume it isnt enough, what logs should I collect, or is there a flag i need to run with OBS
Missed your logs link, but there's some hints in there.
You have both an Intel GPU and Nvidia GPU in that laptop, and it's selecting your Intel while trying to use Nvidia compatible settings. So you need to try and force everything to either work on Nvidia, or everything to work on Intel. It can't do both without splitting the settings per GPU, which I don't think is an option in OBS.
I tried nvidia-offload, as I set up PRIME awhile ago, it didnt help, here is the logs, if its useful:
pastebin.com/CiJ4Zyjw
Idk if OBS would actually respect the GPU being handed to it, or if it'll do something weird with screen capture, its weird per-gpu settings is not a option with OBS, if this is a OBS bug, i can file a bug report. Hopefully it can be resolved here.
[spiderunderurbed@daspidercave:~/tmp2]$ nvidia-offload flatpak run com.obsproj - Pastebin.com
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.Pastebin
Well in that log, it actually DOES use the right GPU. There are some other errors you have going on in there though, like you seem to have AV1 encoding selected somewhere in your settings, but this RTX 3070 doesn't support AV1 encoding (on the fly) AFAIK.
Try launching the app this same, setting all your hardware encoding stuff back to defaults, then see if you can get it working. In these logs it IS picking up the second pipewire display, so that's good, but launch this way again without AV1 enabled then upload the logs again and let's see what's happening.
UN report lists companies complicit in Israel’s ‘genocide’: Who are they?
UN report lists companies complicit in Israel’s ‘genocide’: Who are they?
UN Special Rapporteur Francesca Albanese has named several US giants among the companies aiding Israel.Federica Marsi (Al Jazeera)
Boycotts do not work. Israel needs a constant kick in the balls.
Problem is, Israel’s balls are nested safely inside the mouth of every sitting US President. 😂
All Programming Languages are Fast
All Programming Languages are Fast
Well, at least the serious ones. In recent years, software got much slower, basically killing all advances in hardware performance. Finally, software performance got to the front of debate.OrgPad
Sadly, I get an error trying to subscribe to that from mastodon.scot. The URL I get directed to is
"mastodon.scot/activitypub/exte…"
which mastodon.scot barfs on.
Macron urges Putin to agree ceasefire with Ukraine, in first talks since 2022
Macron urges Putin to agree ceasefire with Ukraine, in first talks since 2022
French and Russian leaders agree the crisis around Iran’s nuclear program must be solved by diplomatic means alone.Elena Giordano (POLITICO)
Fennec with Google as a standard search engine
However, after the last Fennec update (140.0.0), I was surprised to have Google as a standard search engine.
What do you think of this? Someone with this same experience?
From steel mills to solar panels: China is quietly supplanting Russia as Cuba’s main benefactor
From steel mills to solar panels: China is quietly supplanting Russia as Cuba’s main benefactor
China is financing 55 new solar electricity projects across Cuba in 2025 Chinese ships arrive at Mariel port carrying solar panels, parts and fuel Meanwhile Russia’s...Malay Mail
ThisDayForwardBetty
in reply to ikidd • • •Vincent
in reply to ThisDayForwardBetty • • •So, I've only played around with NixOS on a Raspberry Pi, but... Don't people usually split their config up in multiple files, and then store than in a Git repository?
The process then still is: check out that Git repository, except there's another step: copy over your private key so that you can decrypt your secrets.
Is that correct? Or did I make things needlessly complex for myself?
dblsaiko
in reply to Vincent • • •I don’t have any secrets in my config or a private key or anything and I’m currently running 4 servers from the same config (it used to be 8 or even more machines at some point even, including desktops).
But yes, it’s a multi-file config, it would be absolutely crazy to not split it up with how large it is.
systems - NixOS system configurations
git.dblsaiko.netVincent
in reply to dblsaiko • • •balsoft
in reply to Vincent • • •I store my secrets in a separate private git repo and automatically decrypt them with my hardware key (github.com/balsoft/nixos-confi…) so for me it's literally just plug in my yubikey and
nixos-install github:balsoft/nixos-config#hostname
nixos-config/modules/secrets.nix at master · balsoft/nixos-config
GitHubVincent
in reply to balsoft • • •balsoft
in reply to Vincent • • •Vincent
in reply to balsoft • • •OhVenus_Baby
in reply to Vincent • • •Vincent
in reply to OhVenus_Baby • • •OhVenus_Baby
in reply to Vincent • • •∞🏳️⚧️Edie [it/it/its/its/itself, she/her/her/hers/herself, fae/faer/faer/faers/faerself, love/love/loves/loves/loveself, des/pair, null/void, none/use name]
in reply to Vincent • • •OhVenus_Baby
in reply to ThisDayForwardBetty • • •Cyberwolf
in reply to ThisDayForwardBetty • • •OpenSUSE also does this.
Install scripts? Of course the individual apps definitions still need to be set up again, but I'd imagine it's the same for Nix?
Irdial
in reply to ikidd • • •traches
in reply to ikidd • • •Flipper
in reply to traches • • •atzanteol
in reply to Flipper • • •Mihies
in reply to atzanteol • • •utopiah
in reply to Mihies • • •trevor (he/they)
in reply to utopiah • • •The biggest downside to containers vs. Nix for me is that Nix can produce binaries for Linux and macOS, whereas docker only helps with Linux unless you can perform literal magic to cross-compile your project on Linux for macOS.
Containers also don't give you reproducible environments, and Nix does.
That said, Nix documentation is ass, so I usually end up going with containers because they require far less suffering to get working because writing a containerfile is much easier than guessing how to hobble together a Nix flake with a mostly undocumented language.
atzanteol
in reply to trevor (he/they) • • •Of course it does. 🙄
trevor (he/they)
in reply to atzanteol • • •atzanteol
in reply to trevor (he/they) • • •But for like 99% of development teams "repeatable" is Good Enough(tm).
trevor (he/they)
in reply to atzanteol • • •So, containers do not get you reproducibility.
For dev environments, repeatable is okay. If you want actually reproducible binaries that you can ship, Nix is better fit for that purpose.
atzanteol
in reply to trevor (he/they) • • •You absolutely do. If you build a container and publish it you will pull down that exact thing every time. How is that not "reproducibility"?
You no what though? Scratch that - who gives a fuck? Bit-for-bit reproducibility takes far more effort than it's worth anyway. Even NixOS isn't completely reproducible. It's a false goal.
It's well more than good enough you mean.
Nobody really needs that.
trevor (he/they)
in reply to atzanteol • • •gedhrel
in reply to trevor (he/they) • • •trevor (he/they)
in reply to gedhrel • • •I'm not quite sure why you think pointing out someone's confidently incorrect claim that containers do give you reproducible environments means that I fetishsize anything?
But if you genuinely want to know why reproducibility is valuable, take a look at reproducible-builds.org/.
I was quite happy to see that Debian and Arch have both made great strides into making tooling that enables reproducible packages in recent times. It's probable that, because of efforts like this, creating reproducible builds will become easier/possible on most Linux environments, including traditional container workflows.
For now though, Nix Flakes are much better at enabling reproducible builds of your software than traditional containers, if you can suffer through Nix not being documented very well. This article covers some more details on different build systems and compares them with Nix Flakes if you want more concrete examples.
FWIW, I think that containers are awesome, and using them for dev environments and CI tooling solves a lot of very real problems ("it works on my machine", cheap and easy cross-compilation for Linux systems, basic sandboxing, etc.) for people. I use containers for a lot of those reasons. But if I need to make something reproducible, there are better tools for the job.
Reproducible Development Environments with Nix Flakes
Gabor Nagy (:: aigeruth)utopiah
in reply to trevor (he/they) • • •Feels very arbitrary. Why would I care about say MacOS versus FreeBSD or say NeXTSTEP (just to be provocative)?
Anyway I'm being pulled away from the actual argument, the "bare metal" argument is about performances, isn't it?
iopq
in reply to utopiah • • •utopiah
in reply to iopq • • •Mihies
in reply to utopiah • • •utopiah
in reply to Mihies • • •atzanteol
in reply to Mihies • • •Phoenix3875
in reply to traches • • •OhVenus_Baby
in reply to Phoenix3875 • • •Cyberwolf
in reply to OhVenus_Baby • • •OhVenus_Baby
in reply to Cyberwolf • • •So what the main hassle of switching is that you have to run your hardware file to update for your new hardware, then inside your Nix config rarely will I ever have to edit things (maybe UUIDS if totally new machine fresh nix install/but I usually ssd swap for ease of transition and speed, or even clonezilla multiple drives and use as needed) even drivers for example. I've got auto scripts setup to run that will automatically pull any drivers or updates from the base system nix update to any drivers.
There's really only two files you ever have to touch that I've used. Nix hardware, nix config. Once hardware is updated for which system you on you'll never touch that until you boot a new machine with different hardware. If you setup nix how it's supposed to be. Nix config is your master file. A single backup of that and when setup correctly. I can boot like I never left my machine. I'm talking librewolf still has my accounts open and logged in. VPN works. It's all seamless damn near.
You have to learn to play within nixos sandbox meaning understand what your capable of doing and do it all inside config. With a few auto scripts, and 3 or 4 common commands on desktop page for whatever you wanna do and its terminal and memory hands off. I've what I call dumb Monkey commented my entire config and its in order if boot process from power on machine to boot, etc to shutdown.
A regular distro still poses many many more challenges when hardware swapping. You have different files to remember fstab, etc etc which can lead to mental memory load and system clutter if you didn't build and maintain a perfect system from the beginning with stuff like files, sym links, all sorts if tweaks you've made over time.
So I switched to nix to mitigate those things. Now I've made a master config file copy, auto updates, backups, etc is all automated in the background now. All contained in my nix config. It's supremely stable. Mental load is zero. Fills my use case. Immutable.
You have nothing to lose and only to gain. Pick any desktop environment and setup to your liking. I came from windows, to mint, to full custom nix all my apps, browsers, luks, apparmour, firejail, the whole stack.
I've tried live boots of many other distributions but this is the cleanest, leanest, most manageable of them all. My only true concern is project lasting long-term. For now. Aside from not having GUFW. I'm happy. I think there's just a lot if misinfo and lack of hands on use from most people or incorrectly setup systems to utilize how nix should be ran. I think that should iron out over time.
iopq
in reply to Cyberwolf • • •msherburn33
in reply to Cyberwolf • • •nixos-rebuild build --target-host "user@host"
and it works across different architectures too (e.g. build on your fast x86 machine and deploy to a slow RaspberryPi).ZeStig
in reply to Cyberwolf • • •feddup
in reply to traches • • •iopq
in reply to feddup • • •feddup
in reply to iopq • • •Ephera
in reply to traches • • •I feel like setting up a new machine is just the easiest to explain.
Personally, I find dotfiles messy, as you often just want to change one or two settings, but you always carry along the whole file with all kinds of irrelevant other settings. This also makes it impractical to diff two versions of those dotfiles, especially when programs write semi-permanent settings into there.
I guess, your mileage will vary depending on what programs or desktop environment you use.
For example, I love KDE, but they really don't do a good job keeping the config files clean. Nix Plasma-Manager generally fixes that, and for example allows defining the contents of the panel in a readable form.
OhVenus_Baby
in reply to Ephera • • •I think you over complicating your view here. I daily nix. Your not carrying a bunch if dot files. You have one. A single nix. Config. That's it. It's not big, long, messy, what so ever. I have mine commented by section from boot order to auto updates and backups. Your talking about 150 lines of extremely short and almost self explanatory code. I came from mint having never used nix. I figured it out doing a custom luks install and the whole custom build from scratch in no time.
Your diff issue is overblown. The edits you make are small and you cannot get lost in multiple configs unless your doing entire system writes which you would never do. I use a dead light weight diff GUI or terminal. This has to be one if the cleanest, maintenance free distros I have ever used.
It doesn't seem you have truly driven Nix with this take. No program writes directly to your config, even if there was say your temp scenario you reboot and temps would wipe away like you never did them unless you rebuild nix config. Most of your concerns would fall away once you really drove nix to see how it functions.
∞🏳️⚧️Edie [it/it/its/its/itself, she/her/her/hers/herself, fae/faer/faer/faers/faerself, love/love/loves/loves/loveself, des/pair, null/void, none/use name]
in reply to OhVenus_Baby • • •Ephera
in reply to OhVenus_Baby • • •OhVenus_Baby
in reply to traches • • •I've used nixos exclusively lately. It's been awesome. No system scatter, clutter. It'd immutable. There's very slight driver hassle (you don't have GUI for drivers so a simple terminal command fetches everything you need.) in cinnamon. I came from mint. I have all basic commands in executable files on desktop for ease of hassle. It's not about rebuilding the system. Its about being hands off. Next to zero maintenance because not much in your system gets altered. I went for a full custom install from terminal. The only thing I personally miss being GUI is a firewall like UFW or GUFW.
Overall its more rock solid and workable than likely every distro I have ever tried. The feature set is nice, easy rollbacks, fucking cake backups. All you have to know is your entire system lives on one small editable file called nix. Configuration. Keep it in a micro SD or USB or any backup and it's as if you never left. Any changes you want you simply tweak in the config then reboot. If it breaks then select your previous gen number on boot and your exactly where you was before.
I diff my edits and keep copies, run auto backups, and more. It's so hands off that I haven't found a better replacement yet. My single biggest concern is long-term viability in the project.
dinckel
in reply to traches • • •This is a good example of what people consistently overlook/misunderstand, when it comes to Nix.
Obviously you can remount a /home, or just pull the dotfiles from a personal repo, but the strength of Nix is also in that I can re-create my entire config exactly how it is defined. If i were to setup a machine completely from scratch, with a mature enough config, it will get me from 0 to my exact desktop completely unattended.
But there are also many more advantages to it, at least in my eyes. Let's take trying/tweaking new packages as an example. Yesterday I pulled an old repo for an Outer Wilds mod. The thing needs a dev environment, and a mod manager for the actual game. A
nix shell
got me both, I finished my work, and when I exit out of fish, both are gone, just as I wanted them to be.Another good example would be partial os updates. I've used Arch for almost 9 years before switching to Nix, and pretty much a top3 Arch rule is not doing partial updates, or partial rollbacks. In case of a breakage, I would have to manually redownload an older version of a tarball,
pacman -U
the package, and then hope i'm not cooked. In the case of gcc incompatibilities, it can quickly become a massive pain in the ass. My nix flake would never experience this problem, because I already have two different scenarios available - either i build based on an older lockfile from my git repo, or I create an overlay for a specific input I need, so that it still pulls what it needs, and doesn't interfere with the rest of my systemiopq
in reply to traches • • •traches
in reply to iopq • • •iopq
in reply to traches • • •traches
in reply to iopq • • •Ephera
in reply to ikidd • • •Personally, the stepping stone I needed to know about is Nix Home-Manager, which basically allows you to manage your dotfiles independent of the distro. From what I understand, if I do switch to NixOS, I'll continue using this code with just some minor tweaks.
But yeah, I agree with the verdict in the post. I like it a lot, but I would not have made it past the initial learning curve, if I didn't happen to be a software engineer. Sysadmins will probably be able to figure out how to put it to use, too. But it's just not for non-technical Linux users.
OhVenus_Baby
in reply to Ephera • • •utopiah
in reply to ikidd • • •~/.bashrc
file (and a few others) if not just remounting/home/
in the new installation every few years.9488fcea02a9
in reply to utopiah • • •One of my machines i've been just upgrading in place since debian 8. No need for new installation
Debian isn't barbaric at all.
SavvyWolf
in reply to ikidd • • •Skipped to the "ugly" part of the article and I kind of agree with the language being hard?
I think a bigger problem is that it's hard to find "best practices" because information is just scattered everywhere and search engines are terrible.
Like, the language itself is fairly simple and the tutorial is good. But it's a struggle when it comes to doing things like "how do I change the source of a package", "how do I compose two modules together" and "how do I add a repo to a flake so it's visible in my config". Most of this information comes from random discourse threads where the responder assumes you have a working knowledge of the part of the codebase they're taking about.
OhVenus_Baby
in reply to SavvyWolf • • •elucubra
in reply to ikidd • • •ch8zer
in reply to elucubra • • •Something like this is really hard to make a gui for. I suppose a GUI would only be useful for discovering config values?
Either way, a gui would likely look like YAST on OpenSuse.
frozencow
in reply to elucubra • • •It is part of snowflakeos.org/, though I don't know about its developments atm.
GitHub - snowfallorg/nixos-conf-editor: A libadwaita/gtk4 app for editing NixOS configurations
GitHubiopq
in reply to frozencow • • •elucubra
in reply to ikidd • • •phantomwise
in reply to ikidd • • •I've been stuck on Nix for two weeks because I thought it would be a good idea to put a distro I had never used but that wouldn't break on my backup laptop in case my main one ever broke. I just couldn't force myself to install debian, not that I have anything against debian, it's just... kinda boring, while Nix seemed very interesting. IT SEEMED LIKE A GOOD IDEA AT THE TIME I SWEAR.
Guess what happened... I broke Arch. Then I reinstalled and the next day the laptop broke. Then the next day I tried to get my data back and the hard drive broke. So, backup laptop with Nix for two weeks...
But...
- It's not Arch. Not Nix's fault, but I kept hearing that it would be "like Arch but declarative"... and it's really not 😑 Everything seems over-complicated vs as simple as possible.
- I absolutely hate the language.
- What's with those error messages from hell???
- And speaking of hell, every language that can't just use indentations like YAML instead of cluttering the code with {} and [] and () should have been relegated to the darkest pit of hell 20 years ago. But points to Nix for being less awful than JSON (the comma on every line but not the last thingy make me want to build a time machine to go murder the grandparents of whoever thought it was a good idea)
- Packages are out of date even in the unstable branch (I know it's unfair since it's not trying to be a rolling release... but... but...)
- Where are the source packages? Is that an Arch only thing? I liked having packages that automatically use the latest git commit without needing to manually install from source and manually reinstall each time I want an update like a medieval peasant... 😭
- Nix packages are weird. Even someone who's terrible at coding like me can read Arch PKGBUILDS... I miss you Arch 😢
- Apps not working because of paths that don't exist on Nix... what do you mean I need to patch the package myself? 😭 But at least there's steam-run, great preserver of what's left of my sanity.
- ~~Can't wrap my head around installing some stuff like VSCode extensions (the advice I got was "don't bother just do it imperatively...)~~ (Edit: Finally figured it out!!!)
- Wiki is often sparse on info and not very helpful if you don't already know what you are doing (and I clearly don't 😅)
- Hidden configs. Some stuff works on its own like pipewire even though I haven't installed or configured it (I went with a minimal install that just gave me a tty then build from there, no DE), and how it's already configured is not in the default config files. It's very confusing not knowing why some stuff works and how it's configured by default.
But it's kinda growing on me. Like mold. Or cancer. Brain cancer.
nullpotential
in reply to phantomwise • • •phantomwise
in reply to nullpotential • • •nullpotential
in reply to phantomwise • • •phantomwise
in reply to phantomwise • • •Bluefruit
in reply to phantomwise • • •phantomwise
in reply to Bluefruit • • •eecobb
in reply to phantomwise • • •a Kendrick fan
in reply to eecobb • • •phantomwise
in reply to eecobb • • •Succinctly : "OH GOD MY EEEEEYES"
I'm not a fan of nested parenthesis... but aside from that I don't know much about the language, is it more convenient? Does it also suffer from the error messages from hell problem?
a Kendrick fan
in reply to phantomwise • • •Check out Guix_System_Distribution, it's just like NixOS but uses a Scheme dialect which is a better language.
GNU Guix transactional package manager and distribution — GNU Guix
guix.gnu.orgthedeadwalking4242
in reply to a Kendrick fan • • •msherburn33
in reply to thedeadwalking4242 • • •Having one
}
too many or too few is a pretty common issue with Nix and feels very similar to Lisp, even when the rest of the language is quite different.msherburn33
in reply to a Kendrick fan • • •While some people love putting Lisp in everything, I really don't get it. Guix is far uglier than Nix in the language department. Scheme is not a configuration language and thus has none of the nice things that Nix has (multi-line string handling, defaults, lazy evaluation, inline expression, etc.), instead you get multiple levels of macro spaghetti. Furthermore, Guix forces you to turn everything into Scheme, where you can just use plain Bash in your Nix build steps, in Guix that is all Scheme.
I had spent a lot of years with Scheme before starting with Guix and then spend quite a few years with that, but even after all that switching to Nix just felt so much better instantly. Instead of trying to hack a DSL onto of Scheme you just get a language that's actually build for the task.
SkaveRat
in reply to phantomwise • • •en.wikipedia.org/wiki/Douglas_…
American computer programmer
Contributors to Wikimedia projects (Wikimedia Foundation, Inc.)lapping6596
in reply to SkaveRat • • •phantomwise
in reply to SkaveRat • • •HayadSont
in reply to phantomwise • • •Sure, some packages are outdated. But in terms of percentage of up-to-date packages, it's (AFAIK) the best out of any distro repo. And that's perhaps even more impressive of a feat when realizing it also sports the biggest repo. For actual stats: repology.org/repositories/stat…
Repository statistics - Repology
repology.orgphantomwise
in reply to HayadSont • • •iopq
in reply to phantomwise • • •iopq
in reply to phantomwise • • •phantomwise
in reply to iopq • • •msherburn33
in reply to phantomwise • • •It's reproducible, so random updates are a no-no. You can however just dump the Git URL in your
flake.nix
inputs and then override thesrc
of the package with that. The source gets updated when you donix flake update
next time. Something like this:phantomwise
in reply to phantomwise • • •Finally managed to enable VSCode extensions without doing it imperatively or using home manager I'm so happy I could cry 😭 😭 😭
It actually wasn't even that bad, I'm just terrible at understanding documentation I guess
steeznson
in reply to ikidd • • •aim_at_me
in reply to steeznson • • •smiletolerantly
in reply to steeznson • • •Think about it like this:
steeznson
in reply to smiletolerantly • • •Sibbo
in reply to ikidd • • •danhab99
in reply to ikidd • • •I really feel compelled to share that I actually really fucking love nix. I've never felt so confident that my computer would turn on no problem. It was hard and it was rewarding.
Idk I guess I haven't had it for long but once I got my dotfiles the way I like I just stopped messing with it.
Also nix devshells are pretty dope (◕ᴗ◕✿)
GitHub - danhab99/dotfiles: My personal configs
GitHubiopq
in reply to ikidd • • •steam-run
it and it just workssmiletolerantly
in reply to iopq • • •SolarBoy
in reply to smiletolerantly • • •This command will just run an executable file on nix. Normally only executables which are installed from the package manager will work.
appimage-run
is another option. Which can be used to run, you guessed it, appimagesiopq
in reply to SolarBoy • • •SolarBoy
in reply to iopq • • •msherburn33
in reply to ikidd • • •Let me disagree there, the language is trivial. It's just JSON-lookalike with expressions, with a lot of nice touches that make using it much easier than all the alternatives (e.g. sane multi-line string handling, lazy evaluation, default values, powerful key/value sets, etc.). The only real stumbling for me when first encountering it was realizing that functions can only take a single argument (which can be a key/value set) and that functions are literally just
:
(e.g. (a: a + 5) 6 => 11). That's easily missed if you just look at a file without reading the documentation.The thing that makes it hard is just the complexity of the actual package collection, your configuration contains literally your whole system, and it's not always obvious where to find the thing you need, since sometimes it's a plain package, sometimes it is a
services.foobar.enable = true
and sometimes you have to fiddle with override or other package specific things. Knowing thatsearch.nixos.org/ exists is half the battle here.
There is also the lack of static typing that can lead to rather verbose error messages, but it's not like many other configuration formats have that either.
NixOS Search
search.nixos.orgheraplem
in reply to msherburn33 • • •There are a few gnarly things about Nix, even for someone who's familiar with Haskell (the most similar language to Nix that's even close to mainstream).
builtins
) is extremely sparse. You basically have to depend on at leastnixpkgs-lib
if you want to get any real work done._type
field or some such.${
or''
? I have to look them up every time.SolarBoy
in reply to msherburn33 • • •Using a language server like nixd also helps a lot with auto completing packages and options in your config.
Apparently people are also working on the nickel configuration language to address some of the nix limitations and difficulties.
chaospatterns
in reply to ikidd • • •I really want to like Nix. The idea of declaratively defining my entire system sounds great. I can manage it with Git and even have multiple machines all look the same. I can define my partititioning once and magically get a btrfs disk working. Wow!
But I find the language confusing no matter how many times people say it's easy. I have a lot of experience with other programming languages so maybe it just doesn't mesh. It also gives terrible error messages that are hard for me to understand. And Nixpkgs is unpredictable for what version I'm going to get. One of the services I installed ended up being a release candidate version which was a surprise. What if I don't want the latest version of Docker? How do I pin it? Do I have to duplicate part of Nixpkgs? It just feels like a monorepo where everybody has to be on the same versions. Why on earth do the Nix language docs start by introducing math expressions instead of here is a simple self contained thing that installs one program. Here's how you configure it. Here's how you expand. Why does the dependency graph seem to pull in so many unnecessary dependencies? For example, I tried to build a minimal Docker image (which Nix looks to be a very good fit for), but I couldn't figure out how to strip out dependencies that likely were only used during build for a dependency.
I still like the idea and have managed to get my server defined entirely with NixOS which is very cool, but I can't recommend this to my tech friends because if I'm confused they will be more so.
LeFantome
in reply to ikidd • • •I have not used Nix, so I may not know what I am talking about.
That said, I have been using Chimera Linux which uses the APK package manager. It works by maintaining a single file in /etc/apk/world that specifies all the packages the user wants on the system. This is used to calculate dependencies and install packages. When you “add” and “del” packages, all it is really doing is adding and removing from this list. If you remove a package, it will remove all the dependencies too unless they appear in the “world” file.
If you do not specify a version number for a package, you get the latest. But you can pin versions of you want.
If you copy the world file from one system to another, you get the same set of installed packages.
So, if I use git to backup my world file, maybe a couple of other entries in /etc, and the dot files in my home directory, I have pretty much everything I need to completely recreate my system.
Is it really worth all the extra complexity of Nix?