nix-config/hosts/phone/configuration.nix

215 lines
4.4 KiB
Nix
Raw Normal View History

{ self, pkgs, config, lib, ... }:
2024-06-15 17:56:02 +02:00
let
inherit (lib) mkIf mkForce;
inherit (lib.gvariant) mkTuple mkUint32;
inherit (config.modules.system) username;
inherit (builtins) attrValues;
getColorCh = colorName: channel: config.lib.stylix.colors."${colorName}-rgb-${channel}";
rgba = color: transparency: ''rgba(${getColorCh color "r"}, ${getColorCh color "g"}, ${getColorCh color "b"}, ${transparency})'';
bg = ''linear-gradient(${rgba "base00" "0.7"}, ${rgba "base00" "0.7"})'';
2024-06-15 17:56:02 +02:00
in
{
imports = attrValues self.nixosModules;
nixpkgs.overlays = attrValues {
inherit (self.overlays)
phinger-cursors
;
};
home-manager.sharedModules = attrValues {
inherit (self.homeModules)
alacritty
eza
fish
git
gpg
gtk
htop
librewolf
mpv
ncmpcpp
neovim
starship
thunar
xdg-user-dirs
xresources
;
config = {
programs.man.generateCaches = mkForce false;
2024-07-18 04:45:40 +02:00
dconf.settings = {
"sm/puri/phosh" = {
app-filter-mode = [ ];
enable-suspend = true;
};
2024-07-18 04:45:40 +02:00
"sm/puri/phosh/lockscreen" = {
shuffle-keypad = true;
};
2024-07-18 04:46:02 +02:00
"sm/puri/phosh/plugins" = {
quick-settings = [
"night-light-quick-setting"
"caffeine-quick-setting"
];
};
2024-07-18 04:46:02 +02:00
"org/gnome/desktop/interface" = {
show-battery-percentage = true;
};
"org/gnome/desktop/session" = {
idle-delay = mkUint32 60;
};
"org/gnome/desktop/input-sources" = {
sources = [
(mkTuple [ "xkb" "us" ])
(mkTuple [ "xkb" "jp+kana" ])
];
};
"org/gnome/eog/ui" = {
image-gallery = true;
sidebar = false;
};
"org/gnome/settings-daemon/plugins/power" = {
sleep-inactive-ac-type = "nothing";
sleep-inactive-battery-type = "suspend";
};
2024-07-18 04:45:40 +02:00
};
};
background = {
stylix.targets.gtk.extraCss = /* css */ ''
phosh-lockscreen {
background: ${bg}, url('file:///home/${username}/wall-lock.jpg');
}
phosh-app-grid {
background: ${bg}, url('file:///home/${username}/wall-grid.jpg');
}
phosh-top-panel {
background: ${bg}, url('file:///home/${username}/wall-panel.jpg');
}
phosh-home {
background: ${bg}, url('file:///home/${username}/wall-home.jpg');
}
phosh-lockscreen, phosh-app-grid, phosh-top-panel, phosh-home {
background-size: cover;
background-position: center;
}
'';
};
};
environment.systemPackages = attrValues {
inherit (self.packages.${pkgs.system})
webp-thumbnailer
;
2024-07-19 17:04:07 +02:00
inherit (pkgs.gnome)
gnome-contacts
gnome-sound-recorder
gnome-maps
;
inherit (pkgs)
gurk-rs
android-tools
chatty
megapixels
fractal
g4music
livi
papers
phosh-mobile-settings
resources
tuba
caerbannog
eog
geary
2024-07-19 17:04:07 +02:00
;
};
modules = {
system = {
hostName = "mobile-nixos";
stateVersion = "23.11";
mullvad = true;
};
hardware.keyboardBinds = true;
};
i18n.inputMethod.enable = mkForce false;
2024-06-15 17:56:02 +02:00
programs = {
calls.enable = true;
cdemu.enable = mkForce false;
hyprland.enable = mkForce false;
2024-06-15 17:56:02 +02:00
};
networking = {
wireless.enable = false;
2024-06-15 18:07:24 +02:00
wireguard.enable = true;
firewall.checkReversePath = mkForce false;
};
2024-06-15 18:06:53 +02:00
services = {
xserver = {
displayManager.lightdm.enable = false;
desktopManager.phosh = {
enable = true;
group = "users";
user = username;
phocConfig = {
xwayland = "immediate";
};
};
};
2024-06-15 18:06:53 +02:00
openssh.enable = true;
udisks2.enable = mkForce false;
pipewire.enable = mkForce false;
greetd.enable = mkForce false;
};
boot = {
enableContainers = false;
binfmt.emulatedSystems = mkForce [ ];
loader.systemd-boot.enable = mkIf (pkgs.system == "aarch64-linux") (mkForce false);
};
documentation.man.generateCaches = false;
hardware.graphics.enable32Bit = mkForce false;
virtualisation.virtualbox.host.enable = mkForce false;
powerManagement = {
enable = true;
cpufreq = rec {
min = 1008000;
max = min;
};
cpuFreqGovernor = "performance";
};
}