Add mobile support (PinePhone Pro)
This commit is contained in:
parent
5c30019fc3
commit
46c858faa0
|
@ -1,6 +1,7 @@
|
||||||
{ config, pkgs, nur, username, fullname, ... }:
|
{ config, pkgs, nur, username, fullname, ... }:
|
||||||
let
|
let
|
||||||
inherit (config.custom) platform;
|
inherit (config) platform;
|
||||||
|
isMobile = platform == "mobile";
|
||||||
|
|
||||||
hashedPassword =
|
hashedPassword =
|
||||||
if platform == "desktop" then
|
if platform == "desktop" then
|
||||||
|
@ -43,7 +44,8 @@ in
|
||||||
users.users.${username} = {
|
users.users.${username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = fullname;
|
description = fullname;
|
||||||
extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user.
|
extraGroups = [ "wheel" "networkmanager" ]
|
||||||
|
++ lib.optionals isMobile [ "dialout" "feedbackd" "video" ];
|
||||||
shell = pkgs.fish;
|
shell = pkgs.fish;
|
||||||
inherit hashedPassword;
|
inherit hashedPassword;
|
||||||
};
|
};
|
||||||
|
@ -66,8 +68,8 @@ in
|
||||||
fontconfig = {
|
fontconfig = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultFonts = {
|
defaultFonts = {
|
||||||
serif = [ "Noto Serif" ];
|
serif = lib.optional (!isMobile) "Noto Serif";
|
||||||
sansSerif = [ "Noto Sans" ];
|
sansSerif = lib.optional (!isMobile) "Noto Sans";
|
||||||
monospace = [ "VictorMono" ];
|
monospace = [ "VictorMono" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -86,3 +88,11 @@ in
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
system.stateVersion = "21.11"; # Did you read the comment?
|
system.stateVersion = "21.11"; # Did you read the comment?
|
||||||
}
|
}
|
||||||
|
// lib.mkIf (platform == "mobile") {
|
||||||
|
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
hardware.pulseaudio.package = pkgs.pulseAudioFull;
|
||||||
|
zramSwap.enable = true;
|
||||||
|
|
||||||
|
services.xserver.desktopManager.phosh.user = username;
|
||||||
|
}
|
||||||
|
|
26
flake.nix
26
flake.nix
|
@ -3,7 +3,10 @@ description = "System conf";
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
nur.url = "github:nix-community/NUR";
|
nur.url = "github:nix-community/NUR";
|
||||||
|
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
||||||
|
mobile-nixos.url = "github:wentam/mobile-nixos/ppp-pr";
|
||||||
|
mobile-nixos.flake = false;
|
||||||
|
|
||||||
home-manager.url = "github:nix-community/home-manager/master";
|
home-manager.url = "github:nix-community/home-manager/master";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -66,6 +69,29 @@ outputs = { self,
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"${username}-mobile" = lib.makeOverridable lib.nixosSystem {
|
||||||
|
inherit system;
|
||||||
|
modules = [
|
||||||
|
./config
|
||||||
|
|
||||||
|
{ _module.args = moduleArgs;
|
||||||
|
platform = "mobile"; }
|
||||||
|
./platform.nix
|
||||||
|
./hardware-configuration/mobile.nix
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
(import ${mobile-nixos}/lib/configuration.nix { device = "pine64-pinephonepro"; })
|
||||||
|
${mobile-nixos}/examples/phosh/phosh.nix
|
||||||
|
{
|
||||||
|
home-manager.users.${username} = import ./mobile/home-manager.nix;
|
||||||
|
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.sharedModules = [ ./platform.nix { platform = "mobile"; } ];
|
||||||
|
home-manager.extraSpecialArgs = moduleArgs;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
12
hardware-configuration/mobile.nix
Normal file
12
hardware-configuration/mobile.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
{
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/0e34be6f-a042-433e-bcfc-9df254a571c3";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
nix.settings.max-jobs = lib.mkDefault 3;
|
||||||
|
}
|
38
mobile/home-manager.nix
Normal file
38
mobile/home-manager.nix
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
{ config, pkgs, username, fullname, ... }:
|
||||||
|
{
|
||||||
|
home.username = username;
|
||||||
|
home.homeDirectory = "/home/" + username;
|
||||||
|
|
||||||
|
home.stateVersion = "22.11";
|
||||||
|
|
||||||
|
imports = [ ../home-manager/shell ];
|
||||||
|
|
||||||
|
xdg.enable = true;
|
||||||
|
xdg.userDirs.enable = true;
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = fullname;
|
||||||
|
userEmail = "kiana.a.sheibani@gmail.com";
|
||||||
|
|
||||||
|
extraConfig = {
|
||||||
|
credential.helper = "store";
|
||||||
|
git.allowForcePush = true;
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
|
||||||
|
user.signingkey = "6CB106C25E86A9F7";
|
||||||
|
commit.gpgsign = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.gpg.enable = true;
|
||||||
|
services.gpg-agent = {
|
||||||
|
enable = true;
|
||||||
|
enableSshSupport = true;
|
||||||
|
pinentryFlavor = "curses";
|
||||||
|
extraConfig = ''
|
||||||
|
allow-emacs-pinentry
|
||||||
|
allow-loopback-pinentry
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue