diff --git a/core/default.nix b/core/default.nix new file mode 100644 index 0000000..e69de29 diff --git a/gjs/.gitignore b/core/gjs/.gitignore similarity index 100% rename from gjs/.gitignore rename to core/gjs/.gitignore diff --git a/gjs/eslint.config.mjs b/core/gjs/eslint.config.mjs similarity index 100% rename from gjs/eslint.config.mjs rename to core/gjs/eslint.config.mjs diff --git a/gjs/index.ts b/core/gjs/index.ts similarity index 100% rename from gjs/index.ts rename to core/gjs/index.ts diff --git a/gjs/package-lock.json b/core/gjs/package-lock.json similarity index 100% rename from gjs/package-lock.json rename to core/gjs/package-lock.json diff --git a/gjs/package.json b/core/gjs/package.json similarity index 100% rename from gjs/package.json rename to core/gjs/package.json diff --git a/gjs/src/application.ts b/core/gjs/src/application.ts similarity index 100% rename from gjs/src/application.ts rename to core/gjs/src/application.ts diff --git a/gjs/src/astalify.ts b/core/gjs/src/astalify.ts similarity index 100% rename from gjs/src/astalify.ts rename to core/gjs/src/astalify.ts diff --git a/gjs/src/binding.ts b/core/gjs/src/binding.ts similarity index 100% rename from gjs/src/binding.ts rename to core/gjs/src/binding.ts diff --git a/gjs/src/file.ts b/core/gjs/src/file.ts similarity index 100% rename from gjs/src/file.ts rename to core/gjs/src/file.ts diff --git a/gjs/src/imports.ts b/core/gjs/src/imports.ts similarity index 100% rename from gjs/src/imports.ts rename to core/gjs/src/imports.ts diff --git a/gjs/src/jsx/jsx-runtime.ts b/core/gjs/src/jsx/jsx-runtime.ts similarity index 100% rename from gjs/src/jsx/jsx-runtime.ts rename to core/gjs/src/jsx/jsx-runtime.ts diff --git a/gjs/src/process.ts b/core/gjs/src/process.ts similarity index 100% rename from gjs/src/process.ts rename to core/gjs/src/process.ts diff --git a/gjs/src/time.ts b/core/gjs/src/time.ts similarity index 100% rename from gjs/src/time.ts rename to core/gjs/src/time.ts diff --git a/gjs/src/variable.ts b/core/gjs/src/variable.ts similarity index 100% rename from gjs/src/variable.ts rename to core/gjs/src/variable.ts diff --git a/gjs/src/widgets.ts b/core/gjs/src/widgets.ts similarity index 100% rename from gjs/src/widgets.ts rename to core/gjs/src/widgets.ts diff --git a/gjs/tsconfig.json b/core/gjs/tsconfig.json similarity index 100% rename from gjs/tsconfig.json rename to core/gjs/tsconfig.json diff --git a/lua/astal-dev-1.rockspec b/core/lua/astal-dev-1.rockspec similarity index 100% rename from lua/astal-dev-1.rockspec rename to core/lua/astal-dev-1.rockspec diff --git a/lua/astal/application.lua b/core/lua/astal/application.lua similarity index 100% rename from lua/astal/application.lua rename to core/lua/astal/application.lua diff --git a/lua/astal/binding.lua b/core/lua/astal/binding.lua similarity index 100% rename from lua/astal/binding.lua rename to core/lua/astal/binding.lua diff --git a/lua/astal/file.lua b/core/lua/astal/file.lua similarity index 100% rename from lua/astal/file.lua rename to core/lua/astal/file.lua diff --git a/lua/astal/init.lua b/core/lua/astal/init.lua similarity index 100% rename from lua/astal/init.lua rename to core/lua/astal/init.lua diff --git a/lua/astal/process.lua b/core/lua/astal/process.lua similarity index 100% rename from lua/astal/process.lua rename to core/lua/astal/process.lua diff --git a/lua/astal/time.lua b/core/lua/astal/time.lua similarity index 100% rename from lua/astal/time.lua rename to core/lua/astal/time.lua diff --git a/lua/astal/variable.lua b/core/lua/astal/variable.lua similarity index 100% rename from lua/astal/variable.lua rename to core/lua/astal/variable.lua diff --git a/lua/astal/widget.lua b/core/lua/astal/widget.lua similarity index 100% rename from lua/astal/widget.lua rename to core/lua/astal/widget.lua diff --git a/lua/stylua.toml b/core/lua/stylua.toml similarity index 100% rename from lua/stylua.toml rename to core/lua/stylua.toml diff --git a/lua/test.lua b/core/lua/test.lua similarity index 100% rename from lua/test.lua rename to core/lua/test.lua diff --git a/meson.build b/core/meson.build similarity index 100% rename from meson.build rename to core/meson.build diff --git a/meson_options.txt b/core/meson_options.txt similarity index 100% rename from meson_options.txt rename to core/meson_options.txt diff --git a/src/astal.vala b/core/src/astal.vala similarity index 100% rename from src/astal.vala rename to core/src/astal.vala diff --git a/src/cli.vala b/core/src/cli.vala similarity index 100% rename from src/cli.vala rename to core/src/cli.vala diff --git a/src/config.vala.in b/core/src/config.vala.in similarity index 100% rename from src/config.vala.in rename to core/src/config.vala.in diff --git a/src/file.vala b/core/src/file.vala similarity index 100% rename from src/file.vala rename to core/src/file.vala diff --git a/src/meson.build b/core/src/meson.build similarity index 98% rename from src/meson.build rename to core/src/meson.build index 0dac152..3e28d16 100644 --- a/src/meson.build +++ b/core/src/meson.build @@ -2,7 +2,6 @@ version_split = meson.project_version().split('.') api_version = version_split[0] + '.' + version_split[1] gir = 'Astal-' + api_version + '.gir' typelib = 'Astal-' + api_version + '.typelib' -so = 'libastal.so.' + meson.project_version() config = configure_file( input: 'config.vala.in', diff --git a/src/process.vala b/core/src/process.vala similarity index 100% rename from src/process.vala rename to core/src/process.vala diff --git a/src/time.vala b/core/src/time.vala similarity index 100% rename from src/time.vala rename to core/src/time.vala diff --git a/src/variable.vala b/core/src/variable.vala similarity index 100% rename from src/variable.vala rename to core/src/variable.vala diff --git a/src/widget/box.vala b/core/src/widget/box.vala similarity index 100% rename from src/widget/box.vala rename to core/src/widget/box.vala diff --git a/src/widget/button.vala b/core/src/widget/button.vala similarity index 100% rename from src/widget/button.vala rename to core/src/widget/button.vala diff --git a/src/widget/centerbox.vala b/core/src/widget/centerbox.vala similarity index 100% rename from src/widget/centerbox.vala rename to core/src/widget/centerbox.vala diff --git a/src/widget/circularprogress.vala b/core/src/widget/circularprogress.vala similarity index 100% rename from src/widget/circularprogress.vala rename to core/src/widget/circularprogress.vala diff --git a/src/widget/eventbox.vala b/core/src/widget/eventbox.vala similarity index 100% rename from src/widget/eventbox.vala rename to core/src/widget/eventbox.vala diff --git a/src/widget/icon.vala b/core/src/widget/icon.vala similarity index 100% rename from src/widget/icon.vala rename to core/src/widget/icon.vala diff --git a/src/widget/label.vala b/core/src/widget/label.vala similarity index 100% rename from src/widget/label.vala rename to core/src/widget/label.vala diff --git a/src/widget/levelbar.vala b/core/src/widget/levelbar.vala similarity index 100% rename from src/widget/levelbar.vala rename to core/src/widget/levelbar.vala diff --git a/src/widget/overlay.vala b/core/src/widget/overlay.vala similarity index 100% rename from src/widget/overlay.vala rename to core/src/widget/overlay.vala diff --git a/src/widget/scrollable.vala b/core/src/widget/scrollable.vala similarity index 100% rename from src/widget/scrollable.vala rename to core/src/widget/scrollable.vala diff --git a/src/widget/slider.vala b/core/src/widget/slider.vala similarity index 100% rename from src/widget/slider.vala rename to core/src/widget/slider.vala diff --git a/src/widget/widget.vala b/core/src/widget/widget.vala similarity index 100% rename from src/widget/widget.vala rename to core/src/widget/widget.vala diff --git a/src/widget/window.vala b/core/src/widget/window.vala similarity index 100% rename from src/widget/window.vala rename to core/src/widget/window.vala diff --git a/core/version b/core/version new file mode 100644 index 0000000..6e8bf73 --- /dev/null +++ b/core/version @@ -0,0 +1 @@ +0.1.0 diff --git a/flake.nix b/flake.nix index ffc8c70..d34c09d 100644 --- a/flake.nix +++ b/flake.nix @@ -9,51 +9,45 @@ system = "x86_64-linux"; pkgs = import nixpkgs {inherit system;}; - nativeBuildInputs = with pkgs; [ - wrapGAppsHook - gobject-introspection - meson - pkg-config - ninja - vala - ]; - - buildInputs = with pkgs; [ - glib - gtk3 - gtk-layer-shell - ]; + lib = name: src: inputs: + pkgs.stdenv.mkDerivation { + nativeBuildInputs = with pkgs; [ + wrapGAppsHook + gobject-introspection + meson + pkg-config + ninja + vala + ]; + buildInputs = [pkgs.glib] ++ inputs; + pname = name; + version = version; + src = src; + outputs = ["out" "dev"]; + }; in { packages.${system} = rec { default = astal; - astal = pkgs.stdenv.mkDerivation { - inherit nativeBuildInputs buildInputs; - pname = "astal"; - version = version; - src = ./.; - outputs = ["out" "dev"]; - }; + astal = with pkgs; lib "astal" ./core [gtk3 gtk-layer-shell]; }; devShells.${system} = let - inputs = with pkgs; - buildInputs - ++ [ - (lua.withPackages (ps: [ps.lgi])) - gjs - ]; + inputs = with pkgs; [ + wrapGAppsHook + gobject-introspection + meson + pkg-config + ninja + vala + (lua.withPackages (ps: [ps.lgi])) + gjs + ]; in { default = pkgs.mkShell { - inherit nativeBuildInputs; - buildInputs = inputs; + inherit inputs; }; astal = pkgs.mkShell { - inherit nativeBuildInputs; - buildInputs = - inputs - ++ [ - self.packages.${system}.astal - ]; + inputs = inputs ++ [self.packages.${system}.astal]; }; }; };