Nixpkgs/Reviewing changes: Difference between revisions
imported>Artturin No edit summary |
imported>Artturin add flakes vm example |
||
Line 8: | Line 8: | ||
== Modules == | == Modules == | ||
=== Pre-flakes === | |||
You may use the rev instead of the branchname, the rev will get redownloaded when changed but the branch wont be redownloaded | You may use the rev instead of the branchname, the rev will get redownloaded when changed but the branch wont be redownloaded | ||
Line 41: | Line 42: | ||
]; | ]; | ||
</syntaxhighlight> | |||
=== Flakes === | |||
====Vm example==== | |||
run with | |||
<syntaxHighlight lang=console> | |||
$ nix run | |||
</syntaxHighlight> | |||
<syntaxhighlight lang="nix"> | |||
{ | |||
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; | |||
inputs.pkgsReview.url = "github:Artturin/nixpkgs/pipewirejackldpath"; | |||
#inputs.pkgsReview.url = "path:../nixgits/my-nixpkgs"; | |||
outputs = inputs@{ self, nixpkgs, pkgsReview }: { | |||
nixosConfigurations.vm = nixpkgs.lib.nixosSystem { | |||
system = "x86_64-linux"; | |||
specialArgs = { inherit inputs; }; | |||
modules = [ | |||
({ pkgs, ... }: { | |||
disabledModules = [ "services/desktops/pipewire/pipewire.nix" ]; | |||
imports = [ "${inputs.pkgsReview}/nixos/modules/services/desktops/pipewire/pipewire.nix" ]; | |||
services.pipewire.enable = true; | |||
users.users.user = { | |||
password = "user"; | |||
isNormalUser = true; | |||
}; | |||
}) | |||
]; | |||
}; | |||
# So that we can just run 'nix run' instead of | |||
# 'nix build ".#nixosConfigurations.vm.config.system.build.vm" && ./result/bin/run-nixos-vm' | |||
defaultPackage.x86_64-linux = self.nixosConfigurations.vm.config.system.build.vm; | |||
defaultApp.x86_64-linux = { | |||
type = "app"; | |||
program = "${self.defaultPackage.x86_64-linux}/bin/run-nixos-vm"; | |||
}; | |||
}; | |||
} | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 16:17, 3 September 2021
1
Packages
Modules
Pre-flakes
You may use the rev instead of the branchname, the rev will get redownloaded when changed but the branch wont be redownloaded
disabledModules = [ "module.nix" ];
imports = let
pkgsReview = builtins.fetchTarball {
url = "https://github.com/USERNAME/nixpkgs/archive/BRANCHNAME.tar.gz";
};
in [
(import "${pkgsReview}/nixos/modules/module.nix")
];
for example
disabledModules = [ "config/swap.nix" "tasks/filesystems.nix" ];
imports = let
pkgsReview = builtins.fetchTarball {
url = "https://github.com/Artturin/nixpkgs/archive/add-swap-options.tar.gz";
};
in [
(import "${pkgsReview}/nixos/modules/config/swap.nix")
(import "${pkgsReview}/nixos/modules/tasks/filesystems.nix")
];
swapDevices = [
{ "device" = "/swapfile"; "options" = [ "nofail" "noatime" ]; "priority" = 0; "discardPolicy" = "once"; }
];
Flakes
Vm example
run with
$ nix run
{
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
inputs.pkgsReview.url = "github:Artturin/nixpkgs/pipewirejackldpath";
#inputs.pkgsReview.url = "path:../nixgits/my-nixpkgs";
outputs = inputs@{ self, nixpkgs, pkgsReview }: {
nixosConfigurations.vm = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
({ pkgs, ... }: {
disabledModules = [ "services/desktops/pipewire/pipewire.nix" ];
imports = [ "${inputs.pkgsReview}/nixos/modules/services/desktops/pipewire/pipewire.nix" ];
services.pipewire.enable = true;
users.users.user = {
password = "user";
isNormalUser = true;
};
})
];
};
# So that we can just run 'nix run' instead of
# 'nix build ".#nixosConfigurations.vm.config.system.build.vm" && ./result/bin/run-nixos-vm'
defaultPackage.x86_64-linux = self.nixosConfigurations.vm.config.system.build.vm;
defaultApp.x86_64-linux = {
type = "app";
program = "${self.defaultPackage.x86_64-linux}/bin/run-nixos-vm";
};
};
}