flake.nix: move main flake into config block
grrr why do people always insist on dumping options into the main block of the module
This commit is contained in:
parent
41be6a0642
commit
c7d841b3e8
302
flake.nix
302
flake.nix
@ -1,3 +1,4 @@
|
|||||||
|
# vim: set foldmethod=marker:
|
||||||
{
|
{
|
||||||
description = "NixOS Configuration";
|
description = "NixOS Configuration";
|
||||||
|
|
||||||
@ -109,11 +110,15 @@
|
|||||||
flake-parts,
|
flake-parts,
|
||||||
...
|
...
|
||||||
} @ inputs:
|
} @ inputs:
|
||||||
flake-parts.lib.mkFlake {inherit inputs;} ({
|
flake-parts.lib.mkFlake {inherit inputs;} (
|
||||||
|
{
|
||||||
inputs,
|
inputs,
|
||||||
self,
|
self,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
} @ flakeArgs: let
|
} @ flakeArgs: let
|
||||||
|
# {{{
|
||||||
inherit (inputs) nixpkgs nixpkgs-unstable;
|
inherit (inputs) nixpkgs nixpkgs-unstable;
|
||||||
inherit (self) outputs;
|
inherit (self) outputs;
|
||||||
# inputs is already defined
|
# inputs is already defined
|
||||||
@ -400,163 +405,176 @@
|
|||||||
}
|
}
|
||||||
// builtins.removeAttrs args
|
// builtins.removeAttrs args
|
||||||
["system" "nixpkgs" "home-manager" "modules" "username" "homeDirectory" "stateVersion" "entrypoint" "config"]);
|
["system" "nixpkgs" "home-manager" "modules" "username" "homeDirectory" "stateVersion" "entrypoint" "config"]);
|
||||||
|
# }}}
|
||||||
in {
|
in {
|
||||||
flake = {
|
# flake-parts imports
|
||||||
# for repl debugging via :lf .
|
imports = [
|
||||||
inherit inputs vars;
|
./flake
|
||||||
|
];
|
||||||
|
|
||||||
devShells = eachSystem (system: let
|
config = {
|
||||||
pkgs = import nixpkgs-unstable {inherit system;};
|
# flake-parts systems (still uses nix-systems)
|
||||||
in {
|
systems = import inputs.systems;
|
||||||
ci = pkgs.mkShell {
|
|
||||||
buildInputs = with pkgs; [
|
|
||||||
nix-update
|
|
||||||
nix-fast-build
|
|
||||||
];
|
|
||||||
};
|
|
||||||
default = pkgs.mkShell {
|
|
||||||
buildInputs = with pkgs; [
|
|
||||||
nix-update
|
|
||||||
inputs.agenix.packages.${system}.default
|
|
||||||
];
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
# nix flake modules are meant to be portable so we cannot rely on
|
debug = lib.mkDefault true;
|
||||||
# (extraS|s)pecialArgs to pass variables
|
|
||||||
nixosModules = (import ./modules/nixos) moduleInputs;
|
flake = {
|
||||||
homeManagerModules = (import ./modules/home-manager) moduleInputs;
|
# for repl debugging via :lf .
|
||||||
packages = eachSystem (
|
inherit inputs vars;
|
||||||
system: let
|
|
||||||
|
devShells = eachSystem (system: let
|
||||||
pkgs = import nixpkgs-unstable {inherit system;};
|
pkgs = import nixpkgs-unstable {inherit system;};
|
||||||
in
|
in {
|
||||||
(
|
ci = pkgs.mkShell {
|
||||||
import ./pkgs {inherit pkgs;}
|
buildInputs = with pkgs; [
|
||||||
)
|
nix-update
|
||||||
// {
|
nix-fast-build
|
||||||
iso = let
|
];
|
||||||
isoSystem = mkISOSystem system;
|
};
|
||||||
in
|
default = pkgs.mkShell {
|
||||||
isoSystem.config.system.build.isoImage;
|
buildInputs = with pkgs; [
|
||||||
}
|
nix-update
|
||||||
);
|
inputs.agenix.packages.${system}.default
|
||||||
apps = eachSystem (system:
|
];
|
||||||
import ./pkgs/apps.nix
|
};
|
||||||
{
|
|
||||||
inherit (self.outputs) packages;
|
|
||||||
inherit system;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
overlays = import ./overlays self;
|
# nix flake modules are meant to be portable so we cannot rely on
|
||||||
|
# (extraS|s)pecialArgs to pass variables
|
||||||
nixosConfigurations = {
|
nixosModules = (import ./modules/nixos) moduleInputs;
|
||||||
iso = mkISOSystem "x86_64-linux";
|
homeManagerModules = (import ./modules/home-manager) moduleInputs;
|
||||||
slab = mkSystem {
|
packages = eachSystem (
|
||||||
nixpkgs = inputs.nixpkgs-unstable;
|
system: let
|
||||||
home-manager = inputs.home-manager-unstable;
|
pkgs = import nixpkgs-unstable {inherit system;};
|
||||||
system = "x86_64-linux";
|
in
|
||||||
hostname = "slab";
|
(
|
||||||
stateVersion = "23.11";
|
import ./pkgs {inherit pkgs;}
|
||||||
};
|
)
|
||||||
|
// {
|
||||||
nullbox = mkSystem {
|
iso = let
|
||||||
nixpkgs = inputs.nixpkgs-unstable;
|
isoSystem = mkISOSystem system;
|
||||||
home-manager = inputs.home-manager-unstable;
|
in
|
||||||
system = "x86_64-linux";
|
isoSystem.config.system.build.isoImage;
|
||||||
hostname = "nullbox";
|
|
||||||
stateVersion = "23.11";
|
|
||||||
};
|
|
||||||
|
|
||||||
nixos-wsl = mkWSLSystem {
|
|
||||||
nixpkgs = inputs.nixpkgs-unstable;
|
|
||||||
home-manager = inputs.home-manager-unstable;
|
|
||||||
system = "x86_64-linux";
|
|
||||||
stateVersion = "23.11";
|
|
||||||
hostname = "nixos-wsl";
|
|
||||||
};
|
|
||||||
|
|
||||||
# for eval testing
|
|
||||||
rpi4-x86_64 = mkSystem {
|
|
||||||
nixpkgs = inputs.nixpkgs-unstable;
|
|
||||||
home-manager = inputs.home-manager-unstable;
|
|
||||||
system = "x86_64-linux";
|
|
||||||
stateVersion = "24.11";
|
|
||||||
hostname = "rpi4";
|
|
||||||
extraModules = [
|
|
||||||
{
|
|
||||||
nixpkgs.hostPlatform = "x86_64-linux";
|
|
||||||
}
|
}
|
||||||
];
|
);
|
||||||
};
|
apps = eachSystem (system:
|
||||||
|
import ./pkgs/apps.nix
|
||||||
|
{
|
||||||
|
inherit (self.outputs) packages;
|
||||||
|
inherit system;
|
||||||
|
});
|
||||||
|
|
||||||
rpi4 = mkSystem {
|
overlays = import ./overlays self;
|
||||||
nixpkgs = inputs.nixpkgs-unstable;
|
|
||||||
home-manager = inputs.home-manager-unstable;
|
|
||||||
system = "aarch64-linux";
|
|
||||||
stateVersion = "24.11";
|
|
||||||
hostname = "rpi4";
|
|
||||||
};
|
|
||||||
}; # end nixosConfigurations
|
|
||||||
|
|
||||||
homeConfigurations = {
|
nixosConfigurations = {
|
||||||
# minimal root config
|
iso = mkISOSystem "x86_64-linux";
|
||||||
"root@rpi4" = mkHome {
|
slab = mkSystem {
|
||||||
system = "aarch64-linux";
|
nixpkgs = inputs.nixpkgs-unstable;
|
||||||
stateVersion = "23.11";
|
home-manager = inputs.home-manager-unstable;
|
||||||
username = "root";
|
system = "x86_64-linux";
|
||||||
homeDirectory = "/root";
|
hostname = "slab";
|
||||||
config = {pkgs, ...}: {
|
stateVersion = "23.11";
|
||||||
programs.bash.enable = true;
|
|
||||||
|
|
||||||
# update nix system-wide since it's installed via root profile
|
|
||||||
home.packages = with pkgs; [btdu nix];
|
|
||||||
};
|
};
|
||||||
nixpkgs = inputs.nixpkgs-unstable;
|
|
||||||
home-manager = inputs.home-manager-unstable;
|
|
||||||
};
|
|
||||||
|
|
||||||
"nullbite@rpi4" = mkHome {
|
nullbox = mkSystem {
|
||||||
system = "aarch64-linux";
|
nixpkgs = inputs.nixpkgs-unstable;
|
||||||
stateVersion = "23.11";
|
home-manager = inputs.home-manager-unstable;
|
||||||
config = {pkgs, ...}: {
|
system = "x86_64-linux";
|
||||||
programs = {
|
hostname = "nullbox";
|
||||||
zsh.enable = false;
|
stateVersion = "23.11";
|
||||||
keychain.enable = false;
|
};
|
||||||
|
|
||||||
|
nixos-wsl = mkWSLSystem {
|
||||||
|
nixpkgs = inputs.nixpkgs-unstable;
|
||||||
|
home-manager = inputs.home-manager-unstable;
|
||||||
|
system = "x86_64-linux";
|
||||||
|
stateVersion = "23.11";
|
||||||
|
hostname = "nixos-wsl";
|
||||||
|
};
|
||||||
|
|
||||||
|
# for eval testing
|
||||||
|
rpi4-x86_64 = mkSystem {
|
||||||
|
nixpkgs = inputs.nixpkgs-unstable;
|
||||||
|
home-manager = inputs.home-manager-unstable;
|
||||||
|
system = "x86_64-linux";
|
||||||
|
stateVersion = "24.11";
|
||||||
|
hostname = "rpi4";
|
||||||
|
extraModules = [
|
||||||
|
{
|
||||||
|
nixpkgs.hostPlatform = "x86_64-linux";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
rpi4 = mkSystem {
|
||||||
|
nixpkgs = inputs.nixpkgs-unstable;
|
||||||
|
home-manager = inputs.home-manager-unstable;
|
||||||
|
system = "aarch64-linux";
|
||||||
|
stateVersion = "24.11";
|
||||||
|
hostname = "rpi4";
|
||||||
|
};
|
||||||
|
}; # end nixosConfigurations
|
||||||
|
|
||||||
|
homeConfigurations = {
|
||||||
|
# minimal root config
|
||||||
|
"root@rpi4" = mkHome {
|
||||||
|
system = "aarch64-linux";
|
||||||
|
stateVersion = "23.11";
|
||||||
|
username = "root";
|
||||||
|
homeDirectory = "/root";
|
||||||
|
config = {pkgs, ...}: {
|
||||||
|
programs.bash.enable = true;
|
||||||
|
|
||||||
|
# update nix system-wide since it's installed via root profile
|
||||||
|
home.packages = with pkgs; [btdu nix];
|
||||||
};
|
};
|
||||||
home.packages = with pkgs; [btdu];
|
nixpkgs = inputs.nixpkgs-unstable;
|
||||||
|
home-manager = inputs.home-manager-unstable;
|
||||||
|
};
|
||||||
|
|
||||||
|
"nullbite@rpi4" = mkHome {
|
||||||
|
system = "aarch64-linux";
|
||||||
|
stateVersion = "23.11";
|
||||||
|
config = {pkgs, ...}: {
|
||||||
|
programs = {
|
||||||
|
zsh.enable = false;
|
||||||
|
keychain.enable = false;
|
||||||
|
};
|
||||||
|
home.packages = with pkgs; [btdu];
|
||||||
|
};
|
||||||
|
nixpkgs = inputs.nixpkgs-unstable;
|
||||||
|
home-manager = inputs.home-manager-unstable;
|
||||||
|
};
|
||||||
|
"deck" = mkHome {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
stateVersion = "23.11";
|
||||||
|
username = "deck";
|
||||||
|
modules = [./users/deck/home.nix];
|
||||||
|
nixpkgs = inputs.nixpkgs-unstable;
|
||||||
|
home-manager = inputs.home-manager-unstable;
|
||||||
|
};
|
||||||
|
"testuser" = mkHome {
|
||||||
|
username = "testuser";
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [./users/testuser/home.nix];
|
||||||
|
stateVersion = "23.11";
|
||||||
|
nixpkgs = inputs.nixpkgs-unstable;
|
||||||
|
home-manager = inputs.home-manager-unstable;
|
||||||
|
};
|
||||||
|
"nix-on-droid" = mkHome {
|
||||||
|
username = "nix-on-droid";
|
||||||
|
homeDirectory = "/data/data/com.termux.nix/files/home";
|
||||||
|
modules = [./users/nix-on-droid/home.nix];
|
||||||
|
system = "aarch64-linux";
|
||||||
|
stateVersion = "23.11";
|
||||||
|
nixpkgs = inputs.nixpkgs-unstable;
|
||||||
|
home-manager = inputs.home-manager-unstable;
|
||||||
};
|
};
|
||||||
nixpkgs = inputs.nixpkgs-unstable;
|
|
||||||
home-manager = inputs.home-manager-unstable;
|
|
||||||
};
|
|
||||||
"deck" = mkHome {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
stateVersion = "23.11";
|
|
||||||
username = "deck";
|
|
||||||
modules = [./users/deck/home.nix];
|
|
||||||
nixpkgs = inputs.nixpkgs-unstable;
|
|
||||||
home-manager = inputs.home-manager-unstable;
|
|
||||||
};
|
|
||||||
"testuser" = mkHome {
|
|
||||||
username = "testuser";
|
|
||||||
system = "x86_64-linux";
|
|
||||||
modules = [./users/testuser/home.nix];
|
|
||||||
stateVersion = "23.11";
|
|
||||||
nixpkgs = inputs.nixpkgs-unstable;
|
|
||||||
home-manager = inputs.home-manager-unstable;
|
|
||||||
};
|
|
||||||
"nix-on-droid" = mkHome {
|
|
||||||
username = "nix-on-droid";
|
|
||||||
homeDirectory = "/data/data/com.termux.nix/files/home";
|
|
||||||
modules = [./users/nix-on-droid/home.nix];
|
|
||||||
system = "aarch64-linux";
|
|
||||||
stateVersion = "23.11";
|
|
||||||
nixpkgs = inputs.nixpkgs-unstable;
|
|
||||||
home-manager = inputs.home-manager-unstable;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
systems = (import inputs.systems);
|
}
|
||||||
}); # end outputs
|
); # end outputs
|
||||||
}
|
}
|
||||||
# end flake
|
# end flake
|
||||||
|
|
||||||
|
6
flake/default.nix
Normal file
6
flake/default.nix
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./packages.nix
|
||||||
|
];
|
||||||
|
}
|
2
flake/packages.nix
Normal file
2
flake/packages.nix
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
{ ... }: {
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user