mirror of
https://github.com/Gerg-L/nixos.git
synced 2025-12-10 00:43:56 -05:00
bunch of misc stuff i don't feel like commit messaging
This commit is contained in:
parent
46752bcb1d
commit
5823cab2c4
26 changed files with 173 additions and 168 deletions
91
hosts/gerg-desktop/boot.nix
Normal file
91
hosts/gerg-desktop/boot.nix
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
{
|
||||
lanzaboote,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
}:
|
||||
let
|
||||
windowsConf = ''
|
||||
title Windows
|
||||
efi /shellx64.efi
|
||||
options -nointerrupt -noconsolein -noconsoleout HD2d65535a1:EFI\Microsoft\Boot\Bootmgfw.efi
|
||||
|
||||
'';
|
||||
in
|
||||
{
|
||||
imports = [ lanzaboote.nixosModules.lanzaboote ];
|
||||
|
||||
environment.systemPackages = [ pkgs.sbctl ];
|
||||
|
||||
boot = {
|
||||
lanzaboote = {
|
||||
enable = true;
|
||||
pkiBundle = "/etc/secureboot";
|
||||
configurationLimit = 10;
|
||||
package = lib.mkForce (
|
||||
pkgs.writeShellApplication {
|
||||
name = "lzbt";
|
||||
runtimeInputs = [
|
||||
lanzaboote.packages.tool
|
||||
pkgs.coreutils
|
||||
pkgs.sbctl
|
||||
];
|
||||
text = ''
|
||||
set -o pipefail
|
||||
lzbt "$@"
|
||||
MP='${config.boot.loader.efi.efiSysMountPoint}'
|
||||
cp -f '${pkgs.edk2-uefi-shell.efi}' "$MP/shellx64.efi"
|
||||
mkdir -p "$MP/loader/entries"
|
||||
sbctl sign -s "$MP/shellx64.efi"
|
||||
cat << EOF > "$MP/loader/entries/windows.conf"
|
||||
${windowsConf}
|
||||
EOF
|
||||
'';
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
loader = {
|
||||
systemd-boot = {
|
||||
enable = lib.mkForce false;
|
||||
extraFiles."shellx64.efi" = pkgs.edk2-uefi-shell.efi;
|
||||
extraEntries."windows.conf" = windowsConf;
|
||||
};
|
||||
grub.enable = lib.mkForce false;
|
||||
timeout = lib.mkForce 5;
|
||||
efi.efiSysMountPoint = "/efi22";
|
||||
};
|
||||
|
||||
kernelPackages = pkgs.linuxPackagesFor (
|
||||
let
|
||||
version = "6.8.12";
|
||||
in
|
||||
(pkgs.linuxManualConfig {
|
||||
version = "${version}-gerg";
|
||||
modDirVersion = "${version}-gerg";
|
||||
src = pkgs.fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v${lib.versions.major version}.x/linux-${version}.tar.xz";
|
||||
hash = "sha256-GbMZVtIptbnKVnH6HHQyAXloKj2NAPyGeUEUsh2oYDk=";
|
||||
};
|
||||
|
||||
inherit (config.boot) kernelPatches;
|
||||
|
||||
config = {
|
||||
CONFIG_RUST = "y";
|
||||
CONFIG_MODULES = "y";
|
||||
};
|
||||
configfile = ./kernelConfig;
|
||||
}).overrideAttrs
|
||||
(old: {
|
||||
passthru = (old.passthru or { }) // {
|
||||
features = lib.foldr (x: y: (x.features or { }) // y) {
|
||||
efiBootStub = true;
|
||||
netfilterRPFilter = true;
|
||||
ia32Emulation = true;
|
||||
} config.boot.kernelPatches;
|
||||
};
|
||||
})
|
||||
);
|
||||
|
||||
};
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
|
||||
lib,
|
||||
nix-index-database,
|
||||
nvim-flake,
|
||||
self',
|
||||
|
|
@ -33,6 +33,10 @@
|
|||
nvidiaSettings = false;
|
||||
modesetting.enable = true;
|
||||
open = false;
|
||||
powerManagement = {
|
||||
enable = lib.mkForce false;
|
||||
finegrained = lib.mkForce false;
|
||||
};
|
||||
prime = {
|
||||
nvidiaBusId = "PCI:1:0:0";
|
||||
amdgpuBusId = "PCI:15:0:0";
|
||||
|
|
@ -94,8 +98,11 @@
|
|||
gh
|
||||
nixfmt-rfc-style
|
||||
# QMK configuration
|
||||
|
||||
#via
|
||||
|
||||
#qmk
|
||||
|
||||
;
|
||||
inherit (nvim-flake.packages) neovim;
|
||||
inherit (self'.packages) lint;
|
||||
|
|
@ -109,12 +116,12 @@
|
|||
};
|
||||
};
|
||||
|
||||
#services.udev.packages = [
|
||||
# pkgs.android-udev-rules
|
||||
# pkgs.via
|
||||
# pkgs.qmk-udev-rules
|
||||
#];
|
||||
#programs.adb.enable = true;
|
||||
services.udev.packages = [
|
||||
pkgs.android-udev-rules
|
||||
# pkgs.via
|
||||
# pkgs.qmk-udev-rules
|
||||
];
|
||||
programs.adb.enable = true;
|
||||
|
||||
networking = {
|
||||
useNetworkd = false;
|
||||
|
|
@ -164,8 +171,8 @@
|
|||
isNormalUser = true;
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
#"adbusers"
|
||||
#"plugdev"
|
||||
"adbusers"
|
||||
"plugdev"
|
||||
];
|
||||
openssh.authorizedKeys.keys = [
|
||||
config.local.keys.gerg_gerg-phone
|
||||
|
|
|
|||
|
|
@ -1,32 +1,34 @@
|
|||
#{ config }:
|
||||
{ lib, config }:
|
||||
{
|
||||
# users.users = {
|
||||
# ${config.services.gitea.user} = {
|
||||
# openssh.authorizedKeys.keys = [ config.local.keys.gerg_gerg-desktop ];
|
||||
# extraGroups = [ "postgres" ];
|
||||
# };
|
||||
# ${config.services.nginx.user}.extraGroups = [ config.services.gitea.group ];
|
||||
# };
|
||||
services.gitea = {
|
||||
enable = false;
|
||||
stateDir = "/persist/services/gitea";
|
||||
appName = "Powered by NixOS";
|
||||
settings = {
|
||||
server = {
|
||||
DOMAIN = "git.gerg-l.com";
|
||||
ROOT_URL = "https://git.gerg-l.com/";
|
||||
LANDING_PAGE = "/explore/repos";
|
||||
HTTP_ADDR = "/run/gitea/gitea.sock";
|
||||
PROTOCOL = "http+unix";
|
||||
UNIX_SOCKET_PERMISSION = "660";
|
||||
config = lib.mkIf false {
|
||||
users.users = {
|
||||
${config.services.gitea.user} = {
|
||||
openssh.authorizedKeys.keys = [ config.local.keys.gerg_gerg-desktop ];
|
||||
extraGroups = [ "postgres" ];
|
||||
};
|
||||
ui.DEFAULT_THEME = "arc-green";
|
||||
service.DISABLE_REGISTRATION = true;
|
||||
${config.services.nginx.user}.extraGroups = [ config.services.gitea.group ];
|
||||
};
|
||||
database = {
|
||||
type = "postgres";
|
||||
socket = "/run/postgresql";
|
||||
createDatabase = true;
|
||||
services.gitea = {
|
||||
enable = false;
|
||||
stateDir = "/persist/services/gitea";
|
||||
appName = "Powered by NixOS";
|
||||
settings = {
|
||||
server = {
|
||||
DOMAIN = "git.gerg-l.com";
|
||||
ROOT_URL = "https://git.gerg-l.com/";
|
||||
LANDING_PAGE = "/explore/repos";
|
||||
HTTP_ADDR = "/run/gitea/gitea.sock";
|
||||
PROTOCOL = "http+unix";
|
||||
UNIX_SOCKET_PERMISSION = "660";
|
||||
};
|
||||
ui.DEFAULT_THEME = "arc-green";
|
||||
service.DISABLE_REGISTRATION = true;
|
||||
};
|
||||
database = {
|
||||
type = "postgres";
|
||||
socket = "/run/postgresql";
|
||||
createDatabase = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
|
||||
}:
|
||||
{
|
||||
sops.secrets.discordenv = { };
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ in
|
|||
hidePodcasts
|
||||
shuffle
|
||||
#betterGenres broken
|
||||
|
||||
;
|
||||
};
|
||||
theme = spicePkgs.themes.dribbblish;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
_dir,
|
||||
pkgs,
|
||||
lib,
|
||||
|
||||
}:
|
||||
/*
|
||||
This section is just me bullying
|
||||
|
|
|
|||
|
|
@ -2,48 +2,8 @@
|
|||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
lanzaboote,
|
||||
}:
|
||||
let
|
||||
windowsConf = ''
|
||||
title Windows
|
||||
efi /shellx64.efi
|
||||
options -nointerrupt -noconsolein -noconsoleout HD2d65535a1:EFI\Microsoft\Boot\Bootmgfw.efi
|
||||
|
||||
'';
|
||||
in
|
||||
{
|
||||
imports = [ lanzaboote.nixosModules.lanzaboote ];
|
||||
|
||||
environment.systemPackages = [ pkgs.sbctl ];
|
||||
|
||||
boot.lanzaboote = {
|
||||
enable = true;
|
||||
pkiBundle = "/etc/secureboot";
|
||||
configurationLimit = 10;
|
||||
package = lib.mkForce (
|
||||
pkgs.writeShellApplication {
|
||||
name = "lzbt";
|
||||
runtimeInputs = [
|
||||
lanzaboote.packages.tool
|
||||
pkgs.coreutils
|
||||
pkgs.sbctl
|
||||
];
|
||||
text = ''
|
||||
set -o pipefail
|
||||
lzbt "$@"
|
||||
MP='${config.boot.loader.efi.efiSysMountPoint}'
|
||||
cp -f '${pkgs.edk2-uefi-shell.efi}' "$MP/shellx64.efi"
|
||||
mkdir -p "$MP/loader/entries"
|
||||
sbctl sign -s "$MP/shellx64.efi"
|
||||
cat << EOF > "$MP/loader/entries/windows.conf"
|
||||
${windowsConf}
|
||||
EOF
|
||||
'';
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
#link some stuff
|
||||
systemd.tmpfiles.rules = [
|
||||
"L+ /etc/secureboot - - - - /persist/secureboot"
|
||||
|
|
@ -60,47 +20,17 @@ in
|
|||
sops.age.sshKeyPaths = lib.mkForce [ "/persist/ssh/ssh_host_ed25519_key" ];
|
||||
fileSystems."/persist".neededForBoot = true;
|
||||
boot = {
|
||||
supportedFilesystems = {
|
||||
ntfs = true;
|
||||
};
|
||||
supportedFilesystems.ntfs = true;
|
||||
|
||||
zfs = {
|
||||
package = pkgs.zfs_unstable;
|
||||
devNodes = "/dev/disk/by-id/";
|
||||
forceImportAll = true;
|
||||
};
|
||||
kernelPackages = pkgs.linuxPackagesFor (
|
||||
let
|
||||
version = "6.8.12";
|
||||
in
|
||||
(pkgs.linuxManualConfig {
|
||||
version = "${version}-gerg";
|
||||
modDirVersion = "${version}-gerg";
|
||||
src = pkgs.fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/v${lib.versions.major version}.x/linux-${version}.tar.xz";
|
||||
hash = "sha256-GbMZVtIptbnKVnH6HHQyAXloKj2NAPyGeUEUsh2oYDk=";
|
||||
};
|
||||
|
||||
inherit (config.boot) kernelPatches;
|
||||
|
||||
config = {
|
||||
CONFIG_RUST = "y";
|
||||
CONFIG_MODULES = "y";
|
||||
};
|
||||
configfile = ./kernelConfig;
|
||||
}).overrideAttrs
|
||||
(old: {
|
||||
passthru = (old.passthru or { }) // {
|
||||
features = lib.foldr (x: y: (x.features or { }) // y) {
|
||||
efiBootStub = true;
|
||||
netfilterRPFilter = true;
|
||||
ia32Emulation = true;
|
||||
} config.boot.kernelPatches;
|
||||
};
|
||||
})
|
||||
);
|
||||
|
||||
#set ARC max
|
||||
kernelParams = [ "zfs.zfs_arc_max=17179869184" ];
|
||||
|
||||
initrd = {
|
||||
kernelModules = [
|
||||
#module for multiple swap devices
|
||||
|
|
@ -108,6 +38,7 @@ in
|
|||
#keyboard module for zfs password
|
||||
"hid_generic"
|
||||
];
|
||||
|
||||
systemd.services.rollback = {
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
|
|
@ -124,15 +55,5 @@ in
|
|||
'';
|
||||
};
|
||||
};
|
||||
loader = {
|
||||
systemd-boot = {
|
||||
enable = lib.mkForce false;
|
||||
extraFiles."shellx64.efi" = pkgs.edk2-uefi-shell.efi;
|
||||
extraEntries."windows.conf" = windowsConf;
|
||||
};
|
||||
grub.enable = lib.mkForce false;
|
||||
timeout = lib.mkForce 5;
|
||||
efi.efiSysMountPoint = "/efi22";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue