-
-
Notifications
You must be signed in to change notification settings - Fork 14.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add cinnamon #74242
feat: add cinnamon #74242
Conversation
I've added the old cinnamon port from the repo before removal & the new cinnamon port https://github.com/cawilliamson/nixos-cinnamon/ from @cawilliamson Going to merge them together and make a new port, latest going to remove the leftover files |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/porting-cinnamon-to-nixos/3512/7 |
I'd be happy to review this/assist 👍 |
I've added |
I think the module might be a far off idea just yet. I'd probably try to get the packaging very good first and maybe just use some configuration locally to verify their installation. So, I could much better assist with packaging first, as the module might prove more difficult. (but I can for sure help with this as well). |
cinnamon = super.callPackage ./cinnamon { }; | ||
cinnamon-desktop = super.callPackage ./cinnamon-desktop { }; | ||
cinnamon-menus = super.callPackage ./cinnamon-menus { }; | ||
cinnamon-session = super.callPackage ./cinnamon-session { gconf = super.gnome2.GConf; }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this still require GConf? It has been deprecated over 8 years ago.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apparently. I've had to add it again.
Can we keep it now in this PR and I'll move it to another PR later, so we can merge just the packages in this PR? |
I believe you're suggesting merging packaging first and then a nixos module? |
I have trouble adding libnm as a dependency for cinnamon-control-center I can't find any headers in that package. Are they exposed somewhere else than |
c5fb8c2
to
8ea1077
Compare
This reverts commit 18d7929.
That didn't quite work, instead I just copied some code from gnome3 and added it to the module |
In which package is the adwaita theme? Can't find it anywhere, cinnamon depends on it as it's the default theme. |
Adwaita GTK theme is built into GTK. |
This PR should be ready now. |
Ok, there's still quite a few issues here. Mostly when it comes to the gobject-introspection using packages. I should have some time this week or later to review just those. While I'm here, why's there a |
services.xserver.desktopManager.session = [ | ||
{ | ||
name = "cinnamon"; | ||
bgSupport = true; | ||
start = '' | ||
${pkgs.runtimeShell} ${pkgs.cinnamon.cinnamon-common}/bin/cinnamon-session-cinnamon & | ||
waitPID=$! | ||
''; | ||
} | ||
{ | ||
name = "cinnamon2d"; | ||
bgSupport = true; | ||
start = '' | ||
${pkgs.runtimeShell} ${pkgs.cinnamon.cinnamon-common}/bin/cinnamon-session-cinnamon2d & | ||
waitPID=$! | ||
''; | ||
} | ||
]; | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm assuming that cinnamon has some sort of upstream xsession file?
Then we could use services.xserver.displayManager.extraSessionFilePackages
and not create a session manually.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, they just reference a wrong path
Exec=cinnamon-session-cinnamon2d
TryExec=/usr/bin/cinnamon2d
do you mind cleaning up the commit history? there should rougly be a commit per package change, so multiple fixes should be squashed
|
I haven't suggested a particular commit history because it's very wip. |
actually, I think moving some of these things into other PRs may help on being able to review the changes in a timely manner, some of things that can be refactored to other PRs because they don't rely on other cinnamon packages:
if i were to do a thorough review of this PR, it would be very difficult to adhere to CONTRIBUTING standards |
It seems we established on #74242 (comment). |
So we could keep this PR as the "incubator" and then move things to other PRs for finalization, eventually moving everything from this PR into seperate PRs? |
It's some older port of cinnamon I'll look through those to find fixes to issues I have, since I've based off another cinnamon port. (nixos-cinnamon, and cinnamon-old is the old cinnamon from nixpkgs) |
I've created #75138 with just the xapps package. Please review 😄 |
@mkg20001, that sounds cool. As long as review doesn't get duplicated, I'll expect you moving your expressions into nixpkgs piece by piece from here. Edit: I've updated the description so as to encourage review on the individual PRs. |
I'm still working on the other cinnamon packages in parallel in https://github.com/mkg20001/nixpkgs (this is where I keep all the stuff that is going to be up streamed eventually) Edit: The reason because I don't want to push it into this PR, is because it's a gigantic mixture of all the patches and it would be too much effort to split commits, since I'd need to pull them in for testing everytime I've stumbled upon #9415 because cinnamon fails to load opengl and that seems to be the reason Also some module fails to find network manager libraries, so some NM stuff is still broken and it can't find adwaita (which package is it in? I've already added gtk3, unsure if I added it to the right package as build input) Aside from that I've got the desktop working so far without bugs, just the cinnamon spices & nemo extensions are missing |
Hello, I'm a bot and I thank you in the name of the community for your contributions. Nixpkgs is a busy repository, and unfortunately sometimes PRs get left behind for too long. Nevertheless, we'd like to help committers reach the PRs that are still important. This PR has had no activity for 180 days, and so I marked it as stale, but you can rest assured it will never be closed by a non-human. If this is still important to you and you'd like to remove the stale label, we ask that you leave a comment. Your comment can be as simple as "still important to me". But there's a bit more you can do: If you received an approval by an unpriviledged maintainer and you are just waiting for a merge, you can @ mention someone with merge permissions and ask them to help. You might be able to find someone relevant by using Git blame on the relevant files, or via GitHub's web interface. You can see if someone's a member of the nixpkgs-committers team, by hovering with the mouse over their username on the web interface, or by searching them directly on the list. If your PR wasn't reviewed at all, it might help to find someone who's perhaps a user of the package or module you are changing, or alternatively, ask once more for a review by the maintainer of the package/module this is about. If you don't know any, you can use Git blame on the relevant files, or GitHub's web interface to find someone who touched the relevant files in the past. If your PR has had reviews and nevertheless got stale, make sure you've responded to all of the reviewer's requests / questions. Usually when PR authors show responsibility and dedication, reviewers (privileged or not) show dedication as well. If you've pushed a change, it's possible the reviewer wasn't notified about your push via email, so you can always officially request them for a review, or just @ mention them and say you've addressed their comments. Lastly, you can always ask for help at our Discourse Forum, or more specifically, at this thread or at #nixos' IRC channel. |
merged with #97256 |
Motivation for this change
I need this for myself and I think a lot of people want this, too
NOTE: THIS PR IS WIP
❗ It's been decided that most expressions will be moved out of this PR, and into individual ones.
The packages here are being continued to be developed in https://github.com/mkg20001/nixpkgs and will be moved to PRs to get them ready for upstream
Also, I'm running this on my laptop already. So it works and you can try it already, it's just a bit broken at this point...
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)Notify maintainers
cc @