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

Feature request: Nix Support #205

Open
Rishabh5321 opened this issue Feb 27, 2025 · 0 comments
Open

Feature request: Nix Support #205

Rishabh5321 opened this issue Feb 27, 2025 · 0 comments
Labels
enhancement New feature or request

Comments

@Rishabh5321
Copy link

Is your feature request related to a problem? Please describe.
I propose adding official Nix support for Akuse by creating a Nix flake or Nix package. This solution will:

  1. Provide a declarative way to install Akuse on NixOS and other Nix-based systems.
  2. Automate the process of fetching, wrapping, and integrating the AppImage into the system.
  3. Include proper desktop file and icon installation for seamless integration.
  4. Allow users to install Akuse with a single command, such as:
nix run github:akuse-app/akuse

or by adding it to their NixOS configuration:

{ inputs.akuse.url = "github:akuse-app/akuse"; }

This will make Akuse more accessible to the Nix community and align with the declarative and reproducible nature of NixOS.

Describe the solution you'd like

  1. Flatpak Support: While Flatpak is a popular option for distributing Linux applications, it is not currently available for Akuse. Additionally, Flatpak is less declarative and requires additional runtime dependencies, which may not align with the preferences of NixOS users.
  2. Manual AppImage Setup: Users can manually download and configure the AppImage, but this approach is error-prone, non-declarative, and lacks integration with the Nix ecosystem.
  3. Custom Nix Expressions: Users can create their own Nix expressions, but this leads to fragmentation and duplication of effort. An official solution would benefit the entire community.

Describe alternatives you've considered
I have already created a Nix flake for Akuse, which simplifies the installation process for Nix users. The flake:

  • Fetches the AppImage from the official GitHub releases.
  • Uses appimageTools.wrapType2 to ensure proper integration.
  • Handles desktop file and icon installation for a seamless user experience.
  • Includes metadata such as description, license, and maintainers.
    You can find the flake here: Rishabh5321/akuse-flake.

Example Usage:

  1. Run Akuse directly:
nix run github:Rishabh5321/akuse-flake
  1. Install via nix profile:
nix profile install "github:Rishabh5321/akuse-flake#akuse"
  1. Add to NixOS configuration:
{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; # Note that nixos unstable channel is required
    akuse-flake.url = "github:Rishabh5321/akuse-flake";
  };

  outputs = { self, nixpkgs, akuse-flake }: {
    # Your existing configuration...
    
    nixosConfigurations.your-hostname = nixpkgs.lib.nixosSystem {
      # ...
      modules = [
        # Add inputs.akuse-flake.packages.${system}.akuse to your pkgs file
        ({ pkgs, ... }: {
          environment.systemPackages = [ inputs.akuse-flake.packages.${system}.akuse ];
        })
      ];
    };
  };
}

Suggested Changes:

  • Update the Akuse README to mention official Nix support.

  • Include installation instructions for Nix users.

  • Optionally, integrate the flake into the main Akuse repository for better visibility and maintenance.

Additional context

Would like to create a pull request for adding flake.nix and flake.lock in official repo and add official support for Nix.

@Rishabh5321 Rishabh5321 added the enhancement New feature or request label Feb 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant