{ config, pkgs, flatpaks, lib, ... }: { imports = [ ./hardware-configuration.nix ]; boot = { loader.systemd-boot.enable = true; loader.efi.canTouchEfiVariables = true; kernelPackages = pkgs.linuxPackages_latest; initrd.luks = { devices."luks-7565ba12-2da3-4933-adec-8d62e81afe52".device = "/dev/disk/by-uuid/7565ba12-2da3-4933-adec-8d62e81afe52"; cryptoModules = [ "aes" # "aes_generic" "blowfish" "twofish" "serpent" "cbc" "xts" "lrw" "sha1" "sha256" "sha512" "af_alg" "algif_skcipher" "cryptd" "input_leds" ]; }; }; nix = { settings.experimental-features = [ "nix-command" "flakes" ]; settings.trusted-users = [ "root" "catalin" ]; }; networking = { hostName = "limgrave"; networkmanager.enable = true; }; services = { xserver.enable = true; desktopManager.gnome.enable = true; displayManager.gdm.enable = true; xserver.xkb = { layout = "us"; variant = ""; }; printing.enable = true; pulseaudio.enable = false; pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; jack.enable = true; }; udev.packages = with pkgs; [ gnome-settings-daemon ]; sysprof.enable = true; flatpak = { enable = true; packages = import ./flatpaks.nix; overrides = { "org.signal.Signal" = { Environment = { "SIGNAL_PASSWORD_STORE" = "gnome-libsecret org.signal.Signal"; }; }; }; }; }; programs = { fish.enable = true; appimage.enable = true; appimage.binfmt = true; dconf.enable = true; gamemode.enable = true; gamescope = { enable = true; capSysNice = true; }; steam = { enable = true; gamescopeSession.enable = true; remotePlay.openFirewall = true; package = pkgs.steam.override { extraLibraries = p: with p; [ (lib.getLib networkmanager) ]; }; }; firefox.enable = true; nix-ld.enable = true; nh = { enable = true; clean.enable = true; clean.extraArgs = "--keep-since 4d --keep 3"; flake = "/home/.dotfiles"; }; }; time.timeZone = "Europe/Madrid"; i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "es_ES.UTF-8"; LC_IDENTIFICATION = "es_ES.UTF-8"; LC_MEASUREMENT = "es_ES.UTF-8"; LC_MONETARY = "es_ES.UTF-8"; LC_NAME = "es_ES.UTF-8"; LC_NUMERIC = "es_ES.UTF-8"; LC_PAPER = "es_ES.UTF-8"; LC_TELEPHONE = "es_ES.UTF-8"; LC_TIME = "es_ES.UTF-8"; }; users = { users.catalin = { isNormalUser = true; description = "catalin"; extraGroups = [ "networkmanager" "wheel" "docker" "nas"]; shell = pkgs.fish; packages = with pkgs; [ flatpak ]; }; groups.nas.gid = 568; }; security.rtkit.enable = true; hardware = { graphics = { enable = true; enable32Bit = true; }; }; xdg.portal = { enable = true; config = { common = { default = [ "gtk" ]; }; }; extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; }; virtualisation.docker.enable = true; nixpkgs.config ={ allowUnfree = true; permittedInsecurePackages = [ "docker-28.5.2" ]; }; environment = { sessionVariables = { GST_PLUGIN_SYSTEM_PATH_1_0 = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [ pkgs.gst_all_1.gst-plugins-good pkgs.gst_all_1.gst-plugins-bad pkgs.gst_all_1.gst-plugins-ugly ]; NIXOS_OZONE_WL = "1"; }; systemPackages = import ./packages.nix pkgs; loginShellInit = '' [[ "$(tty)" = "/dev/tty1" ]] && ~/.dotfiles/conf.d/utils/gs.sh ''; }; system.stateVersion = "25.11"; }