diff --git a/flake.lock b/flake.lock index b1a06129..0789143e 100644 --- a/flake.lock +++ b/flake.lock @@ -163,6 +163,24 @@ "type": "github" } }, + "elio": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1790882387, + "narHash": "sha256-6yVkkjdVBCQQs8EtUzTqa1pKeRKMcffsM8t0Y69M87k=", + "owner": "elio-fm", + "repo": "elio", + "rev": "fbb9643f4d0f19a60f496832be345130877e51bd", + "type": "github" + }, + "original": { + "owner": "elio-fm", + "repo": "elio", + "type": "github" + } + }, "firefox-gnome-theme": { "flake": false, "locked": { @@ -406,7 +424,7 @@ "impermanence": { "inputs": { "home-manager": "home-manager_2", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1769548169, @@ -497,7 +515,7 @@ }, "nixarr": { "inputs": { - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "treefmt-nix": "treefmt-nix_2", "vpnconfinement": "vpnconfinement", "website-builder": "website-builder" @@ -518,7 +536,7 @@ }, "nixos-hardware": { "inputs": { - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1790321948, @@ -582,6 +600,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1790652569, + "narHash": "sha256-641r7xrlSOHYoktL9/aArPIYNgZJ9eM5URzSEOtPJDY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b6c8664de9b6cc07fe5666a29f91884ba81197c4", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1768564909, "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", @@ -597,7 +631,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1775595990, "narHash": "sha256-OEf7YqhF9IjJFYZJyuhAypgU+VsRB5lD4DuiMws5Ltc=", @@ -613,7 +647,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { "lastModified": 1789546076, "narHash": "sha256-vWkSk5bbfTqdtMoSgD9FshACO8JCvXTFi+3cqEp0mH0=", @@ -626,7 +660,7 @@ "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" } }, - "nixpkgs_5": { + "nixpkgs_6": { "locked": { "lastModified": 1790533781, "narHash": "sha256-F+b8u43BVF5DlM0pz7JQSbtbwKy5PrHIT5zQUekXsD0=", @@ -642,7 +676,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_7": { "locked": { "lastModified": 1790046670, "narHash": "sha256-OJe62m8gZx4xEAQnMcqH1u31/uu4Xf0q2ykAEHZfgrg=", @@ -705,7 +739,7 @@ "inputs": { "flake-compat": "flake-compat_3", "mnw": "mnw", - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_7" }, "locked": { "lastModified": 1790221470, @@ -767,6 +801,7 @@ "default-creds": "default-creds", "default-creds-web": "default-creds-web", "disko": "disko", + "elio": "elio", "git-hooks": "git-hooks", "helium-browser": "helium-browser", "home-manager": "home-manager", @@ -775,7 +810,7 @@ "nix-index-database": "nix-index-database", "nixarr": "nixarr", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_6", "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur", "nvf": "nvf", diff --git a/flake.nix b/flake.nix index a700d75f..41984d7a 100644 --- a/flake.nix +++ b/flake.nix @@ -51,6 +51,9 @@ url = "github:cachix/git-hooks.nix"; inputs.nixpkgs.follows = "nixpkgs"; }; + elio = { + url = "github:elio-fm/elio"; + }; default-creds = { url = "github:anotherhadi/default-creds"; flake = false; diff --git a/home/tui/elio/default.nix b/home/tui/elio/default.nix index 62907a79..969c3a7c 100644 --- a/home/tui/elio/default.nix +++ b/home/tui/elio/default.nix @@ -2,58 +2,13 @@ { pkgs, config, + inputs, ... }: let c = config.lib.stylix.colors; - # TODO: Waiting for a version in nixpkgs - version = "1.12.0"; - sources = { - "x86_64-linux" = { - url = "https://github.com/elio-fm/elio/releases/download/v${version}/elio-${version}-x86_64-unknown-linux-gnu.tar.gz"; - hash = "sha256-QLcp3MqW1P5uW8nh2njA2G+Fz3aIFrxx/rBT2jYeQPg="; - }; - }; - source = - sources.${pkgs.stdenv.hostPlatform.system} - or (throw "elio: unsupported platform ${pkgs.stdenv.hostPlatform.system}"); - - elio = pkgs.stdenv.mkDerivation { - pname = "elio"; - inherit version; - - src = pkgs.fetchurl {inherit (source) url hash;}; - - nativeBuildInputs = [pkgs.autoPatchelfHook]; - - buildInputs = [pkgs.stdenv.cc.cc.lib]; - - installPhase = '' - runHook preInstall - - install -Dm755 elio -t $out/bin - - for size in 48 128 256 512; do - install -Dm644 \ - "packaging/linux/icons/hicolor/''${size}x''${size}/apps/elio.png" \ - "$out/share/icons/hicolor/''${size}x''${size}/apps/elio.png" - done - install -Dm644 packaging/linux/elio.desktop -t $out/share/applications - - runHook postInstall - ''; - - meta = { - description = "Terminal file manager"; - homepage = "https://github.com/elio-fm/elio"; - license = pkgs.lib.licenses.mit; - mainProgram = "elio"; - platforms = builtins.attrNames sources; - sourceProvenance = [pkgs.lib.sourceTypes.binaryNativeCode]; - }; - }; in { home.packages = [ - elio + inputs.elio.packages.${pkgs.stdenv.hostPlatform.system}.elio pkgs.poppler-utils # PDF previews pkgs.ffmpeg # media metadata and thumbnails pkgs.resvg # SVG previews @@ -61,7 +16,7 @@ in { xdg.desktopEntries.elio = { name = "elio"; - exec = "${pkgs.ghostty}/bin/ghostty +new-window -e ${elio}/bin/elio %f"; + exec = "${pkgs.ghostty}/bin/ghostty +new-window -e ${inputs.elio.packages.${pkgs.stdenv.hostPlatform.system}.elio}/bin/elio %f"; terminal = false; icon = "elio"; mimeType = ["inode/directory"];