mirror of
https://github.com/Novattz/creamlinux-installer.git
synced 2026-04-30 03:52:04 -04:00
Compare commits
4 Commits
5896733fd4
...
220763b389
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
220763b389 | ||
|
|
3d894266a7 | ||
|
|
33492a6a55 | ||
|
|
92f4d82e6c |
64
README.md
64
README.md
@@ -46,6 +46,70 @@ While the core functionality is working, please be aware that this is an early r
|
|||||||
WEBKIT_DISABLE_DMABUF_RENDERER=1 ./creamlinux.AppImage
|
WEBKIT_DISABLE_DMABUF_RENDERER=1 ./creamlinux.AppImage
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Nix
|
||||||
|
You can fetch this repository in your configuration using `pkgs.fetchFromGithub`:
|
||||||
|
```nix
|
||||||
|
let
|
||||||
|
creamlinux = pkgs.callPackage (pkgs.fetchFromGitHub {
|
||||||
|
owner = "Novattz";
|
||||||
|
repo = "creamlinux-installer";
|
||||||
|
rev = "main";
|
||||||
|
hash = ""; # You can use nix-prefetch-url to determine which value to put here, or paste the value returned by the error your rebuild will output
|
||||||
|
}) {};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
environment.systemPackages = [ creamlinux ];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
or, using `builtins.fetchTarball`:
|
||||||
|
```nix
|
||||||
|
let
|
||||||
|
creamlinux-src = builtins.fetchTarball {
|
||||||
|
url = "https://github.com/Novattz/creamlinux-installer/archive/main.tar.gz";
|
||||||
|
sha256 = ""; # See above
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
environment.systemPackages = [
|
||||||
|
(pkgs.callPackage creamlinux-src {})
|
||||||
|
];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
alternatively and if you want to pin the package version, using [npins](https://github.com/andir/npins):
|
||||||
|
```bash
|
||||||
|
npins add github Novattz creamlinux-installer --branch main
|
||||||
|
```
|
||||||
|
```nix
|
||||||
|
let
|
||||||
|
sources = import ./npins;
|
||||||
|
creamlinux = pkgs.callPackage sources.creamlinux-installer {};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
environment.systemPackages = [ creamlinux ];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
Those are the recommended methods to add creamlinux-installer to your environment. However, you could also add it as an input of your flake, like so:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
{
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
creamlinux-installer = {
|
||||||
|
type = "github";
|
||||||
|
owner = "Novattz";
|
||||||
|
repo = "creamlinux-installer";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
```
|
||||||
|
Then, in your configuration:
|
||||||
|
```nix
|
||||||
|
environment.systemPackages = [
|
||||||
|
(pkgs.callPackage inputs.creamlinux-installer {})
|
||||||
|
];
|
||||||
|
```
|
||||||
|
|
||||||
### Building from Source
|
### Building from Source
|
||||||
|
|
||||||
#### Prerequisites
|
#### Prerequisites
|
||||||
|
|||||||
57
default.nix
Normal file
57
default.nix
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
{pkgs ? import <nixpkgs> {}}: let
|
||||||
|
cargoRoot = "src-tauri";
|
||||||
|
src = ./.;
|
||||||
|
|
||||||
|
patchSassEmbedded = pkgs.writeShellScriptBin "patch-sass-embedded" ''
|
||||||
|
NIX_LD="${pkgs.lib.fileContents "${pkgs.stdenv.cc}/nix-support/dynamic-linker"}"
|
||||||
|
for dart_bin in node_modules/sass-embedded-linux-*/dart-sass/src/dart; do
|
||||||
|
if [ -f "$dart_bin" ]; then
|
||||||
|
${pkgs.patchelf}/bin/patchelf --set-interpreter "$NIX_LD" "$dart_bin"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
pkgs.rustPlatform.buildRustPackage {
|
||||||
|
pname = "creamlinux-installer";
|
||||||
|
version = "1.5.0-unstable-2026-04-23";
|
||||||
|
inherit src;
|
||||||
|
|
||||||
|
cargoLock.lockFile = ./src-tauri/Cargo.lock;
|
||||||
|
|
||||||
|
npmDeps = pkgs.fetchNpmDeps {
|
||||||
|
inherit src;
|
||||||
|
hash = "sha256-anYTERlnfOGDsGW0joy+h7wECJNDy6q+0a2to6t36pg=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs =
|
||||||
|
[
|
||||||
|
pkgs.cargo-tauri.hook
|
||||||
|
pkgs.nodejs
|
||||||
|
pkgs.npmHooks.npmConfigHook
|
||||||
|
pkgs.pkg-config
|
||||||
|
]
|
||||||
|
++ pkgs.lib.optionals pkgs.stdenv.isLinux [
|
||||||
|
pkgs.wrapGAppsHook4
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = pkgs.lib.optionals pkgs.stdenv.isLinux [
|
||||||
|
pkgs.glib-networking
|
||||||
|
pkgs.openssl
|
||||||
|
pkgs.webkitgtk_4_1
|
||||||
|
];
|
||||||
|
|
||||||
|
inherit cargoRoot;
|
||||||
|
|
||||||
|
buildAndTestSubdir = cargoRoot;
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace src-tauri/tauri.conf.json \
|
||||||
|
--replace-fail '"createUpdaterArtifacts": true' '"createUpdaterArtifacts": false'
|
||||||
|
'';
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
${patchSassEmbedded}/bin/patch-sass-embedded
|
||||||
|
'';
|
||||||
|
|
||||||
|
env.NO_STRIP = true;
|
||||||
|
}
|
||||||
4679
package-lock.json
generated
4679
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -30,7 +30,7 @@ tauri-plugin-shell = "2.0.0-rc"
|
|||||||
tauri-plugin-dialog = "2.0.0-rc"
|
tauri-plugin-dialog = "2.0.0-rc"
|
||||||
tauri-plugin-fs = "2.0.0-rc"
|
tauri-plugin-fs = "2.0.0-rc"
|
||||||
num_cpus = "1.16.0"
|
num_cpus = "1.16.0"
|
||||||
tauri-plugin-process = "2"
|
tauri-plugin-process = "2.2.1"
|
||||||
async-trait = "0.1.89"
|
async-trait = "0.1.89"
|
||||||
sha2 = "0.10.9"
|
sha2 = "0.10.9"
|
||||||
rand = "0.9.2"
|
rand = "0.9.2"
|
||||||
@@ -39,4 +39,4 @@ rand = "0.9.2"
|
|||||||
custom-protocol = ["tauri/custom-protocol"]
|
custom-protocol = ["tauri/custom-protocol"]
|
||||||
|
|
||||||
[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
|
[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
|
||||||
tauri-plugin-updater = "2"
|
tauri-plugin-updater = "2.7.1"
|
||||||
|
|||||||
Reference in New Issue
Block a user