Skip to content
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

Updates #53

Merged
merged 18 commits into from
Sep 4, 2024
Merged

Updates #53

merged 18 commits into from
Sep 4, 2024

Conversation

tsandrini
Copy link
Owner

@tsandrini tsandrini commented Sep 4, 2024

Overview

Testing

Dependencies

Screenshots

Checklist

  • I have tested the relevant changes locally.
  • I have checked that nix flake check passes.
  • I have ensured my commits follow the project's commits guidelines.
  • I have checked that the changes follow a linear history.
  • (If applicable) I have commented any relevant parts of my code.
  • (If applicable) I have added appropriate unit/feature tests.
  • (If applicable) I have updated the documentation accordingly (in English).

Additional Notes

Summary by Sourcery

Refactor and enhance the configuration management system by introducing new features for Neovim, Firefox, and mail server configurations. Implement a new Nixvim configuration system and add deploy-rs support for deployment. Improve code modularity and consistency across various modules.

New Features:

  • Introduce support for configuring Neovim with additional plugins and settings, including LSP support, vscode-neovim plugin, and various key mappings.
  • Add configuration options for Firefox user.js with support for arkenfox and betterfox configurations.
  • Implement a mail server configuration with support for multiple email accounts, aliases, and integration with Roundcube and Rspamd UI.
  • Introduce a new Nixvim configuration system for managing Neovim settings and plugins, including a base and vanilla configuration.
  • Add support for deploying configurations using deploy-rs with a specific node configuration.

Enhancements:

  • Refactor the use of library functions across multiple modules to improve code consistency and readability.
  • Enhance the configuration of various shells (Zsh, Fish) with additional plugins and alias support.
  • Improve the modularization of configuration files by introducing submodules and options for better manageability.
  • Update the configuration for various programs and services to use more declarative and flexible options.

Build:

  • Update the flake.nix to include new inputs and dependencies such as nixvim and deploy-rs.

Deployment:

  • Add a deploy-rs configuration for deploying system profiles to a remote node.

@tsandrini tsandrini self-assigned this Sep 4, 2024
Copy link

sourcery-ai bot commented Sep 4, 2024

Reviewer's Guide by Sourcery

This pull request introduces significant changes across multiple files, primarily focusing on restructuring and enhancing the NixOS and Home Manager configurations. Key changes include the addition of a new host 'remotebundle', integration of a mail server, introduction of a fish shell configuration, updates to various modules, and the addition of a NixVim configuration.

File-Level Changes

Change Details Files
Added a new host 'remotebundle' with mailserver configuration
  • Created a new host configuration file for 'remotebundle'
  • Implemented mailserver settings using nixos-mailserver
  • Added deploy-rs configuration for remote deployment
  • Updated flake.nix to include new inputs and configurations for the mailserver
flake-parts/hosts/remotebundle/default.nix
flake-parts/modules/nixos/services/mailserver.nix
flake-parts/deploy-rs/default.nix
flake.nix
Introduced fish shell configuration and made it the default shell
  • Added a new fish shell configuration module
  • Updated existing host configurations to use fish as the default shell
  • Implemented fish-specific aliases and plugins
flake-parts/modules/home-manager/programs/shells/fish.nix
flake-parts/hosts/jetbundle/default.nix
flake-parts/hosts/spinorbundle/default.nix
Implemented NixVim configuration
  • Created a new NixVim configuration structure
  • Added various NixVim plugins and their configurations
  • Implemented keymaps, settings, and auto-commands for NixVim
flake-parts/nixvim/base-config/default.nix
flake-parts/nixvim/vanilla-config/default.nix
flake-parts/modules/nixvim/default.nix
flake-parts/modules/nixvim/settings.nix
flake-parts/modules/nixvim/keymaps.nix
flake-parts/modules/nixvim/auto_cmds.nix
flake-parts/modules/nixvim/plugins/utils/telescope.nix
flake-parts/modules/nixvim/plugins/utils/hop.nix
flake-parts/modules/nixvim/plugins/utils/which-key.nix
flake-parts/modules/nixvim/plugins/editor/neo-tree.nix
flake-parts/modules/nixvim/plugins/editor/undotree.nix
flake-parts/modules/nixvim/plugins/git/neogit.nix
Updated and refactored existing modules
  • Refactored the Firefox configuration to use Betterfox
  • Updated the Thunderbird configuration
  • Modified the Neovim configuration
  • Updated various Home Manager modules for better type safety and consistency
flake-parts/modules/home-manager/programs/browsers/firefox/default.nix
flake-parts/modules/home-manager/programs/thunderbird.nix
flake-parts/modules/home-manager/programs/editors/neovim.nix
flake-parts/modules/home-manager/programs/gpg.nix
flake-parts/modules/home-manager/programs/git.nix
flake-parts/modules/home-manager/programs/ssh.nix
Added new utility functions and options
  • Implemented new string manipulation functions
  • Added new option types for better configuration management
  • Updated the lib folder with new utility functions
flake-parts/lib/strings.nix
flake-parts/lib/options.nix
flake-parts/lib/default.nix

Tips
  • Trigger a new Sourcery review by commenting @sourcery-ai review on the pull request.
  • Continue your discussion with Sourcery by replying directly to review comments.
  • You can change your review settings at any time by accessing your dashboard:
    • Enable or disable the Sourcery-generated pull request summary or reviewer's guide;
    • Change the review language;
  • You can always contact us if you have any questions or feedback.

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @tsandrini - I've reviewed your changes and found some issues that need to be addressed.

Blocking issues:

  • Potential hardcoded secret in rspamd-ui-basic-auth-file. (link)
  • Hardcoded IP address found. (link)
  • Hardcoded SSH username found. (link)

Overall Comments:

  • Consider breaking this large PR into smaller, more focused pull requests to make review easier and reduce the risk of introducing bugs.
  • Add more documentation and comments explaining the new modules, configuration options, and overall structure changes.
  • Look for opportunities to refactor and reduce code duplication, particularly in the Home Manager modules.
Here's what I looked at during the review
  • 🟢 General issues: all looks good
  • 🔴 Security: 3 blocking issues
  • 🟢 Testing: all looks good
  • 🟢 Complexity: all looks good
  • 🟢 Documentation: all looks good

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment to tell me if it was helpful.

flake-parts/agenix/secrets/secrets.nix Show resolved Hide resolved
flake-parts/deploy-rs/default.nix Show resolved Hide resolved
flake-parts/deploy-rs/default.nix Show resolved Hide resolved
@tsandrini tsandrini merged commit 805f350 into main Sep 4, 2024
2 checks passed
@tsandrini tsandrini deleted the updates branch September 4, 2024 21:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant