Skip to content
This repository has been archived by the owner on Oct 15, 2024. It is now read-only.

Commit

Permalink
Merge pull request #458 from DarkKirb/devterm
Browse files Browse the repository at this point in the history
WIP: add devterm
  • Loading branch information
DarkKirb authored Jul 1, 2024
2 parents 9bdbfc4 + 4b3a3dc commit 52e8065
Show file tree
Hide file tree
Showing 30 changed files with 930 additions and 208 deletions.
8 changes: 8 additions & 0 deletions .sops.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ keys:
- &instance-20221213-1915 age1elra3uklw8rmwkevqms2l4tsd06d5utqda9d2w4qvqpz898uzuesugxkhc
- &vf2 age1gtezxkkfhpkv788x9dek6s6s342n9tkl40zvsa48m9a7yqn25fnsmd3wy0
- &rainbow-resort age19vzypddhexvvsf8xylstxc9znnkd8rxmamhjlt7elvz4j3zaf5tqqura6f
- &devterm age1sqvl2cwvzeztuelpwppaestqufzeap8uf0vgy7t5mzr9rwc3dpxqhx8ly9
creation_rules:
- path_regex: secrets/shared\.yaml$
key_groups:
Expand All @@ -17,6 +18,7 @@ creation_rules:
- *vf2
- *rainbow-resort
- *lotte
- *devterm
- path_regex: secrets/nixos-8gb-fsn1-1\.yaml$
key_groups:
- age:
Expand All @@ -42,6 +44,7 @@ creation_rules:
- *thinkrac
- *rainbow-resort
- *lotte
- *devterm
- path_regex: secrets/instance-20221213-1915\.yaml$
key_groups:
- age:
Expand All @@ -57,6 +60,11 @@ creation_rules:
- age:
- *rainbow-resort
- *lotte
- path_regex: secrets/devterm\.yaml$
key_groups:
- age:
- *devterm
- *lotte
- path_regex: secrets/kubernetes\.yaml$
key_groups:
- age:
Expand Down
23 changes: 14 additions & 9 deletions config/desktop.nix
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,20 @@
fi
'';
in {
imports = [
./services/pipewire.nix
./desktop-secrets.nix
./services/cups.nix
./services/docker.nix
./services/cifs.nix
./programs/virtualbox.nix
./kde.nix
];
imports =
[
./services/pipewire.nix
./desktop-secrets.nix
./services/cups.nix
./services/docker.nix
./services/cifs.nix
./kde.nix
]
++ (
if system == "x86_64-linux"
then [./programs/virtualbox.nix]
else []
);
fonts = {
fontDir.enable = true;
fontconfig = {
Expand Down
103 changes: 103 additions & 0 deletions config/devterm.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
{
nixos-hardware,
config,
lib,
pkgs,
...
}: {
boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux-devterm;
networking.hostName = "devterm";
imports = [
./desktop.nix
];
boot.loader = {
grub.enable = lib.mkDefault false;
generic-extlinux-compatible.enable = lib.mkDefault true;
};
boot.initrd = {
includeDefaultModules = false;
availableKernelModules = [
"usbhid"
"usb_storage"
"vc4"
"pcie_brcmstb" # required for the pcie bus to work
"reset-raspberrypi" # required for vl805 firmware to load
"mmc_block"
"usbhid"
"hid_generic"
"panel_cwd686"
"ocp8178_bl"
"ti_adc081c"
];
};
console.enable = false;
environment.systemPackages = with pkgs; [
libraspberrypi
raspberrypi-eeprom
];
system.stateVersion = "24.05";
fileSystems."/" = {
device = "/dev/mmcblk0p2";
fsType = "btrfs";
options = ["compress=zstd"];
};

fileSystems."/boot" = {
device = "/dev/mmcblk0p1";
fsType = "vfat";
};
security.pam = {
services.login.u2fAuth = lib.mkForce false;
services.swaylock.u2fAuth = lib.mkForce false;
u2f.enable = lib.mkForce false;
services.sddm.u2fAuth = lib.mkForce false;
};
console.keyMap = lib.mkForce "us";
services.xserver.layout = lib.mkForce "us";
services.xserver.xkbVariant = lib.mkForce "";
services.displayManager.sddm = {
autoLogin.enable = true;
autoLogin.user = "darkkirb";
};
networking.networkmanager.enable = true;
users.users.darkkirb.extraGroups = ["networkmanager"];
hardware.deviceTree.overlays = [
{
name = "dwc2";
dtsFile = ./devterm/dwc2-overlay.dts;
}
{
name = "cma";
dtsFile = ./devterm/cma-overlay.dts;
}
{
name = "vc4-kms-v3d-pi4";
dtsFile = ./devterm/vc4-kms-v3d-pi4-overlay.dts;
}
{
name = "devterm-pmu";
dtsFile = ./devterm/devterm-pmu-overlay.dts;
}
{
name = "devterm-panel";
dtsFile = ./devterm/devterm-panel-overlay.dts;
}
{
name = "devterm-misc";
dtsFile = ./devterm/devterm-misc-overlay.dts;
}
{
name = "audremap";
dtsFile = ./devterm/audremap-overlay.dts;
}
{
name = "spi";
dtsFile = ./devterm/spi0-overlay.dts;
}
{
name = "devterm-overlay";
dtsFile = ./devterm/devterm-overlay.dts;
}
];
hardware.enableRedistributableFirmware = true;
}
23 changes: 23 additions & 0 deletions config/devterm/audremap-overlay.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/dts-v1/;
/plugin/;

/ {
compatible = "brcm,bcm2711";

fragment@0 {
target = <&audio_pins>;
__overlay__ {
status = "okay";
};
};

fragment@1 {
target = <&audio_pins>;
__overlay__ {
brcm,pins = < 12 13 >;
brcm,function = < 4 >; /* alt0 alt0 */
};
};


};
14 changes: 14 additions & 0 deletions config/devterm/cma-overlay.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;
/plugin/;

/ {
compatible = "brcm,bcm2711";

fragment@0 {
target = <&cma>;
__overlay__ {
size = <(384 * 1024 * 1024)>;
};
};
};
80 changes: 80 additions & 0 deletions config/devterm/devterm-misc-overlay.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
/dts-v1/;
/plugin/;

/{
compatible = "brcm,bcm2711";

fragment@0 {
target = <&i2c1>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
status = "okay";

adc101c: adc@54 {
reg = <0x54>;
compatible = "ti,adc101c";
status = "okay";
};
};
};

fragment@1 {
target = <&spi4>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <&spi4_pins &spi4_cs_pins>;
cs-gpios = <&gpio 4 1>;
status = "okay";

spidev4_0: spidev@0 {
compatible = "spidev";
reg = <0>; /* CE0 */
#address-cells = <1>;
#size-cells = <0>;
spi-max-frequency = <125000000>;
status = "okay";
};
};
};

fragment@2 {
target = <&uart1>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>;
status = "okay";
};
};

fragment@3 {
target = <&gpio>;
__overlay__ {

i2c1_pins: i2c1 {
brcm,pins = <44 45>;
brcm,function = <6>;
};

spi4_pins: spi4_pins {
brcm,pins = <6 7>;
brcm,function = <7>;
};

spi4_cs_pins: spi0_cs_pins {
brcm,pins = <4>;
brcm,function = <1>;
};

uart1_pins: uart1_pins {
brcm,pins = <14 15>;
brcm,function = <2>;
brcm,pull = <0 2>;
};

};
};

};
Loading

0 comments on commit 52e8065

Please sign in to comment.