141 lines
4.0 KiB
Nix
141 lines
4.0 KiB
Nix
{ pkgs, ... }:
|
|
{
|
|
security.polkit.enable = true;
|
|
|
|
boot.loader.systemd-boot.memtest86.enable = true;
|
|
boot.loader.systemd-boot.netbootxyz.enable = true;
|
|
boot.loader.timeout = 1;
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
|
|
services.thermald.enable = true;
|
|
services.pcscd.enable = true;
|
|
services.fwupd.enable = true;
|
|
services.gvfs.enable = true;
|
|
services.fstrim.enable = true;
|
|
hardware.opengl = {
|
|
enable = true;
|
|
driSupport = true;
|
|
driSupport32Bit = true;
|
|
};
|
|
|
|
programs.zsh.enable = true;
|
|
|
|
services.openssh = {
|
|
enable = true;
|
|
settings = {
|
|
PermitRootLogin = "no";
|
|
PasswordAuthentication = false;
|
|
};
|
|
};
|
|
|
|
fonts.packages = with pkgs; [
|
|
noto-fonts
|
|
noto-fonts-cjk
|
|
noto-fonts-emoji
|
|
iosevka
|
|
nerdfonts
|
|
roboto
|
|
font-awesome
|
|
];
|
|
|
|
networking.firewall.enable = false;
|
|
|
|
services.greetd = {
|
|
enable = true;
|
|
settings = rec {
|
|
initial_session = {
|
|
command = "Hyprland";
|
|
user = "user";
|
|
};
|
|
default_session = initial_session;
|
|
};
|
|
};
|
|
|
|
security.rtkit.enable = true;
|
|
services.pipewire = {
|
|
enable = true;
|
|
alsa.enable = true;
|
|
alsa.support32Bit = true;
|
|
pulse.enable = true;
|
|
jack.enable = true;
|
|
};
|
|
environment.systemPackages = with pkgs; [
|
|
wget
|
|
curl
|
|
git
|
|
lm_sensors
|
|
wireguard-tools
|
|
|
|
# Podman
|
|
dive
|
|
podman-tui
|
|
docker-compose
|
|
];
|
|
services.udev.packages = [ pkgs.yubikey-personalization ];
|
|
|
|
virtualisation.containers.enable = true;
|
|
virtualisation = {
|
|
podman = {
|
|
enable = true;
|
|
dockerCompat = true;
|
|
defaultNetwork.settings.dns_enabled = true;
|
|
};
|
|
};
|
|
|
|
# Calendar
|
|
# Add the server using gnome-online-accounts:
|
|
# nix-shell -p gnome.gnome-control-center --run "gnome-control-center"
|
|
# Just add the main webdav server and gnome-calendar will automatically pick up all available calendars.
|
|
programs.dconf.enable = true;
|
|
services.gnome.evolution-data-server.enable = true;
|
|
services.gnome.gnome-online-accounts.enable = true;
|
|
services.gnome.gnome-keyring.enable = true;
|
|
|
|
services.resolved = {
|
|
enable = true;
|
|
fallbackDns = [ "1.1.1.1" "1.0.0.1" ];
|
|
};
|
|
|
|
hardware.bluetooth.enable = true;
|
|
hardware.bluetooth.powerOnBoot = true;
|
|
services.blueman.enable = true;
|
|
systemd.user.services.mpris-proxy = {
|
|
description = "Mpris proxy";
|
|
after = [ "network.target" "sound.target" ];
|
|
wantedBy = [ "default.target" ];
|
|
serviceConfig.ExecStart = "${pkgs.bluez}/bin/mpris-proxy";
|
|
};
|
|
hardware.bluetooth.settings = {
|
|
General = {
|
|
Experimental = true;
|
|
};
|
|
};
|
|
|
|
fileSystems."/home/server" = {
|
|
device = "10.1:/home/server";
|
|
fsType = "nfs";
|
|
options = [ "x-systemd.automount" "x-systemd.mount-timeout=1" "_netdev" "noauto" "timeo=1" ];
|
|
};
|
|
fileSystems."/home/user/Workspace" = {
|
|
device = "10.1:/home/server/Workspace";
|
|
fsType = "nfs";
|
|
options = [ "x-systemd.automount" "x-systemd.mount-timeout=1" "_netdev" "noauto" "timeo=1" ];
|
|
};
|
|
fileSystems."/home/user/Documents" = {
|
|
device = "10.1:/home/server/Storage/Thomas/Documents";
|
|
fsType = "nfs";
|
|
options = [ "x-systemd.automount" "x-systemd.mount-timeout=1" "_netdev" "noauto" "timeo=1" ];
|
|
};
|
|
fileSystems."/home/user/Pictures" = {
|
|
device = "10.1:/home/server/Storage/Thomas/Pictures";
|
|
fsType = "nfs";
|
|
options = [ "x-systemd.automount" "x-systemd.mount-timeout=1" "_netdev" "noauto" "timeo=1" ];
|
|
};
|
|
fileSystems."/home/user/Videos" = {
|
|
device = "10.1:/home/server/Storage/Thomas/Videos";
|
|
fsType = "nfs";
|
|
options = [ "x-systemd.automount" "x-systemd.mount-timeout=1" "_netdev" "noauto" "timeo=1" ];
|
|
};
|
|
|
|
}
|