{ 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. It‘s 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? }