NixOS_NoFlake/nixos/configuration.nix

240 lines
5.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.

{ config, pkgs, ... }:
{
imports =
[
./hardware-configuration.nix
];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = pkgs.linuxPackages_latest;
boot = {
consoleLogLevel = 3;
initrd.verbose = false;
initrd.systemd.enable = true;
kernelParams = [
"quiet" "splash" "intremap=on" "boot.shell_on_fail" "udev.log_priority=3" "rd.systemd.show_status=auto" "ipv6.disable=1"
];
plymouth.enable = true;
plymouth.font = "${pkgs.hack-font}/share/fonts/truetype/Hack-Regular.ttf";
plymouth.logo = "${pkgs.nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png";
};
networking.hostName = "damagedProperty"; # Define your hostname.
networking.networkmanager.enable = true;
networking.enableIPv6 = false;
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
settings = {
General = {
Experimental = true;
FastConnectable = true;
};
Policy = {
AutoEnable = true;
};
};
};
time.timeZone = "America/New_York";
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;
services.displayManager.dms-greeter = {
enable = true;
compositor.name = "niri";
};
systemd.user.services.xwayland-satellite = {
description = "Xwayland outside your Wayland compositor";
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig = {
ExecStart = "${pkgs.xwayland-satellite}/bin/xwayland-satellite";
Restart = "on-failure";
};
};
services.xserver.xkb = {
layout = "us";
variant = "";
};
services.printing.enable = true;
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
services.keyd = {
enable = true;
keyboards = {
default = {
ids = [ "*" ];
settings = {
main = {
capslock = "~";
};
shift = {
capslock = "`";
left = "home";
right = "end";
};
};
};
};
};
users.users."warrentyexpired" = {
isNormalUser = true;
shell = pkgs.fish;
description = "Micah L. Zellers";
extraGroups = [ "networkmanager" "wheel" ];
packages = with pkgs; [
];
};
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
programs.dms-shell = {
enable = true;
systemd.enable = true;
enableSystemMonitoring = true;
enableDynamicTheming = true;
enableAudioWavelength = true;
enableClipboardPaste = true;
};
programs.niri.enable = true;
programs.firefox.enable = true;
programs.fish.enable = true;
programs.tmux = {
enable = true;
baseIndex = 1;
escapeTime = 0;
historyLimit = 10000;
keyMode = "vi";
shortcut = "Space";
plugins = with pkgs; [
tmuxPlugins.sensible
tmuxPlugins.yank
];
};
programs.nh = {
enable = true;
clean.enable = true;
clean.extraArgs = "--keep-since 4d --keep 3";
};
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [
libpulseaudio
alsa-lib
icu
openssl
zlib
fontconfig
freetype
libGL
sdl3
vulkan-loader
libX11
libXext
libXcursor
libXi
libXrandr
libICE
libSM
mono
libdeflate
libargon2
];
environment.systemPackages = with pkgs; [
wget
git
keyd
unzip
unrar
p7zip
wl-clipboard
btop
fzf
ripgrep
bat
ncdu
eza
cliphist
file-roller
neovim
mosh
tmuxinator
ghostty
discord
vlc
bibata-cursors
matugen
xwayland
xwayland-satellite
distrobox
podman
mono
gnumake
(bottles.override { removeWarningPopup = true; })
gnome-calculator
pinta
imv
papirus-icon-theme
adw-gtk3
libnotify
nautilus
featherpad
];
virtualisation.podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enable = true;
};
services.gvfs.enable = true;
services.udisks2.enable = true;
services.blueman.enable = true;
fonts.packages = with pkgs; [
nerd-fonts.jetbrains-mono
nerd-fonts.fira-code
nerd-fonts.meslo-lg
];
fonts.fontconfig = {
defaultFonts = {
monospace = [ "JetBrainsMono Nerd Font" ];
sansSerif = [ "DejaVu Sans" ];
};
};
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# 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 = "26.05"; # Did you read the comment?
}