180 lines
2.6 KiB
Nix
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";
|
|
|
|
}
|