143 lines
3.3 KiB
Nix
143 lines
3.3 KiB
Nix
# Edit this configuration file to define what should be installed on
|
|
# your system. Help is available in the configuration.nix(5) man page, on
|
|
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
|
|
|
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
sops.defaultSopsFile = ./secrets/home.yaml;
|
|
sops.age.keyFile = "/.persist/root/.config/sops/age/keys.txt";
|
|
sops.secrets."root/ssh/desktop" = {
|
|
path = "/root/.ssh/desktop";
|
|
mode = "0600";
|
|
};
|
|
nix.settings.experimental-features = [
|
|
"nix-command"
|
|
"flakes"
|
|
];
|
|
|
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
|
|
boot.initrd.systemd.enable = true;
|
|
boot.loader.systemd-boot.enable = true;
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
|
|
# Set your time zone.
|
|
time.timeZone = "America/Sao_Paulo";
|
|
|
|
# Select internationalisation properties.
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
#console = {
|
|
# # font = "Lat2-Terminus16";
|
|
# keyMap = "us";
|
|
# useXkbConfig = true; # use xkb.options in tty.
|
|
#};
|
|
|
|
# services.xserver.xkb.layout = "us";
|
|
# services.xserver.xkb.options = "eurosign:e,caps:escape";
|
|
services.printing.enable = true;
|
|
|
|
services = {
|
|
xserver.xkb = {
|
|
layout = "us";
|
|
variant = "altgr-intl";
|
|
};
|
|
pipewire = {
|
|
enable = true;
|
|
alsa.enable = true;
|
|
alsa.support32Bit = true;
|
|
pulse.enable = true;
|
|
# jack.enable = true;
|
|
};
|
|
logind.settings.Login = {
|
|
HandlePowerKey = "ignore";
|
|
HandlePowerKeyLongPress = "ignore";
|
|
HandleRebootKey = "ignore";
|
|
HandleRebootKeyLongPress = "ignore";
|
|
HandleHibernateKey = "ignore";
|
|
HandleHibernateKeyLongPress = "ignore";
|
|
};
|
|
getty = {
|
|
autologinUser = "user";
|
|
autologinOnce = true;
|
|
};
|
|
# greetd = {
|
|
# enable = true;
|
|
# settings = rec {
|
|
# initial_session = {
|
|
# command = "${pkgs.niri}/bin/niri-session";
|
|
# user = "user";
|
|
# };
|
|
# default_session = initial_session;
|
|
# };
|
|
# };
|
|
tailscale.enable = true;
|
|
};
|
|
|
|
hardware = {
|
|
graphics = {
|
|
enable = true;
|
|
enable32Bit = true;
|
|
};
|
|
bluetooth = {
|
|
enable = true;
|
|
powerOnBoot = true;
|
|
settings = {
|
|
General = {
|
|
Enable = "Source,Sink,Media,Socket";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
xdg.portal = {
|
|
enable = true;
|
|
xdgOpenUsePortal = true;
|
|
# config.common.default = [ "*" ];
|
|
extraPortals = [
|
|
pkgs.xdg-desktop-portal-gnome
|
|
pkgs.gnome-keyring
|
|
pkgs.xdg-desktop-portal-gtk
|
|
];
|
|
};
|
|
|
|
qt = {
|
|
enable = true;
|
|
};
|
|
|
|
fonts.packages = with pkgs; [
|
|
fira-code-symbols
|
|
nerd-fonts.monaspace
|
|
];
|
|
|
|
environment.sessionVariables = {
|
|
NIXOS_OZONE_WL = "1";
|
|
EDITOR = "nvim";
|
|
GTK_IM_MODULE = "simple";
|
|
};
|
|
|
|
security.pki.certificateFiles = [ ./templates/certs/hydra_root_ca.crt ];
|
|
|
|
system.stateVersion = "25.11";
|
|
|
|
systemd = {
|
|
user.services.polkit-gnome-authentication-agent-1 = {
|
|
description = "polkit-gnome-authentication-agent-1";
|
|
wantedBy = [ "graphical-session.target" ];
|
|
wants = [ "graphical-session.target" ];
|
|
after = [ "graphical-session.target" ];
|
|
serviceConfig = {
|
|
Type = "simple";
|
|
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
|
Restart = "on-failure";
|
|
RestartSec = 1;
|
|
TimeoutStopSec = 10;
|
|
};
|
|
};
|
|
};
|
|
services.openssh.enable = true;
|
|
}
|