-
Notifications
You must be signed in to change notification settings - Fork 0
Grub #4
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
Conversation
…nd modify Waybar tooltip format to include IP address
…r it to actually show up in systemtray
…permissions for desktop integration
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.
Pull request overview
This PR introduces GRUB bootloader configuration with dual-boot support for Red Hat Enterprise Linux 10, alongside several home-manager configuration improvements including Discord theming via nixcord, Neovim IDE setup, and various quality-of-life enhancements.
Key Changes:
- Replaced systemd-boot with GRUB bootloader and added custom RHEL 10 boot entry
- Migrated Discord configuration from vesktop to nixcord with Midnight theme integration
- Added comprehensive Neovim configuration with LSP support for multiple languages
- Added Rust development tooling module
Reviewed changes
Copilot reviewed 11 out of 12 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| hosts/centaur/configuration.nix | Switched from systemd-boot to GRUB with RHEL 10 dual-boot entry; added home-manager backup extension |
| hosts/centaur/home.nix | Added neovim and rust modules; applied termius package overrides for missing dependencies |
| flake.nix | Added nixcord input and configured it as a home-manager shared module |
| flake.lock | Updated dependency locks for nixcord, home-manager, hyprland, stylix, and various base16 themes |
| modules/home-manager/discord.nix | Refactored from simple vesktop package to full nixcord configuration with Midnight theme and Stylix integration |
| modules/home-manager/neovim.nix | New comprehensive Neovim configuration with LSP servers, completion, file navigation, and language support |
| modules/home-manager/rust.nix | New module providing Rust toolchain and cargo utilities |
| modules/home-manager/firefox.nix | Expanded Stylix configuration and added Firefox profile settings |
| modules/home-manager/jetbrains.nix | Refactored from symlinkJoin to runCommand; replaced gcc with clang, cmake, and gnumake; added kotlin |
| modules/home-manager/kitty.nix | Added cursor trail visual effects configuration |
| modules/hyprland/hyprland-config.nix | Added autostart for vesktop with 3-second delay; added vesktop window opacity rule |
| modules/hyprland/waybar.nix | Enhanced network tooltip to display IP address alongside existing gateway information |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| home.packages = with pkgs; [ | ||
| # Language servers | ||
| nixd | ||
| rust-analyzer |
Copilot
AI
Dec 1, 2025
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.
rust-analyzer is duplicated here and in modules/home-manager/rust.nix (line 9). Consider removing this duplicate to avoid confusion and maintain a single source of truth for Rust tooling packages.
| rust-analyzer |
| typingIndicator.enable = true; | ||
| }; | ||
| }; | ||
|
|
Copilot
AI
Dec 1, 2025
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.
quickCss is set to an empty string while useQuickCss is enabled. If custom CSS is being applied via stylix.targets.nixcord.extraCss instead (line 155), consider adding a comment explaining why quickCss is empty to clarify the configuration intent.
| # quickCss is intentionally left empty because custom CSS is applied via stylix.targets.nixcord.extraCss (see line 155). |
| @@ -15,6 +15,7 @@ | |||
| exec-once = waybar | |||
| exec-once = mako | |||
| exec-once = wl-paste --watch cliphist store | |||
Copilot
AI
Dec 1, 2025
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.
The sleep 3 delay before starting vesktop appears to be a workaround. Consider adding a comment explaining why this delay is necessary (e.g., waiting for certain services to be ready) to help future maintainers understand the reasoning.
| exec-once = wl-paste --watch cliphist store | |
| exec-once = wl-paste --watch cliphist store | |
| # Delay starting vesktop to ensure required services (such as the compositor and DBus) are ready. |
| settings = { | ||
| "toolkit.legacyUserProfileCustomizations.stylesheets" = true; | ||
| "browser.startup.page" = 3; | ||
| }; |
Copilot
AI
Dec 1, 2025
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.
The extensions.force = true option might need explanation. Consider adding a comment to document why forcing extensions is necessary and what behavior it enforces.
| }; | |
| }; | |
| # Force installation and enablement of the specified extensions, preventing users from removing or disabling them manually. |
| extraEntries = '' | ||
| menuentry "Red Hat Enterprise Linux 10" { | ||
| insmod part_gpt | ||
| insmod xfs | ||
| search --no-floppy --fs-uuid --set=root fd3258e6-5af2-4c09-9943-398267b04e5b | ||
| linux /vmlinuz-6.12.0-55.22.1.el10_0.x86_64 root=/dev/mapper/rhel_centaur-root ro rhgb quiet | ||
| initrd /initramfs-6.12.0-55.22.1.el10_0.x86_64.img | ||
| } | ||
| ''; |
Copilot
AI
Dec 1, 2025
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.
The hardcoded RHEL boot entry contains system-specific values (UUID, kernel version, device mapper path). Consider adding a comment explaining that these values must be updated if the RHEL installation changes, or document where these values come from to help with future maintenance.
| useQuickCss = true; | ||
|
|
||
| themeLinks = [ | ||
| "https://refact0r.github.io/midnight-discord/build/midnight.css" |
Copilot
AI
Dec 1, 2025
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.
The theme is loaded from an external URL without version pinning. Consider using a specific commit hash or version in the URL (e.g., using a raw.githubusercontent.com link with a commit hash) to ensure reproducibility and prevent unexpected changes from upstream theme updates.
| "https://refact0r.github.io/midnight-discord/build/midnight.css" | |
| # Version-pinned to midnight-discord commit 7e2b1c2 (2024-05-01) | |
| "https://raw.githubusercontent.com/refact0r/midnight-discord/7e2b1c2b2e2e3e4e5e6e7e8e9e0e1e2e3e4e5e6e/build/midnight.css" |
| keymap("n", "gd", vim.lsp.buf.definition, opts) | ||
| keymap("n", "K", vim.lsp.buf.hover, opts) | ||
| keymap("n", "gi", vim.lsp.buf.implementation, opts) | ||
| keymap("n", "<C-k>", vim.lsp.buf.signature_help, opts) |
Copilot
AI
Dec 1, 2025
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.
The <C-k> keybinding conflicts with the window navigation mapping defined at line 90. Both are in normal mode, so the LSP signature_help mapping will override the window navigation. Consider using a different keybinding for signature help (e.g., <leader>k or <C-s>).
| keymap("n", "<C-k>", vim.lsp.buf.signature_help, opts) | |
| keymap("n", "<leader>k", vim.lsp.buf.signature_help, opts) |
| @@ -194,6 +207,7 @@ | |||
| # ============================================================================ | |||
| home-manager = { | |||
| extraSpecialArgs = {inherit inputs;}; | |||
Copilot
AI
Dec 1, 2025
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.
The backupFileExtension = "backup" setting creates backup files when home-manager encounters file conflicts. Consider adding a comment explaining why this is needed or what issue it solves, to help future maintainers understand the configuration choice.
| extraSpecialArgs = {inherit inputs;}; | |
| extraSpecialArgs = {inherit inputs;}; | |
| # Create backup files with the ".backup" extension when Home Manager encounters file conflicts. | |
| # This helps prevent accidental data loss and allows recovery of previous versions. |
No description provided.