Archived
boot.isContainer disables services.udev, which NetworkManager depends on to enumerate devices — this left NM unable to reliably manage the container veth, breaking DHCP-hostname registration in Pi-hole. It also defaulted networking.useHostResolvConf to true, which assumes a systemd-nspawn-style resolv.conf bind-mount that real Proxmox LXC doesn't provide (nixpkgs' own proxmox-lxc.nix module forces this false for the same reason). Also guard the networkmanager extraGroups membership in the minimal/gui build-types, since that group only exists when NM is enabled. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01La55Nsss8jZ7ZuzUV9mfot
61 lines
1.5 KiB
Nix
61 lines
1.5 KiB
Nix
{ config, pkgs, lib, inputs, ... }:
|
|
|
|
{
|
|
environment.systemPackages = with pkgs; [
|
|
inputs.nixos-conf-editor.packages.${pkgs.system}.nixos-conf-editor
|
|
nodejs
|
|
appimage-run
|
|
seahorse
|
|
vscode
|
|
p7zip
|
|
popsicle # balena-etcher
|
|
shotcut
|
|
gimp
|
|
pdfarranger
|
|
terminator
|
|
libreoffice-qt
|
|
transmission_4-qt
|
|
];
|
|
|
|
boot.loader.grub.useOSProber = true;
|
|
|
|
services.xserver.enable = true;
|
|
services.xserver.displayManager.lightdm.enable = true;
|
|
services.xserver.desktopManager.cinnamon.enable = true;
|
|
|
|
services.xserver.xkb = {
|
|
layout = "au";
|
|
variant = "";
|
|
};
|
|
|
|
services.printing.enable = true;
|
|
|
|
security.rtkit.enable = true;
|
|
services.pipewire = {
|
|
enable = true;
|
|
alsa.enable = true;
|
|
alsa.support32Bit = true;
|
|
pulse.enable = true;
|
|
};
|
|
|
|
# The networkmanager group only exists when NM is actually enabled — the
|
|
# lxc platform module force-disables it, so don't add the user to a group
|
|
# that won't exist there.
|
|
users.users.nixos.extraGroups = lib.mkIf config.networking.networkmanager.enable [ "networkmanager" ];
|
|
|
|
programs.firefox.enable = true;
|
|
|
|
services.xrdp.enable = true;
|
|
services.xrdp.defaultWindowManager = "cinnamon-session";
|
|
services.xrdp.openFirewall = true;
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
services.gnome.gnome-keyring.enable = true;
|
|
security.pam.services.login.enableGnomeKeyring = true;
|
|
|
|
services.xserver.displayManager.sessionCommands = ''
|
|
eval $(gnome-keyring-daemon --start --components=secrets,ssh)
|
|
export SSH_AUTH_SOCK
|
|
'';
|
|
}
|