Compare commits

..

6 Commits

13 changed files with 89 additions and 52 deletions

35
flake.lock generated
View File

@@ -982,7 +982,10 @@
"nix-on-droid",
"nixpkgs"
],
"nmd": "nmd",
"nmd": [
"nix-on-droid",
"nmd"
],
"nmt": "nmt"
},
"locked": {
@@ -1030,19 +1033,19 @@
],
"nixpkgs-docs": "nixpkgs-docs",
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap",
"nmd": "nmd_2"
"nmd": "nmd"
},
"locked": {
"lastModified": 1720396533,
"narHash": "sha256-UFzk/hZWO1VkciIO5UPaSpJN8s765wsngUSvtJM6d5Q=",
"owner": "nix-community",
"lastModified": 1783837781,
"narHash": "sha256-2MKUKRNV+5qs3nbQDmz7L6KRHSEHDy/lZjfIAYMZSOE=",
"owner": "newAM",
"repo": "nix-on-droid",
"rev": "f3d3b8294039f2f9a8fb7ea82c320f29c6b0fe25",
"rev": "4f963e270e6dc7f3cfb412c73a0eb8c0c350bce2",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.05",
"owner": "newAM",
"ref": "update-proot",
"repo": "nix-on-droid",
"type": "github"
}
@@ -1403,22 +1406,6 @@
}
},
"nmd": {
"flake": false,
"locked": {
"lastModified": 1666190571,
"narHash": "sha256-Z1hc7M9X6L+H83o9vOprijpzhTfOBjd0KmUTnpHAVjA=",
"owner": "rycee",
"repo": "nmd",
"rev": "b75d312b4f33bd3294cd8ae5c2ca8c6da2afc169",
"type": "gitlab"
},
"original": {
"owner": "rycee",
"repo": "nmd",
"type": "gitlab"
}
},
"nmd_2": {
"inputs": {
"nixpkgs": [
"nix-on-droid",

View File

@@ -60,7 +60,9 @@
};
nix-on-droid = {
url = "github:nix-community/nix-on-droid/release-24.05";
# @TODO: upstream module is broken for nixpkgs-unstable
# url = "github:nix-community/nix-on-droid/release-24.05";
url = "github:newAM/nix-on-droid/update-proot";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};

View File

@@ -1,6 +1,6 @@
{ inputs, config, ... }:
{
flake.modules.droid.core =
flake.modules.nixOnDroid.core =
{
hostName,
userName,

View File

@@ -1,5 +1,5 @@
{
flake.modules.droid.core = {
flake.modules.nixOnDroid.core = {
nix.extraOptions = ''
experimental-features = nix-command flakes
'';

View File

@@ -1,5 +1,5 @@
{
flake.modules.droid.networking =
flake.modules.nixOnDroid.networking =
{
config,
lib,

View File

@@ -1,4 +1,3 @@
{ ... }:
{
flake.modules.homeManager.alpha = {
home.stateVersion = "26.05";

View File

@@ -1,4 +1,3 @@
{ ... }:
{
flake.modules.homeManager.arcturus = {
home.stateVersion = "26.05";

View File

@@ -1,4 +1,5 @@
{
self,
inputs,
outputs,
config,
@@ -62,21 +63,63 @@ let
;
};
modules = [
config.flake.modules.droid.core
config.flake.modules.droid.${hostName}
config.flake.modules.nixOnDroid.core
config.flake.modules.nixOnDroid.${hostName}
];
};
mkNixOSNode = hostname: {
inherit hostname;
profiles.system = {
user = "root";
path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.${hostname};
};
};
activateNixOnDroid =
configuration:
inputs.deploy-rs.lib.aarch64-linux.activate.custom configuration.activationPackage "${configuration.activationPackage}/activate";
mkDroidNode = hostname: {
inherit hostname;
profiles.system = {
sshUser = "nix-on-droid";
user = "nix-on-droid";
magicRollback = true;
sshOpts = [
"-p"
"8033"
];
path = activateNixOnDroid self.nixOnDroidConfigurations.${hostname};
};
};
in
{
flake.nixosConfigurations = builtins.mapAttrs mkHost {
alpha = { };
arcturus = { };
canopus = { };
flake = {
nixosConfigurations = builtins.mapAttrs mkHost {
sirius = { };
canopus = { };
arcturus = { };
alpha = { };
vps = { };
};
flake.nixOnDroidConfigurations = builtins.mapAttrs mkDroidHost {
nixOnDroidConfigurations = builtins.mapAttrs mkDroidHost {
vega = { };
};
deploy.nodes = {
sirius = mkNixOSNode "sirius";
canopus = mkNixOSNode "canopus";
arcturus = mkNixOSNode "arcturus";
alpha = mkNixOSNode "alpha";
vega = mkDroidNode "vega";
};
};
perSystem = {
checks = builtins.mapAttrs (
_: config: config.config.system.build.toplevel
) self.nixosConfigurations;
};
}

View File

@@ -1,13 +1,13 @@
{ config, ... }:
{
flake.modules.droid.vega =
flake.modules.nixOnDroid.vega =
{
pkgs,
userEmail,
...
}:
{
imports = with config.flake.modules.droid; [
imports = with config.flake.modules.nixOnDroid; [
networking
];
@@ -44,8 +44,11 @@
environment.etcBackupExtension = ".backup";
environment.motd = "";
environment.packages = with pkgs; [
openssh
ncurses
procps
util-linux
rsync
gnutar
];
system.stateVersion = "24.05";

View File

@@ -1,4 +1,3 @@
{ ... }:
{
flake.modules.homeManager.vps = {
home.stateVersion = "26.05";

View File

@@ -11,6 +11,8 @@
config = lib.mkMerge [
{
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
boot.loader = {
timeout = 1;
efi.canTouchEfiVariables = true;

View File

@@ -15,6 +15,11 @@
optimise.automatic = true;
settings = {
extra-platforms = [
"aarch64-linux"
"arm-linux"
];
experimental-features = [
"nix-command"
"flakes"

View File

@@ -1,7 +1,5 @@
{
flake.modules.nixos.core =
{ pkgs, ... }:
{
flake.modules.nixos.core = {
security = {
sudo.wheelNeedsPassword = false;
};