nixcfg/hosts/petalburg/default.nix

87 lines
2.3 KiB
Nix

# Lenovo Yoga 9i Convertible with Intel Core i7-1360P, 15GB RAM, 512GB SSD.
{
config,
pkgs,
...
}: let
cs-adjuster = pkgs.writeShellScriptBin "cs-adjuster" ''
# Get current color scheme
color_scheme=$(gsettings get org.gnome.desktop.interface color-scheme)
# Toggle between light and dark color schemes
if [ "$color_scheme" == "'default'" ] || [ "$color_scheme" == "'prefer-light'" ]; then
color_scheme="'prefer-dark'"
else
color_scheme="'prefer-light'"
fi
# Apply the updated color scheme
gsettings set org.gnome.desktop.interface color-scheme $color_scheme
'';
cs-adjuster-plasma = pkgs.writeShellScriptBin "cs-adjuster-plasma" ''
# Query the Desktop Portal Service for the current color scheme
color_scheme=$(qdbus org.freedesktop.portal.Desktop /org/freedesktop/portal/desktop org.freedesktop.portal.Settings.Read org.freedesktop.appearance color-scheme)
# Check the color scheme and apply the appropriate look and feel
if [ "$color_scheme" = "1" ]; then
plasma-apply-lookandfeel -a org.kde.breeze.desktop
else
plasma-apply-lookandfeel -a org.kde.breezedark.desktop
fi
'';
in {
imports = [
./disko.nix
./hardware-configuration.nix # Include the results of the hardware scan.
./home.nix
];
boot = {
# Bootloader.
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
# Use latest Linux kernel.
kernelPackages = pkgs.linuxPackages_latest;
};
networking.hostName = "petalburg"; # Define your hostname.
environment.systemPackages = [cs-adjuster cs-adjuster-plasma];
alyraffauf = {
system = {
plymouth.enable = true;
zramSwap = {enable = true;};
};
user = {
aly = {
enable = true;
password = "$y$j9T$Ug0ZLHQQuRciFJDgOI6r00$eHc.KyQY0oU4k0LKRiZiGWJ19jkKNWHpOoyCJbtJif8";
};
dustin.enable = false;
};
desktop = {
enable = true;
greetd = {
enable = true;
session = config.programs.sway.package + "/bin/sway";
};
sway.enable = true;
};
apps = {
steam.enable = true;
};
scripts = {
hoenn.enable = true;
};
services = {
syncthing.enable = true;
tailscale.enable = true;
};
};
system.stateVersion = "23.11";
}