NOflake/systems/BASED.nix
2023-09-30 17:07:49 -07:00

122 lines
2.8 KiB
Nix

{ lib, pkgs, modulesPath, ... }: {
environment.systemPackages = with pkgs; [
# exfatprogs
# rustup
appimage-run
bat
bottom
cifs-utils
du-dust
ffmpeg
firefox
git
helix
mesa
mpv
nfs-utils
nil
nixpkgs-fmt
onlyoffice-bin
ouch
ripgrep-all
skim
snapper
tree
unstable.yazi
unstable.joshuto
unstable.oculante
wezterm
wget
yt-dlp
zathura
zstd
];
programs.partition-manager.enable = lib.mkDefault true;
services.tailscale.enable = true;
services.openssh.enable = true;
services.flatpak.enable = lib.mkDefault true;
services.printing.enable = lib.mkDefault true;
services.btrfs.autoScrub.enable = lib.mkDefault true;
environment.variables = {
EDITOR = "hx";
VISUAL = "hx";
};
environment.sessionVariables = {
EDITOR = "hx";
VISUAL = "hx";
};
# xdg.portal = {
# enable = true;
# extraPortals = with pkgs; [
# xdg-desktop-portal-wlr
# ];
# };
hardware.enableAllFirmware = true;
hardware.bluetooth.enable = lib.mkDefault true;
boot.loader.systemd-boot.enable = lib.mkDefault true;
boot.loader.efi.canTouchEfiVariables = lib.mkDefault true;
boot.loader.timeout = 0;
boot.supportedFilesystems = [ "ntfs" ];
networking.networkmanager = {
enable = true;
# dispatcherScripts = [{
# source = pkgs.writeText "upHook" ''
# logger "event $2"
# if [ "$2" == "vpn-up" ]; then
# iptables -A OUTPUT -o tun0 -j ACCEPT
# iptables -A OUTPUT ! -o tun0 -j DROP
# fi
# if [ "$2" == "vpn-down" ]; then
# iptables -D OUTPUT -o tun0 -j ACCEPT
# iptables -D OUTPUT ! -o tun0 -j DROP
# fi
# '';
# type = "basic";
# }];
};
networking.firewall.enable = false;
services.xserver.enable = true;
services.xserver.layout = "us";
systemd.services.display-manager.restartIfChanged = false;
services.xserver.displayManager.sddm.enable = lib.mkDefault true;
services.xserver.desktopManager.plasma5.enable = lib.mkDefault true;
environment.plasma5.excludePackages = with pkgs.libsForQt5; [
elisa
konsole
gwenview
];
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
nix.settings = {
experimental-features = "nix-command flakes";
auto-optimise-store = true;
};
nixpkgs.config = { allowUnfree = true; };
systemd.extraConfig = ''
DefaultTimeoutStopSec=15s
'';
time.timeZone = "US/Pacific";
i18n.defaultLocale = "en_US.UTF-8";
i18n.supportedLocales = [ "all" ];
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
system.stateVersion = "23.05";
}