nixfleet/hosts/deltaflyer/default.nix
Andrea Ciceri a394b9cefd
All checks were successful
/ test (push) Successful in 32s
Reformat everything
2024-09-20 11:37:17 +02:00

157 lines
4 KiB
Nix

{
fleetModules,
lib,
pkgs,
...
}:
{
imports =
fleetModules [
"common"
"ssh"
"ccr"
"nix"
"bluetooth"
"dbus"
"networkmanager"
"pam"
"fonts"
"waydroid"
"wireguard-client"
]
++ [
# ./mobile-nixos-branding.nix
./plasma-mobile.nix
];
# options.home-manager.services.kanshi.attrTag = null;
config = lib.mkMerge [
# INSECURE STUFF FIRST
# Users and hardcoded passwords.
{
users.users.root.password = "nixos";
# users.users.ccr.password = "1234";
# Automatically login as defaultUserName.
# services.xserver.displayManager.autoLogin = {
# user = "ccr";
# };
}
# Networking, modem and misc.
{
# Ensures any rndis config from stage-1 is not clobbered by NetworkManager
networking.networkmanager.unmanaged = [
"rndis0"
"usb0"
];
# Setup USB gadget networking in initrd...
mobile.boot.stage-1.networking.enable = lib.mkDefault true;
}
# SSH
{
# Start SSH by default...
# Not a good idea given the fact this config is insecure (well-known password).
services.openssh = {
settings.PermitRootLogin = lib.mkForce "yes";
};
mobile.adbd.enable = true;
ccr = {
enable = true;
autologin = true;
modules = [
"git"
"shell"
"helix"
"hyprland"
"emacs"
"firefox"
"mpv"
"xdg"
];
extraGroups = [
"dialout"
"feedbackd"
"networkmanager"
"video"
"wheel"
];
backupPaths = [ ];
};
}
{
system.stateVersion = "24.11";
nixpkgs.config.allowUnfreePredicate =
pkg:
builtins.elem (lib.getName pkg) [
"oneplus-sdm845-firmware-zstd"
"oneplus-sdm845-firmware-xz"
"oneplus-sdm845-firmware"
];
nixpkgs.crossSystem = lib.mkForce null;
nixpkgs.localSystem.system = "aarch64-linux"; # we use an aarch64 nix remote builder or binfmt
# mobile.boot.stage-1.kernel.useStrictKernelConfig = lib.mkDefault true;
ccr.extraModules = [
{
programs.fish.loginShellInit = ''
pgrep Hypr >/dev/null || exec dbus-run-session Hyprland
'';
wayland.windowManager.hyprland.extraConfig = lib.mkAfter ''
monitor = DSI-1, 1080x2340, 0x0, 2, transform, 1
input {
touchdevice {
transform = 1
}
}
bind = $mod, r, exec, rotate-screen hor
bind = $mod SHIFT, r, exec, rotate-screen ver
'';
home.packages =
let
rotateScript = pkgs.writeShellApplication {
name = "rotate-screen";
runtimeInputs = [ pkgs.hyprland ];
text = ''
if [[ "$1" == "hor" ]]; then
hyprctl keyword monitor DSI-1,1080x2340,0x0,2,transform,1
hyprctl keyword input:touchdevice:transform 1
elif [[ "$1" == "ver" ]]; then
hyprctl keyword monitor DSI-1,1080x2340,0x0,2,transform,0
hyprctl keyword input:touchdevice:transform 0
fi
'';
};
in
[ rotateScript ];
services.swayidle.enable = lib.mkForce false;
}
];
environment.systemPackages = [
# (pkgs.writeShellApplication {
# name = "start-win98";
# text = fleetFlake.inputs.nixThePlanet.apps.aarch64-linux.win98.program;
# })
pkgs.libreoffice
pkgs.superTuxKart
pkgs.chromium
pkgs.dolphin-emu
];
zramSwap.enable = lib.mkDefault true;
boot.binfmt.emulatedSystems = lib.mkForce [
"x86_64-linux"
"i686-linux"
"i386-linux"
"i486-linux"
"i586-linux"
];
}
];
}