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 to Installation Instructions #549

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open

Updates to Installation Instructions #549

wants to merge 7 commits into from

Conversation

osterman
Copy link
Member

@osterman osterman commented Mar 1, 2024

what

  • Add terminal configuration instructions
  • Add installation instructions for fonts

why

  • Not everyone is familiar with what makes atmos TUI look good =)

Summary by CodeRabbit

  • New Features

    • Updated installation instructions for NixOS users, including commands for modifying Nix configuration.
    • Added a new section on terminal setup, recommending modern terminals and fonts for optimal user experience.
  • Improvements

    • Enhanced the installation script to include support for the Nix package manager and suppress environment hints during Homebrew installation.

@osterman osterman requested review from a team as code owners March 1, 2024 16:44
@osterman osterman changed the title Updates Updates to Installation Instructions Mar 1, 2024
website/static/install.sh Show resolved Hide resolved
For example, in `~/.config/nixpkgs/config.nix` add the following line to the file:

```console
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
Copy link
Member

Choose a reason for hiding this comment

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

I would say that you may need to update your nix config to support the unstable packages channel. I wouldn't make it prescriptive how...that suggestion above means that every package will now be loaded from unstable, which may cause undesired behavior. Some people may prefer stable, then only missing packages from stable are loaded from unstable. And the way you do this is based on how you configure nix (standard, flakes, etc.)

Copy link
Member Author

Choose a reason for hiding this comment

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

To be fair, it does say

to get the latest version, you may

If you don't care about the latest version, then these instructions are moot.

Copy link
Member

@aknysh aknysh left a comment

Choose a reason for hiding this comment

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

one nitpick

@mcalhoun
Copy link
Member

@coderabbitai full review

Copy link
Contributor

coderabbitai bot commented Oct 11, 2024

✅ Actions performed

Full review triggered.

Copy link
Contributor

coderabbitai bot commented Oct 11, 2024

Walkthrough

The changes involve updates to the installation documentation and script for the Atmos tool. The install-atmos.mdx file now includes additional instructions for NixOS users, detailing how to configure the Nix environment and set up a terminal for optimal use. The install.sh script has been modified to suppress environment hints during Homebrew installation and now includes support for the Nix package manager, while maintaining existing installation methods.

Changes

File Path Change Summary
website/docs/quick-start/install-atmos.mdx Updated with additional installation instructions for NixOS, including configuration commands and terminal setup recommendations.
website/static/install.sh Modified to include HOMEBREW_NO_ENV_HINTS=1 in the install_via_brew function and expanded package manager detection to include Nix.

Poem

In the garden of code, where changes bloom bright,
New paths for NixOS, a delightful sight.
With terminal tips and scripts that align,
Installing Atmos is now simply divine!
So hop with joy, let the updates take flight,
For every new feature, our future is bright! 🐇✨


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🧹 Outside diff range and nitpick comments (2)
website/docs/quick-start/install-atmos.mdx (2)

168-172: Excellent addition of terminal setup context.

The new "Set Up Your Terminal" section is a valuable addition to the installation guide. It provides important context for users about the visual aspects of Atmos and why proper terminal setup matters.

Consider adding a brief mention of specific features that benefit from a modern terminal setup, such as:

 Atmos is a modern CLI with a Text-based UI (TUI), as such, for the best experience we recommend ensuring you have
-a decent terminal and modern fonts installed and configured in your terminal.
+a decent terminal and modern fonts installed and configured in your terminal. This setup enhances features like:
+- Color-coded output for better readability
+- Unicode character support for advanced UI elements
+- Proper alignment and formatting of TUI components

This addition would give users a clearer understanding of the benefits they'll gain from following these recommendations.


204-219: Approve Homebrew installation instructions for NerdFonts.

The addition of Homebrew installation instructions for NerdFonts is excellent. It provides a straightforward method for macOS users to install the recommended font.

Consider adding a note about how to activate the newly installed font. For example:

After installation, you may need to:
1. Close and reopen your terminal application
2. Update your terminal's font settings to use the newly installed "FiraCode Nerd Font"

Refer to your terminal application's documentation for specific instructions on changing the font.

This addition would help users complete the setup process and start using the new font with Atmos.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 16cc5f9 and df08c22.

📒 Files selected for processing (2)
  • website/docs/quick-start/install-atmos.mdx (2 hunks)
  • website/static/install.sh (1 hunks)
🧰 Additional context used
🪛 LanguageTool
website/docs/quick-start/install-atmos.mdx

[uncategorized] ~183-~183: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...erm2](https://iterm2.com/) or any other modern day terminal that supports ANSI characters ...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~198-~198: Loose punctuation mark.
Context: ...w.nerdfonts.com/ for more information. ::tip We recommend the "Fira Code" NerdFo...

(UNLIKELY_OPENING_PUNCTUATION)

🔇 Additional comments (3)
website/static/install.sh (2)

Line range hint 25-26: LGTM: Nix package manager support added successfully

The addition of Nix package manager support is well-implemented and consistent with the existing code structure. This enhancement improves the script's versatility by supporting another popular package manager.

Also applies to: 76-79, 89-91


71-71: LGTM: Homebrew environment hint suppression added

The addition of HOMEBREW_NO_ENV_HINTS=1 is consistent with the existing HOMEBREW_NO_INSTALL_CLEANUP flag. As discussed in a previous review, these flags help streamline the installation experience by minimizing distractions and potential confusion for users who may be unfamiliar with Homebrew.

website/docs/quick-start/install-atmos.mdx (1)

Line range hint 1-220: Overall improvements to installation instructions and terminal setup guidance.

The changes to this document significantly enhance the installation instructions and provide valuable guidance on terminal setup for Atmos. Key improvements include:

  1. Addition of NixOS installation instructions
  2. New sections on terminal setup, TERM environment variable configuration, and NerdFonts
  3. Homebrew installation instructions for NerdFonts

These additions will help users set up their environment for the best possible experience with Atmos. The document now provides a more comprehensive guide that goes beyond just installation, addressing the visual and functional aspects of using Atmos effectively.

While some minor issues were identified and addressed in the review comments, the overall changes represent a substantial improvement to the documentation. These updates will greatly benefit users in setting up and using Atmos.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~183-~183: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...erm2](https://iterm2.com/) or any other modern day terminal that supports ANSI characters ...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[uncategorized] ~198-~198: Loose punctuation mark.
Context: ...w.nerdfonts.com/ for more information. ::tip We recommend the "Fira Code" NerdFo...

(UNLIKELY_OPENING_PUNCTUATION)

Comment on lines +81 to +94

To get the latest version, you may need to update the Nix config to add "unstable" packages.

For example, in `~/.config/nixpkgs/config.nix` add the following line to the file:

```console
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
```

Then run the following to install:

```shell
nix-shell -p atmos
```
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Consider providing more flexible Nix configuration instructions.

The added NixOS installation instructions are helpful, but they might benefit from a more flexible approach:

  1. The suggestion to update the Nix config to add "unstable" packages might not be suitable for all users. Some may prefer to use the stable channel for most packages and only use unstable for specific ones.

  2. The current instructions don't mention potential implications of using the unstable channel.

Consider revising the instructions to:

  1. Mention that using the unstable channel is optional and explain when it might be necessary (e.g., for the latest features).
  2. Provide alternative methods for adding Atmos from the unstable channel without switching the entire system to unstable.
  3. Add a note about the potential implications of using the unstable channel (e.g., more frequent updates, potential instability).

For example:

To get the latest version, you may need to add the unstable channel to your Nix configuration. There are several ways to do this, depending on your Nix setup and preferences:

1. For NixOS users:
   Add the following to your `configuration.nix`:
   ```nix
   nixpkgs.config.packageOverrides = pkgs: {
     unstable = import <nixos-unstable> {
       config = config.nixpkgs.config;
     };
   };
  1. For home-manager users:
    Add the following to your home.nix:
    nixpkgs.config.packageOverrides = pkgs: {
      unstable = import <nixos-unstable> {};
    };

Then, you can install Atmos from the unstable channel:

nix-shell -p unstable.atmos

Note: Using the unstable channel may lead to more frequent updates and potential instability. Only use it if you need the latest features and are comfortable with potential risks.


This approach provides more flexibility and information for users with different Nix setups and preferences.

<!-- This is an auto-generated comment by CodeRabbit -->

Comment on lines +186 to +201
:::tip Install NerdFonts
To display all icons used by `atmos`, we recommend the use of a Nerd Font, like *Fira Code*.
:::

### NerdFonts

Nerd Fonts are popular fonts that are patched to include icons.

The exact process will depend on your terminal and operating system, but the general idea is to install a font that
includes the necessary glyphs and then configure your terminal.

Go to https://www.nerdfonts.com/ for more information.

::tip
We recommend the "Fira Code" NerdFont version, which is what all our screenshots are based on.
:::
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Approve NerdFonts section with formatting correction.

The addition of the NerdFonts section is excellent, providing valuable information for users to enhance their Atmos experience. The specific recommendation for the "Fira Code" NerdFont is helpful.

There's a formatting issue with the tip on line 199. Please correct it as follows:

-::tip
+:::tip
 We recommend the "Fira Code" NerdFont version, which is what all our screenshots are based on.
 :::

This change will ensure the tip is properly formatted and displayed in the documentation.

Consider adding a brief explanation of why NerdFonts are particularly beneficial for Atmos. For example:

NerdFonts are especially useful for Atmos because they provide:
- Icons for file types and directories in file browsers
- Symbols for git status and other version control information
- Custom glyphs for improved visual representation of data in Atmos TUI

This addition would give users a clearer understanding of the benefits they'll gain from using NerdFonts with Atmos.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~198-~198: Loose punctuation mark.
Context: ...w.nerdfonts.com/ for more information. ::tip We recommend the "Fira Code" NerdFo...

(UNLIKELY_OPENING_PUNCTUATION)

Comment on lines +173 to +184
### TERM Environment Variable

Atmos uses ANSI color codes. These should work in every modern terminal, including the default terminal shipped with
macOS. You *may* have to set the `TERM` environment variable to `xterm-256color` for it to work.
This can be persisted in your `~/.bashrc` or `~/.zshrc` file (or the respective RC file of whatever shell is in use).

```shell
export TERM=xterm-256color
```

If you're having any troule, try [iTerm2](https://iterm2.com/) or any other modern day terminal that supports
ANSI characters and fonts.
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Approve TERM configuration with minor improvements.

The TERM configuration instructions are clear and helpful. However, there are a few points to address:

  1. As suggested in a past review, it's good to be more inclusive about shell configuration files.
  2. There's a typo in the word "trouble" on line 183.

Please apply the following changes:

  1. Update the shell configuration file mention:
-This can be persisted in your `~/.bashrc` or `~/.zshrc` file (or the respective RC file of whatever shell is in use).
+This can be persisted in your `~/.bashrc`, `~/.zshrc`, or the respective configuration file of your preferred shell.
  1. Fix the typo:
-If you're having any troule, try [iTerm2](https://iterm2.com/) or any other modern day terminal that supports
+If you're having any trouble, try [iTerm2](https://iterm2.com/) or any other modern-day terminal that supports

These changes will improve clarity and correct the minor issues in this section.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
### TERM Environment Variable
Atmos uses ANSI color codes. These should work in every modern terminal, including the default terminal shipped with
macOS. You *may* have to set the `TERM` environment variable to `xterm-256color` for it to work.
This can be persisted in your `~/.bashrc` or `~/.zshrc` file (or the respective RC file of whatever shell is in use).
```shell
export TERM=xterm-256color
```
If you're having any troule, try [iTerm2](https://iterm2.com/) or any other modern day terminal that supports
ANSI characters and fonts.
### TERM Environment Variable
Atmos uses ANSI color codes. These should work in every modern terminal, including the default terminal shipped with
macOS. You *may* have to set the `TERM` environment variable to `xterm-256color` for it to work.
This can be persisted in your `~/.bashrc`, `~/.zshrc`, or the respective configuration file of your preferred shell.
```shell
export TERM=xterm-256color
```
If you're having any trouble, try [iTerm2](https://iterm2.com/) or any other modern-day terminal that supports
ANSI characters and fonts.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~183-~183: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...erm2](https://iterm2.com/) or any other modern day terminal that supports ANSI characters ...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

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.

3 participants