Files
shed/glasshouse-desktop/configuration.nix
2024-10-09 22:24:38 -04:00

214 lines
3.0 KiB
Nix

{ config, lib, pkgs, inputs, ... }:
{
system.stateVersion = "24.05";
imports =
[
./hardware-configuration.nix
];
## System - Environment ##
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking = {
networkmanager.enable = true;
hostName = "glasshaus";
hosts = {
"192.168.1.163" = [ "glasshaus.info" ];
};
firewall = {
enable = true;
allowedTCPPorts = [ 30000 ];
};
};
environment = {
variables = {
XCURSOR_SIZE = "24";
PATH = "${pkgs.clang-tools}/bin:$PATH";
};
shells = with pkgs; [
zsh
bash
];
};
time.timeZone = "America/New_York";
i18n.defaultLocale = "en_US.UTF-8";
programs.hyprland.enable = true;
programs.steam.enable = true;
home-manager.backupFileExtension = "backup";
## Programs - Services - Hardware ##
programs = {
zsh.enable = true;
nix-ld = {
enable = true;
libraries = with pkgs; [
stdenv.cc.cc
ffmpeg-full
];
};
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
};
services = {
pipewire = {
enable = true;
pulse.enable = true;
wireplumber.enable = true;
alsa.enable = true;
alsa.support32Bit = true;
};
udev.enable = true;
dbus.enable = true;
mullvad-vpn.enable = true;
blueman.enable = true;
openssh.enable = true;
foundryvtt = {
enable = false;
hostName = "wumbodnd";
package = inputs.foundryvtt.packages.${pkgs.system}.foundryvtt_12;
minifyStaticFiles = true;
proxyPort = 443;
proxySSL = false;
upnp = false;
};
};
hardware = {
keyboard.uhk.enable = true;
amdgpu.amdvlk.enable = true;
bluetooth = {
enable = true;
powerOnBoot = true;
};
};
## Users - Packages ##
security.sudo.extraConfig = ''
pagedmov ALL=(ALL) NOPASSWD: /run/current-system/sw/bin/nixos-rebuild
'';
users.users.pagedmov = {
isNormalUser = true;
shell = pkgs.zsh;
extraGroups = [ "wheel" ];
};
nixpkgs.config.allowUnfree = true;
fonts.packages = with pkgs; [
times-newer-roman
nerdfonts
jetbrains-mono
];
environment.systemPackages = with pkgs; [
# a
alsa-lib
alsa-utils
# b
bc
# c
cava
clang
clang-tools
cmake
# d
# e
# f
fail2ban
feh
ffmpeg-full
fuse
fzf
# g
git
gnumake
gst_all_1.gstreamer
# h
htop
hyprland
hyprland-workspaces
hyprpaper
hyprpicker
# i
imagemagick
inetutils
# j
# k
kitty
# l
libclang
libcxx
lolcat
lsof
lua-language-server
luarocks
# m
mesa
mpd
mullvad
# n
neofetch
nix-index
nix-prefetch-scripts
nixos-option
nix-search-cli
# o
openssl
# p
p7zip
pamixer
parted
pass
pavucontrol
pkg-config
playerctl
protonmail-bridge
protontricks
pyright
# q
quintom-cursor-theme
# r
# s
socat
sox
stress
# t
tor
tree
# u
unrar
unzip
usbutils
# v
vim
vim
vscode-langservers-extracted
vulkan-loader
# w
wget
wine
wineWowPackages.full
wl-clipboard
# x
xpad
xwaylandvideobridge
# y
# z
];
}