95 lines
2.3 KiB
Nix
95 lines
2.3 KiB
Nix
{ 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;
|
|
};
|
|
|
|
}
|