Compare commits

..

2 commits

Author SHA1 Message Date
daa77594df flake.lock: Update
Some checks failed
/ test (push) Failing after 56s
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/8cb01a0e717311680e0cbca06a76cbceba6f3ed6' (2024-02-13)
  → 'github:ryantm/agenix/1381a759b205dff7a6818733118d02253340fd5e' (2024-04-02)
• Updated input 'ccrEmacs':
    'git+https://git.aciceri.dev/aciceri/emacs.git?ref=refs/heads/master&rev=d3875adaaa70a52c127f2519a2e86eb4dbcf34b0' (2024-03-26)
  → 'git+https://git.aciceri.dev/aciceri/emacs.git?ref=refs/heads/master&rev=c5bdfd91071fb06261c90655ac56ab61a09aa38c' (2024-04-08)
• Updated input 'ccrEmacs/emacs-overlay':
    'github:nix-community/emacs-overlay/81d4eb044fac45daf51281a046d413a40f05d103' (2024-03-26)
  → 'github:nix-community/emacs-overlay/c68aeff603f1b5c4cc7a57b876cf5e7101f2f21c' (2024-03-13)
• Updated input 'ccrEmacs/emacs-overlay/nixpkgs':
    'github:NixOS/nixpkgs/44d0940ea560dee511026a53f0e2e2cde489b4d4' (2024-03-23)
  → 'github:NixOS/nixpkgs/0ad13a6833440b8e238947e47bea7f11071dc2b2' (2024-03-12)
• Updated input 'ccrEmacs/emacs-overlay/nixpkgs-stable':
    'github:NixOS/nixpkgs/56528ee42526794d413d6f244648aaee4a7b56c0' (2024-03-22)
  → 'github:NixOS/nixpkgs/ddcd7598b2184008c97e6c9c6a21c5f37590b8d2' (2024-03-11)
• Updated input 'ccrEmacs/extra-package-combobulate':
    'github:mickeynp/combobulate/f6e092d94ab184b3445fe3d6c0a501f9d7df764a' (2024-03-11)
  → 'github:mickeynp/combobulate/ee82c568ad639605518f62f82fae4bcc0dfdbb81' (2024-03-11)
• Updated input 'ccrEmacs/extra-package-copilot':
    'github:zerolfx/copilot.el/4e203efaa1f4047c800a026ba496d3bda8b67119' (2024-03-09)
  → 'github:zerolfx/copilot.el/57d5e670786ca8156772c6dcb38e6ff67c5efd62' (2024-03-13)
• Updated input 'ccrEmacs/hercules-ci-effects':
    'github:hercules-ci/hercules-ci-effects/0ca27bd58e4d5be3135a4bef66b582e57abe8f4a' (2024-02-21)
  → 'github:hercules-ci/hercules-ci-effects/9cc7ed20043adf381f1b8354c54ba667b527d538' (2024-03-13)
• Updated input 'ccrEmacs/hercules-ci-effects/flake-parts':
    'github:hercules-ci/flake-parts/34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5' (2023-12-01)
  → 'github:hercules-ci/flake-parts/f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2' (2024-03-01)
• Updated input 'ccrEmacs/hercules-ci-effects/nixpkgs':
    'github:NixOS/nixpkgs/cfc3698c31b1fb9cdcf10f36c9643460264d0ca8' (2023-12-27)
  → 'github:NixOS/nixpkgs/3030f185ba6a4bf4f18b87f345f104e6a6961f34' (2024-03-09)
• Updated input 'disko':
    'github:nix-community/disko/611c9ea53250f7bb22286b3d26872280a0e608f9' (2024-04-01)
  → 'github:nix-community/disko/a297cb1cb0337ee10a7a0f9517954501d8f6f74d' (2024-04-11)
• Updated input 'dream2nix':
    'github:nix-community/dream2nix/26a6c3a3405cdb2c2218cdc4e1e2bcf7a07af7ba' (2024-03-29)
  → 'github:nix-community/dream2nix/400032c6303f82b07a09c9784ab5569a51544987' (2024-04-09)
• Updated input 'dream2nix/nixpkgs':
    'github:NixOS/nixpkgs/72c6ed328aa4e5d9151b1a512f6ad83aca7529fa' (2024-03-28)
  → 'github:NixOS/nixpkgs/efe8ce06ca261f370d672def5b1e0be300c726e1' (2024-04-07)
• Updated input 'homeManager':
    'github:nix-community/home-manager/4be0464472675212654dedf3e021bd5f1d58b92f' (2024-04-02)
  → 'github:nix-community/home-manager/31357486b0ef6f4e161e002b6893eeb4fafc3ca9' (2024-04-10)
• Updated input 'nixosHardware':
    'github:NixOS/nixos-hardware/9a763a7acc4cfbb8603bb0231fec3eda864f81c0' (2024-03-25)
  → 'github:NixOS/nixos-hardware/e1c4bac14beb8c409d0534382cf967171706b9d9' (2024-04-10)
• Updated input 'nixpkgsStable':
    'github:NixOS/nixpkgs/219951b495fc2eac67b1456824cc1ec1fd2ee659' (2024-03-28)
  → 'github:NixOS/nixpkgs/d272ca50d1f7424fbfcd1e6f1c9e01d92f6da167' (2024-04-08)
• Updated input 'nixpkgsUnstable':
    'github:NixOS/nixpkgs/d8fe5e6c92d0d190646fb9f1056741a229980089' (2024-03-29)
  → 'github:NixOS/nixpkgs/4cba8b53da471aea2ab2b0c1f30a81e7c451f4b6' (2024-04-08)
• Updated input 'nur':
    'github:nix-community/NUR/91edd2127f8365f9e96b37370dcba75b769305fe' (2024-04-02)
  → 'github:nix-community/NUR/c853b2bdc1d750a4ba2eef266976127eca4dbcdc' (2024-04-11)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/e35aed5fda3cc79f88ed7f1795021e559582093a' (2024-04-02)
  → 'github:cachix/pre-commit-hooks.nix/70f504012f0a132ac33e56988e1028d88a48855c' (2024-04-08)
2024-04-11 13:01:59 +00:00
3e1fe36c42
Add new Nix On Droid janeway host
All checks were successful
/ test (push) Successful in 33s
2024-04-11 10:59:42 +02:00
5 changed files with 334 additions and 27 deletions

215
flake.lock generated
View file

@ -82,11 +82,11 @@
]
},
"locked": {
"lastModified": 1712612224,
"narHash": "sha256-Tv4C8OSPVmm4LbpJGLFSODyvJy6DqrisEGPCQdNVOeY=",
"lastModified": 1712798444,
"narHash": "sha256-aAksVB7zMfBQTz0q2Lw3o78HM3Bg2FRziX2D6qnh+sk=",
"owner": "nix-community",
"repo": "disko",
"rev": "79eab0e82cb126bf4ac170f44af82479f0895ab5",
"rev": "a297cb1cb0337ee10a7a0f9517954501d8f6f74d",
"type": "github"
},
"original": {
@ -587,7 +587,7 @@
"hercules-ci-effects_3": {
"inputs": {
"flake-parts": "flake-parts_7",
"nixpkgs": "nixpkgs_7"
"nixpkgs": "nixpkgs_8"
},
"locked": {
"lastModified": 1701009247,
@ -624,6 +624,27 @@
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"nix-on-droid",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709445365,
"narHash": "sha256-DVv6nd9FQBbMWbOmhq0KVqmlc3y3FMSYl49UXmMcO+0=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "4de84265d7ec7634a69ba75028696d74de9a44a7",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"homeManager": {
"inputs": {
"nixpkgs": [
@ -631,11 +652,11 @@
]
},
"locked": {
"lastModified": 1712730572,
"narHash": "sha256-rAVvdP77rEmgobvSgybqPAcHefv5dCXPH/ge6Ds+JtU=",
"lastModified": 1712759992,
"narHash": "sha256-2APpO3ZW4idlgtlb8hB04u/rmIcKA8O7pYqxF66xbNY=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "18f89ef74f0d48635488ccd6a5e30dc9d48a3a87",
"rev": "31357486b0ef6f4e161e002b6893eeb4fafc3ca9",
"type": "github"
},
"original": {
@ -725,6 +746,52 @@
"type": "github"
}
},
"nix-formatter-pack": {
"inputs": {
"nixpkgs": [
"nix-on-droid",
"nixpkgs"
],
"nmd": "nmd",
"nmt": "nmt"
},
"locked": {
"lastModified": 1705252799,
"narHash": "sha256-HgSTREh7VoXjGgNDwKQUYcYo13rPkltW7IitHrTPA5c=",
"owner": "Gerschtli",
"repo": "nix-formatter-pack",
"rev": "2de39dedd79aab14c01b9e2934842051a160ffa5",
"type": "github"
},
"original": {
"owner": "Gerschtli",
"repo": "nix-formatter-pack",
"type": "github"
}
},
"nix-on-droid": {
"inputs": {
"home-manager": "home-manager_2",
"nix-formatter-pack": "nix-formatter-pack",
"nixpkgs": "nixpkgs_7",
"nixpkgs-docs": "nixpkgs-docs",
"nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap",
"nmd": "nmd_2"
},
"locked": {
"lastModified": 1710434231,
"narHash": "sha256-yrWnsG28518tbIapJWiluweHORuuIwAQrA8lga0Sqlw=",
"owner": "nix-community",
"repo": "nix-on-droid",
"rev": "2d93311c4f3f300154d2085e4b4b1d550237da92",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-on-droid",
"type": "github"
}
},
"nixDarwin": {
"inputs": {
"nixpkgs": [
@ -771,11 +838,11 @@
},
"nixosHardware": {
"locked": {
"lastModified": 1712739139,
"narHash": "sha256-I8fw3ot29H9TXClIJHmPfQXaq2dEXHs2VmZeMEw7sb4=",
"lastModified": 1712760404,
"narHash": "sha256-4zhaEW1nB+nGbCNMjOggWeY5nXs/H0Y71q0+h+jdxoU=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "805adee81c82efbe50cac7398c4de05769488ed9",
"rev": "e1c4bac14beb8c409d0534382cf967171706b9d9",
"type": "github"
},
"original": {
@ -800,6 +867,38 @@
"type": "github"
}
},
"nixpkgs-docs": {
"locked": {
"lastModified": 1705957679,
"narHash": "sha256-Q8LJaVZGJ9wo33wBafvZSzapYsjOaNjP/pOnSiKVGHY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9a333eaa80901efe01df07eade2c16d183761fa3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-23.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-for-bootstrap": {
"locked": {
"lastModified": 1708105575,
"narHash": "sha256-sS4AItZeUnAei6v8FqxNlm+/27MPlfoGym/TZP0rmH0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1d1817869c47682a6bee85b5b0a6537b6c0fba26",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1d1817869c47682a6bee85b5b0a6537b6c0fba26",
"type": "github"
}
},
"nixpkgs-kernel": {
"locked": {
"lastModified": 1656239181,
@ -1051,6 +1150,21 @@
}
},
"nixpkgs_7": {
"locked": {
"lastModified": 1708172716,
"narHash": "sha256-3M94oln0b61m3dUmLyECCA9hYAHXZEszM4saE3CmQO4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5d874ac46894c896119bce68e758e9e80bdb28f1",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1697723726,
"narHash": "sha256-SaTWPkI8a5xSHX/rrKzUe+/uVNy6zCGMXgoeMb7T9rg=",
@ -1066,7 +1180,7 @@
"type": "github"
}
},
"nixpkgs_8": {
"nixpkgs_9": {
"locked": {
"lastModified": 1678470307,
"narHash": "sha256-OEeMUr3ueLIXyW/OaFUX5jUdimyQwMg/7e+/Q0gC/QE=",
@ -1082,13 +1196,67 @@
"type": "github"
}
},
"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",
"nixpkgs-docs"
],
"scss-reset": "scss-reset"
},
"locked": {
"lastModified": 1705050560,
"narHash": "sha256-x3zzcdvhJpodsmdjqB4t5mkVW22V3wqHLOun0KRBzUI=",
"owner": "~rycee",
"repo": "nmd",
"rev": "66d9334933119c36f91a78d565c152a4fdc8d3d3",
"type": "sourcehut"
},
"original": {
"owner": "~rycee",
"repo": "nmd",
"type": "sourcehut"
}
},
"nmt": {
"flake": false,
"locked": {
"lastModified": 1648075362,
"narHash": "sha256-u36WgzoA84dMVsGXzml4wZ5ckGgfnvS0ryzo/3zn/Pc=",
"owner": "rycee",
"repo": "nmt",
"rev": "d83601002c99b78c89ea80e5e6ba21addcfe12ae",
"type": "gitlab"
},
"original": {
"owner": "rycee",
"repo": "nmt",
"type": "gitlab"
}
},
"nur": {
"locked": {
"lastModified": 1712753744,
"narHash": "sha256-gmw5cWa/+K78CDkx1o5RlwPPgYTRaIhoF5bI4LI6HuQ=",
"lastModified": 1712840159,
"narHash": "sha256-IWyQcCfyBW3V1yI1J8DVWwqrbh2mw928Vv3OwW6TEt8=",
"owner": "nix-community",
"repo": "NUR",
"rev": "72a299e9362607acd61c99c1858d0b4d1e6d2aef",
"rev": "c853b2bdc1d750a4ba2eef266976127eca4dbcdc",
"type": "github"
},
"original": {
@ -1199,7 +1367,7 @@
"fan-control": "fan-control",
"flake-parts": "flake-parts_8",
"kernel-src": "kernel-src",
"nixpkgs": "nixpkgs_8",
"nixpkgs": "nixpkgs_9",
"nixpkgs-kernel": "nixpkgs-kernel",
"panfork": "panfork",
"tow-boot": "tow-boot",
@ -1232,6 +1400,7 @@
"homeManagerGitWorkspace": "homeManagerGitWorkspace",
"homeManagerSwayNC": "homeManagerSwayNC",
"nix-fast-build": "nix-fast-build",
"nix-on-droid": "nix-on-droid",
"nixDarwin": "nixDarwin",
"nixThePlanet": "nixThePlanet",
"nixosHardware": "nixosHardware",
@ -1244,6 +1413,22 @@
"treefmt-nix": "treefmt-nix_3"
}
},
"scss-reset": {
"flake": false,
"locked": {
"lastModified": 1631450058,
"narHash": "sha256-muDlZJPtXDIGevSEWkicPP0HQ6VtucbkMNygpGlBEUM=",
"owner": "andreymatin",
"repo": "scss-reset",
"rev": "0cf50e27a4e95e9bb5b1715eedf9c54dee1a5a91",
"type": "github"
},
"original": {
"owner": "andreymatin",
"repo": "scss-reset",
"type": "github"
}
},
"slimlock": {
"inputs": {
"nixpkgs": [

View file

@ -55,6 +55,7 @@
url = "github:LnL7/nix-darwin";
inputs.nixpkgs.follows = "nixpkgsUnstable";
};
nix-on-droid.url = "github:nix-community/nix-on-droid";
};
outputs = inputs @ {flakeParts, ...}:

View file

@ -8,8 +8,9 @@
imports = [./module.nix];
fleet = {
darwinHosts.archer = {
};
darwinHosts.archer = {};
nixOnDroidHosts.janeway = {};
hosts = {
# thinkpad = {
@ -164,14 +165,4 @@
};
};
};
flake.nixosConfigurations =
lib.mapAttrs
config.fleet._mkNixosConfiguration
config.fleet.hosts;
flake.darwinConfigurations =
lib.mapAttrs
config.fleet._mkDarwinConfiguration
config.fleet.darwinHosts;
}

58
hosts/janeway/default.nix Normal file
View file

@ -0,0 +1,58 @@
{
config,
lib,
pkgs,
...
}: let
sshdTmpDirectory = "${config.user.home}/sshd-tmp";
sshdDirectory = "${config.user.home}/sshd";
pathToPubKey = "/mnt/sdcard/Download/picard_host_key.pub";
port = 8022;
in {
# Backup etc files instead of failing to activate generation if a file already exists in /etc
environment.etcBackupExtension = ".bak";
# Read the changelog before changing this value
system.stateVersion = "23.11";
# Set up nix for flakes
nix.extraOptions = ''
experimental-features = nix-command flakes
'';
# Set your time zone
time.timeZone = "Europe/Rome";
build.activation.sshd = ''
$DRY_RUN_CMD mkdir $VERBOSE_ARG --parents "${config.user.home}/.ssh"
$DRY_RUN_CMD cat ${pathToPubKey} > "${config.user.home}/.ssh/authorized_keys"
if [[ ! -d "${sshdDirectory}" ]]; then
$DRY_RUN_CMD rm $VERBOSE_ARG --recursive --force "${sshdTmpDirectory}"
$DRY_RUN_CMD mkdir $VERBOSE_ARG --parents "${sshdTmpDirectory}"
$VERBOSE_ECHO "Generating host keys..."
$DRY_RUN_CMD ${pkgs.openssh}/bin/ssh-keygen -t rsa -b 4096 -f "${sshdTmpDirectory}/ssh_host_rsa_key" -N ""
$VERBOSE_ECHO "Writing sshd_config..."
$DRY_RUN_CMD echo -e "HostKey ${sshdDirectory}/ssh_host_rsa_key\nPort ${toString port}\n" > "${sshdTmpDirectory}/sshd_config"
$DRY_RUN_CMD mv $VERBOSE_ARG "${sshdTmpDirectory}" "${sshdDirectory}"
fi
'';
environment.packages = [
pkgs.vim
pkgs.bottom
pkgs.helix
pkgs.stress
pkgs.openssh
pkgs.git
(pkgs.writeScriptBin "sshd-start" ''
#!${pkgs.runtimeShell}
echo "Starting sshd in non-daemonized way on port ${toString port}"
${pkgs.openssh}/bin/sshd -f "${sshdDirectory}/sshd_config" -D
'')
];
}

View file

@ -48,6 +48,42 @@ in {
};
}));
};
nixOnDroidHosts = lib.mkOption {
type = lib.types.attrsOf (lib.types.submodule ({name, ...}: {
options = {
name = lib.mkOption {
description = "Host name";
type = lib.types.strMatching "^$|^[[:alnum:]]([[:alnum:]_-]{0,61}[[:alnum:]])?$";
default = name;
};
system = lib.mkOption {
description = "NixOS architecture (a.k.a. system)";
type = lib.types.str;
default = "aarch64-linux";
};
nixpkgs = lib.mkOption {
description = "Used nixpkgs";
type = lib.types.anything;
default = inputs.nixpkgsUnstable;
};
extraModules = lib.mkOption {
description = "Extra NixOS modules";
type = lib.types.listOf lib.types.deferredModule;
default = [];
};
overlays = lib.mkOption {
description = "Enabled Nixpkgs overlays";
type = lib.types.listOf (lib.mkOptionType {
name = "nixpkgs-overlay";
description = "nixpkgs overlay";
check = lib.isFunction;
merge = lib.mergeOneOption;
});
default = [];
};
};
}));
};
hosts = lib.mkOption {
description = "Host configuration";
type = lib.types.attrsOf (lib.types.submodule ({name, ...}: {
@ -243,5 +279,41 @@ in {
];
};
};
_mkNixOnDroidConfiguration = lib.mkOption {
description = "Function returning a proper nix-on-droid configuration";
type = lib.types.functionTo (lib.types.functionTo lib.types.attrs); # TODO improve this type
internal = true;
default = hostname: config:
inputs.nix-on-droid.lib.nixOnDroidConfiguration {
modules = [
({
lib,
pkgs,
...
}: {
nixpkgs.overlays = config.overlays;
})
"${self.outPath}/hosts/${hostname}"
];
};
};
};
config = {
flake.nixosConfigurations =
lib.mapAttrs
config.fleet._mkNixosConfiguration
config.fleet.hosts;
flake.darwinConfigurations =
lib.mapAttrs
config.fleet._mkDarwinConfiguration
config.fleet.darwinHosts;
flake.nixOnDroidConfigurations =
lib.mapAttrs
config.fleet._mkNixOnDroidConfiguration
config.fleet.nixOnDroidHosts;
};
}