From 65654282a98cb0590d498e4ed9c924f97646f1dc Mon Sep 17 00:00:00 2001 From: Aylur Date: Wed, 25 Sep 2024 23:22:01 +0000 Subject: docs: restructure --- docs/getting-started/nix.md | 154 -------------------------------------------- 1 file changed, 154 deletions(-) delete mode 100644 docs/getting-started/nix.md (limited to 'docs/getting-started/nix.md') diff --git a/docs/getting-started/nix.md b/docs/getting-started/nix.md deleted file mode 100644 index 2b04bdc..0000000 --- a/docs/getting-started/nix.md +++ /dev/null @@ -1,154 +0,0 @@ -# Nix - -## Astal - -Using Astal on Nix will require you to package your project. - -:::code-group - -```nix [ Lua] -{ - 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.${system}; - in { - packages.${system}.default = astal.lib.mkLuaPacakge { - inherit pkgs; - src = ./path/to/project; # should contain init.lua - - # add extra glib packages or binaries - extraPackages = [ - astal.packages.${system}.battery - pkgs.dart-sass - ]; - }; - }; -} -``` - -```nix [ Python] -# Not documented yet -``` - -```nix [ Vala] -# keep in mind that this is just the nix derivation -# and you still have to use some build tool like meson -{ - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - astal.url = "github:aylur/astal"; - }; - - outputs = { self, nixpkgs, astal }: let - system = "x86_64-linux"; - pkgs = nixpkgs.legacyPackages.${system}; - in { - packages.${system} = { - default = pkgs.stdenv.mkDerivation { - name = "my-shell"; - src = ./.; - - nativeBuildInputs = with pkgs; [ - meson - ninja - pkg-config - vala - gobject-introspection - ]; - - # add extra packages - buildInputs = [ - astal.packages.${system}.astal - ]; - }; - }; - }; -} -``` - -::: - -## AGS - -The recommended way to use AGS on NixOS is through the home-manager module. - -Example content of a `flake.nix` file that contains your `homeConfigurations`. - - - -:::code-group - -```nix [ flake.nix] -{ - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - home-manager = { - url = "github:nix-community/home-manager"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - # add ags https://github.com/Aylur/ags/pull/504 - ags.url = "github:aylur/ags/v2"; - }; - - outputs = { home-manager, nixpkgs, ... }@inputs: - let - system = "x86_64-linux"; - in - { - homeConfigurations."${username}" = home-manager.lib.homeManagerConfiguration { - pkgs = import nixpkgs { inherit system; }; - - # pass inputs as specialArgs - extraSpecialArgs = { inherit inputs; }; - - # import your home.nix - modules = [ ./home-manager/home.nix ]; - }; - }; -} -``` - -::: - -Example content of `home.nix` file - -:::code-group - -```nix [ home.nix] -{ inputs, pkgs, ... }: -{ - # add the home manager module - imports = [ inputs.ags.homeManagerModules.default ]; - - programs.ags = { - enable = true; - configDir = ../ags; - - # additional packages to add to gjs's runtime - extraPackages = with pkgs; [ - inputs.ags.packages.${pkgs.system}.battery - fzf - ]; - }; -} -``` - -::: - -AGS by default only includes the core `libastal` library. -If you want to include any other [library](../libraries/references) you have to add them to `extraPackages`. -You can also add binaries which will be added to `$PATH`. - -:::warning -The `configDir` option symlinks the given path to `~/.config/ags`. -If you already have your source code there leave it as `null`. -::: -- cgit v1.2.3