restruktualizace

This commit is contained in:
foglar 2025-03-15 07:40:07 +01:00
parent 76bcf347b3
commit d7a8909ee2

View File

@ -294,83 +294,6 @@ pkgs.mkShell {
---
# Jak zabalit aplikaci do flake?
---
```nix
outputs = {self, ...} @ inputs: let
supportedSystems = ["aarch64-linux" "i686-linux" "x86_64-linux"];
forAllSystems = inputs.nixpkgs.lib.genAttrs supportedSystems;
nixpkgsFor =
forAllSystems (system: import inputs.nixpkgs {inherit system;});
in {
packages = forAllSystems (system: let
pkgs = nixpkgsFor.${system};
in {
default = self.packages.${system}.nix-install;
nix-install = pkgs.writeShellApplication {
name = "nix-install";
runtimeInputs = with pkgs; [git busybox gum];
text = ''
echo "This is shell aplication in flake"
'';
};
});
apps = forAllSystems (system: {
default = self.apps.${system}.nix-install;
nix-install = {
type = "app";
program = "${self.packages.${system}.nix-install}/bin/nix-install";
};
});
};
```
---
```shell
├───apps
│ ├───aarch64-linux
│ │ ├───default: app
│ │ └───nix-install: app
│ ├───i686-linux
│ │ ├───default: app
│ │ └───nix-install: app
│ └───x86_64-linux
│ ├───default: app
│ └───nix-install: app
└───packages
├───aarch64-linux
│ ├───default: package 'nix-install'
│ └───nix-install: package 'nix-install'
├───i686-linux
│ ├───default: package 'nix-install'
│ └───nix-install: package 'nix-install'
└───x86_64-linux
├───default: package 'nix-install'
└───nix-install: package 'nix-install'
```
---
* spuštění aplika e pomocí `nix run`
* `https://github.com/nixFreak/testApp`
* `nix run github:nixFreak/testApp`
* nebo přidání do flake inputů
```nix
environment.systemPackages = [
inputs.install-script.packages.${system}.default
inputs.zen-browser.packages.${system}.default
];
```
---
# Nix language
* `nix-repl` nebo `nix-instantiate --eval foo.nix`
@ -483,6 +406,84 @@ in
...
```
---
# Jak zabalit aplikaci do flake?
---
```nix
outputs = {self, ...} @ inputs: let
supportedSystems = ["aarch64-linux" "i686-linux" "x86_64-linux"];
forAllSystems = inputs.nixpkgs.lib.genAttrs supportedSystems;
nixpkgsFor =
forAllSystems (system: import inputs.nixpkgs {inherit system;});
in {
packages = forAllSystems (system: let
pkgs = nixpkgsFor.${system};
in {
default = self.packages.${system}.nix-install;
nix-install = pkgs.writeShellApplication {
name = "nix-install";
runtimeInputs = with pkgs; [git busybox gum];
text = ''
echo "This is shell aplication in flake"
'';
};
});
apps = forAllSystems (system: {
default = self.apps.${system}.nix-install;
nix-install = {
type = "app";
program = "${self.packages.${system}.nix-install}/bin/nix-install";
};
});
};
```
---
```shell
├───apps
│ ├───aarch64-linux
│ │ ├───default: app
│ │ └───nix-install: app
│ ├───i686-linux
│ │ ├───default: app
│ │ └───nix-install: app
│ └───x86_64-linux
│ ├───default: app
│ └───nix-install: app
└───packages
├───aarch64-linux
│ ├───default: package 'nix-install'
│ └───nix-install: package 'nix-install'
├───i686-linux
│ ├───default: package 'nix-install'
│ └───nix-install: package 'nix-install'
└───x86_64-linux
├───default: package 'nix-install'
└───nix-install: package 'nix-install'
```
---
* spuštění aplika e pomocí `nix run`
* `https://github.com/nixFreak/testApp`
* `nix run github:nixFreak/testApp`
* nebo přidání do flake inputů
```nix
environment.systemPackages = [
inputs.install-script.packages.${system}.default
inputs.zen-browser.packages.${system}.default
];
```
---
# Nix writers