95 lines
2.8 KiB
Nix
95 lines
2.8 KiB
Nix
{
|
|
description = "NixOS configuration with Cursor AppImage";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs = { self, nixpkgs, home-manager }: {
|
|
nixosConfigurations = {
|
|
cursor-system = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
./configuration.nix
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
home-manager.users.user = import ./home.nix;
|
|
}
|
|
];
|
|
};
|
|
test-system = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
./test-configuration.nix
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
home-manager.users.user = import ./test-home.nix;
|
|
}
|
|
];
|
|
};
|
|
};
|
|
|
|
# Expose the Cursor package directly (build it explicitly instead of relying on list indices)
|
|
packages.x86_64-linux.cursor =
|
|
let
|
|
system = "x86_64-linux";
|
|
pkgs = import nixpkgs { inherit system; };
|
|
cursorVersion = "1.5.1";
|
|
unwrapped = pkgs.appimageTools.wrapType2 {
|
|
pname = "cursor";
|
|
version = cursorVersion;
|
|
src = pkgs.fetchurl {
|
|
url = "https://downloads.cursor.com/production/99e3b1b4d8796e167e72823eadc66ac2d51fd40c/linux/x64/Cursor-1.5.1-x86_64.AppImage";
|
|
sha256 = "0lj34g0dq561qc6h8ab8bmkp59dz0rvxbrag105pzcy7jdaxa0nn";
|
|
};
|
|
extraPkgs = p: with p; [
|
|
glib
|
|
gtk3
|
|
cairo
|
|
pango
|
|
atk
|
|
gdk-pixbuf
|
|
xorg.libX11
|
|
xorg.libXcomposite
|
|
xorg.libXcursor
|
|
xorg.libXext
|
|
xorg.libXfixes
|
|
xorg.libXi
|
|
xorg.libXrandr
|
|
xorg.libXrender
|
|
xorg.libXtst
|
|
nss
|
|
nspr
|
|
dbus
|
|
at-spi2-atk
|
|
at-spi2-core
|
|
mesa
|
|
alsa-lib
|
|
fuse
|
|
libxkbcommon
|
|
xorg.libxkbfile
|
|
];
|
|
};
|
|
in
|
|
pkgs.writeShellScriptBin "cursor" ''
|
|
#!${pkgs.bash}/bin/bash
|
|
if [[ "$1" == "--version" || "$1" == "-v" ]]; then
|
|
echo "${cursorVersion}"
|
|
exit 0
|
|
fi
|
|
export CURSOR_DISABLE_UPDATE="1"
|
|
export CURSOR_SKIP_UPDATE_CHECK="1"
|
|
export XDG_CACHE_HOME="$(mktemp -d -t cursor-xdg-cache-XXXXXX)"
|
|
export CURSOR_CACHE_DIR="$(mktemp -d -t cursor-cache-XXXXXX)"
|
|
exec "${unwrapped}/bin/cursor" "$@"
|
|
'';
|
|
};
|
|
} |