Switch to systemd stage 1
This commit is contained in:
parent
c09793669b
commit
b4907407fc
4 changed files with 20 additions and 89 deletions
|
@ -48,20 +48,29 @@ in
|
||||||
keep-derivations = true
|
keep-derivations = true
|
||||||
'';
|
'';
|
||||||
|
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot = {
|
||||||
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
initrd = {
|
||||||
|
systemd.enable = true;
|
||||||
|
luks.devices = {
|
||||||
|
root = {
|
||||||
|
device = "/dev/disk/by-uuid/3d0e5b93-90ca-412a-b4e0-3e6bfa47d3f4";
|
||||||
|
preLVM = true;
|
||||||
|
allowDiscards = true;
|
||||||
|
crypttabExtraOpts = ["fido2-device=auto"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
kernel.sysctl = {
|
||||||
|
"vm.swappiness" = 90;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
networking.hostName = "gorgon";
|
networking.hostName = "gorgon";
|
||||||
|
|
||||||
dadada = {
|
dadada = {
|
||||||
steam.enable = true;
|
steam.enable = true;
|
||||||
yubikey = {
|
yubikey.enable = true;
|
||||||
enable = true;
|
|
||||||
#luksUuid = "3d0e5b93-90ca-412a-b4e0-3e6bfa47d3f4";
|
|
||||||
fido2Credentials = [
|
|
||||||
"0295c215865e4d988cf5148db9197ae58bc26b0838b35e2b35bafdb837e9f8b103309466d7cfa8c71d6c01d4908e2708"
|
|
||||||
"f8a4359e4a67d8a149a72ad5fb2db0fbc11e2480102e5a2e353297dce5e1ad53419acade31eb4a4bd803b808c29ba0b4"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
enableBsShare = true;
|
enableBsShare = true;
|
||||||
|
@ -70,10 +79,6 @@ in
|
||||||
sway.enable = false;
|
sway.enable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.kernel.sysctl = {
|
|
||||||
"vm.swappiness" = 90;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.adb.enable = true;
|
programs.adb.enable = true;
|
||||||
|
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
borgServer = import ./borg-server.nix;
|
borgServer = import ./borg-server.nix;
|
||||||
ddns = import ./ddns.nix;
|
ddns = import ./ddns.nix;
|
||||||
element = import ./element.nix;
|
element = import ./element.nix;
|
||||||
fido2 = import ./fido2.nix;
|
|
||||||
fileShare = import ./fileShare.nix;
|
fileShare = import ./fileShare.nix;
|
||||||
gitea = import ./gitea.nix;
|
gitea = import ./gitea.nix;
|
||||||
headphones = import ./headphones.nix;
|
headphones = import ./headphones.nix;
|
||||||
|
|
|
@ -1,58 +0,0 @@
|
||||||
{ config
|
|
||||||
, pkgs
|
|
||||||
, lib
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
luks = config.dadada.luks;
|
|
||||||
fido2 = config.dadada.fido2;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options = {
|
|
||||||
dadada.luks = {
|
|
||||||
uuid = mkOption {
|
|
||||||
type = with types; nullOr str;
|
|
||||||
description = "Device UUID";
|
|
||||||
default = null;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
dadada.fido2 = {
|
|
||||||
enablePam = mkEnableOption "Enable PAM U2F";
|
|
||||||
credential = mkOption {
|
|
||||||
type = with types; nullOr str;
|
|
||||||
description = "FIDO2 credential string";
|
|
||||||
default = null;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = {
|
|
||||||
boot.initrd.luks.devices = mkIf (luks.uuid != null) {
|
|
||||||
root = {
|
|
||||||
device = "/dev/disk/by-uuid/${luks.uuid}";
|
|
||||||
preLVM = true;
|
|
||||||
allowDiscards = true;
|
|
||||||
fido2 = mkIf (fido2.credential != null) {
|
|
||||||
credential = fido2.credential;
|
|
||||||
passwordLess = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
boot.initrd.luks.fido2Support = mkIf (fido2.credential != null) true;
|
|
||||||
|
|
||||||
environment.systemPackages = mkIf (fido2.credential != null) (with pkgs; [
|
|
||||||
linuxPackages.acpi_call
|
|
||||||
fido2luks
|
|
||||||
python27Packages.dbus-python
|
|
||||||
python38Packages.solo-python
|
|
||||||
]);
|
|
||||||
|
|
||||||
security.pam.u2f = mkIf fido2.enablePam {
|
|
||||||
enable = true;
|
|
||||||
control = "sufficient";
|
|
||||||
cue = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -24,21 +24,6 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf yubikey.enable {
|
config = mkIf yubikey.enable {
|
||||||
boot.initrd.luks = {
|
|
||||||
fido2Support = true;
|
|
||||||
devices = mkIf (yubikey.luksUuid != null) {
|
|
||||||
root = {
|
|
||||||
device = "/dev/disk/by-uuid/${yubikey.luksUuid}";
|
|
||||||
preLVM = true;
|
|
||||||
allowDiscards = true;
|
|
||||||
fido2 = mkIf (yubikey.fido2Credentials != [ ]) {
|
|
||||||
credentials = yubikey.fido2Credentials;
|
|
||||||
passwordLess = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
security.pam = {
|
security.pam = {
|
||||||
# Keys must be placed in $XDG_CONFIG_HOME/Yubico/u2f_keys
|
# Keys must be placed in $XDG_CONFIG_HOME/Yubico/u2f_keys
|
||||||
services = {
|
services = {
|
||||||
|
@ -56,8 +41,8 @@ in
|
||||||
services.udev.packages = [ pkgs.yubikey-personalization ];
|
services.udev.packages = [ pkgs.yubikey-personalization ];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
fido2luks
|
#fido2luks
|
||||||
linuxPackages.acpi_call
|
#linuxPackages.acpi_call
|
||||||
pam_u2f
|
pam_u2f
|
||||||
pamtester
|
pamtester
|
||||||
yubikey-manager
|
yubikey-manager
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue