dotfiles-mirror/etc/nixos/configuration.nix

129 lines
2.8 KiB
Nix
Raw Normal View History

2025-08-04 07:43:20 +03:30
{ config, pkgs, ... }:
{
imports =
2025-09-30 07:30:44 +03:30
[
2025-08-04 07:43:20 +03:30
./hardware-configuration.nix
];
2025-09-30 15:29:42 +03:30
boot.loader = {
2025-09-30 17:01:29 +03:30
systemd-boot.enable = true;
2025-09-30 07:30:44 +03:30
efi.canTouchEfiVariables = true;
};
2025-09-30 15:29:42 +03:30
boot.plymouth = {
enable = true;
theme = "blahaj";
themePackages = [ pkgs.plymouth-blahaj-theme ];
2025-09-30 07:30:44 +03:30
};
2025-08-04 07:43:20 +03:30
2025-09-30 15:29:42 +03:30
boot.kernelPackages = pkgs.linuxPackages_xanmod_latest;
2025-08-04 07:43:20 +03:30
networking.hostName = "core";
networking.networkmanager.enable = true;
2025-09-30 07:30:44 +03:30
networking.enableIPv6 = false;
2025-08-04 07:43:20 +03:30
time.timeZone = "Asia/Tehran";
i18n.defaultLocale = "en_US.UTF-8";
services.xserver.enable = true;
2025-09-30 07:30:44 +03:30
services.displayManager.ly.enable = true;
2025-08-04 07:43:20 +03:30
services.xserver.xkb = {
layout = "us";
variant = "";
};
services.printing.enable = false;
2025-09-30 17:01:29 +03:30
2025-08-04 07:43:20 +03:30
services.pipewire = {
2025-09-30 17:01:29 +03:30
enable = false;
alsa.enable = false;
pulse.enable = false;
jack.enable = false;
wireplumber.enable = false;
2025-08-04 07:43:20 +03:30
};
2025-09-30 17:01:29 +03:30
services.pulseaudio.enable = true;
2025-09-30 07:30:44 +03:30
services.libinput.enable = true;
2025-09-30 15:29:42 +03:30
programs.nano.enable = false;
2025-09-30 07:30:44 +03:30
security.sudo.enable = false;
2025-09-30 15:29:42 +03:30
security.doas = {
enable = true;
extraRules = [{ users = [ "coast" ]; keepEnv = true; persist = true; }];
};
2025-09-30 07:30:44 +03:30
programs.zsh.enable = true;
programs.zsh.syntaxHighlighting.enable = true;
2025-08-04 07:43:20 +03:30
users.users.coast = {
isNormalUser = true;
description = "coast";
2025-09-30 07:30:44 +03:30
extraGroups = [ "networkmanager" "wheel" "video" "audio" ];
shell = pkgs.zsh;
2025-08-04 07:43:20 +03:30
};
2025-09-30 07:30:44 +03:30
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;
2025-08-04 07:43:20 +03:30
services.flatpak.enable = true;
2025-09-30 07:30:44 +03:30
services.jellyfin.enable = true;
programs.steam.enable = true;
programs.sway.enable = true;
2025-08-04 07:43:20 +03:30
2025-09-30 07:30:44 +03:30
hardware.graphics.enable = true;
services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
open = false;
nvidiaSettings = true;
2025-09-30 17:01:29 +03:30
package = config.boot.kernelPackages.nvidiaPackages.beta;
2025-08-04 07:43:20 +03:30
};
2025-09-30 15:29:42 +03:30
boot.kernelParams = [ "nvidia_drm.modeset=0" ];
boot.blacklistedKernelModules = [ "nouveau" ];
2025-08-04 07:43:20 +03:30
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
2025-09-30 15:29:42 +03:30
pcmanfm wayland-utils
wl-clipboard git
neovim wget nekoray alsa-utils nerd-fonts.ubuntu
(pkgs.runCommand "vim-wrapper" { } ''
mkdir -p $out/bin
ln -s ${pkgs.neovim}/bin/nvim $out/bin/vim
'')
];
fonts.packages = with pkgs; [
ubuntu-sans
ubuntu_font_family
nerd-fonts._0xproto
nerd-fonts.droid-sans-mono
2025-08-04 07:43:20 +03:30
];
2025-09-30 07:30:44 +03:30
programs.nekoray = {
enable = true;
tunMode.enable = true;
};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
services.openssh.enable = true;
networking.firewall.enable = false;
2025-09-30 15:29:42 +03:30
nix.settings.experimental-features = [ "nix-command" "flakes" ];
2025-08-04 07:43:20 +03:30
system.stateVersion = "25.05";
}