Installation
WARNING
Currently Astal libraries are packaged for the AUR
and Nix
. If you don't have access to these you will have to install dependencies from source.
Disclaimer
This project is closed source.
If you are a GitHub Sponsor, you will have access to the source code for as long as you remain a sponsor.
If you purchased the project from Ko-fi, you will receive a versioned bundle. These bundles may receive bug fixes until a new version is released, after which they will no longer be maintained. When a new version becomes available, you will need to purchase it again.
WARNING
I am also the author of most dependencies. While I will do my best to ensure the versioned bundles remain functional, I cannot guarantee there will be no breaking changes in the future. If a breaking change occurs and you wish to continue using your current version, you can install nix
on any Linux distribution to lock dependencies and use the project indefinitely.
Arch
Install the following dependencies
yay -S gjs libastal-meta
Then run the distributed script.
./marble
If you are a GitHub sponsor and have access to the repo you can build from source with AGS.
yay -S aylurs-gtk-shell nushell gjs libastal-meta
git clone https://github.com/marble-shell/shell.git
cd shell
npm run dev:init
npm run dev:build
gjs -m build/marble
IMPORTANT
I'm using nushell for setup and build scripts.
TIP
Move the executable into a directory that's in your PATH
sudo mv marble /usr/bin
mv marble ~/.local/bin # alternatively
Nix
Example flake for bundled scripts.
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
astal = {
url = "github:aylur/astal";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
self,
nixpkgs,
astal,
}: let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.x86_64-linux;
in {
packages.${system}.default = pkgs.stdenv.mkDerivation {
pname = "marble";
src = ./marble;
dontUnpack = true;
nativeBuildInputs = with pkgs; [
wrapGAppsHook
gobject-introspection
];
buildInputs =
(with astal.packages.${system}; [
astal3
io
apps
battery
bluetooth
hyprland
mpris
network
notifd
powerprofiles
tray
wireplumber
])
++ (with pkgs; [
gjs
]);
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : ${with pkgs;
lib.makeBinPath [
dart-sass
fzf
]}
)
'';
installPhase = ''
mkdir -p $out/bin
install $src $out/bin/marble
'';
};
};
}
If you are a GitHub sponsor and have access to the repo you can pull its flake.
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
marble = {
url = "github:marble-shell/shell";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, marble }: let
system = "x86_64-linux";
in {
packages.${system}.default = marble.packages.${system}.default;
};
}