Commit Graph

90 Commits

Author SHA1 Message Date
bb3792d748 fcitx: Use wayland front-end for GTK
Fixes the warning notification shown on boot.
2024-01-13 00:39:29 -05:00
bcf54f4cb4 wine: Downgrade from 9.0-rc1-staging to 8.2
Fixes an issue where the newer version of wine would cause my current
wine prefixes to crash with missing DLL errors. Might be fixable by
creating new prefixes with the new version, however it's much easier
for me to stick with what's known to work.

See: https://github.com/NixOS/nixpkgs/pull/273232
2023-12-15 02:31:32 -05:00
5046c0fa2e stylix: Style cursor with new option 2023-11-18 14:52:48 -05:00
72dbecfa78 feat: Update sakaya to latest commit
sakaya will now automatically choose 32-bit and 64-bit wine prefixes
based on the executable itself.
2023-10-29 15:19:57 -04:00
b18ccd3dfc chore: Improve formatting 2023-10-29 15:11:57 -04:00
4365aa59fd containers: Disable restartIfChanged
Makes it possible to use sakaya without worrying about the container
automatically restarting on config changes and closing all the wine
applications.

This was previously part of my personal nixpkgs branch but I turned it
into an option that should hopefully be upstreamed soon.
2023-10-10 18:55:31 -04:00
7db1ecda37 chore: Fix formatting 2023-08-31 14:16:29 -04:00
f4d23d6784 refactor(containers): Abstract common config
This makes it possible to create multiple containers without duplicating
code. This may be useful for having an internet container and a no
internet container.
2023-08-31 14:08:37 -04:00
596a9183f8 meta(containers): Rename common.nix to shared.nix
This makes it easier to tab complete the default.nix, which is edited
more often.
2023-08-31 13:49:13 -04:00
877341abe5 meta(containers): Move setup script to common.nix
This makes it easier to associate that the file is used by containers.
2023-08-31 13:48:02 -04:00
56fc0c0cff meta(containers): Rename wine.nix to default.nix
Since this is now the only container, having it as default.nix makes
sense.
2023-08-31 13:46:50 -04:00
24b658ed4b meta(containers): Remove old default.nix 2023-08-31 13:46:06 -04:00
5c38772eca containers: Merge dev container with setup
This change further reduces build times, removes duplicate code, and
makes things simpler overall.
2023-08-31 13:24:27 -04:00
7e556f756e containers(wine): Make unfree whitelist work
Unfortunately this is necessary to whitelist unfree packages inside the
container.
2023-08-31 11:55:24 -04:00
41b784ec9b meta: Merge srb2 container with wine
This continues the process of reducing the amount of containers in order
to significantly reduce build times.
2023-08-31 10:20:18 -04:00
a28b33a2d9 meta: Merge iamb container with wine
Similar to the previous commit, I'm trying to reduce build times here.
Containers are great but each one increases the build time by a
non-trivial amount. By limiting the amount of containers and using
virtual machines for things that "absolutely need to be virtualized",
build times overall should be more productive.
2023-08-31 10:10:13 -04:00
8bf12e9f3b meta: Merge rar container with wine
I'll rename this later, but basically I got tired of the vastly
increased build times due to having multiple containers, and would
rather combine containers where possible.

Although unfortunate, this should still be better than not using
containers at all, and by making the usage of such containers easier,
the probability of using them increases as well.
2023-08-31 10:09:09 -04:00
2f0249a046 chore: Update imports 2023-08-07 22:00:17 -04:00
784b3270f9 containers(wine): Replace x86_64-linux with pkgs.system 2023-08-03 12:40:46 -04:00
1cd6d698d6 containers(wine): Change sakaya-server to sakaya
sakaya is now only one binary.
2023-08-03 12:39:53 -04:00
c3d2b637ba containers(wine): Use pkgs from host
May or may not make things faster.
2023-08-03 12:38:59 -04:00
6d390eb938 containers(wine): Add sakaya systemd service
This combined with su makes it possible to automatically start a user
environment with sakaya-server running, thus eliminating the need to
spawn a shell with machinectl.
2023-08-01 22:55:32 -04:00
d1cb8c5731 containers(wine): Autostart with tmpfiles
This change makes it possible to autostart the wine container without
receiving errors and not being able to use /run/user/1000.
2023-08-01 22:22:02 -04:00
01458011ab containers(wine): Add sakaya
This works, which is pretty cool. One unfortunate consequence is that
networking with the host is required, thus an alternative approach needs
to be considered if one still wants to eliminate internet access from
certain wine applications.
2023-08-01 12:18:05 -04:00
d61e7b8a31 meta: Remove gui container
Although this was cool, it created some inconveniences that I'd rather
not have to deal with. For example, opening a document required manually
copying the file to the container mount first.

Instead of containerizing a subset of GUI applications, it's likely much
easier and more effective to spin up a virtual machine of the current
system. That way all GUI applications benefit from virtualization and
not simply containerization, which caused issues when certain programs
detected that they were already open from the wayland socket.

A final benefit of this change is that which container an application is
running in is no longer ambiguous. Although it was possible to use
custom GTK themes depending on which container an application belonged
to, containers for system-installed applications tend to bring a large
amount of overhead. Only using containers for applications that deal
with untrusted inputs and have a large attack surface seems better in
this case.
2023-08-01 10:41:32 -04:00
59b5f55e6d srb2: Add hosting support 2023-07-15 17:03:48 -04:00
13e6407381 containers(wine): Use prefix from mnt
This is convenient, however the state of the wine prefix will change
over time as a result of this.
2023-07-11 07:54:10 -04:00
410e5f50bb containers: Simplify
isReadOnly is true by default.
2023-07-07 05:26:52 -04:00
971dbec0f9 containers: Remove obsidian
After using Logseq for a few months, using Obsidian for just a little
bit is quite repulsive. Taking notes that aren't in outliner form feels
alien and not worth it for me personally.
2023-07-02 17:38:26 -04:00
51795a8829 meta: Use unrar instead of unrar-wrapper
Unfortunately, some functionality appears to only be available with
unrar.
2023-07-01 14:03:40 -04:00
128c6f619d meta: Replace unrar with unrar-wrapper 2023-06-24 13:40:02 -04:00
9dc1d0043d containers(dev): Enable gui usage 2023-06-24 12:06:13 -04:00
717fa0d9fb chore: Formatting 2023-06-23 15:48:29 -04:00
dd6f43e02d containers: Add iamb
iamb is a TUI matrix client written in Rust.
2023-06-23 10:40:00 -04:00
355eee4910 chore: Fix formatting from git 2023-06-22 15:12:24 -04:00
c6e59e9ecd containers(wine): Add environment variables 2023-06-22 15:03:07 -04:00
7a07f70f7c meta: Include fish/starship in all containers 2023-06-22 13:06:00 -04:00
1bfdcaa96c containers(wine): Migrate to setup.nix 2023-06-22 12:51:35 -04:00
aca37da408 containers(obsidian): Migrate to setup.nix 2023-06-22 12:46:20 -04:00
c211bdca9b containers(dev): Migrate to setup.nix 2023-06-22 12:44:25 -04:00
269b5143e4 setup.nix: Fix imports 2023-06-22 12:37:37 -04:00
28a55383b4 containers(srb2): Use setup.nix 2023-06-22 12:28:27 -04:00
9167763aeb meta: Move containers config to setup.nix
The config sets up the containers, hence setup.nix.
2023-06-22 12:25:37 -04:00
505e35edcd containers: Use more detailed common config
All containers can inherit a lot of the same settings since the main
feature is separating applications from the host and each other.
2023-06-22 12:19:03 -04:00
2f5a3f184a containers(gui): Remove unused packages 2023-06-22 11:55:52 -04:00
0aaba9a591 meta: Remove variables from containers
Modules solve the variable problem in a nicer way.
2023-06-22 11:44:35 -04:00
1dcf95a7eb pipewire: Inline low latency module
This removes the nix-gaming dependency to achieve low latency.
2023-06-22 09:51:15 -04:00
7b79bbae70 meta: Remove old osu container
No longer needed since I no longer intend to use nix-gaming. May add
another container later without it.
2023-06-22 09:27:44 -04:00
a75c20db5b containers(wine): Switch to wineWowPackages.stagingFull
wineWowPackages.stagingFull has better compatibility than waylandFull
and runs more applications without black screens. The difference between
stagingFull and wine-ge is that wine-ge doesn't crash when encountering
an error like ELFCLASS64 and usually opens windows larger and
fullscreen-like.

The reason stagingFull is preferred over wine-ge in this case is that
stagingFull is a part of nixpkgs and doesn't suffer from a black screen
bug when a hidden menu pushes the content in the window viewport down.

Additionally, although wine-ge avoids crashes in more cases, this
results in applications running that may or may not fully work, and
sometimes results in black screens where there should be graphics
instead.
2023-06-21 11:39:57 -04:00
e0f1521899 containers(wine): Use wine-ge
This was a different wine version that let me achieve better
compatibility with Unity3D programs. Although it doesn't crash when
encountering a ELFCLASS64 error, for example, it does have other issues
like a black screen flash when opening a hidden menu (the kind that
become available with the alt key on a keyboard).
2023-06-21 11:23:17 -04:00