Compare commits
3 commits
ccfed67fc0
...
20ef6f5b90
Author | SHA1 | Date | |
---|---|---|---|
20ef6f5b90 | |||
45d76d4f0f | |||
800c102ea3 |
7 changed files with 32 additions and 15 deletions
12
flake.lock
12
flake.lock
|
@ -467,11 +467,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1723688146,
|
"lastModified": 1724098845,
|
||||||
"narHash": "sha256-sqLwJcHYeWLOeP/XoLwAtYjr01TISlkOfz+NG82pbdg=",
|
"narHash": "sha256-D5HwjQw/02fuXbR4LCTo64koglP2j99hkDR79/3yLOE=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c3d4ac725177c030b1e289015989da2ad9d56af0",
|
"rev": "f1bad50880bae73ff2d82fafc22010b4fc097a9c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -559,11 +559,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable_2": {
|
"nixpkgs-unstable_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1723637854,
|
"lastModified": 1723991338,
|
||||||
"narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=",
|
"narHash": "sha256-Grh5PF0+gootJfOJFenTTxDTYPidA3V28dqJ/WV7iis=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9",
|
"rev": "8a3354191c0d7144db9756a74755672387b702ba",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -79,6 +79,7 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# ghostty - 👻
|
||||||
ghostty = {
|
ghostty = {
|
||||||
url = "git+ssh://git@github.com/ghostty-org/ghostty";
|
url = "git+ssh://git@github.com/ghostty-org/ghostty";
|
||||||
};
|
};
|
||||||
|
|
|
@ -33,6 +33,7 @@ with config;
|
||||||
solaar
|
solaar
|
||||||
talosctl
|
talosctl
|
||||||
termius
|
termius
|
||||||
|
unstable.bruno
|
||||||
unstable.fractal
|
unstable.fractal
|
||||||
unstable.peazip
|
unstable.peazip
|
||||||
unstable.telegram-desktop
|
unstable.telegram-desktop
|
||||||
|
|
|
@ -25,6 +25,7 @@ let
|
||||||
"tamasfe.even-better-toml"
|
"tamasfe.even-better-toml"
|
||||||
"tyriar.sort-lines"
|
"tyriar.sort-lines"
|
||||||
"yzhang.markdown-all-in-one"
|
"yzhang.markdown-all-in-one"
|
||||||
|
"foxundermoon.shell-format"
|
||||||
];
|
];
|
||||||
# Nixpkgs Extensions. These are updated whenver they get around to it.
|
# Nixpkgs Extensions. These are updated whenver they get around to it.
|
||||||
vscodeNixpkgsExtensions = [
|
vscodeNixpkgsExtensions = [
|
||||||
|
|
|
@ -9,7 +9,7 @@ in
|
||||||
package = mkPackageOption pkgs "dnsmasq" { };
|
package = mkPackageOption pkgs "dnsmasq" { };
|
||||||
bootAsset = mkOption {
|
bootAsset = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
example = "http://10.1.1.57:8086/boot.ipxe";
|
example = "http://10.1.1.57:8086/boot.ipxe";
|
||||||
};
|
};
|
||||||
tftpRoot = mkOption {
|
tftpRoot = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
|
@ -18,6 +18,11 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
# Ensure the tftpRoot directory exists
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d ${cfg.tftpRoot} 0755 dnsmasq dnsmasq"
|
||||||
|
];
|
||||||
|
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
# dhcp ports
|
# dhcp ports
|
||||||
allowedUDPPorts = [ 67 68 ]; # server/client
|
allowedUDPPorts = [ 67 68 ]; # server/client
|
||||||
|
|
|
@ -10,14 +10,23 @@ in
|
||||||
dataPath = mkOption {
|
dataPath = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
example = "/var/lib/matchbox";
|
example = "/var/lib/matchbox";
|
||||||
|
description = "This is where profiles, groups, and other matchbox configuration is stored.";
|
||||||
};
|
};
|
||||||
assetPath = mkOption {
|
assetPath = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
example = "/nas/matchbox/assets";
|
example = "/var/lib/matchbox/assets";
|
||||||
|
description = "This is where matchbox will look for assets like kernels and initrds.";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
# Ensure the dataPath and assetPath directories exist
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d ${cfg.dataPath} 0755 matchbox matchbox"
|
||||||
|
"d ${cfg.assetPath} 0755 matchbox matchbox"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Matchbox Server for PXE booting via device profiles
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
cfg.package
|
cfg.package
|
||||||
];
|
];
|
||||||
|
@ -27,7 +36,6 @@ in
|
||||||
allowedTCPPorts = [ 8086 ];
|
allowedTCPPorts = [ 8086 ];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Matchbox Server for PXE booting via device profiles
|
|
||||||
users.groups.matchbox = { };
|
users.groups.matchbox = { };
|
||||||
users.users = {
|
users.users = {
|
||||||
matchbox = {
|
matchbox = {
|
||||||
|
|
|
@ -6,19 +6,20 @@ with config;
|
||||||
{
|
{
|
||||||
# git & vim are in global
|
# git & vim are in global
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
jq
|
|
||||||
yq
|
|
||||||
btop
|
btop
|
||||||
dnsutils
|
dnsutils
|
||||||
nix
|
|
||||||
fira-code-nerdfont
|
fira-code-nerdfont
|
||||||
|
jq
|
||||||
|
nix
|
||||||
|
yq
|
||||||
|
|
||||||
# TODO Move
|
# TODO Move
|
||||||
nil
|
|
||||||
nixpkgs-fmt
|
|
||||||
statix
|
|
||||||
gh
|
gh
|
||||||
go
|
go
|
||||||
|
nil
|
||||||
|
nixpkgs-fmt
|
||||||
|
shfmt
|
||||||
|
statix
|
||||||
|
|
||||||
# bind # for dns utils like named-checkconf
|
# bind # for dns utils like named-checkconf
|
||||||
inputs.nix-inspect.packages.${pkgs.system}.default
|
inputs.nix-inspect.packages.${pkgs.system}.default
|
||||||
|
|
Loading…
Reference in a new issue