WIP: adsb-antenna system
This commit is contained in:
parent
ac9f82f5c2
commit
03c64e4f94
8 changed files with 194 additions and 5 deletions
22
flake.nix
22
flake.nix
|
@ -35,19 +35,35 @@
|
||||||
|
|
||||||
outputs = inputs@{ self, ... }:
|
outputs = inputs@{ self, ... }:
|
||||||
let
|
let
|
||||||
config-Styx = import ./system/flakes/Styx.nix {
|
Styx = import ./system/flakes/Styx.nix {
|
||||||
inherit (inputs) nixpkgs;
|
inherit (inputs) nixpkgs;
|
||||||
inherit (inputs) home-manager;
|
inherit (inputs) home-manager;
|
||||||
inherit (inputs) darwin;
|
inherit (inputs) darwin;
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
};
|
};
|
||||||
|
|
||||||
config-sail = import ./system/flakes/sail.nix {
|
sail = import ./system/flakes/sail.nix {
|
||||||
|
inherit (inputs) nixpkgs;
|
||||||
|
inherit (inputs) home-manager;
|
||||||
|
inherit (inputs) arion;
|
||||||
|
inherit inputs;
|
||||||
|
};
|
||||||
|
|
||||||
|
adsb-antenna = import ./system/flakes/adsb-antenna.nix {
|
||||||
inherit (inputs) nixpkgs;
|
inherit (inputs) nixpkgs;
|
||||||
inherit (inputs) home-manager;
|
inherit (inputs) home-manager;
|
||||||
inherit (inputs) arion;
|
inherit (inputs) arion;
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
config-Styx // config-sail;
|
{
|
||||||
|
darwinConfigurations = {
|
||||||
|
"Styx" = Styx.system;
|
||||||
|
};
|
||||||
|
|
||||||
|
nixosConfigurations = {
|
||||||
|
sail = sail.system;
|
||||||
|
adsb-antenna = adsb-antenna.system;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
28
hardware/hosts/adsb-antenna.nix
Normal file
28
hardware/hosts/adsb-antenna.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
initrd = {
|
||||||
|
availableKernelModules = [ "xhci_pci" "usbhid" ];
|
||||||
|
kernelModules = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
|
kernelModules = [ ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.eth0.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlan0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
|
||||||
|
}
|
26
home/hosts/adsb-antenna.nix
Normal file
26
home/hosts/adsb-antenna.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../programs/fish.nix
|
||||||
|
../programs/starship.nix
|
||||||
|
|
||||||
|
../programs/nvim
|
||||||
|
|
||||||
|
../programs/git.nix
|
||||||
|
|
||||||
|
../programs/bat.nix
|
||||||
|
|
||||||
|
../programs/fzf.nix
|
||||||
|
|
||||||
|
../programs/jq.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home = {
|
||||||
|
stateVersion = "22.11";
|
||||||
|
|
||||||
|
packages = with pkgs; [
|
||||||
|
ripgrep
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
BIN
secret/hosts/adsb-antenna.nix
Normal file
BIN
secret/hosts/adsb-antenna.nix
Normal file
Binary file not shown.
|
@ -21,7 +21,7 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
darwinConfigurations."Styx" = darwin.lib.darwinSystem {
|
system = darwin.lib.darwinSystem {
|
||||||
system = "aarch64-darwin";
|
system = "aarch64-darwin";
|
||||||
modules = [
|
modules = [
|
||||||
../hosts/Styx.nix
|
../hosts/Styx.nix
|
||||||
|
|
46
system/flakes/adsb-antenna.nix
Normal file
46
system/flakes/adsb-antenna.nix
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
{ nixpkgs, home-manager, arion, inputs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
overlay-arion = arion.overlay;
|
||||||
|
overlay-neovim = inputs.neovim-nightly-overlay.overlay;
|
||||||
|
overlay-zig = _: prev: { zigpkgs = inputs.zig-overlay.packages.${prev.system}; };
|
||||||
|
overlay-nifoc = inputs.nifoc-overlay.overlay;
|
||||||
|
|
||||||
|
nixpkgsConfig = {
|
||||||
|
overlays = [
|
||||||
|
overlay-arion
|
||||||
|
overlay-neovim
|
||||||
|
overlay-zig
|
||||||
|
overlay-nifoc
|
||||||
|
];
|
||||||
|
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
allowBroken = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
system = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "aarch64-linux";
|
||||||
|
modules = [
|
||||||
|
({
|
||||||
|
nixpkgs.overlays = nixpkgsConfig.overlays;
|
||||||
|
nixpkgs.config = nixpkgsConfig.config;
|
||||||
|
})
|
||||||
|
|
||||||
|
arion.nixosModules.arion
|
||||||
|
|
||||||
|
../hosts/adsb-antenna.nix
|
||||||
|
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
nixpkgs = nixpkgsConfig;
|
||||||
|
nix.nixPath = [ "nixpkgs=${nixpkgs}" ];
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.users.daniel = import ../../home/hosts/adsb-antenna.nix;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -21,7 +21,7 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
nixosConfigurations.sail = nixpkgs.lib.nixosSystem {
|
system = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
({
|
({
|
||||||
|
|
73
system/hosts/adsb-antenna.nix
Normal file
73
system/hosts/adsb-antenna.nix
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
secret = import ../../secret/hosts/adsb-antenna.nix;
|
||||||
|
ssh-keys = import ../shared/ssh-keys.nix;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../../hardware/hosts/adsb-antenna.nix
|
||||||
|
../nixos/ssh.nix
|
||||||
|
|
||||||
|
../nixos/git.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
package = pkgs.nixFlakes;
|
||||||
|
|
||||||
|
binaryCaches = [
|
||||||
|
"https://nix-community.cachix.org"
|
||||||
|
];
|
||||||
|
|
||||||
|
binaryCachePublicKeys = [
|
||||||
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
|
];
|
||||||
|
|
||||||
|
extraOptions = ''
|
||||||
|
experimental-features = nix-command flakes
|
||||||
|
keep-derivations = true
|
||||||
|
keep-outputs = true
|
||||||
|
auto-optimise-store = true
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
loader = {
|
||||||
|
grub.enable = false;
|
||||||
|
generic-extlinux-compatible.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
cleanTmpDir = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostName = "adsb-antenna";
|
||||||
|
|
||||||
|
dhcpcd.denyInterfaces = [ "veth*" ];
|
||||||
|
|
||||||
|
timeServers = [
|
||||||
|
"ntp1.hetzner.de"
|
||||||
|
"ntp2.hetzner.com"
|
||||||
|
"ntp3.hetzner.net"
|
||||||
|
"time.cloudflare.com"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.fish.enable = true;
|
||||||
|
|
||||||
|
users.users = {
|
||||||
|
root = {
|
||||||
|
openssh.authorizedKeys.keys = [ ssh-keys.LAN ];
|
||||||
|
};
|
||||||
|
|
||||||
|
daniel = {
|
||||||
|
hashedPassword = secret.users.daniel.hashedPassword;
|
||||||
|
isNormalUser = true;
|
||||||
|
home = "/home/daniel";
|
||||||
|
description = "Daniel";
|
||||||
|
extraGroups = [ "wheel" ];
|
||||||
|
shell = pkgs.fish;
|
||||||
|
openssh.authorizedKeys.keys = [ ssh-keys.LAN ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue