Files
nix-zaneyos/hosts/garand-laptop/config/services.nix
2025-02-12 07:15:53 +01:00

128 lines
3.2 KiB
Nix

{
pkgs,
username,
...
}: let
inherit (import ../variables.nix) keyboardLayout;
in {
# Services to start
services = {
blueman.enable = true;
xserver = {
enable = false;
xkb = {
layout = "${keyboardLayout}";
variant = "";
};
};
resolved = {
enable = true;
dnssec = "true";
domains = ["~."]; # "use as default interface for all requests"
# (see man resolved.conf)
# let Avahi handle mDNS publication
extraConfig = ''
DNSOverTLS=opportunistic
MulticastDNS=resolve
'';
llmnr = "true";
};
greetd = {
enable = true;
vt = 3;
settings = {
default_session = {
# Wayland Desktop Manager is installed only for user ryan via home-manager!
user = username;
# .wayland-session is a script generated by home-manager, which links to the current wayland compositor(sway/hyprland or others).
# with such a vendor-no-locking script, we can switch to another wayland compositor without modifying greetd's config here.
# command = "$HOME/.wayland-session"; # start a wayland session directly without a login manager
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # start Hyprland with a TUI login manager
};
};
};
smartd = {
enable = false;
autodetect = true;
};
libinput = {
enable = true;
mouse = {
accelProfile = "flat";
};
touchpad = {
accelProfile = "flat";
};
};
fstrim.enable = true;
gvfs.enable = true;
openssh.enable = true;
flatpak.enable = false;
printing = {
enable = true;
drivers = [
# pkgs.hplipWithPlugin
];
};
gnome.gnome-keyring.enable = true;
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
ipp-usb.enable = true;
syncthing = {
enable = false;
user = "${username}";
dataDir = "/home/${username}";
configDir = "/home/${username}/.config/syncthing";
};
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
pulseaudio = {
enable = false;
extraConfig = "load-module module-combine-sink";
};
rpcbind.enable = false;
nfs.server.enable = false;
# ollama = {
# enable = true;
# package = pkgs.ollama;
# # acceleration = "rocm";
# # environmentVariables = {
# # HCC_AMDGPU_TARGET = "gfx1036";
# # };
# # rocmOverrideGfx = "10.3.6";
# loadModels = [
# # "deepseek-r1:1.5b"
# # "deepseek-r1:7b"
# ];
# };
# open-webui = {
# enable = true;
# package = pkgs.open-webui;
# };
# penvpn.servers = {
# RO-P2P = {
# config = ''
# config /home/garand_plg/Documents/RO-ovpn-tcp.ovpn
# '';
# updateResolvConf = true;
# };
# };
};
console.keyMap = "${keyboardLayout}";
systemd.services.flatpak-repo = {
path = [pkgs.flatpak];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
};
}