first usable configuration
This commit is contained in:
parent
469038e980
commit
c6c879ddb4
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
result
|
||||||
|
result-man
|
27
flake.lock
generated
27
flake.lock
generated
@ -1,25 +1,5 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"nix-index-database": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1703387252,
|
|
||||||
"narHash": "sha256-XKJqGj0BaEn/zyctEnkgVIh6Ba1rgTRc+UBi9EU8Y54=",
|
|
||||||
"owner": "Mic92",
|
|
||||||
"repo": "nix-index-database",
|
|
||||||
"rev": "f4340c1a42c38d79293ba69bfd839fbd6268a538",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "Mic92",
|
|
||||||
"repo": "nix-index-database",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixos-modules": {
|
"nixos-modules": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
@ -27,11 +7,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1703426109,
|
"lastModified": 1703443084,
|
||||||
"narHash": "sha256-/ujCgLJUq+iMgrvMVj58uvXan/nKvG0SeNVVrsvzJHk=",
|
"narHash": "sha256-POWXUw4gf8c9eZ1PJ2Har+PBsgdyULeHbqabdVSAQZE=",
|
||||||
"owner": "SuperSandro2000",
|
"owner": "SuperSandro2000",
|
||||||
"repo": "nixos-modules",
|
"repo": "nixos-modules",
|
||||||
"rev": "caa008d22e663c6190ffe12286566b2e87f357e4",
|
"rev": "55e8b1d38fe4a5e0315f91dfc44bd1a6f32b06ef",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -58,7 +38,6 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nix-index-database": "nix-index-database",
|
|
||||||
"nixos-modules": "nixos-modules",
|
"nixos-modules": "nixos-modules",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"sops-nix": "sops-nix"
|
"sops-nix": "sops-nix"
|
||||||
|
14
flake.nix
14
flake.nix
@ -16,16 +16,14 @@
|
|||||||
nixpkgs-stable.follows = "nixpkgs";
|
nixpkgs-stable.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nix-index-database = {
|
|
||||||
url = "github:Mic92/nix-index-database";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { nixpkgs, nixos-modules, nix-index-database, sops-nix, ... }:
|
outputs = { nixpkgs, nixos-modules, sops-nix, ... }:
|
||||||
let
|
let
|
||||||
inherit (nixpkgs) lib;
|
inherit (nixpkgs) lib;
|
||||||
|
src = builtins.filterSource (path: type: type == "directory" || lib.hasSuffix ".nix" (baseNameOf path)) ./.;
|
||||||
|
ls = dir: lib.attrNames (builtins.readDir (src + "/${dir}"));
|
||||||
|
fileList = dir: map (file: ./. + "/${dir}/${file}") (ls dir);
|
||||||
in {
|
in {
|
||||||
nixosConfigurations = let
|
nixosConfigurations = let
|
||||||
constructSystem = {
|
constructSystem = {
|
||||||
@ -39,11 +37,11 @@
|
|||||||
modules = [
|
modules = [
|
||||||
nixos-modules.nixosModule
|
nixos-modules.nixosModule
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
nix-index-database.nixosModules.nix-index
|
|
||||||
./systems/programs.nix
|
./systems/programs.nix
|
||||||
./systems/configuration.nix
|
./systems/configuration.nix
|
||||||
|
./systems/${hostname}/hardware.nix
|
||||||
./systems/${hostname}/configuration.nix
|
./systems/${hostname}/configuration.nix
|
||||||
] ++ modules ++ map(user: ./users/${user}) users;
|
] ++ modules ++ fileList "modules" ++ map(user: ./users/${user}) users;
|
||||||
|
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
39
modules/boot.nix
Normal file
39
modules/boot.nix
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{ config, lib, libS, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.boot;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
boot = {
|
||||||
|
default = libS.mkOpinionatedOption "enable the boot builder";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config.boot = lib.mkIf cfg.default {
|
||||||
|
supportedFilesystems = [ "zfs" ];
|
||||||
|
tmp.useTmpfs = true;
|
||||||
|
kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;
|
||||||
|
kernelParams = [ "kvm-amd" "nordrand" ];
|
||||||
|
zfs = {
|
||||||
|
enableUnstable = true;
|
||||||
|
devNodes = "/dev/disk/by-id/";
|
||||||
|
forceImportRoot = true;
|
||||||
|
};
|
||||||
|
loader = {
|
||||||
|
efi = {
|
||||||
|
canTouchEfiVariables = false;
|
||||||
|
};
|
||||||
|
generationsDir.copyKernels = true;
|
||||||
|
grub = {
|
||||||
|
enable = true;
|
||||||
|
copyKernels = true;
|
||||||
|
zfsSupport = true;
|
||||||
|
efiSupport = true;
|
||||||
|
efiInstallAsRemovable = true;
|
||||||
|
fsIdentifier = "uuid";
|
||||||
|
device = "nodev";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -8,6 +8,10 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ 22 ];
|
networking.firewall.allowedTCPPorts = [ 22 ];
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
@ -150,9 +154,8 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
systemd.watchdog = {
|
systemd.watchdog = {
|
||||||
enable = true;
|
|
||||||
device = "/dev/watchdog";
|
device = "/dev/watchdog";
|
||||||
runTime = "30s";
|
runtimeTime = "30s";
|
||||||
rebootTime = "5m";
|
rebootTime = "5m";
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -178,7 +181,7 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
randomizedDelaySec = "1h";
|
randomizedDelaySec = "1h";
|
||||||
persistent = true;
|
persistent = true;
|
||||||
system.autoUpgrade.flake = "github:RAD-Development/nix-dotfiles";
|
flake = "github:RAD-Development/nix-dotfiles";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
@ -2,6 +2,7 @@
|
|||||||
{
|
{
|
||||||
time.timeZone = "America/New_York";
|
time.timeZone = "America/New_York";
|
||||||
console.keyMap = "us";
|
console.keyMap = "us";
|
||||||
|
networking.hostId = "1139fa08";
|
||||||
|
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
docker = {
|
docker = {
|
||||||
|
37
systems/palatine-hill/hardware.nix
Normal file
37
systems/palatine-hill/hardware.nix
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
initrd = {
|
||||||
|
availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "sd_mod" ];
|
||||||
|
kernelModules = [ ];
|
||||||
|
};
|
||||||
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{
|
||||||
|
device = "proot/nixos/root";
|
||||||
|
fsType = "zfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp5s0.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user