aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2025-09-12 13:11:20 -0700
committerFranck Cuny <franck@fcuny.net>2025-09-12 13:55:09 -0700
commit2fea36c19eb904125e2db5ba230b28d72dc881db (patch)
tree4233e16f0d50aec1cd5e4d3e5f5ed1b8728e380c
parentmove common modules together and simplify imports (diff)
downloadinfra-2fea36c19eb904125e2db5ba230b28d72dc881db.tar.gz
start to refactor nixos modules
-rw-r--r--flake/hosts.nix1
-rw-r--r--machines/nixos/x86_64-linux/do-rproxy/default.nix1
-rw-r--r--machines/nixos/x86_64-linux/synology-vm/default.nix1
-rw-r--r--modules/nixos/base.nix65
-rw-r--r--modules/nixos/cgroups.nix (renamed from profiles/core/cgroups.nix)0
-rw-r--r--modules/nixos/default.nix8
-rw-r--r--modules/nixos/ssh.nix (renamed from profiles/core/ssh.nix)0
-rw-r--r--profiles/core/base-server.nix14
-rw-r--r--profiles/core/boot.nix11
-rw-r--r--profiles/core/docs.nix5
-rw-r--r--profiles/core/locale.nix11
-rw-r--r--profiles/core/motd.nix9
-rw-r--r--profiles/core/security.nix4
-rw-r--r--profiles/core/tools.nix20
-rw-r--r--profiles/core/users.nix8
15 files changed, 74 insertions, 84 deletions
diff --git a/flake/hosts.nix b/flake/hosts.nix
index c194440..fe23cdd 100644
--- a/flake/hosts.nix
+++ b/flake/hosts.nix
@@ -59,6 +59,7 @@ let
inputs.disko.nixosModules.disko
inputs.home-manager.nixosModules.home-manager
"${self}/modules/common"
+ "${self}/modules/nixos"
"${self}/modules/nas-client.nix"
"${self}/modules/backups.nix"
];
diff --git a/machines/nixos/x86_64-linux/do-rproxy/default.nix b/machines/nixos/x86_64-linux/do-rproxy/default.nix
index e187bd2..fe8e367 100644
--- a/machines/nixos/x86_64-linux/do-rproxy/default.nix
+++ b/machines/nixos/x86_64-linux/do-rproxy/default.nix
@@ -25,7 +25,6 @@
"${self}/profiles/programs/home-manager.nix"
"${self}/profiles/admin-user/user.nix"
"${self}/profiles/admin-user/home-manager.nix"
- "${self}/profiles/core/base-server.nix"
"${self}/profiles/nix/nix.nix"
"${self}/profiles/nix/gc.nix"
"${self}/profiles/network/networkd.nix"
diff --git a/machines/nixos/x86_64-linux/synology-vm/default.nix b/machines/nixos/x86_64-linux/synology-vm/default.nix
index 9316432..dbf7bf9 100644
--- a/machines/nixos/x86_64-linux/synology-vm/default.nix
+++ b/machines/nixos/x86_64-linux/synology-vm/default.nix
@@ -21,7 +21,6 @@
"${self}/profiles/programs/home-manager.nix"
"${self}/profiles/admin-user/user.nix"
"${self}/profiles/admin-user/home-manager.nix"
- "${self}/profiles/core/base-server.nix"
"${self}/profiles/nix/nix.nix"
"${self}/profiles/nix/gc.nix"
"${self}/profiles/network/networkd.nix"
diff --git a/modules/nixos/base.nix b/modules/nixos/base.nix
new file mode 100644
index 0000000..f3dece1
--- /dev/null
+++ b/modules/nixos/base.nix
@@ -0,0 +1,65 @@
+{
+ self,
+ config,
+ pkgs,
+ lib,
+ ...
+}:
+{
+ boot = {
+ kernelPackages = pkgs.linuxPackages_latest;
+ kernel.sysctl = {
+ "net.ipv4.tcp_congestion_control" = "bbr";
+ "net.ipv4.tcp_ecn" = 1;
+ "net.ipv4.tcp_fastopen" = 3;
+ "net.ipv4.tcp_tw_reuse" = 1;
+ };
+ };
+
+ i18n = {
+ defaultLocale = "en_US.UTF-8";
+ supportedLocales = [
+ "en_US.UTF-8/UTF-8"
+ ];
+ };
+
+ time.timeZone = "America/Los_Angeles";
+
+ users.motdFile = "/etc/motd";
+
+ environment.etc.motd.text = ''
+ Machine ${config.networking.hostName}
+ NixOS ${config.system.nixos.release}
+ @ ${self.shortRev or self.dirtyShortRev}
+ '';
+
+ ## disable that slow "building man-cache" step
+ documentation.man.generateCaches = lib.mkForce false;
+
+ users = {
+ mutableUsers = false;
+ users.root.openssh.authorizedKeys.keys = [
+ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINBkozy+X96u5ciX766bJ/AyQ3xm1tXZTIr5+4PVFZFi"
+ ];
+ };
+
+ security.sudo.wheelNeedsPassword = false;
+
+ environment.systemPackages = with pkgs; [
+ curl
+ dysk
+ fd
+ fish
+ git
+ htop
+ jq
+ mtr
+ pciutils
+ powertop
+ ripgrep
+ tcpdump
+ traceroute
+ vim
+ wireguard-tools
+ ];
+}
diff --git a/profiles/core/cgroups.nix b/modules/nixos/cgroups.nix
index 07dc964..07dc964 100644
--- a/profiles/core/cgroups.nix
+++ b/modules/nixos/cgroups.nix
diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix
new file mode 100644
index 0000000..669cd75
--- /dev/null
+++ b/modules/nixos/default.nix
@@ -0,0 +1,8 @@
+{ ... }:
+{
+ imports = [
+ ./base.nix
+ ./cgroups.nix
+ ./ssh.nix
+ ];
+}
diff --git a/profiles/core/ssh.nix b/modules/nixos/ssh.nix
index b4c8772..b4c8772 100644
--- a/profiles/core/ssh.nix
+++ b/modules/nixos/ssh.nix
diff --git a/profiles/core/base-server.nix b/profiles/core/base-server.nix
deleted file mode 100644
index 2a13f96..0000000
--- a/profiles/core/base-server.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ ... }:
-{
- imports = [
- ./boot.nix
- ./cgroups.nix
- ./docs.nix
- ./locale.nix
- ./motd.nix
- ./security.nix
- ./ssh.nix
- ./tools.nix
- ./users.nix
- ];
-}
diff --git a/profiles/core/boot.nix b/profiles/core/boot.nix
deleted file mode 100644
index 8aacfbf..0000000
--- a/profiles/core/boot.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ pkgs, ... }:
-{
- boot.kernelPackages = pkgs.linuxPackages_latest;
-
- boot.kernel.sysctl = {
- "net.ipv4.tcp_congestion_control" = "bbr";
- "net.ipv4.tcp_ecn" = 1;
- "net.ipv4.tcp_fastopen" = 3;
- "net.ipv4.tcp_tw_reuse" = 1;
- };
-}
diff --git a/profiles/core/docs.nix b/profiles/core/docs.nix
deleted file mode 100644
index dcf38e6..0000000
--- a/profiles/core/docs.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ lib, ... }:
-{
- ## disable that slow "building man-cache" step
- documentation.man.generateCaches = lib.mkForce false;
-}
diff --git a/profiles/core/locale.nix b/profiles/core/locale.nix
deleted file mode 100644
index 73eece0..0000000
--- a/profiles/core/locale.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ ... }:
-{
- i18n = {
- defaultLocale = "en_US.UTF-8";
- supportedLocales = [
- "en_US.UTF-8/UTF-8"
- ];
- };
-
- time.timeZone = "America/Los_Angeles";
-}
diff --git a/profiles/core/motd.nix b/profiles/core/motd.nix
deleted file mode 100644
index 01575e1..0000000
--- a/profiles/core/motd.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ self, config, ... }:
-{
- users.motdFile = "/etc/motd";
- environment.etc.motd.text = ''
- Machine ${config.networking.hostName}
- NixOS ${config.system.nixos.release}
- @ ${self.shortRev or self.dirtyShortRev}
- '';
-}
diff --git a/profiles/core/security.nix b/profiles/core/security.nix
deleted file mode 100644
index 146012f..0000000
--- a/profiles/core/security.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{ ... }:
-{
- security.sudo.wheelNeedsPassword = false;
-}
diff --git a/profiles/core/tools.nix b/profiles/core/tools.nix
deleted file mode 100644
index 74f90cc..0000000
--- a/profiles/core/tools.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ pkgs, ... }:
-{
- environment.systemPackages = with pkgs; [
- curl
- dysk
- fd
- fish
- git
- htop
- jq
- mtr
- pciutils
- powertop
- ripgrep
- tcpdump
- traceroute
- vim
- wireguard-tools
- ];
-}
diff --git a/profiles/core/users.nix b/profiles/core/users.nix
deleted file mode 100644
index da2c8ff..0000000
--- a/profiles/core/users.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ ... }:
-{
- users.mutableUsers = false;
-
- users.users.root.openssh.authorizedKeys.keys = [
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINBkozy+X96u5ciX766bJ/AyQ3xm1tXZTIr5+4PVFZFi"
- ];
-}