I’m not a bot.
If it were me, I’d set up my mom with GNOME because I feel like KDE might provide too many footguns or may look/feel overwhelming due to the many available customization options.
IDK though. I’ve used GNOME for years and have only briefly used KDE for experimentation. I’m guessing there’s some way to customize KDE to make it more simple? I imagine GNOME would be nice on a tablet because it tends to have nice big button targets, but I haven’t tried it.
Other great resource is guix shell: Overview by Andrew.
Although, one thing I’m still trying to understand is the difference between guix.scm
and manifest.scm
… The posted article only mentions guix.scm
, but Andrew talks about both. But… he doesn’t really go into why there are two files and when you would use one or the other…
non-free packages need to use a non-official channel
It’s very easy to add additional channels and non-official channels integrate pretty well into everything. I don’t really notice if a package comes from an “official” channel or “non-official” channel.
1,000 times this.
looks at laptops with hidpi displays 👀
It’s been a weird situation.
But then they list Syncthing-Fork in the docs, seemingly giving the fork their blessing
https://github.com/catfriend1/syncthing-android <-- the fork repo
So I guess your main options are:
Have you tried rerunning them all day until they pass? 😄
Many of them don’t even allow it to be a hidden file—they just require a fully unhidden “tool.yml” file sitting right there in the root of your project.
I love this. I hate when tools only allow hidden config files. I want to know where the config is—my teammates should be aware of where the config is. I don’t want to be tricked into thinking there isn’t a config file in a directory.
I actually have alias ls='ls -A'
in my bashrc so I see everything.
I’ve been enjoying Guix for the last 8 days. You declare your OS and home config in a file and you can check them into source control. It was originally a fork of NixOS, but has diverged a lot.
The CLIs and APIs are pretty nice. They have a concept of “channels”, which are git repos you can download software from. The default official channel only hosts FOSS software, but you can trivially add non-FOSS channels and they work just as well as the first-party channels.
Each channel update and package install, removal, update get put on a log, which you can trivially jump between. guix package --switch-genereation=28
and boom you’re at that generation (it’s like a git commit). The software and config changes get saved in the generation so the jump is clean and atomic. I actually bisected my OS yesterday to track a bug! That was cool. You can also create and share isolated, reproducible environments.
Guix works with Flatpak and distrobox as well, in case some software isn’t available in existing channels. I got HiDPI, Zoom, Logseq, Syncthing, and Tailscale working.
The biggest drawback for me so far is that it doesn’t use systemd. Not sure if it’s a dealbreaker for me yet. Systemd does way more than just manage system services, so GNU Shepherd (which Guix uses) isn’t a real replacement.
‘MechaHitler’ incident
Government: Shut up and take my money!
I use Emacs on the daily, and I just can’t get into Scheme.
Do you find that Elisp and Scheme are too different? I don’t know either, so they look almost the same to me.
other contributors will not even note you are using it.
Ooooh, that’s interesting.
A privacy-focused operating system may seem more trouble than it’s worth. But when I replaced Google’s Pixel OS with GrapheneOS, I found it to be a transformative experience. For one, the installation was painless, and I didn’t lose any modern software features. Installing aftermarket operating systems used to equal a compromised smartphone experience, but I didn’t find that to be true in the case of GrapheneOS.
Case in point: even though GrapheneOS doesn’t include any Google services, I was surprised to find that you can install the Play Store with relative ease and almost all apps work flawlessly — even most banking ones.
Oh, nice. This sounds promising! I’m adding it to my list: [
]
share with him guix manifest
Aaaah: https://guix.gnu.org/manual/devel/en/html_node/Writing-Manifests.html
# Write a manifest for the packages specified on the command line.
guix shell --export-manifest gcc-toolchain make git > manifest.scm
Heck yeah!
Uh, sorry. I don’t follow. Is there a way to tell all programs to write to one file in Guix?
I’m in Guix Linux land right now and I miss journald
. I’m supposed to wade through all the log files in /var/log
myself??
So while I almost exclusively use the command line, I do it all from within the Emacs GUI.
That’s good to hear. Normally, I have a bunch of file and terminal buffers open in Vim and work across all of them—and stay in Vim the whole time. (Well, unless I need something like a browser.)
Sounds like this is definitely possible in Emacs. Good! I was scared for a moment because I thought I would have to… gasps alt-tab between Emacs and my terminal.
Btw, here’s how you configure HiDPI for GNOME. Unfortunately, my laptop has a hydeepeeay display, so it’s not fully compatible with Linux. (It’s 3840x2160, so at least 2x scaling is possible, hypothetically.)
Commands from the Arch Wiki, but also adds cursor scaling:
$ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "[{'Gdk/WindowScalingFactor', <2>}, {'Gtk/CursorThemeSize', <48>}]"
$ gsettings set org.gnome.desktop.interface scaling-factor 2
The default GNOME configuration is some how missing that. I didn’t have to do that in Arch, but I do in Guix. IDK. Anyway, if you don’t run those commands certain apps will be tiny, including a tiny mouse cursor.
Oooooh, ok. Thanks for breaking that down.
What about Emacs GUI vs Emacs TUI? Do people run Emacs as a terminal app? Or is the typical way of running Emacs as a GUI app? How’s the shell integration with the GUI app? Normally, I like staying in the terminal.
IDE users pretending compilers don’t exist.
$ guix shell gcc [env]$ g++ test.cpp test.cpp:4:16: warning: `0;' is not in NFC [-Wnormalized=] 4 | return 0<U+037E> | ^~~~~~~~~ test.cpp: In function ‘int main()’: test.cpp:4:16: error: unable to find numeric literal operator ‘operator"";’ test.cpp:4:18: error: expected ‘;’ before ‘}’ token 4 | return 0; | ^ | ; 5 | } | ~
Look ma, no IDE! 😸