A set of Nix Flakes and scripts to get Office 365 working on Linux without virtualization. - Tombert/office365_flake

97 points•tombert•13 days ago•91 comments•
Microsoft Office famously hasn't worked well with Wine since Office 2007. There are lots of solutions out there to work around this, but all of them involve fairly heavy virtualization.

Multiple people have told me that their biggest hangup for switching to Linux from Windows is the lack of the desktop version of Microsoft Office, and they don't want to run a VM to get around it.

I recently fell into a bunch of free time with a Claude Max subscription, so I got Fable to hack at this until it worked! And with this, we have Microsoft Office running on Linux, with no Windows in sight!

I can't promise that this will work on everyone's computer, but I did put this all in Nix Flakes, so ideally it should be relatively reproducible on any Linux system with the Nix package manager and Flakes enabled. Also, it does not work very well with X, but Wayland appears to work fine.

This is not warez. You need a valid license for Office 365 for this to work. You also need to register on Microsoft's website in a browser; the flow for registering in the app proved to be tricky and not worth pursuing.

This is more proof of concept than anything else; I have no doubt that there are bugs and improvements to be made. I have only tested this with NixOS on Sway and KDE, and as stated it only really works with Wayland and the absolute latest GE-Proton, but I believe it would work fine with Gnome or any other Wayland desktop.

Full disclosure, Claude Code with Fable did the vast vast majority of the work on this. I ended up primarily just reading log messages and complaining back to it.

91 comments

farseer13 days ago
I feel like the entire world needs to take a plunge towards LibreOffice for the good of all.
ducktective12 days ago
For starters, universities and government offices should not expect a proprietary format. Everyone should accept OpenDocument Format (ODF) or a similar FOSS format. MS Office, LibreOffice, OpenOffice and whatnot can compete in editing and rendering open formats.

Come to think of it, this is a good proposal for EU, thanks for the USB-C, by the way :)

kasabali12 days ago
The problem with this is Microsoft foresaw it and pushed (bribed?) OOXML through ISO and now there's no standing on "forcing" an open standard without OOXML being one.
tombert12 days ago
Can't speak for every graduate program or every school, but when I was in grad school at University of York, we actually used Overleaf with LaTeX a lot, since it allowed shared collaborative editing.

I liked that because it's still an open format.

tombert13 days ago
I agree with you in principle, and I honestly genuinely kind of hate Microsoft Office and I haven't used it or LibreOffice since I learned how to do LaTeX and Pandoc and Typst.

That said, whether or not it should be the case, a lot of people want specifically proper noun Microsoft Office (TM), not something "as good or better" than Microsoft Office.

I think getting people people towards a less horrible computing setup, for most people, requires it being done incrementally.

passthejoe12 days ago
Today's generation of kids is using Google Apps in school and has no ties to MS Office. SAAS in general will make MS Office much less relevant. Things like Canva and Photopea are doing the same to Adobe.
Daviey12 days ago
The biggest blocker for me is having confidence my output renders the same with people using MS Office, pdf output isn't always sufficient.
hagbard_c12 days ago
As long as that is the goal Microsoft can block uptake of any competitor simply by making sure that is never achieved. They have a lot of history with this - DOS ain't done 'till 1-2-3 won't run etc. - so you can rest assured that they'll do it again. Maybe you should change your output so it isn't as reliant on 'rendering the same', i.e. make it less complex and with that less easy for Microsoft to claim the error lies with the other party? Word is not a DTP package nor a typesetter, it is a document editor. Fancy layout has never been the forte of this class of programs, they're meant to make sure the output works on different computers, different printers, different monitors.
MrDrMcCoy12 days ago
That has been a lot less of a problem lately. Why not try again and open a bug report if there's an issue?
drnick112 days ago
When is a PDF not sufficient? I write all my reports/letters in LaTeX and if someone complained about receiving a PDF, I would send them the source and wish them good luck.
revolvingthrow12 days ago
The network effect of social media has nothing on the network effect of ms office
varispeed12 days ago
You can try to use LibreOffice all you want, until you receive a form to fill where LibreOffice doesn't display checkboxes and recipient won't accept "x", because their automated software only uses MS Office and won't properly attribute it to questions.
ray_kay77711 days ago
Yep, I've seen this come up time and time again in the legal world and Microsoft 365 is so entrenched in the legal world that there is 0 chance of change in at least the next decade, and probably in the next 20 years.
cyanydeez13 days ago
I've been trying to slowly do this. But muscle memory and visual cues, embedded for 15 years just keep winning.

None of my excel sheets are just numbers, they're tied to database pulls and those dont work either.

Just trying to do the same things like merge cells I'm searching through a bunch of menus wondering what the hell it's called.

Theres a gui that looks similar but not enough. If they really want adoption, they need to completely add a office-clone mode and accept the consequences.

overclock-api13 days ago
Good work. I had assumed Office and Wine had been an unsolvable problem due to how long it had been around.

What specifically breaks? My understanding is that the modern version of Office is in reality a combination of many things: the licensing layer, the .NET bits, the Click-to-Run packaging, and finally the app. If it turns out that the real hard part is the licensing/activation flow rather than the app itself, that is a more interesting discovery in that the problem is less about the app itself and more about how the distribution works. Which might also explain why it got easier to tackle.

tombert13 days ago
Actually not that much breaks now!

The hardest part was the activation, but some patience with Claude seemed to get that working.

At least with Sway, I had trouble getting anything with X11 working, particularly anything involve "pop ups". That includes right-click menus and stuff like that. Wayland works much better.

It also took a very long time to get the dictionary loaded for spell-check, and then a very long time to get the red squigglies working.

yjftsjthsd-h12 days ago
> At least with Sway, I had trouble getting anything with X11 working, particularly anything involve "pop ups". That includes right-click menus and stuff like that. Wayland works much better.

? Sway is a Wayland compositor

rkagerer12 days ago
That's ok, I still prefer Word 2003 to the bloated, web-wired, ribbon-infested garbage that came after.

https://news.ycombinator.com/item?id=47202540

tombert12 days ago
Yeah, I think I mentioned it here a few months ago, but I got Office 97 working with Wine, and I was sort of flabbergasted at how usable it still is. It worked fine with my system's TrueType fonts, it does all the formatting I care about, and given that it's nearly 30 year old software it runs obscenely fast. If I weren't a grumpy die-hard CLI person I would probably still consider using it.

All that said, there are a lot of people who want the absolute latest MS Office. I don't get it either.

mahboi12 days ago
I'm glad this is still a complaint. I used Office 2004 (same as 03) until 2013, when I absolutely couldn't anymore because of docx incompatibility. My wife still uses 07, sadly it's ribboned.
creshal12 days ago
doc vs docx is whatever, what kills older offices for me is the 64k row/col limit in excel. That was only fixed with the ribboned versions. :(
rkagerer12 days ago
Do you have the docx compatibility pack installed?
alright256512 days ago
I've done something similar with a CAD app, where I've used AI tools to package it as a Nix flake. It's a really good format for wine packaging since it makes it so easy to patch wine in ways that would never be accepted upstream, and it makes launching it just one command vs needing to deal with other people's potentially broken wine prefixes.
tombert12 days ago
Yeah, completely agree.

I absolutely love Nix Flakes; they feel, to me, like what Docker was supposed to be. A little self-contained packaged environment that gives you a place to do any kind of custom hacks deterministically.

aroman12 days ago
nix + LLMs is the most fun I've had with personal computing since I burned an Ubuntu live CD in middle school
pluc12 days ago
It's cool to see things that were entirely unnecessary popping up with the help of AI. Nobody ever cared enough to do this, nobody is going to use this, but now we can just shit it out knowing full well nobody is going to care. Just had to sacrifice humanity's knowledge and a few professions to get there.
mahboi12 days ago
This is pretty necessary for tons of people considering Linux
cyberax12 days ago
Is anything YOU do useful?

This is a very useful project for me, because I occasionally need real Excel.

tombert12 days ago
Uh, what?

I actually think a lot of people cared enough to do this; the entire Wine project sort of exists specifically because people want Windows software on Linux.

I know multiple people who have said that they won't use Linux specifically because it doesn't have the full-fat desktop version Office on there.

"Unnecessary"? Sure, I guess, I don't like MS Office and I don't use it, but a lot of people seem to really like it, whether or not they should.

pluc12 days ago
I'm not talking about WINE, I'm talking avout what you had Claude build to use it.

If this were a proof of concept and you had the ability to say what you did different to make it work better than previous attempts that would be great, but i don't think you know.

Read the full thread on Hacker News →

Related stories