snowflake/configuration.nix
2022-12-06 21:36:50 -05:00

193 lines
3.9 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.

# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, flake-self, inputs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
./modules/hyprland/default.nix
];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.systemd-boot.configurationLimit = 5;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.efi.efiSysMountPoint = "/boot/efi";
networking.hostName = "nixos"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "America/New_York";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
services = {
xserver = {
enable = true;
videoDrivers = [ "nvidia" ];
displayManager = {
gdm.enable = true;
gdm.wayland = true;
};
desktopManager.plasma5.enable = true;
};
};
services.xserver = {
layout = "us";
xkbVariant = "";
};
services.printing.enable = true;
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
# enable fish
programs.fish.enable = true;
users.defaultUserShell = pkgs.fish;
#polkit
security.polkit.enable = true;
#users
users.users.notoh = {
isNormalUser = true;
description = "notoh";
extraGroups = [ "networkmanager" "wheel" "disk" "video" ];
packages = with pkgs; [
# essential
firefox
neovim
neofetch
bitwarden
spotify
discord
waybar
# utility
hyprpaper
streamlink
ranger
btop
obsidian
lazygit
# gaming
steam
wine
lutris
bottles
# fun stuff
cbonsai
pipes-rs
cmatrix
];
};
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
wget
git
alacritty
gcc
stow
starship
rustup
cargo
jre
jdk
nodejs
polkit_gnome
appimage-run
wlogout
dunst
];
system.stateVersion = "23.05"; # Did you read the comment?
nix = {
package = pkgs.nixFlakes;
extraOptions = "experimental-features = nix-command flakes";
};
hardware = {
nvidia = {
powerManagement.enable = true;
modesetting.enable = true;
};
opengl.extraPackages = with pkgs; [nvidia-vaapi-driver];
};
nix.settings = {
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
fonts = {
enableDefaultFonts = true;
fontDir.enable = true;
fonts = with pkgs; [
inter
jetbrains-mono
nerdfonts
noto-fonts-cjk-sans
recursive
rubik
twemoji-color-font
font-awesome
powerline-fonts
fira-code-symbols
];
fontconfig = {
enable = true;
allowBitmaps = true;
defaultFonts = {
monospace = ["Maple Mono NF"];
sansSerif = ["Google Sans Text"];
};
hinting.style = "hintfull";
};
};
}