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";
|
|
|
|
|
}
|