NixConfig/configuration.nix
meml0rz 2045692ad5 kekl
2024-12-13 00:40:29 +01:00

180 lines
2.6 KiB
Nix

{
config,
lib,
pkgs,
...
}:
{
imports = [
./hardware-configuration.nix
./modules/nix/firefox.nix
];
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
boot.loader.systemd-boot.enable = true;
networking = {
hostName = "poggers";
networkmanager.enable = true;
firewall = {
enable = true;
allowedTCPPorts = [
80
1337
8080
];
};
};
time.timeZone = "Europe/Berlin";
console = {
font = "Lat2-Terminus16";
useXkbConfig = true;
};
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
];
};
services = {
libinput = {
enable = true;
};
xserver = {
enable = true;
displayManager.startx.enable = true;
windowManager.bspwm.enable = true;
};
pipewire = {
enable = true;
pulse.enable = true;
wireplumber.enable = true;
};
mullvad-vpn = {
enable = true;
};
sdrplayApi = {
enable = true;
};
};
hardware = {
bluetooth = {
enable = true;
};
graphics = {
enable = true;
};
rtl-sdr = {
enable = true;
};
};
programs = {
hyprland = {
enable = true;
xwayland.enable = true;
};
nix-ld.enable = true;
};
virtualisation = {
docker = {
enable = true;
};
};
users.users.fabian = {
isNormalUser = true;
initialPassword = "1601";
extraGroups = [
"wheel"
"docker"
"audio"
"video"
"dialout"
"plugdev"
];
};
environment.systemPackages = with pkgs; [
# sys
unzip
yt-dlp
inetutils
git
wget
curl
dosfstools
ntfs3g
waybar
xdg-desktop-portal-hyprland
grim
slurp
feh
chromium
# cli
neofetch
fastfetch
onefetch
vim
weechat
ranger
eza
fzf
# dev
rustup
python3
nodejs
gccgo14
go
nixd
# misc
cava
discord
];
security = {
doas = {
enable = true;
extraRules = [
{
users = [ "fabian" ];
noPass = true;
keepEnv = true;
}
];
};
};
fonts = {
fontconfig.enable = true;
packages =
with pkgs;
[
noto-fonts
noto-fonts-emoji
liberation_ttf
fira-code
fira-code-symbols
fantasque-sans-mono
mplus-outline-fonts.githubRelease
dina-font
proggyfonts
]
++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);
};
system.stateVersion = "unstable";
}