Compare commits
13
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
51960e200e
|
||
|
|
db72f30b56
|
||
|
|
88ddae75e0 | ||
|
|
a0e664f4f5 | ||
|
|
0270b6ed11
|
||
|
|
02a929a56d | ||
|
|
f981d6e7a0 | ||
|
|
5d9ca52386 | ||
|
|
ddc2499722 | ||
|
|
33eb968705 | ||
|
|
d01d0c4875 | ||
|
|
c26813c2b8 | ||
|
|
e9c5da2710 |
@@ -1,5 +1,5 @@
|
|||||||
# Disks
|
# Disks
|
||||||
The disks module can be used by importing `inputs.malobeo.nixosModules.malobeo.disko`
|
The disks module can be used by importing `inputs.self.nixosModules.malobeo.disko`
|
||||||
|
|
||||||
|
|
||||||
#### `let cfg = malobeo.disks`
|
#### `let cfg = malobeo.disks`
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Gitea-tanslator
|
# Gitea-tanslator
|
||||||
The module can be used by importing `inputs.malobeo.nixosModules.malobeo.gitea-translator`
|
The module can be used by importing `inputs.self.nixosModules.malobeo.gitea-translator`
|
||||||
|
|
||||||
This module starts a python server that fetches the gitea pull request api and translates it to a file that hydra understands.
|
This module starts a python server that fetches the gitea pull request api and translates it to a file that hydra understands.
|
||||||
To use, just set the parameters of the gitea server, then send a GET request to either `http://${host}:${port}/` or `http://${host}:${port}/gitea-pulls-sorted.json`
|
To use, just set the parameters of the gitea server, then send a GET request to either `http://${host}:${port}/` or `http://${host}:${port}/gitea-pulls-sorted.json`
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Initrd-ssh
|
# Initrd-ssh
|
||||||
The initssh module can be used by importing `inputs.malobeo.nixosModules.malobeo.initssh`
|
The initssh module can be used by importing `inputs.self.nixosModules.malobeo.initssh`
|
||||||
|
|
||||||
#### `let cfg = malobeo.initssh`
|
#### `let cfg = malobeo.initssh`
|
||||||
|
|
||||||
@@ -27,3 +27,13 @@ Run ` lspci -k | grep -iA4 ethernet `
|
|||||||
|
|
||||||
*Example:*
|
*Example:*
|
||||||
`[ "r8169" ]`
|
`[ "r8169" ]`
|
||||||
|
|
||||||
|
## cfg.ip
|
||||||
|
|
||||||
|
I hate DHCP! Set static ip or ip = hosts.malobeo.hosts.${hostname}.network.address;
|
||||||
|
|
||||||
|
*Default:*
|
||||||
|
`Null` - Will error when not set
|
||||||
|
|
||||||
|
*Example:*
|
||||||
|
`hosts.malobeo.hosts.fanny.network.address;`
|
||||||
Generated
+99
@@ -78,6 +78,29 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gatekeeper": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs-unstable"
|
||||||
|
],
|
||||||
|
"pyproject-build-systems": "pyproject-build-systems",
|
||||||
|
"pyproject-nix": "pyproject-nix",
|
||||||
|
"uv2nix": "uv2nix"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1786138873,
|
||||||
|
"narHash": "sha256-+G/hTquaK4AjYxNSJTpcZXUEKxFDv9lOn3x+lHHTWJw=",
|
||||||
|
"ref": "refs/heads/master",
|
||||||
|
"rev": "c5934d05c6f01c94c36221deb7ed4de03aa91ca1",
|
||||||
|
"revCount": 127,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.dynamicdiscord.de/malobeo/gatekeeper"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://git.dynamicdiscord.de/malobeo/gatekeeper"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -255,11 +278,62 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"pyproject-build-systems": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"gatekeeper",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pyproject-nix": [
|
||||||
|
"gatekeeper",
|
||||||
|
"pyproject-nix"
|
||||||
|
],
|
||||||
|
"uv2nix": [
|
||||||
|
"gatekeeper",
|
||||||
|
"uv2nix"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1776659114,
|
||||||
|
"narHash": "sha256-qapCOQmR++yZSY43dzrp3wCrkOTLpod+ONtJWBk6iKU=",
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "build-system-pkgs",
|
||||||
|
"rev": "ffaa2161dd5d63e0e94591f86b54fc239660fb2e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "build-system-pkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pyproject-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"gatekeeper",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1778901413,
|
||||||
|
"narHash": "sha256-GSKXTAnFqRAMlZkJrIPcQMYf+lpMr66K3i60mB9STvc=",
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "pyproject.nix",
|
||||||
|
"rev": "a228447c3e179d477c1b6246ef3efa8cfe3c469a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "pyproject.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"dns": "dns",
|
"dns": "dns",
|
||||||
"ep3-bs": "ep3-bs",
|
"ep3-bs": "ep3-bs",
|
||||||
|
"gatekeeper": "gatekeeper",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"mfsync": "mfsync",
|
"mfsync": "mfsync",
|
||||||
"microvm": "microvm",
|
"microvm": "microvm",
|
||||||
@@ -461,6 +535,31 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"uv2nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"gatekeeper",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"pyproject-nix": [
|
||||||
|
"gatekeeper",
|
||||||
|
"pyproject-nix"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1779269674,
|
||||||
|
"narHash": "sha256-P1LHCRdYpdtHAEzuEsNHrI6d9mVPl5a2fyFDZGHNVbI=",
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "uv2nix",
|
||||||
|
"rev": "69aec536f6d1acc415ed2e20299312802aba98c6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "pyproject-nix",
|
||||||
|
"repo": "uv2nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"zineshop": {
|
"zineshop": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|||||||
@@ -37,6 +37,11 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
gatekeeper = {
|
||||||
|
url = "git+https://git.dynamicdiscord.de/malobeo/gatekeeper";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||||
|
};
|
||||||
|
|
||||||
nixos-generators = {
|
nixos-generators = {
|
||||||
url = "github:nix-community/nixos-generators";
|
url = "github:nix-community/nixos-generators";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|||||||
@@ -15,18 +15,17 @@ in
|
|||||||
sops.secrets.wg_private = {};
|
sops.secrets.wg_private = {};
|
||||||
|
|
||||||
imports =
|
imports =
|
||||||
[
|
[ # Include the results of the hardware scan.
|
||||||
inputs.malobeo.nixosModules.malobeo.vpn
|
|
||||||
inputs.malobeo.nixosModules.malobeo.initssh
|
|
||||||
inputs.malobeo.nixosModules.malobeo.disko
|
|
||||||
inputs.malobeo.nixosModules.malobeo.metrics
|
|
||||||
inputs.malobeo.nixosModules.malobeo.users
|
|
||||||
inputs.malobeo.nixosModules.malobeo.backup
|
|
||||||
|
|
||||||
#./hardware-configuration.nix
|
#./hardware-configuration.nix
|
||||||
../modules/sshd.nix
|
../modules/sshd.nix
|
||||||
../modules/minimal_tools.nix
|
../modules/minimal_tools.nix
|
||||||
../modules/autoupdate.nix
|
../modules/autoupdate.nix
|
||||||
|
inputs.self.nixosModules.malobeo.vpn
|
||||||
|
inputs.self.nixosModules.malobeo.initssh
|
||||||
|
inputs.self.nixosModules.malobeo.disko
|
||||||
|
inputs.self.nixosModules.malobeo.metrics
|
||||||
|
inputs.self.nixosModules.malobeo.users
|
||||||
|
inputs.self.nixosModules.malobeo.backup
|
||||||
./hydra.nix
|
./hydra.nix
|
||||||
./gitea_runner.nix
|
./gitea_runner.nix
|
||||||
];
|
];
|
||||||
@@ -73,6 +72,7 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
authorizedKeys = sshKeys.admins;
|
authorizedKeys = sshKeys.admins;
|
||||||
ethernetDrivers = ["e1000e"];
|
ethernetDrivers = ["e1000e"];
|
||||||
|
ip = hosts.malobeo.hosts.albert.network.address;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.malobeo.vpn = {
|
services.malobeo.vpn = {
|
||||||
@@ -87,6 +87,11 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.network.networks."05-unmanaged-docker" = {
|
||||||
|
matchConfig = { Name = "veth*"; Kind = "veth"; };
|
||||||
|
linkConfig = { Unmanaged = true; };
|
||||||
|
};
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" "i686-linux" ];
|
boot.binfmt.emulatedSystems = [ "aarch64-linux" "i686-linux" ];
|
||||||
services.acpid.enable = true;
|
services.acpid.enable = true;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
inputs.malobeo.nixosModules.malobeo.gitea-translator
|
inputs.self.nixosModules.malobeo.gitea-translator
|
||||||
];
|
];
|
||||||
|
|
||||||
services.malobeo.gitea-translator = {
|
services.malobeo.gitea-translator = {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, lib, pkgs, inputs, ... }:
|
{ self, config, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
@@ -22,8 +22,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.malobeo.nixosModules.malobeo.users
|
self.nixosModules.malobeo.users
|
||||||
|
|
||||||
../modules/sshd.nix
|
../modules/sshd.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -2,18 +2,19 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
sshKeys = import ../ssh_keys.nix;
|
sshKeys = import ../ssh_keys.nix;
|
||||||
|
hosts = import ../hosts.nix {};
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[ # Include the results of the hardware scan.
|
[ # Include the results of the hardware scan.
|
||||||
inputs.malobeo.nixosModules.malobeo.disko
|
|
||||||
inputs.malobeo.nixosModules.malobeo.initssh
|
|
||||||
inputs.malobeo.nixosModules.malobeo.users
|
|
||||||
|
|
||||||
#./hardware-configuration.nix
|
#./hardware-configuration.nix
|
||||||
../modules/xserver.nix
|
../modules/xserver.nix
|
||||||
../modules/sshd.nix
|
../modules/sshd.nix
|
||||||
../modules/autoupdate.nix
|
../modules/autoupdate.nix
|
||||||
|
inputs.self.nixosModules.malobeo.disko
|
||||||
|
inputs.self.nixosModules.malobeo.initssh
|
||||||
|
inputs.self.nixosModules.malobeo.users
|
||||||
];
|
];
|
||||||
|
|
||||||
malobeo.autoUpdate = {
|
malobeo.autoUpdate = {
|
||||||
@@ -36,6 +37,7 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
authorizedKeys = sshKeys.admins;
|
authorizedKeys = sshKeys.admins;
|
||||||
ethernetDrivers = ["r8169"];
|
ethernetDrivers = ["r8169"];
|
||||||
|
ip = hosts.malobeo.hosts.bakunin.network.address;
|
||||||
};
|
};
|
||||||
|
|
||||||
malobeo.users.malobeo = true;
|
malobeo.users.malobeo = true;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, lib, pkgs, inputs, ... }:
|
{ config, self, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
@@ -17,19 +17,14 @@ with lib;
|
|||||||
];
|
];
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.malobeo.nixosModules.malobeo.metrics
|
self.nixosModules.malobeo.metrics
|
||||||
inputs.malobeo.nixosModules.malobeo.users
|
|
||||||
inputs.tasklist.nixosModules.malobeo-tasklist
|
inputs.tasklist.nixosModules.malobeo-tasklist
|
||||||
|
|
||||||
|
../modules/malobeo_user.nix
|
||||||
../modules/sshd.nix
|
../modules/sshd.nix
|
||||||
../modules/minimal_tools.nix
|
../modules/minimal_tools.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
malobeo.users = {
|
|
||||||
admin = true;
|
|
||||||
malobeo = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
malobeo.metrics = {
|
malobeo.metrics = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enablePromtail = true;
|
enablePromtail = true;
|
||||||
|
|||||||
@@ -11,19 +11,18 @@ in
|
|||||||
sops.secrets.njala_api_key = {};
|
sops.secrets.njala_api_key = {};
|
||||||
|
|
||||||
imports =
|
imports =
|
||||||
[
|
[ # Include the results of the hardware scan.
|
||||||
inputs.malobeo.nixosModules.malobeo.vpn
|
|
||||||
inputs.malobeo.nixosModules.malobeo.initssh
|
|
||||||
inputs.malobeo.nixosModules.malobeo.disko
|
|
||||||
inputs.malobeo.nixosModules.malobeo.microvm
|
|
||||||
inputs.malobeo.nixosModules.malobeo.metrics
|
|
||||||
inputs.malobeo.nixosModules.malobeo.users
|
|
||||||
inputs.malobeo.nixosModules.malobeo.backup
|
|
||||||
|
|
||||||
#./hardware-configuration.nix
|
#./hardware-configuration.nix
|
||||||
../modules/sshd.nix
|
../modules/sshd.nix
|
||||||
../modules/minimal_tools.nix
|
../modules/minimal_tools.nix
|
||||||
../modules/autoupdate.nix
|
../modules/autoupdate.nix
|
||||||
|
inputs.self.nixosModules.malobeo.vpn
|
||||||
|
inputs.self.nixosModules.malobeo.initssh
|
||||||
|
inputs.self.nixosModules.malobeo.disko
|
||||||
|
inputs.self.nixosModules.malobeo.microvm
|
||||||
|
inputs.self.nixosModules.malobeo.metrics
|
||||||
|
inputs.self.nixosModules.malobeo.users
|
||||||
|
inputs.self.nixosModules.malobeo.backup
|
||||||
./dyndns.nix
|
./dyndns.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -91,6 +90,7 @@ in
|
|||||||
authorizedKeys = sshKeys.admins;
|
authorizedKeys = sshKeys.admins;
|
||||||
ethernetDrivers = ["r8169"];
|
ethernetDrivers = ["r8169"];
|
||||||
zfsExtraPools = [ "storage" ];
|
zfsExtraPools = [ "storage" ];
|
||||||
|
ip = hosts.malobeo.hosts.fanny.network.address;
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.initrd = {
|
boot.initrd = {
|
||||||
@@ -193,7 +193,7 @@ in
|
|||||||
proxyPass = "http://${hosts.malobeo.hosts.nextcloud.network.address}";
|
proxyPass = "http://${hosts.malobeo.hosts.nextcloud.network.address}";
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
client_max_body_size ${inputs.malobeo.nixosConfigurations.nextcloud.config.services.nextcloud.maxUploadSize};
|
client_max_body_size ${inputs.self.nixosConfigurations.nextcloud.config.services.nextcloud.maxUploadSize};
|
||||||
client_body_timeout 3600s;
|
client_body_timeout 3600s;
|
||||||
send_timeout 3600s;
|
send_timeout 3600s;
|
||||||
fastcgi_buffers 64 4K;
|
fastcgi_buffers 64 4K;
|
||||||
@@ -208,7 +208,7 @@ in
|
|||||||
proxyPass = "http://${hosts.malobeo.hosts.nextcloud.network.address}";
|
proxyPass = "http://${hosts.malobeo.hosts.nextcloud.network.address}";
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
proxy_set_header Host $host;
|
proxy_set_header Host $host;
|
||||||
client_max_body_size ${inputs.malobeo.nixosConfigurations.nextcloud.config.services.nextcloud.maxUploadSize};
|
client_max_body_size ${inputs.self.nixosConfigurations.nextcloud.config.services.nextcloud.maxUploadSize};
|
||||||
client_body_timeout 3600s;
|
client_body_timeout 3600s;
|
||||||
send_timeout 3600s;
|
send_timeout 3600s;
|
||||||
fastcgi_buffers 64 4K;
|
fastcgi_buffers 64 4K;
|
||||||
|
|||||||
@@ -1,17 +1,12 @@
|
|||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
{
|
{
|
||||||
sops.secrets.njalacloud = {};
|
sops.secrets.njalacloud = {};
|
||||||
sops.secrets.njalazines = {};
|
sops.secrets.njalarm16 = {};
|
||||||
sops.secrets.njalaantamap = {};
|
|
||||||
systemd.services."dyndns" = {
|
systemd.services."dyndns" = {
|
||||||
script = ''
|
script = ''
|
||||||
KEYCLOUD=$(cat /run/secrets/njalacloud)
|
KEYCLOUD=$(cat /run/secrets/njalacloud)
|
||||||
KEYZINES=$(cat /run/secrets/njalazines)
|
|
||||||
KEYANATAMAP=$(cat /run/secrets/njalaantamap)
|
|
||||||
KEYRM16=$(cat /run/secrets/njalarm16)
|
KEYRM16=$(cat /run/secrets/njalarm16)
|
||||||
${pkgs.curl}/bin/curl --fail --silent --show-error "https://njal.la/update/?h=cloud.malobeo.org&k="$KEYCLOUD"&auto"
|
${pkgs.curl}/bin/curl --fail --silent --show-error "https://njal.la/update/?h=cloud.malobeo.org&k="$KEYCLOUD"&auto"
|
||||||
${pkgs.curl}/bin/curl --fail --silent --show-error "https://njal.la/update/?h=zines.malobeo.org&k="$KEYZINES"&auto"
|
|
||||||
${pkgs.curl}/bin/curl --fail --silent --show-error "https://njal.la/update/?h=antamap.malobeo.org&k="$KEYANATAMAP"&auto"
|
|
||||||
${pkgs.curl}/bin/curl --fail --silent --show-error "https://njal.la/update/?h=rm16bleibt.org&k="$KEYRM16"&auto"
|
${pkgs.curl}/bin/curl --fail --silent --show-error "https://njal.la/update/?h=rm16bleibt.org&k="$KEYRM16"&auto"
|
||||||
'';
|
'';
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
|
|||||||
@@ -0,0 +1,93 @@
|
|||||||
|
{ config, pkgs, inputs, modulesPath, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
sshKeys = import ../ssh_keys.nix;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
networking.hostName = "goldman"; # Define your hostname.
|
||||||
|
nixpkgs.hostPlatform = { system = "aarch64-linux"; };
|
||||||
|
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
inputs.gatekeeper.nixosModules.gatekeeper
|
||||||
|
../modules/malobeo_user.nix
|
||||||
|
#inputs.nixos-hardware.nixosModules.raspberry-pi-3
|
||||||
|
(modulesPath + "/profiles/minimal.nix")
|
||||||
|
#(modulesPath + "/installer/sd-card/sd-image.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-label/NIXOS_SD";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
#Try to reduce size
|
||||||
|
documentation.man.enable = false;
|
||||||
|
documentation.nixos.enable = false;
|
||||||
|
|
||||||
|
services.openssh.enable = true;
|
||||||
|
services.openssh.ports = [ 22 ];
|
||||||
|
services.openssh.settings.PasswordAuthentication = false;
|
||||||
|
services.openssh.settings.PermitRootLogin = "prohibit-password";
|
||||||
|
users.users.root.openssh.authorizedKeys.keys = sshKeys.admins;
|
||||||
|
|
||||||
|
# Use the extlinux boot loader. (NixOS wants to enable GRUB by default)
|
||||||
|
boot.loader.grub.enable = false;
|
||||||
|
|
||||||
|
# Enables the generation of /boot/extlinux/extlinux.conf
|
||||||
|
boot.loader.generic-extlinux-compatible.enable = true;
|
||||||
|
|
||||||
|
networking.dhcpcd.enable = true;
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
||||||
|
services.mosquitto = {
|
||||||
|
enable = true;
|
||||||
|
listeners = [{
|
||||||
|
acl = [ "pattern readwrite #" ];
|
||||||
|
omitPasswordAuth = true;
|
||||||
|
settings.allow_anonymous = true;
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
gatekeeper = {
|
||||||
|
enable = true;
|
||||||
|
envFile = pkgs.writeText "env" ''
|
||||||
|
MIFARE_APP_MASTER_KEY="7b195adb892073c9e34ebe7e0ca28b2b"
|
||||||
|
MIFARE_ACL_READ_BASE_KEY="741a50f2b189cc9f151e0600f50a6e1a"
|
||||||
|
MIFARE_ACL_WRITE_BASE_KEY="f1aa99f81cca268de98d422ee0ccb65c"
|
||||||
|
SECRET_KEY="8b14d0b447bff7efa24d5019cc59a999786e31f6f865173bbd642bf18de5ad85"
|
||||||
|
MQTT_HOST = "localhost"
|
||||||
|
MQTT_PORT = "1883"
|
||||||
|
'';
|
||||||
|
mock = "False";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
htop
|
||||||
|
wget
|
||||||
|
git
|
||||||
|
pciutils
|
||||||
|
gpio-utils
|
||||||
|
nix-tree
|
||||||
|
lgpio
|
||||||
|
];
|
||||||
|
|
||||||
|
services.avahi = {
|
||||||
|
enable = true;
|
||||||
|
nssmdns4 = true;
|
||||||
|
publish = {
|
||||||
|
enable = true;
|
||||||
|
addresses = true;
|
||||||
|
userServices = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [ 80 443 1883];
|
||||||
|
|
||||||
|
system.stateVersion = "23.05";
|
||||||
|
}
|
||||||
|
|
||||||
@@ -77,6 +77,17 @@ in
|
|||||||
nameservers = [ "192.168.1.1" "1.1.1.1" ];
|
nameservers = [ "192.168.1.1" "1.1.1.1" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
goldman = {
|
||||||
|
type = "rpi";
|
||||||
|
network = {
|
||||||
|
local = true;
|
||||||
|
hostId = "16";
|
||||||
|
address = "192.168.1.106";
|
||||||
|
gateway = "192.168.1.1";
|
||||||
|
nameservers = [ "192.168.1.1" "1.1.1.1" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
durruti = {
|
durruti = {
|
||||||
type = "microvm";
|
type = "microvm";
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, lib, pkgs, inputs, ... }:
|
{ self, config, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
@@ -10,17 +10,11 @@ with lib;
|
|||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.malobeo.nixosModules.malobeo.metrics
|
inputs.malobeo.nixosModules.malobeo.metrics
|
||||||
inputs.malobeo.nixosModules.malobeo.users
|
|
||||||
|
|
||||||
../durruti/documentation.nix
|
../durruti/documentation.nix
|
||||||
|
../modules/malobeo_user.nix
|
||||||
../modules/sshd.nix
|
../modules/sshd.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
malobeo.users = {
|
|
||||||
admin = true;
|
|
||||||
malobeo = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
malobeo.metrics = {
|
malobeo.metrics = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enablePromtail = true;
|
enablePromtail = true;
|
||||||
|
|||||||
@@ -3,14 +3,13 @@
|
|||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[ # Include the results of the hardware scan.
|
[ # Include the results of the hardware scan.
|
||||||
inputs.malobeo.nixosModules.malobeo.printing
|
|
||||||
|
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../modules/xserver.nix
|
../modules/xserver.nix
|
||||||
../modules/malobeo_user.nix
|
../modules/malobeo_user.nix
|
||||||
../modules/sshd.nix
|
../modules/sshd.nix
|
||||||
../modules/minimal_tools.nix
|
../modules/minimal_tools.nix
|
||||||
../modules/autoupdate.nix
|
../modules/autoupdate.nix
|
||||||
|
inputs.self.nixosModules.malobeo.printing
|
||||||
];
|
];
|
||||||
|
|
||||||
malobeo.autoUpdate = {
|
malobeo.autoUpdate = {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, inputs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
sshKeys = import ../ssh_keys.nix;
|
sshKeys = import ../ssh_keys.nix;
|
||||||
@@ -6,16 +6,10 @@ in
|
|||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[ # Include the results of the hardware scan.
|
[ # Include the results of the hardware scan.
|
||||||
inputs.malobeo.nixosModules.malobeo.users
|
|
||||||
|
|
||||||
./hardware_configuration.nix
|
./hardware_configuration.nix
|
||||||
|
../modules/malobeo_user.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
malobeo.users = {
|
|
||||||
admin = true;
|
|
||||||
malobeo = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
sops.defaultSopsFile = ./secrets.yaml;
|
sops.defaultSopsFile = ./secrets.yaml;
|
||||||
sops.secrets.njala_api_key = {};
|
sops.secrets.njala_api_key = {};
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,10 @@ in
|
|||||||
default = [ ];
|
default = [ ];
|
||||||
description = "Name or GUID of extra ZFS pools that you wish to import during boot.";
|
description = "Name or GUID of extra ZFS pools that you wish to import during boot.";
|
||||||
};
|
};
|
||||||
|
ip = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "The requested static ip for the machine";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf (cfg.enable && config.malobeo.disks.encryption) {
|
config = lib.mkIf (cfg.enable && config.malobeo.disks.encryption) {
|
||||||
@@ -73,7 +77,7 @@ in
|
|||||||
"/etc/ssh/initrd" = "/etc/ssh/initrd";
|
"/etc/ssh/initrd" = "/etc/ssh/initrd";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
kernelParams = [ "ip=::::${hostName}-initrd::dhcp" ];
|
kernelParams = [ "ip=${cfg.ip}::::${hostName}::" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{config, lib, pkgs, inputs, ...}:
|
{config, lib, pkgs, inputs, ...}:
|
||||||
let
|
let
|
||||||
cfg = config.malobeo.users;
|
cfg = config.malobeo.users;
|
||||||
sshKeys = import ( inputs.malobeo + /machines/ssh_keys.nix);
|
sshKeys = import ( inputs.self + /machines/ssh_keys.nix);
|
||||||
inherit (config.networking) hostName;
|
inherit (config.networking) hostName;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, lib, pkgs, inputs, ... }:
|
{ config, self, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
@@ -20,19 +20,13 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.malobeo.nixosModules.malobeo.metrics
|
self.nixosModules.malobeo.metrics
|
||||||
inputs.malobeo.nixosModules.malobeo.users
|
../modules/malobeo_user.nix
|
||||||
|
|
||||||
../modules/sshd.nix
|
../modules/sshd.nix
|
||||||
../modules/minimal_tools.nix
|
../modules/minimal_tools.nix
|
||||||
../modules/autoupdate.nix
|
../modules/autoupdate.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
malobeo.users = {
|
|
||||||
admin = true;
|
|
||||||
malobeo = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
malobeo.metrics = {
|
malobeo.metrics = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enablePromtail = true;
|
enablePromtail = true;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, lib, inputs, pkgs, ... }:
|
{ config, self, lib, inputs, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
with inputs;
|
with inputs;
|
||||||
@@ -13,19 +13,13 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.malobeo.nixosModules.malobeo.users
|
../modules/malobeo_user.nix
|
||||||
inputs.malobeo.nixosModules.malobeo.vpn
|
|
||||||
|
|
||||||
../modules/sshd.nix
|
../modules/sshd.nix
|
||||||
../modules/minimal_tools.nix
|
../modules/minimal_tools.nix
|
||||||
../modules/autoupdate.nix
|
../modules/autoupdate.nix
|
||||||
|
inputs.self.nixosModules.malobeo.vpn
|
||||||
];
|
];
|
||||||
|
|
||||||
malobeo.users = {
|
|
||||||
admin = true;
|
|
||||||
malobeo = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
allowedTCPPorts = [ 53 ];
|
allowedTCPPorts = [ 53 ];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, lib, pkgs, inputs, ... }:
|
{ config, self, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
@@ -30,18 +30,12 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.malobeo.nixosModules.malobeo.metrics
|
self.nixosModules.malobeo.metrics
|
||||||
inputs.malobeo.nixosModules.malobeo.users
|
../modules/malobeo_user.nix
|
||||||
|
|
||||||
../modules/sshd.nix
|
../modules/sshd.nix
|
||||||
./printer_module.nix
|
./printer_module.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
malobeo.users = {
|
|
||||||
admin = true;
|
|
||||||
malobeo = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ 80 3100 ];
|
networking.firewall.allowedTCPPorts = [ 80 3100 ];
|
||||||
|
|
||||||
malobeo.metrics = {
|
malobeo.metrics = {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, lib, pkgs, inputs, ... }:
|
{ config, self, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
@@ -21,10 +21,9 @@ in
|
|||||||
|
|
||||||
disabledModules = [ "services/web-apps/pretalx.nix" ];
|
disabledModules = [ "services/web-apps/pretalx.nix" ];
|
||||||
imports = [
|
imports = [
|
||||||
inputs.malobeo.nixosModules.malobeo.metrics
|
|
||||||
inputs.malobeo.nixosModules.malobeo.users
|
|
||||||
|
|
||||||
"${inputs.nixpkgs-unstable}/nixos/modules/services/web-apps/pretalx.nix"
|
"${inputs.nixpkgs-unstable}/nixos/modules/services/web-apps/pretalx.nix"
|
||||||
|
self.nixosModules.malobeo.metrics
|
||||||
|
self.nixosModules.malobeo.users
|
||||||
../modules/sshd.nix
|
../modules/sshd.nix
|
||||||
../modules/minimal_tools.nix
|
../modules/minimal_tools.nix
|
||||||
../modules/autoupdate.nix
|
../modules/autoupdate.nix
|
||||||
@@ -38,7 +37,6 @@ in
|
|||||||
|
|
||||||
malobeo.users = {
|
malobeo.users = {
|
||||||
admin = true;
|
admin = true;
|
||||||
malobeo = false;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,18 +6,13 @@ in
|
|||||||
imports =
|
imports =
|
||||||
[ # Include the results of the hardware scan.
|
[ # Include the results of the hardware scan.
|
||||||
#./hardware-configuration.nix
|
#./hardware-configuration.nix
|
||||||
inputs.malobeo.nixosModules.malobeo.users
|
../modules/malobeo_user.nix
|
||||||
inputs.malobeo.nixosModules.malobeo.initssh
|
|
||||||
inputs.malobeo.nixosModules.malobeo.disko
|
|
||||||
|
|
||||||
../modules/sshd.nix
|
../modules/sshd.nix
|
||||||
../modules/minimal_tools.nix
|
../modules/minimal_tools.nix
|
||||||
|
inputs.self.nixosModules.malobeo.initssh
|
||||||
|
inputs.self.nixosModules.malobeo.disko
|
||||||
];
|
];
|
||||||
|
|
||||||
malobeo.users = {
|
|
||||||
admin = true;
|
|
||||||
malobeo = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
boot.initrd.systemd.enable = true;
|
boot.initrd.systemd.enable = true;
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
|||||||
@@ -9,16 +9,10 @@ with lib;
|
|||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.malobeo.nixosModules.malobeo.users
|
../modules/malobeo_user.nix
|
||||||
|
|
||||||
../modules/sshd.nix
|
../modules/sshd.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
malobeo.users = {
|
|
||||||
admin = true;
|
|
||||||
malobeo = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||||
|
|
||||||
services.nginx = {
|
services.nginx = {
|
||||||
|
|||||||
@@ -16,17 +16,11 @@ with lib;
|
|||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.malobeo.nixosModules.malobeo.users
|
../modules/malobeo_user.nix
|
||||||
inputs.malobeo.nixosModules.malobeo.metrics
|
|
||||||
|
|
||||||
../modules/sshd.nix
|
../modules/sshd.nix
|
||||||
|
inputs.self.nixosModules.malobeo.metrics
|
||||||
];
|
];
|
||||||
|
|
||||||
malobeo.users = {
|
|
||||||
admin = true;
|
|
||||||
malobeo = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||||
|
|
||||||
malobeo.metrics = {
|
malobeo.metrics = {
|
||||||
|
|||||||
@@ -17,18 +17,12 @@ with lib;
|
|||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.malobeo.nixosModules.malobeo.vpn
|
inputs.self.nixosModules.malobeo.vpn
|
||||||
inputs.malobeo.nixosModules.malobeo.users
|
../modules/malobeo_user.nix
|
||||||
|
|
||||||
../modules/sshd.nix
|
../modules/sshd.nix
|
||||||
../modules/minimal_tools.nix
|
../modules/minimal_tools.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
malobeo.users = {
|
|
||||||
admin = true;
|
|
||||||
malobeo = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.malobeo.vpn = {
|
services.malobeo.vpn = {
|
||||||
enable = true;
|
enable = true;
|
||||||
name = "vpn";
|
name = "vpn";
|
||||||
|
|||||||
@@ -23,8 +23,7 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.malobeo.nixosModules.malobeo.users
|
inputs.self.nixosModules.malobeo.users
|
||||||
|
|
||||||
../modules/sshd.nix
|
../modules/sshd.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, lib, pkgs, inputs, ... }:
|
{ self, config, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
@@ -11,17 +11,11 @@ with lib;
|
|||||||
imports = [
|
imports = [
|
||||||
inputs.malobeo.nixosModules.malobeo.metrics
|
inputs.malobeo.nixosModules.malobeo.metrics
|
||||||
inputs.malobeo.nixosModules.malobeo.printing
|
inputs.malobeo.nixosModules.malobeo.printing
|
||||||
inputs.malobeo.nixosModules.malobeo.users
|
|
||||||
inputs.zineshop.nixosModules.zineshop
|
inputs.zineshop.nixosModules.zineshop
|
||||||
|
../modules/malobeo_user.nix
|
||||||
../modules/sshd.nix
|
../modules/sshd.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
malobeo.users = {
|
|
||||||
admin = true;
|
|
||||||
malobeo = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
malobeo.metrics = {
|
malobeo.metrics = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enablePromtail = true;
|
enablePromtail = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user