feat(aarch64): add initial configuration for NixOS on ARM
Introduced hardware and system configurations for the aarch64 NixOS system. Includes hardware setup, base system packages, and enabling key services such as Docker and Podman. This establishes the foundation for managing ARM-based systems.
This commit is contained in:
parent
f45a366528
commit
195a721d19
5 changed files with 306 additions and 97 deletions
76
systems/aarch64-linux/m4nix/default.nix
Normal file
76
systems/aarch64-linux/m4nix/default.nix
Normal file
|
@ -0,0 +1,76 @@
|
|||
{ pkgs, lib, ... }:
|
||||
with lib;
|
||||
with lib.metacfg;
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
metacfg = {
|
||||
base.enable = true;
|
||||
gui.enable = true;
|
||||
nix-ld.enable = true;
|
||||
nix.enable = true;
|
||||
podman.enable = true;
|
||||
secureboot.enable = false;
|
||||
tools = {
|
||||
direnv.enable = true;
|
||||
#git.enable = true;
|
||||
};
|
||||
user.extraGroups = [
|
||||
"docker"
|
||||
"dialout"
|
||||
];
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
azure-cli
|
||||
cloudflare-warp
|
||||
desktop-file-utils
|
||||
kubectl
|
||||
kubectx
|
||||
k9s
|
||||
attic-client
|
||||
piper
|
||||
];
|
||||
|
||||
services.ratbagd.enable = true;
|
||||
|
||||
services.resolved.enable = true;
|
||||
services.resolved.dnssec = "allow-downgrade";
|
||||
services.resolved.extraConfig = ''
|
||||
ResolveUnicastSingleLabel=yes
|
||||
'';
|
||||
|
||||
systemd.packages = [ pkgs.cloudflare-warp ]; # for warp-cli
|
||||
|
||||
virtualisation = {
|
||||
docker.enable = true;
|
||||
podman.dockerCompat = false;
|
||||
};
|
||||
|
||||
system.autoUpgrade = {
|
||||
enable = true;
|
||||
operation = "boot";
|
||||
allowReboot = false;
|
||||
};
|
||||
|
||||
systemd.user.extraConfig = "DefaultLimitNOFILE=32768";
|
||||
|
||||
security.pam.loginLimits = [
|
||||
{
|
||||
domain = "*";
|
||||
item = "nofile";
|
||||
type = "-";
|
||||
value = "32768";
|
||||
}
|
||||
{
|
||||
domain = "*";
|
||||
item = "memlock";
|
||||
type = "-";
|
||||
value = "32768";
|
||||
}
|
||||
];
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue