1
0
Fork 0
mirror of https://git.sr.ht/~roxwize/.dotfiles synced 2025-03-13 16:03:25 +00:00
.dotfiles/nixos/hosts/ioides/configuration.nix
2025-03-09 15:19:18 -04:00

185 lines
3.5 KiB
Nix

{ inputs, config, lib, pkgs, ... }:
{
imports = [
inputs.nix-flatpak.nixosModules.nix-flatpak
./hardware-configuration.nix
./packages.nix
];
boot = {
binfmt.emulatedSystems = [ "aarch64-linux" ];
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
extraModprobeConfig = ''
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
'';
loader = {
efi = {
canTouchEfiVariables = false;
efiSysMountPoint = "/efi";
};
grub = {
enable = true;
efiSupport = true;
efiInstallAsRemovable = true;
devices = [ "nodev" ];
};
};
supportedFilesystems = [ "ntfs" ];
};
# Music pendrive
fileSystems."/mnt/world" = {
device = "/dev/disk/by-uuid/639bae80-0f5d-481c-ae4e-d2c70f754a1c";
fsType = "ext4";
neededForBoot = false;
};
# Big fucking thing
fileSystems."/mnt/rae2" = {
device = "/dev/disk/by-uuid/fbbcc72f-34af-425c-9151-ef8919a6ae07";
fsType = "ext4";
neededForBoot = false;
};
networking = {
hostName = "ioides";
hosts = {
"10.0.0.2" = [ "near" "near.local" ];
};
networkmanager.enable = true;
};
hardware = {
bluetooth = {
enable = true;
powerOnBoot = true;
};
graphics = {
enable = true;
extraPackages = with pkgs; [
intel-media-sdk
];
};
nvidia = {
modesetting.enable = true;
powerManagement = {
enable = false;
finegrained = false;
};
open = false;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
opentabletdriver.enable = true;
};
fonts = {
enableDefaultPackages = true;
fontconfig = {
enable = true;
defaultFonts = {
emoji = [ "Twitter Color Emoji" "Noto Color Emoji" ];
monospace = [ "Fira Code Light" ];
};
subpixel.rgba = "rgb";
};
packages = with pkgs; [
fira-code
gohufont
nasin-nanpa
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
twemoji-color-font
];
};
programs = {
dconf.enable = true;
firefox.enable = true;
fish.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
nix-ld.enable = true;
steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
};
thunderbird = {
enable = true;
policies.DisableTelemetry = true;
};
};
services = {
# Xorg
xserver = {
enable = true;
xkb.layout = "us";
videoDrivers = [ "nvidia" ];
windowManager = {
cwm.enable = true;
openbox.enable = true;
twm.enable = true;
};
};
displayManager = {
sddm = {
enable = true;
settings = {
Autologin = {
User = "rae";
Session = "none+openbox";
};
};
theme = "catppuccin-mocha";
};
};
# Touchpad support
libinput.enable = true;
# Sound
pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
jack.enable = true;
};
# CUPS printing
# Can be configured at http://127.0.0.1:631/
# Local printers are host-specific (see `hardware.printers`)
# Avahi enables IPP Everywhere
printing.enable = true;
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
# misc
blueman.enable = true;
flatpak.enable = true;
};
security.polkit.enable = true;
xdg.portal = {
enable = true;
config = {
common = {
default = [ "gtk" ];
};
};
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
};
users.users.rae.shell = pkgs.fish;
virtualisation.docker.enable = true;
time.timeZone = "America/New_York";
system.stateVersion = "24.11";
}