feat(pumo): add config for phone pumo
This commit is contained in:
17
flake.lock
generated
17
flake.lock
generated
@@ -411,6 +411,22 @@
|
|||||||
"url": "https://labs.phundrak.com/phundrak/jj-cz"
|
"url": "https://labs.phundrak.com/phundrak/jj-cz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"mobile-nixos": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772289954,
|
||||||
|
"narHash": "sha256-iDdtwk/dFb6AsXMtcOpZixxXl6C1HNUPe6cglxxHO7M=",
|
||||||
|
"owner": "mobile-nixos",
|
||||||
|
"repo": "mobile-nixos",
|
||||||
|
"rev": "1a9e0af79dc7b5e29ed772f1a8a76fcbd9d45fdf",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "mobile-nixos",
|
||||||
|
"repo": "mobile-nixos",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nix": {
|
"nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": [
|
"flake-compat": [
|
||||||
@@ -593,6 +609,7 @@
|
|||||||
"flake-utils": "flake-utils_2",
|
"flake-utils": "flake-utils_2",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"jj-cz": "jj-cz",
|
"jj-cz": "jj-cz",
|
||||||
|
"mobile-nixos": "mobile-nixos",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"opencode": "opencode",
|
"opencode": "opencode",
|
||||||
|
|||||||
14
flake.nix
14
flake.nix
@@ -30,6 +30,11 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mobile-nixos = {
|
||||||
|
url = "github:mobile-nixos/mobile-nixos";
|
||||||
|
flake = false; # It is not as a flake
|
||||||
|
};
|
||||||
|
|
||||||
opencode = {
|
opencode = {
|
||||||
url = "github:anomalyco/opencode/v1.3.15";
|
url = "github:anomalyco/opencode/v1.3.15";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@@ -86,6 +91,7 @@
|
|||||||
nixpkgs,
|
nixpkgs,
|
||||||
flake-utils,
|
flake-utils,
|
||||||
home-manager,
|
home-manager,
|
||||||
|
mobile-nixos,
|
||||||
srvos,
|
srvos,
|
||||||
...
|
...
|
||||||
} @ inputs:
|
} @ inputs:
|
||||||
@@ -177,6 +183,14 @@
|
|||||||
./hosts/naromk3/configuration.nix
|
./hosts/naromk3/configuration.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
pumo = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "aarch64-linux";
|
||||||
|
inherit specialArgs;
|
||||||
|
modules = withSystemModules [
|
||||||
|
(import "${mobile-nixos}/lib/configuration.nix" {device = "oneplus-enchilada";})
|
||||||
|
./hosts/pumo
|
||||||
|
];
|
||||||
|
};
|
||||||
tilo = nixpkgs.lib.nixosSystem {
|
tilo = nixpkgs.lib.nixosSystem {
|
||||||
inherit specialArgs;
|
inherit specialArgs;
|
||||||
modules = withSystemModules ./hosts/tilo/configuration.nix;
|
modules = withSystemModules ./hosts/tilo/configuration.nix;
|
||||||
|
|||||||
91
hosts/pumo/default.nix
Normal file
91
hosts/pumo/default.nix
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
# Minimal configuration for OnePlus 6 (enchilada) NixOS Mobile
|
||||||
|
# Focus on essentials: SSH, wireless, and basic tools
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
inputs.sops-nix.nixosModules.sops
|
||||||
|
../../system
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.config.permittedInsecurePackages = ["olm-3.2.16"];
|
||||||
|
|
||||||
|
mySystem = {
|
||||||
|
desktop = {
|
||||||
|
hyprland.enable = true;
|
||||||
|
niri.enable = true;
|
||||||
|
waydroid.enable = true;
|
||||||
|
xserver = {
|
||||||
|
enable = true;
|
||||||
|
de = "gnome";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
dev.docker = {
|
||||||
|
enable = true;
|
||||||
|
podman.enable = true;
|
||||||
|
autoprune.enable = true;
|
||||||
|
};
|
||||||
|
hardware = {
|
||||||
|
bluetooth.enable = true;
|
||||||
|
sound = {
|
||||||
|
enable = true;
|
||||||
|
usePulseaudio = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
i18n.input.enable = true;
|
||||||
|
misc = {
|
||||||
|
keymap = "fr-bepo";
|
||||||
|
mobile = true;
|
||||||
|
};
|
||||||
|
networking = {
|
||||||
|
hostname = "pumo";
|
||||||
|
id = "93595b88";
|
||||||
|
};
|
||||||
|
packages = {
|
||||||
|
appimage.enable = true;
|
||||||
|
flatpak.enable = true;
|
||||||
|
nix.nix-ld.enable = true;
|
||||||
|
};
|
||||||
|
services = {
|
||||||
|
languagetool.enable = true;
|
||||||
|
printing.enable = true;
|
||||||
|
ssh.enable = true;
|
||||||
|
};
|
||||||
|
users = {
|
||||||
|
root.disablePassword = true;
|
||||||
|
phundrak = {
|
||||||
|
enable = true;
|
||||||
|
trusted = true;
|
||||||
|
extraGroups = ["feedbackd"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
dconf.enable = true;
|
||||||
|
calls.enable = true;
|
||||||
|
zsh.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
hardware.sensor.iio.enable = true;
|
||||||
|
|
||||||
|
# Minimal essential packages
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
chatty # IM and SMS
|
||||||
|
epiphany
|
||||||
|
nixd
|
||||||
|
git
|
||||||
|
vim
|
||||||
|
emacs
|
||||||
|
wget
|
||||||
|
curl
|
||||||
|
jujutsu
|
||||||
|
firefox
|
||||||
|
kitty
|
||||||
|
];
|
||||||
|
|
||||||
|
system.stateVersion = "25.11";
|
||||||
|
}
|
||||||
@@ -54,7 +54,7 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config.boot = {
|
config.boot = mkIf (! config.mySystem.misc.mobile) {
|
||||||
initrd.kernelModules = lib.lists.singleton (
|
initrd.kernelModules = lib.lists.singleton (
|
||||||
if config.mySystem.hardware.amdgpu.enable
|
if config.mySystem.hardware.amdgpu.enable
|
||||||
then "amdgpu"
|
then "amdgpu"
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ in {
|
|||||||
example = "fr-bepo";
|
example = "fr-bepo";
|
||||||
description = "Keymap to use in the TTY console";
|
description = "Keymap to use in the TTY console";
|
||||||
};
|
};
|
||||||
|
mobile = mkEnableOption "Enable if using Mobile NixOS";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ in {
|
|||||||
games.enable = false;
|
games.enable = false;
|
||||||
gnome-remote-desktop.enable = true;
|
gnome-remote-desktop.enable = true;
|
||||||
gnome-online-accounts.enable = true;
|
gnome-online-accounts.enable = true;
|
||||||
|
gnome-keyring.enable = true;
|
||||||
sushi.enable = true;
|
sushi.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,8 @@ with lib; let
|
|||||||
cfg = config.mySystem.hardware.sound;
|
cfg = config.mySystem.hardware.sound;
|
||||||
in {
|
in {
|
||||||
options.mySystem.hardware.sound = {
|
options.mySystem.hardware.sound = {
|
||||||
enable = mkEnableOption "Whether to enable sounds with Pipewire";
|
enable = mkEnableOption "Whether to enable sounds";
|
||||||
|
usePulseaudio = mkEnableOption "Activate sound support with pulseaudio";
|
||||||
scarlett.enable = mkEnableOption "Activate support for Scarlett sound card";
|
scarlett.enable = mkEnableOption "Activate support for Scarlett sound card";
|
||||||
alsa = mkOption {
|
alsa = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
@@ -32,13 +33,14 @@ in {
|
|||||||
|
|
||||||
config = {
|
config = {
|
||||||
environment.systemPackages = mkIf cfg.scarlett.enable [pkgs.alsa-scarlett-gui];
|
environment.systemPackages = mkIf cfg.scarlett.enable [pkgs.alsa-scarlett-gui];
|
||||||
services.pipewire = mkIf cfg.enable {
|
services = {
|
||||||
enable = true;
|
pipewire.enable = mkForce (cfg.enable && ! cfg.usePulseaudio);
|
||||||
alsa = mkIf cfg.alsa {
|
pipewire.alsa = {
|
||||||
enable = mkDefault true;
|
enable = mkDefault true;
|
||||||
support32Bit = mkDefault true;
|
support32Bit = mkDefault true;
|
||||||
};
|
};
|
||||||
jack.enable = mkDefault cfg.jack;
|
pipewire.jack.enable = cfg.jack;
|
||||||
|
pulseaudio.enable = cfg.usePulseaudio;
|
||||||
};
|
};
|
||||||
programs.noisetorch = mkIf cfg.enable {
|
programs.noisetorch = mkIf cfg.enable {
|
||||||
inherit (cfg) enable;
|
inherit (cfg) enable;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
@@ -11,12 +10,7 @@ in {
|
|||||||
enable = mkEnableOption "Enable Flatpak support";
|
enable = mkEnableOption "Enable Flatpak support";
|
||||||
builder.enable = mkEnableOption "Enable Flatpak builder";
|
builder.enable = mkEnableOption "Enable Flatpak builder";
|
||||||
};
|
};
|
||||||
config = {
|
config.services.flatpak = mkIf cfg.enable {
|
||||||
services.flatpak = mkIf cfg.enable {
|
inherit (cfg) enable;
|
||||||
inherit (cfg) enable;
|
|
||||||
};
|
|
||||||
environment.systemPackages = mkIf cfg.builder.enable [
|
|
||||||
pkgs.flatpak-buildR
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,13 +10,18 @@ in {
|
|||||||
options.mySystem.users.phundrak = {
|
options.mySystem.users.phundrak = {
|
||||||
enable = mkEnableOption "Enables user phundrak";
|
enable = mkEnableOption "Enables user phundrak";
|
||||||
trusted = mkEnableOption "Mark the user as trusted by Nix";
|
trusted = mkEnableOption "Mark the user as trusted by Nix";
|
||||||
|
extraGroups = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
default = [];
|
||||||
|
example = ["feedbackd"];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
users.users.phundrak = mkIf cfg.enable {
|
users.users.phundrak = mkIf cfg.enable {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Lucien Cartier-Tilet";
|
description = "Lucien Cartier-Tilet";
|
||||||
extraGroups = ["networkmanager" "wheel" "docker" "dialout" "podman" "plugdev" "games" "audio" "input"];
|
extraGroups = ["networkmanager" "wheel" "docker" "dialout" "podman" "plugdev" "games" "audio" "input"] ++ cfg.extraGroups;
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
openssh.authorizedKeys.keyFiles = lib.filesystem.listFilesRecursive ../../users/phundrak/keys;
|
openssh.authorizedKeys.keyFiles = lib.filesystem.listFilesRecursive ../../users/phundrak/keys;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ in {
|
|||||||
# Misc
|
# Misc
|
||||||
# gplates
|
# gplates
|
||||||
qgis
|
qgis
|
||||||
|
kicad
|
||||||
handy
|
handy
|
||||||
libnotify
|
libnotify
|
||||||
nextcloud-client
|
nextcloud-client
|
||||||
|
|||||||
Reference in New Issue
Block a user