2023-08-12 14:41:57 +02:00
|
|
|
{ config, pkgs, ... }: {
|
2023-08-07 10:19:48 +02:00
|
|
|
|
2023-08-12 14:41:57 +02:00
|
|
|
nix = {
|
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;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-05-07 00:24:11 +02:00
|
|
|
catppuccin = {
|
|
|
|
enable = true;
|
2024-05-23 23:31:33 +02:00
|
|
|
flavor = "mocha";
|
2024-05-07 00:24:11 +02:00
|
|
|
};
|
|
|
|
|
2023-08-12 14:41:57 +02:00
|
|
|
boot = {
|
|
|
|
loader = {
|
2024-05-06 23:53:37 +02:00
|
|
|
grub = {
|
|
|
|
enable = true;
|
|
|
|
catppuccin.enable = true;
|
|
|
|
useOSProber = true;
|
|
|
|
efiSupport = true;
|
|
|
|
device = "nodev";
|
|
|
|
};
|
|
|
|
efi = {
|
|
|
|
canTouchEfiVariables = true;
|
|
|
|
efiSysMountPoint = "/boot/efi";
|
|
|
|
};
|
2023-08-12 14:41:57 +02:00
|
|
|
};
|
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 = {
|
2024-05-01 21:42:29 +02:00
|
|
|
sudo = {
|
2024-05-06 11:05:45 +02:00
|
|
|
enable = false;
|
2024-05-01 21:42:29 +02:00
|
|
|
execWheelOnly = true;
|
|
|
|
extraRules = [
|
|
|
|
{
|
|
|
|
groups = [ "wheel" ];
|
|
|
|
commands = [{ command = "${pkgs.light}/bin/light"; options = [ "SETENV" "NOPASSWD" ]; }];
|
|
|
|
}
|
|
|
|
];
|
|
|
|
};
|
2024-05-06 11:05:45 +02:00
|
|
|
doas = {
|
|
|
|
enable = true;
|
2024-05-06 11:17:25 +02:00
|
|
|
extraRules = [
|
|
|
|
# Allow wheel to run all commands without password and keep user env.
|
|
|
|
{ groups = [ "wheel" ]; noPass = true; keepEnv = true; }
|
|
|
|
];
|
2024-05-06 11:05:45 +02:00
|
|
|
};
|
2023-08-12 14:41:57 +02:00
|
|
|
polkit.enable = true;
|
|
|
|
rtkit.enable = true;
|
|
|
|
pam = { services = { swaylock = { }; }; };
|
|
|
|
};
|
|
|
|
|
|
|
|
xdg = {
|
|
|
|
portal = {
|
|
|
|
enable = true;
|
|
|
|
wlr.enable = true;
|
2023-11-25 16:34:43 +01:00
|
|
|
config.common.default = "*";
|
2023-08-12 14:41:57 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2024-05-06 11:17:25 +02:00
|
|
|
i18n.supportedLocales = [ "all" ];
|
|
|
|
|
2024-01-30 14:01:55 +01:00
|
|
|
time.timeZone = "Europe/Sofia";
|
2023-08-12 14:41:57 +02:00
|
|
|
|
2024-05-23 23:31:33 +02:00
|
|
|
fonts.packages = with pkgs; [ (nerdfonts.override { fonts = [ "FiraCode" ]; }) noto-fonts noto-fonts-emoji noto-fonts-lgc-plus ];
|
2023-08-12 14:41:57 +02:00
|
|
|
|
|
|
|
environment = {
|
|
|
|
systemPackages = with pkgs; [
|
|
|
|
cmatrix
|
|
|
|
coreutils-full
|
2023-12-01 13:22:56 +01:00
|
|
|
cryptsetup
|
2023-11-19 10:31:46 +01:00
|
|
|
dig
|
2023-08-12 14:41:57 +02:00
|
|
|
fd
|
2023-12-01 13:22:56 +01:00
|
|
|
file
|
2023-08-12 14:41:57 +02:00
|
|
|
git
|
|
|
|
glibc
|
|
|
|
gnumake
|
|
|
|
jq
|
|
|
|
mlocate
|
2023-12-01 13:22:56 +01:00
|
|
|
moreutils
|
|
|
|
ntfs3g
|
|
|
|
openssl
|
|
|
|
srm
|
2023-08-12 14:41:57 +02:00
|
|
|
unzip
|
|
|
|
vim
|
|
|
|
zip
|
2023-08-07 10:19:48 +02:00
|
|
|
];
|
2024-04-12 12:33:36 +02:00
|
|
|
shells = with pkgs; [ zsh nushell ];
|
2023-08-12 14:41:57 +02:00
|
|
|
};
|
2023-08-07 10:19:48 +02:00
|
|
|
|
2023-11-01 19:02:35 +01:00
|
|
|
networking = {
|
2024-02-22 17:23:36 +01:00
|
|
|
wireless = {
|
|
|
|
enable = true;
|
|
|
|
networks = {
|
|
|
|
"Smart-Hostel-2.4" = {
|
|
|
|
psk = "smarttrans.bg";
|
|
|
|
};
|
2024-04-29 13:31:56 +02:00
|
|
|
"Yohohostel2.4G" = {
|
|
|
|
psk = "kaskamaska";
|
|
|
|
};
|
2024-05-01 11:06:02 +02:00
|
|
|
"Nomado_Guest" = {
|
|
|
|
psk = "welcomehome";
|
|
|
|
};
|
2024-05-04 11:46:03 +02:00
|
|
|
"HostelMusala Uni" = {
|
|
|
|
psk = "mhostelm";
|
|
|
|
};
|
2024-05-27 20:16:13 +02:00
|
|
|
"BOUTIQUE APARTMENTS" = {
|
|
|
|
psk = "boutique26";
|
|
|
|
};
|
2024-05-29 13:45:08 +02:00
|
|
|
"Safestay" = {
|
|
|
|
psk = "AlldayrooftopBAR";
|
|
|
|
};
|
2024-06-01 15:41:02 +02:00
|
|
|
"HOSTEL JASMIN 2" = {
|
|
|
|
psk = "Jasmin2024";
|
|
|
|
};
|
2024-02-22 17:23:36 +01:00
|
|
|
};
|
|
|
|
};
|
2023-11-01 19:02:35 +01:00
|
|
|
stevenBlackHosts = {
|
|
|
|
enable = true;
|
|
|
|
blockFakenews = true;
|
|
|
|
blockGambling = true;
|
|
|
|
};
|
|
|
|
};
|
2023-08-07 10:19:48 +02:00
|
|
|
|
2023-08-12 14:41:57 +02:00
|
|
|
programs = {
|
|
|
|
zsh.enable = true;
|
|
|
|
nix-ld.enable = true;
|
2024-01-27 13:24:29 +01:00
|
|
|
adb.enable = true;
|
2024-05-07 00:47:46 +02:00
|
|
|
dconf.enable = true;
|
2023-08-12 14:41:57 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
users = {
|
|
|
|
defaultUserShell = pkgs.zsh;
|
2023-11-14 15:40:34 +01:00
|
|
|
users = {
|
|
|
|
ivand = {
|
2024-01-29 08:48:15 +01:00
|
|
|
shell = pkgs.nushell;
|
2023-11-14 15:40:34 +01:00
|
|
|
isNormalUser = true;
|
|
|
|
extraGroups = [
|
2024-01-27 13:24:29 +01:00
|
|
|
"adbusers"
|
2023-11-14 15:40:34 +01:00
|
|
|
"adm"
|
|
|
|
"audio"
|
|
|
|
"bluetooth"
|
|
|
|
"dialout"
|
2024-01-27 13:24:29 +01:00
|
|
|
"flatpak"
|
|
|
|
"kvm"
|
|
|
|
"mlocate"
|
|
|
|
"render"
|
|
|
|
"video"
|
|
|
|
"wheel"
|
2023-11-14 15:40:34 +01:00
|
|
|
];
|
|
|
|
};
|
2023-08-12 14:41:57 +02:00
|
|
|
};
|
|
|
|
extraGroups = { mlocate = { }; };
|
|
|
|
};
|
|
|
|
|
|
|
|
services = {
|
|
|
|
xserver.videoDrivers = [ "nouveau" ];
|
|
|
|
dbus.enable = true;
|
|
|
|
flatpak.enable = true;
|
|
|
|
pipewire = {
|
|
|
|
enable = true;
|
|
|
|
alsa.enable = true;
|
2023-12-09 13:14:45 +01:00
|
|
|
pulse.enable = true;
|
2023-08-12 14:41:57 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|