mirror of
https://github.com/EdenQwQ/nixos.git
synced 2026-01-18 21:27:56 +08:00
189 lines
3.7 KiB
Nix
189 lines
3.7 KiB
Nix
{
|
|
pkgs,
|
|
user,
|
|
...
|
|
}:
|
|
{
|
|
imports = [
|
|
./boot.nix
|
|
];
|
|
|
|
networking.networkmanager.enable = true;
|
|
|
|
time = {
|
|
timeZone = "Asia/Shanghai";
|
|
hardwareClockInLocalTime = true;
|
|
};
|
|
|
|
i18n = {
|
|
extraLocaleSettings = {
|
|
LANGUAGE = "en_US.UTF-8";
|
|
LC_ALL = "en_US.UTF-8";
|
|
LC_ADDRESS = "en_US.UTF-8";
|
|
LC_IDENTIFICATION = "en_US.UTF-8";
|
|
LC_MEASUREMENT = "en_US.UTF-8";
|
|
LC_MONETARY = "en_US.UTF-8";
|
|
LC_NAME = "en_US.UTF-8";
|
|
LC_NUMERIC = "en_US.UTF-8";
|
|
LC_PAPER = "en_US.UTF-8";
|
|
LC_TELEPHONE = "en_US.UTF-8";
|
|
LC_TIME = "en_US.UTF-8";
|
|
};
|
|
};
|
|
|
|
services = {
|
|
displayManager.gdm.enable = false;
|
|
# desktopManager.gnome.enable = true;
|
|
|
|
xserver = {
|
|
enable = true;
|
|
desktopManager.runXdgAutostartIfNone = true;
|
|
xkb.layout = "us";
|
|
xkb.variant = "";
|
|
};
|
|
|
|
fprintd = {
|
|
enable = true;
|
|
};
|
|
|
|
printing.enable = true;
|
|
|
|
pipewire = {
|
|
enable = true;
|
|
alsa.enable = true;
|
|
alsa.support32Bit = true;
|
|
pulse.enable = true;
|
|
};
|
|
|
|
blueman.enable = true;
|
|
|
|
# gnome.gnome-browser-connector.enable = true;
|
|
|
|
gvfs.enable = true;
|
|
|
|
openssh.enable = true;
|
|
|
|
# dae = {
|
|
# enable = true;
|
|
# configFile = "/home/${user}/.config/dae/config.dae";
|
|
# };
|
|
|
|
flatpak.enable = true;
|
|
|
|
upower.enable = true;
|
|
|
|
udisks2.enable = true;
|
|
};
|
|
|
|
security = {
|
|
rtkit.enable = true;
|
|
sudo.extraRules = [
|
|
{
|
|
users = [ user ];
|
|
commands = [
|
|
{
|
|
command = "ALL";
|
|
options = [ "NOPASSWD" ];
|
|
}
|
|
];
|
|
}
|
|
];
|
|
|
|
polkit.enable = true;
|
|
};
|
|
|
|
hardware.bluetooth.enable = true;
|
|
hardware.bluetooth.powerOnBoot = true;
|
|
|
|
documentation.man.generateCaches = true;
|
|
|
|
users.users.${user} = {
|
|
shell = pkgs.fish;
|
|
isNormalUser = true;
|
|
description = "Eden Lee";
|
|
extraGroups = [
|
|
"networkmanager"
|
|
"wheel"
|
|
"adbuser"
|
|
"docker"
|
|
"libvirtd"
|
|
"video"
|
|
"kvm"
|
|
];
|
|
};
|
|
|
|
environment = {
|
|
systemPackages = with pkgs; [
|
|
git
|
|
gcc
|
|
wget
|
|
curl
|
|
gnumake
|
|
cmake
|
|
ntfs3g
|
|
base16-schemes
|
|
home-manager
|
|
polkit
|
|
polkit_gnome
|
|
];
|
|
|
|
variables = {
|
|
EDITOR = "lvim";
|
|
GDK_SCALE = "";
|
|
GDK_DPI_SCALE = "";
|
|
NIRI_CONFIG = "/home/${user}/.config/niri/config-override.kdl";
|
|
all_proxy = "http://127.0.0.1:7890";
|
|
ALL_PROXY = "http://127.0.0.1:7890";
|
|
HTTP_PROXY = "http://127.0.0.1:7890";
|
|
HTTPS_PROXY = "http://127.0.0.1:7890";
|
|
};
|
|
|
|
sessionVariables = {
|
|
XMODIFIERS = "@im=fcitx";
|
|
SDL_IM_MODULE = "fcitx";
|
|
GLFW_IM_MODULE = "ibus";
|
|
QT_SCALE_FACTOR_ROUNDING_POLICY = "round";
|
|
GSK_RENDERER = "vulkan";
|
|
NIXOS_OZONE_WL = "1";
|
|
};
|
|
|
|
localBinInPath = true;
|
|
};
|
|
|
|
systemd.user.services = {
|
|
polkit-gnome-authentication-agent-1 = {
|
|
description = "polkit-gnome-authentication-agent-1";
|
|
wantedBy = [ "graphical-session.target" ];
|
|
wants = [ "graphical-session.target" ];
|
|
after = [ "graphical-session.target" ];
|
|
serviceConfig = {
|
|
Type = "simple";
|
|
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
|
Restart = "on-failure";
|
|
RestartSec = 1;
|
|
TimeoutStopSec = 10;
|
|
};
|
|
};
|
|
niri-flake-polkit.enable = false;
|
|
};
|
|
|
|
virtualisation = {
|
|
libvirtd.enable = true;
|
|
|
|
podman = {
|
|
enable = true;
|
|
defaultNetwork.settings.dns_enabled = true;
|
|
};
|
|
|
|
docker = {
|
|
enable = true;
|
|
storageDriver = "btrfs";
|
|
rootless = {
|
|
enable = true;
|
|
setSocketVariable = true;
|
|
};
|
|
};
|
|
|
|
oci-containers.backend = "docker";
|
|
};
|
|
}
|