# vim:fileencoding=utf-8:foldmethod=marker { pkgs, inputs, username, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix inputs.home-manager.nixosModules.home-manager ../../modules ./home.nix ]; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; hardware.bluetooth.enable = true; hardware.bluetooth.powerOnBoot = true; services.blueman.enable = true; #: Power Consumption {{{ services.logind = { powerKey = "hibernate"; }; #: }}} xdg.portal.enable = true; services = { displayManager.sddm.enable = true; dbus.enable = true; tailscale = { enable = true; extraUpFlags = [ "--ssh" "--advertise-tags" "tag:client" "--login-server" "https://hs.ccnlc.eu" ]; }; }; programs = { dconf.enable = true; steam.enable = true; fish.enable = true; firefox.enable = true; thunderbird.enable = true; sway.enable = true; }; security.polkit.enable = true; users = { defaultUserShell = pkgs.fish; users.${username} = { isNormalUser = true; createHome = true; extraGroups = [ "networkmanager" "wheel" "audio" "libvirtd" # VM OPs "dialout" # Necessary for serial port interactions ]; shell = pkgs.fish; }; }; age.identityPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; # Necessary for Nautilus to display trash, DVDs and for gnome-disk-utility to show file systems services.gvfs.enable = true; programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; services.gnome.gnome-keyring.enable = true; environment.systemPackages = with pkgs; [ fish wireguard-tools git htop eza bat swaynotificationcenter nfs-utils ]; services.rpcbind.enable = true; # necessary for nfs modules.media.enableAll = true; system.stateVersion = "24.05"; }