Compare commits

...

3 Commits

11 changed files with 79 additions and 48 deletions

16
hosts/pi4/boot.nix Normal file
View File

@ -0,0 +1,16 @@
{ pkgs, ... }:
{
boot = {
kernelPackages = pkgs.linuxKernel.packages.linux_rpi4;
initrd.availableKernelModules = [
"xhci_pci"
"usbhid"
"usb_storage"
];
loader = {
grub.enable = false;
generic-extlinux-compatible.enable = true;
};
};
}

View File

@ -1,50 +1,16 @@
{ {
pkgs,
systemConfig, systemConfig,
... ...
}: }:
{ {
boot = { imports = [
kernelPackages = pkgs.linuxKernel.packages.linux_rpi4; ./boot.nix
initrd.availableKernelModules = [ ./hardware.nix
"xhci_pci" ./networking.nix
"usbhid" ./security.nix
"usb_storage"
];
loader = {
grub.enable = false;
generic-extlinux-compatible.enable = true;
};
};
environment.systemPackages = with pkgs; [
vim
]; ];
fileSystems = {
"/" = {
device = "/dev/disk/by-label/NIXOS_SD";
fsType = "ext4";
options = [ "noatime" ];
};
};
hardware.enableRedistributableFirmware = true;
networking = {
hostName = systemConfig.hostName;
networkmanager.enable = true;
};
services.openssh.enable = true;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
services.pcscd.enable = true;
system.stateVersion = systemConfig.version; system.stateVersion = systemConfig.version;
users = { users = {

12
hosts/pi4/hardware.nix Normal file
View File

@ -0,0 +1,12 @@
{
fileSystems = {
"/" = {
device = "/dev/disk/by-label/NIXOS_SD";
fsType = "ext4";
options = [ "noatime" ];
};
# TODO mount ext hdd
};
hardware.enableRedistributableFirmware = true;
}

View File

@ -1,17 +1,31 @@
{ pkgs, lib, systemConfig, ... }: {
lib,
inputs,
outputs,
systemConfig,
...
}:
{ {
imports = [ imports = [
inputs.catppuccin.homeModules.catppuccin
(lib.custom.relativeToRoot "shared/home-manager/btop.nix")
(lib.custom.relativeToRoot "shared/home-manager/development/git.nix") (lib.custom.relativeToRoot "shared/home-manager/development/git.nix")
(lib.custom.relativeToRoot "shared/home-manager/development/nixvim")
(lib.custom.relativeToRoot "shared/home-manager/fastfetch.nix")
(lib.custom.relativeToRoot "shared/home-manager/fish.nix")
(lib.custom.relativeToRoot "shared/home-manager/gpg.nix")
]; ];
home.stateVersion = systemConfig.version; home.stateVersion = systemConfig.version;
programs.git.signing.key = "E3FA0E995C0D0E5E"; # Adds pkgs.unstable in order to fetch packages from unstable repositories
nixpkgs.overlays = [ outputs.overlays.unstable-packages ];
programs.gpg.enable = true; programs = {
services.gpg-agent = { git.signing.key = "E3FA0E995C0D0E5E";
enable = true; # Let Home Manager install and manage itself.
pinentryPackage = pkgs.pinentry-curses; home-manager.enable = true;
}; };
} }

10
hosts/pi4/networking.nix Normal file
View File

@ -0,0 +1,10 @@
{ systemConfig, ... }:
{
networking = {
hostName = systemConfig.hostName;
networkmanager.enable = true;
};
services.openssh.enable = true;
}

7
hosts/pi4/security.nix Normal file
View File

@ -0,0 +1,7 @@
{
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
services.pcscd.enable = true;
}

View File

@ -4,6 +4,12 @@ default:
fmt: fmt:
treefmt --on-unmatched info treefmt --on-unmatched info
build HOST:
git add .
just fmt
nh os build . -H {{HOST}}
test *FLAGS: test *FLAGS:
git add . git add .
just fmt just fmt

View File

@ -1,4 +1,3 @@
# TODO more defaults
{ {
xdg.mimeApps = { xdg.mimeApps = {
enable = true; enable = true;

View File

@ -1,6 +1,7 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
programs.gpg.enable = true;
services.gpg-agent = { services.gpg-agent = {
enable = true; enable = true;
enableFishIntegration = true; enableFishIntegration = true;

View File

@ -2,4 +2,6 @@
imports = [ imports = [
./yubikey.nix ./yubikey.nix
]; ];
programs.gnupg.agent.enable = true;
} }

View File

@ -7,8 +7,6 @@
yubioath-flutter # GUI yubioath-flutter # GUI
]; ];
programs.gnupg.agent.enable = true;
security = { security = {
pam = { pam = {
services = { services = {