.dotfiles/hosts/desktop/configuration.nix

178 lines
4.5 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

args@{
config,
pkgs,
inputs,
...
}:
{
imports = [
./hardware-configuration.nix
(import ../../modules/nixos/adb.nix (args // { user = "pomp"; }))
../../modules/nixos/anytype.nix
../../modules/nixos/audio.nix
../../modules/nixos/blender.nix
../../modules/nixos/browsers.nix
../../modules/nixos/devenv.nix
(import ../../modules/nixos/docker.nix (args // { user = "pomp"; }))
../../modules/nixos/fonts.nix
(import ../../modules/nixos/gamemode.nix (args // { user = "pomp"; }))
../../modules/nixos/gnome-remote-desktop.nix
../../modules/nixos/gnome.nix
../../modules/nixos/locale.nix
../../modules/nixos/lunar-client.nix
../../modules/nixos/media.nix
../../modules/nixos/nautilus.nix
(import ../../modules/nixos/nix.nix (args // { user = "pomp"; }))
../../modules/nixos/nixvim.nix
../../modules/nixos/obs.nix
(import ../../modules/nixos/razer.nix (args // { user = "pomp"; }))
(import ../../modules/nixos/shell.nix (args // { user = "pomp"; }))
../../modules/nixos/steam.nix
(import ../../modules/nixos/virtualbox.nix (args // { user = "pomp"; }))
../../modules/nixos/vlc.nix
../../modules/nixos/wol.nix
inputs.home-manager.nixosModules.home-manager
];
home-manager = {
users = {
pomp = import ./home.nix;
};
};
# Programs & Services
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
# Dev
## General GUI
devtoolbox
kdePackages.kleopatra
## General CLI / TUI
openssl
just
killall
wget
nvitop
tree
usbutils
hotspot
desktop-file-utils
## Game dev
unityhub
godot3-mono
godot3-mono-export-templates
godot_4
godot_4-export-templates-bin
## Profiling
sysprof
oha
# Hacking
metasploit
imhex
# Gaming
prismlauncher
cubiomes-viewer
# Configuration & Monitor
dconf-editor
bustle
resources
gparted
menulibre
# Office
onlyoffice-bin
# Misc Application
collision
file-roller
protonvpn-gui
pika-backup
qbittorrent
metadata-cleaner
snoop
# Misc System packages
gnupg
authenticator
appimage-run
file
];
programs.nix-ld.enable = true;
programs.ghidra.enable = true;
hardware.opentabletdriver.enable = true;
services.tailscale.enable = true;
services.open-webui.enable = true;
services.ollama = {
enable = true;
acceleration = "cuda";
};
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
# User
users.users.pomp = {
isNormalUser = true;
description = "pomp";
extraGroups = [
"networkmanager"
"wheel"
];
};
# System
systemd.services.NetworkManager-wait-online.enable = false;
boot.loader.systemd-boot.enable = true;
boot.kernelParams = [
"quiet"
"splash"
];
networking.hostName = "desktop";
networking.networkmanager.enable = true;
hardware.openrazer.enable = true;
security.rtkit.enable = true;
# Desktop
services.xserver.enable = true;
services.xserver.xkb.layout = "kr";
# Graphics
services.xserver.videoDrivers = [ "nvidia" ];
hardware.graphics.enable = true;
hardware.graphics.enable32Bit = true;
hardware.nvidia = {
modesetting.enable = true;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
# Enable this if you have graphical corruption issues or application crashes after waking
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
# of just the bare essentials.
powerManagement.enable = false;
# Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
powerManagement.finegrained = false;
# use open source driver?
open = false;
# use nvidia-settings?
nvidiaSettings = true;
# what driver version?
package = config.boot.kernelPackages.nvidiaPackages.beta;
};
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "24.05"; # Did you read the comment?
}