mirror of
https://github.com/Gerg-L/nixos.git
synced 2025-12-10 00:43:56 -05:00
moved install iso from a package to a host
made funnier functions gave more modules disable options updated lint command
This commit is contained in:
parent
ccbc3cc2af
commit
c4e6bcb664
9 changed files with 132 additions and 120 deletions
32
flake.nix
32
flake.nix
|
|
@ -39,17 +39,18 @@
|
||||||
inputs.nixpkgs.follows = "unstable";
|
inputs.nixpkgs.follows = "unstable";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
outputs = inputs @ {
|
|
||||||
unstable,
|
outputs = inputs: let
|
||||||
nixos-generators,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
lib = import ./lib inputs;
|
lib = import ./lib inputs;
|
||||||
in
|
in
|
||||||
lib.withSystem (
|
lib.gerg-utils {
|
||||||
system: let
|
allowUnfree = true;
|
||||||
pkgs = unstable.legacyPackages.${system};
|
} (
|
||||||
in {
|
{
|
||||||
|
pkgs,
|
||||||
|
system,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
inherit lib;
|
inherit lib;
|
||||||
nixosConfigurations =
|
nixosConfigurations =
|
||||||
lib.mkHosts
|
lib.mkHosts
|
||||||
|
|
@ -58,6 +59,7 @@
|
||||||
"gerg-desktop"
|
"gerg-desktop"
|
||||||
"game-laptop"
|
"game-laptop"
|
||||||
"moms-laptop"
|
"moms-laptop"
|
||||||
|
"iso"
|
||||||
];
|
];
|
||||||
|
|
||||||
nixosModules = lib.mkModules ./modules;
|
nixosModules = lib.mkModules ./modules;
|
||||||
|
|
@ -77,17 +79,7 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
packages.${system} =
|
packages.${system} = lib.mkPackages ./packages pkgs;
|
||||||
{
|
|
||||||
nixos-iso = nixos-generators.nixosGenerate {
|
|
||||||
inherit system;
|
|
||||||
format = "install-iso";
|
|
||||||
modules = [
|
|
||||||
(import ./installer inputs)
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
// lib.mkPackages ./packages pkgs;
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
{nvim-flake, ...}: {
|
{nvim-flake, ...}: {
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
lib,
|
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
local = {
|
local = {
|
||||||
|
|
@ -64,9 +63,9 @@
|
||||||
;
|
;
|
||||||
inherit (nvim-flake.packages.${pkgs.system}) neovim;
|
inherit (nvim-flake.packages.${pkgs.system}) neovim;
|
||||||
lint = pkgs.writeShellScriptBin "lint" ''
|
lint = pkgs.writeShellScriptBin "lint" ''
|
||||||
deadnix -e "$1"
|
deadnix -e "''${1:-.}"
|
||||||
statix fix "$1"
|
statix fix -- "''${1:-.}"
|
||||||
alejandra "$1"
|
alejandra "''${1:-.}"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
etc = {
|
etc = {
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,36 @@
|
||||||
{disko, ...}: {
|
{
|
||||||
|
disko,
|
||||||
|
nixos-generators,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
lib,
|
lib,
|
||||||
modulesPath,
|
modulesPath,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
##Build wtih nix build .#nixosConfigurations.iso.config.formats.iso
|
||||||
|
local = {
|
||||||
|
hardware = {
|
||||||
|
gpuAcceleration.disable = true;
|
||||||
|
sound.disable = true;
|
||||||
|
};
|
||||||
|
bootConfig = {
|
||||||
|
disable = true;
|
||||||
|
stage2patch.disable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
imports = [
|
imports = [
|
||||||
"${modulesPath}/profiles/minimal.nix"
|
"${modulesPath}/profiles/minimal.nix"
|
||||||
"${modulesPath}/installer/cd-dvd/installation-cd-base.nix"
|
"${modulesPath}/installer/cd-dvd/installation-cd-base.nix"
|
||||||
|
nixos-generators.nixosModules.all-formats
|
||||||
];
|
];
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
noXlibs = lib.mkOverride 500 false;
|
noXlibs = lib.mkOverride 500 false;
|
||||||
defaultPackages = [];
|
|
||||||
systemPackages = [
|
systemPackages = [
|
||||||
pkgs.gitMinimal
|
|
||||||
pkgs.neovim
|
pkgs.neovim
|
||||||
disko.packages.${pkgs.system}.default
|
disko.packages.${pkgs.system}.default
|
||||||
];
|
];
|
||||||
variables = {
|
|
||||||
EDITOR = "nvim";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
documentation = {
|
documentation = {
|
||||||
man.enable = lib.mkOverride 500 false;
|
man.enable = lib.mkOverride 500 false;
|
||||||
|
|
@ -32,12 +43,7 @@
|
||||||
edition = lib.mkForce "gerg-minimal";
|
edition = lib.mkForce "gerg-minimal";
|
||||||
isoName = lib.mkForce "NixOS.iso";
|
isoName = lib.mkForce "NixOS.iso";
|
||||||
};
|
};
|
||||||
nix = {
|
|
||||||
settings = {
|
|
||||||
experimental-features = ["nix-command" "flakes" "repl-flake"];
|
|
||||||
auto-optimise-store = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
sound.enable = false;
|
sound.enable = false;
|
||||||
_file = ./default.nix;
|
_file = ./default.nix;
|
||||||
}
|
}
|
||||||
|
|
@ -31,9 +31,19 @@ inputs @ {
|
||||||
in {
|
in {
|
||||||
inherit importAll mkModules listNixFilesRecursive;
|
inherit importAll mkModules listNixFilesRecursive;
|
||||||
|
|
||||||
withSystem = f:
|
gerg-utils = config: f:
|
||||||
lib.fold lib.recursiveUpdate {}
|
lib.fold lib.recursiveUpdate {}
|
||||||
(map f ["x86_64-linux"]);
|
(map (system:
|
||||||
|
f {
|
||||||
|
inherit system;
|
||||||
|
pkgs =
|
||||||
|
if config == {}
|
||||||
|
then unstable.legacyPackages.${system}
|
||||||
|
else
|
||||||
|
import unstable {
|
||||||
|
inherit system config;
|
||||||
|
};
|
||||||
|
}) ["x86_64-linux"]);
|
||||||
#"x86_64-darwin" "aarch64-linux" "aarch64-darwin"
|
#"x86_64-darwin" "aarch64-linux" "aarch64-darwin"
|
||||||
|
|
||||||
mkHosts = system: names:
|
mkHosts = system: names:
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,13 @@
|
||||||
{self, ...}: {
|
{self, ...}: {
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
options.local.bootConfig.disable = lib.mkEnableOption "";
|
||||||
|
config =
|
||||||
|
lib.mkIf (!config.local.bootConfig.disable)
|
||||||
|
{
|
||||||
environment.etc = {
|
environment.etc = {
|
||||||
"issue" = {
|
"issue" = {
|
||||||
text = "[?12l[?25h";
|
text = "[?12l[?25h";
|
||||||
|
|
@ -68,5 +73,6 @@
|
||||||
efibootmgr -t 0
|
efibootmgr -t 0
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
};
|
||||||
_file = ./misc.nix;
|
_file = ./misc.nix;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,11 @@ let
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
options.local.bootConfig.stage2patch.disable = lib.mkEnableOption "";
|
||||||
|
config =
|
||||||
|
lib.mkIf (!config.local.bootConfig.stage2patch.disable)
|
||||||
|
{
|
||||||
system.build.bootStage2 = lib.mkForce bootStage2;
|
system.build.bootStage2 = lib.mkForce bootStage2;
|
||||||
|
};
|
||||||
_file = ./stage2patch.nix;
|
_file = ./stage2patch.nix;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,18 +6,8 @@ _: {
|
||||||
cfg = config.local.hardware;
|
cfg = config.local.hardware;
|
||||||
in {
|
in {
|
||||||
options.local.hardware = {
|
options.local.hardware = {
|
||||||
gpuAcceleration = {
|
gpuAcceleration.disable = lib.mkEnableOption "";
|
||||||
disable = lib.mkOption {
|
sound.disable = lib.mkEnableOption "";
|
||||||
type = lib.types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
sound = {
|
|
||||||
disable = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
config = lib.mkMerge [
|
config = lib.mkMerge [
|
||||||
(
|
(
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ _: {
|
||||||
enable = true;
|
enable = true;
|
||||||
hostKeys = lib.mkForce [];
|
hostKeys = lib.mkForce [];
|
||||||
settings = {
|
settings = {
|
||||||
PermitRootLogin = "no";
|
PermitRootLogin = lib.mkDefault "no";
|
||||||
PasswordAuthentication = false;
|
PasswordAuthentication = false;
|
||||||
KbdInteractiveAuthentication = false;
|
KbdInteractiveAuthentication = false;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,14 @@
|
||||||
}: {
|
}: {
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
config,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
sops-nix.nixosModules.sops
|
sops-nix.nixosModules.sops
|
||||||
];
|
];
|
||||||
|
options.local.sops.disable = lib.mkEnableOption "";
|
||||||
|
config = lib.mkIf (!config.local.sops.disable) {
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
pkgs.sops
|
pkgs.sops
|
||||||
];
|
];
|
||||||
|
|
@ -17,5 +20,6 @@
|
||||||
defaultSopsFile = "${self}/hosts/${config.networking.hostName}/secrets.yaml";
|
defaultSopsFile = "${self}/hosts/${config.networking.hostName}/secrets.yaml";
|
||||||
age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"];
|
age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
_file = ./sops.nix;
|
_file = ./sops.nix;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue