{ config, pkgs, lib, inputs, ... }: with lib; let nix-colors-lib = inputs.nix-colors.lib-contrib { inherit pkgs; }; wallpaper = ../../data/wallpapers/globus.jpg; in { imports = [ ./hardware.nix ]; # - Basic -------------------------------------- user.name = "marc"; user.shell = pkgs.zsh; networking.hostName = "reykjavik"; networking.firewall = { enable = true; allowedUDPPortRanges = [ # - ROS ------------------------------------ # Open ports for ROS 2 DDS # See https://docs.ros.org/en/humble/Concepts/About-Domain-ID.html # Multicast ports for DOMAIN_ID 13 { from = 10650; to = 10651; } # Unicast ports for DOMAIN_ID 13 and up to 120 particimants { from = 10660; to = 10890; } ]; }; # - Bootloader --------------------------------- boot.loader = { efi = { canTouchEfiVariables = true; efiSysMountPoint = "/boot/efi"; }; grub = { enable = true; efiSupport = true; #efiInstallAsRemovable = true; # in case canTouchEfiVariables doesn't work for your system device = "nodev"; }; grub2-theme.enable = true; }; # - Themeing --------------------------------- colorScheme = nix-colors-lib.colorSchemeFromPicture { path = wallpaper; kind = "dark"; }; # - Modules ------------------------------------ samfelag.modules = { # - Common ----------------------------------- # See modules/common.nix for common packages installed # - System ----------------------------------- system.utils.enable = true; system.bluetooth.enable = true; system.nvidia = { enable = true; intelBusId = "PCI:0:2:0"; nvidiaBusId = "PCI:1:0:0"; }; system.gpg.enable = true; system.pass.enable = true; # - Desktop ---------------------------------- desktop = { inherit wallpaper; enable = true; laptop = true; }; # - Editors and development ------------------ editors.emacs.enable = true; dev.git.userName = "marc"; dev.git.userEmail = "marc@sastre.cat"; dev.devenv.enable = true; # - Other apps ------------------------------- app.spotify.enable = true; # - Gaming ----------------------------------- gaming.lutris.enable = true; gaming.steam.enable = true; app.discord.enable = true; }; }