# vim:fileencoding=utf-8:foldmethod=marker { pkgs, inputs, username, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ../../modules ./home.nix ]; boot.loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; }; hardware.bluetooth = { enable = true; powerOnBoot = true; }; age.secrets.rustypaste = { file = ../../secrets/rustypaste.age; }; #: Power Consumption {{{ services.logind = { powerKey = "hibernate"; }; #: }}} xdg = { portal.enable = true; mime.enable = true; }; services = { displayManager.sddm.enable = true; dbus.enable = true; blueman.enable = true; pipewire.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; hyprland.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 ]; }; }; 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"; }