Compare commits

..

No commits in common. "feb498b6e0ba1b90ddf9cb758ea4ee043af465da" and "41307308527cdf7a352e87e2ff36d91546eb29a4" have entirely different histories.

9 changed files with 156 additions and 50 deletions

36
hardware/pilot1.nix Normal file
View file

@ -0,0 +1,36 @@
{
config,
lib,
pkgs,
...
}:
{
boot.initrd.availableKernelModules = [
"xhci_pci"
"ahci"
"usbhid"
"usb_storage"
"sd_mod"
"rtsx_pci_sdmmc"
];
boot.initrd.kernelModules = [ "dm-snapshot" ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/155b5acf-a0f8-4615-ae03-43a5c193f772";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/31C7-CBD1";
fsType = "vfat";
};
swapDevices = [ { device = "/dev/disk/by-uuid/397a1a92-596f-421b-99e1-c9b2cb821309"; } ];
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -17,9 +17,9 @@
}; };
work = { work = {
name = "Felix Schröter"; name = "Felix Schröter";
email = "felix.schroeter@cmdscale.com"; email = "fs@upsquared.com";
# use sign subkey's fingerprint: gpg2 -K --with-subkey-fingerprint # use sign subkey's fingerprint: gpg2 -K --with-subkey-fingerprint
signingKey = "5A9D CC6B F70A C69B B0D7 C755 A3A2 2573 CA6D 0E38"; signingKey = "16F6 4623 8B1C 80C4 6267 6FF9 4D13 24C5 006E 9B2E";
dirs = [ "~/dev/work/" ]; dirs = [ "~/dev/work/" ];
}; };
}; };

View file

@ -12,7 +12,7 @@
inputs.nixos-hardware.nixosModules.common-gpu-amd inputs.nixos-hardware.nixosModules.common-gpu-amd
(self.lib.createSystemModule "home-pc" { (self.lib.createSystemModule "home-pc" {
hardwareConfig = ../hardware/home-pc.nix; hardwareConfig = ../hardware/home-pc.nix;
config = ../hosts/home-pc/default.nix; config = ../hosts/home-pc.nix;
}) })
self.lib.createMediaGroup self.lib.createMediaGroup
(self.lib.createUserModule "felschr" { (self.lib.createUserModule "felschr" {
@ -40,6 +40,31 @@
inherit inputs; inherit inputs;
}; };
}; };
pilot1 = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
inputs.nixpkgs.nixosModules.notDetected
inputs.nixos-hardware.nixosModules.common-pc
inputs.nixos-hardware.nixosModules.common-pc-ssd
inputs.nixos-hardware.nixosModules.common-cpu-intel
(self.lib.createSystemModule "pilot1" {
hardwareConfig = ../hardware/pilot1.nix;
config = ../hosts/work-pc.nix;
})
(self.lib.createUserModule "felschr" {
homeModule = self.homeModules.felschr-work;
user.extraGroups = [
"wheel"
"audio"
"disk"
];
usesContainers = true;
})
];
specialArgs = {
inherit inputs;
};
};
home-server = inputs.nixpkgs.lib.nixosSystem { home-server = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ modules = [
@ -51,7 +76,7 @@
inputs.matrix-appservices.nixosModule inputs.matrix-appservices.nixosModule
(self.lib.createSystemModule "home-server" { (self.lib.createSystemModule "home-server" {
hardwareConfig = ../hardware/lattepanda.nix; hardwareConfig = ../hardware/lattepanda.nix;
config = ../hosts/home-server/default.nix; config = ../hosts/home-server.nix;
}) })
self.lib.createMediaGroup self.lib.createMediaGroup
(self.lib.createUserModule "felschr" { (self.lib.createUserModule "felschr" {

View file

@ -2,24 +2,24 @@
{ {
imports = [ imports = [
../../hardware/base.nix ../hardware/base.nix
../../hardware/bluetooth.nix ../hardware/bluetooth.nix
../../hardware/xbox.nix ../hardware/xbox.nix
../../hardware/steam.nix ../hardware/steam.nix
../../hardware/ledger.nix ../hardware/ledger.nix
../../system/desktop.nix ../system/desktop.nix
../../system/printing/home.nix ../system/printing/home.nix
../../system/gaming.nix ../system/gaming.nix
../../desktop ../desktop
../../desktop/cosmic.nix ../desktop/cosmic.nix
../../virtualisation/containers.nix ../virtualisation/containers.nix
../../virtualisation/podman.nix ../virtualisation/podman.nix
../../virtualisation/libvirt.nix ../virtualisation/libvirt.nix
../../modules/systemdNotify.nix ../modules/systemdNotify.nix
../../services/samba/home-pc.nix ../services/samba/home-pc.nix
../../services/restic/home-pc.nix ../services/restic/home-pc.nix
../../services/pcscd.nix ../services/pcscd.nix
../../services/open-webui.nix ../services/open-webui.nix
]; ];
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;

View file

@ -18,33 +18,33 @@ let
in in
{ {
imports = [ imports = [
../../hardware/base.nix ../hardware/base.nix
../../desktop/x11.nix ../desktop/x11.nix
../../system/server.nix ../system/server.nix
../../virtualisation/containers.nix ../virtualisation/containers.nix
../../virtualisation/podman.nix ../virtualisation/podman.nix
../../modules/inadyn.nix ../modules/inadyn.nix
../../modules/systemdNotify.nix ../modules/systemdNotify.nix
../../services/postgres ../services/postgres
../../services/mail.nix ../services/mail.nix
../../services/lldap.nix ../services/lldap.nix
../../services/authelia.nix ../services/authelia.nix
../../services/forgejo ../services/forgejo
../../services/restic/home-server.nix ../services/restic/home-server.nix
../../services/samba/home-server.nix ../services/samba/home-server.nix
# ../../services/kodi.nix # ../services/kodi.nix
../../services/jellyfin.nix ../services/jellyfin.nix
../../services/etebase.nix ../services/etebase.nix
../../services/website.nix ../services/website.nix
../../services/wkd.nix ../services/wkd.nix
../../services/home-assistant ../services/home-assistant
../../services/matrix ../services/matrix
../../services/immich.nix ../services/immich.nix
../../services/miniflux.nix ../services/miniflux.nix
../../services/paperless.nix ../services/paperless.nix
../../services/nextcloud.nix ../services/nextcloud.nix
../../services/collabora-office.nix ../services/collabora-office.nix
../../services/calibre-web.nix ../services/calibre-web.nix
]; ];
age.secrets.cloudflare.file = ../secrets/cloudflare.age; age.secrets.cloudflare.file = ../secrets/cloudflare.age;

View file

@ -13,7 +13,6 @@
hostname = "penguin"; hostname = "penguin";
timezone = "Europe/Berlin"; timezone = "Europe/Berlin";
ipaddr = "192.168.0.1"; ipaddr = "192.168.0.1";
packages = [ "ds-lite" ];
}; };
}; };
} }

42
hosts/work-pc.nix Normal file
View file

@ -0,0 +1,42 @@
{ ... }:
{
imports = [
../hardware/base.nix
../hardware/bluetooth.nix
../system/desktop.nix
../system/printing/home.nix
../desktop
../virtualisation/containers.nix
../virtualisation/podman.nix
];
# replace with regenerated hardware-configuration.nix
boot.initrd.luks.devices = {
enc = {
device = "/dev/disk/by-partlabel/nixos";
allowDiscards = true;
};
};
nixpkgs.config.allowUnfree = true;
hardware.logitech.wireless.enable = true;
hardware.logitech.wireless.enableGraphical = true;
programs.adb.enable = true;
programs.zsh.enable = true;
services.openssh = {
enable = true;
settings = {
KbdInteractiveAuthentication = false;
PasswordAuthentication = false;
PermitRootLogin = "no";
};
};
# only change this when specified in release notes
system.stateVersion = "24.11";
}

View file

@ -6,9 +6,11 @@ let
# `ssh-keygen -t ed25519 -N "" -f /etc/secrets/initrd/ssh_host_ed25519_key` # `ssh-keygen -t ed25519 -N "" -f /etc/secrets/initrd/ssh_host_ed25519_key`
home-pc = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBFTQvIcSdhEKl/Kq+pcS/cPCyyZ1ygj+djfuaXzaRMx"; home-pc = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBFTQvIcSdhEKl/Kq+pcS/cPCyyZ1ygj+djfuaXzaRMx";
home-server = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILO+OLPr8zdOMYyKtm98AFJai7zbaxw7JhVWgOwu7K3C"; home-server = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILO+OLPr8zdOMYyKtm98AFJai7zbaxw7JhVWgOwu7K3C";
pilot1 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHEucfNzPbDRdDjTaLG3PzN4lAzDAq3QUkaLvaRjjsCY";
systems = [ systems = [
home-pc home-pc
home-server home-server
pilot1
]; ];
in in
{ {
@ -16,11 +18,13 @@ in
felschr felschr
home-pc home-pc
home-server home-server
pilot1
]; ];
"restic/password.age".publicKeys = [ "restic/password.age".publicKeys = [
felschr felschr
home-pc home-pc
home-server home-server
pilot1
]; ];
"smtp.age".publicKeys = [ "smtp.age".publicKeys = [
felschr felschr