configuration.nix/sys/laptop/default.nix

152 lines
2.5 KiB
Nix
Raw Normal View History

2023-08-12 14:41:57 +02:00
{ config, pkgs, ... }: {
2023-08-07 10:19:48 +02:00
2023-09-09 10:12:43 +02:00
system.stateVersion = "23.11";
2023-08-12 14:41:57 +02:00
nix = {
gc = {
automatic = true;
options = "--delete-older-than 7d";
};
2023-10-01 17:35:46 +02:00
extraOptions = ''
experimental-features = nix-command flakes
'';
2023-08-12 14:41:57 +02:00
};
hardware = {
opengl = {
enable = true;
driSupport = true;
};
};
boot = {
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
2023-09-04 18:19:57 +02:00
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
kernelModules = [ "v4l2loopback" ];
2023-08-12 14:41:57 +02:00
};
security = {
polkit.enable = true;
rtkit.enable = true;
pam = { services = { swaylock = { }; }; };
};
xdg = {
portal = {
enable = true;
wlr.enable = true;
};
};
time.timeZone = "Europe/Sofia";
2023-08-27 13:15:33 +02:00
fonts.packages = with pkgs; [ nerdfonts noto-fonts noto-fonts-emoji noto-fonts-lgc-plus ];
2023-08-12 14:41:57 +02:00
environment = {
systemPackages = with pkgs; [
2023-11-03 14:48:04 +01:00
#nix
nix-prefetch-github
#
2023-08-12 14:41:57 +02:00
binutils
busybox
2023-10-05 21:28:45 +02:00
file
2023-08-12 14:41:57 +02:00
cmatrix
coreutils-full
2023-09-10 17:49:01 +02:00
moreutils
2023-08-12 14:41:57 +02:00
fd
git
glibc
2023-10-04 07:06:33 +02:00
gcc13
2023-08-12 14:41:57 +02:00
gnumake
home-manager
jq
2023-08-12 15:45:39 +02:00
openssl
2023-08-12 14:41:57 +02:00
libgccjit
mlocate
tealdeer
unzip
vim
wget
zip
pinentry-qt
2023-09-03 18:05:08 +02:00
ntfs3g
2023-09-04 18:19:57 +02:00
wf-recorder
2023-10-04 06:52:14 +02:00
# int
2023-10-04 06:57:41 +02:00
python311
2023-10-04 06:52:14 +02:00
nodejs_20
2023-10-04 11:54:20 +02:00
bun
2023-08-07 10:19:48 +02:00
];
2023-08-12 14:41:57 +02:00
variables = {
EDITOR = "nvim";
};
shells = with pkgs; [ zsh ];
etc = {
"xdg/user-dirs.conf".text = ''
enabled=True
'';
};
};
2023-08-07 10:19:48 +02:00
2023-11-01 19:02:35 +01:00
networking = {
stevenBlackHosts = {
enable = true;
blockFakenews = true;
blockGambling = true;
blockSocial = true;
};
};
2023-08-07 10:19:48 +02:00
2023-08-12 14:41:57 +02:00
programs = {
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
zsh.enable = true;
nix-ld.enable = true;
};
users = {
defaultUserShell = pkgs.zsh;
2023-11-14 15:40:34 +01:00
users = {
ivand = {
isNormalUser = true;
extraGroups = [
"wheel"
"adm"
"audio"
"video"
"kvm"
"render"
"flatpak"
"bluetooth"
"mlocate"
"dialout"
];
};
vid = {
isNormalUser = true;
extraGroups = [
"video"
"mlocate"
];
};
2023-08-12 14:41:57 +02:00
};
extraGroups = { mlocate = { }; };
};
services = {
xserver.videoDrivers = [ "nouveau" ];
dbus.enable = true;
flatpak.enable = true;
ratbagd.enable = true;
pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
};
};
}