dotfiles-mirror/etc/nixos/configuration.nix

106 lines
2.3 KiB
Nix
Raw Normal View History

2025-10-01 06:49:33 +03:30
{ config, lib, pkgs, ... }: let
home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/release-25.05.tar.gz";
in {
2025-08-04 07:43:20 +03:30
imports =
2025-09-30 07:30:44 +03:30
[
2025-08-04 07:43:20 +03:30
./hardware-configuration.nix
2025-10-01 06:49:33 +03:30
(import "${home-manager}/nixos")
2025-08-04 07:43:20 +03:30
];
2025-10-03 10:12:25 +03:30
home-manager = {
2025-10-03 10:20:49 +03:30
useUserPackages = true;
2025-10-03 10:12:25 +03:30
useGlobalPkgs = true;
backupFileExtension = "backup";
users.coast = import ./home.nix;
};
2025-08-04 07:43:20 +03:30
2025-10-03 10:12:25 +03:30
boot = {
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
kernelModules = ["kvm-intel"];
};
2025-09-30 15:29:42 +03:30
2025-08-04 07:43:20 +03:30
networking.hostName = "core";
2025-09-30 07:30:44 +03:30
networking.enableIPv6 = false;
2025-08-04 07:43:20 +03:30
time.timeZone = "Asia/Tehran";
2025-10-03 10:12:25 +03:30
services = {
xserver = {
enable = true;
videoDrivers = ["nvidia"];
};
2025-10-03 10:20:49 +03:30
displayManager.ly.enable = true;
2025-10-03 10:12:25 +03:30
blueman.enable = true;
printing.enable = false;
jellyfin.enable = true;
pipewire = {
enable = true;
pulse.enable = true;
};
2025-10-03 10:20:49 +03:30
};
2025-09-30 07:30:44 +03:30
2025-10-01 06:49:33 +03:30
nixpkgs.config.allowUnfree = true;
2025-08-04 07:43:20 +03:30
users.users.coast = {
isNormalUser = true;
2025-10-01 06:49:33 +03:30
extraGroups = [ "wheel" ];
2025-09-30 07:30:44 +03:30
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-10-03 08:06:43 +03:30
virtualisation.virtualbox.host.enable = true;
users.extraGroups.vboxusers.members = [ "coast" ];
virtualisation.virtualbox.host.enableExtensionPack = true;
2025-10-01 06:49:33 +03:30
security.sudo.enable = false;
security.doas = {
enable = true;
extraRules = [{ users = [ "coast" ]; keepEnv = true; persist = true; }];
2025-08-04 07:43:20 +03:30
};
environment.systemPackages = with pkgs; [
2025-10-01 06:49:33 +03:30
neovim
wget
adwaita-icon-theme
2025-10-03 08:06:43 +03:30
qemu
2025-10-03 10:12:25 +03:30
nil
2025-10-01 06:49:33 +03:30
(pkgs.runCommand "vim-wrapper" { } ''
mkdir -p $out/bin
ln -s ${pkgs.neovim}/bin/nvim $out/bin/vim
'')
2025-10-03 08:06:43 +03:30
];
2025-10-03 10:12:25 +03:30
programs = {
zsh.enable = true;
zsh.syntaxHighlighting.enable = true;
foot.enable = true;
nekoray.enable = true;
nekoray.tunMode.enable = true;
nano.enable = false;
sway.enable = true;
};
2025-10-01 06:49:33 +03:30
2025-09-30 15:29:42 +03:30
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-10-01 06:49:33 +03:30
hardware.graphics.enable = true;
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
open = false;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
2025-09-30 07:30:44 +03:30
};
services.openssh.enable = true;
2025-08-04 07:43:20 +03:30
system.stateVersion = "25.05";
}