5 ms·
Regarding GUI applications: you're probably talking about the Nixpkgs repository, rather than the Nix tool itself. I use the following Nix function to install
by chriswarbo 5y ago
Regarding GUI applications: you're probably talking about the Nixpkgs repository, rather than the Nix tool itself.
I use the following Nix function to install GUI applications https://github.com/cmacrae/.nixpkgs/blob/d4b51eb414b0edaffaeee9b926c32b118014c4fa/pkgs/apps.nix#L3 https://github.com/cmacrae/.nixpkgs/blob/d4b51eb414b0edaffae...
It doesn't work for everything, but I use it at the moment for Amethyst, DBeaver, DockerDesktop, Emacs, Firefox, iTerm2, Postman, Slack and VNCViewer.
- bpye 5y agoThis is neat! I wonder if there would be value in having a repo for only GUI applications, equivalent to casks. I suppose it works best when the application doesn’t also auto-update, which many do.
- chriswarbo 5y ago> I suppose it works best when the application doesn’t also auto-update, which many do. Yes, the update prompts get annoying (auto-updaters don't work since everything's read-only). I use niv to update things, e.g. $ niv update firefox -v94.0 That will: - Update firefox's version field in nix/sources.json - Update its url field based on its template (for Firefox that's "https://ftp.mozilla.org/pub/firefox/releases/<version>/mac-EME-free/en-GB/Firefox%20<version>.dmg https://ftp.mozilla.org/pub/firefox/releases/<version>/mac-E...") - Fetch that file to the Nix store - Update firefox's sha256 field to match that file's Running nix-build will create a new system package, and the nix/sources.json changes can be committed to git.