NOflake/systems/BASED.nix

194 lines
5 KiB
Nix
Raw Normal View History

2024-02-24 02:30:17 -08:00
{
2025-08-16 16:31:10 -07:00
inputs,
lib,
pkgs,
modulesPath,
...
2024-02-24 02:30:17 -08:00
}: {
2025-12-14 18:59:08 -08:00
programs.pmount.enable = true;
2025-08-16 16:31:10 -07:00
environment.systemPackages = with pkgs; [
2025-11-05 00:58:59 -08:00
# keep-sorted start
2025-08-16 16:31:10 -07:00
bat
bottom
cifs-utils
dumbpipe
2025-11-05 00:58:59 -08:00
dust
2025-08-16 16:31:10 -07:00
exfatprogs
fastfetch
ffmpeg
firefox
git
helix
inputs.agenix.packages.${pkgs.system}.default
inputs.zen-browser.packages."${system}".default
jujutsu
mesa
mpv
ouch
pueue
ripgrep
2025-10-16 17:07:43 -07:00
rustdesk
2025-08-16 16:31:10 -07:00
sendme
skim
2025-11-05 00:58:59 -08:00
smartmontools
2025-08-16 16:31:10 -07:00
tree
2025-10-16 17:07:43 -07:00
waypipe
2025-08-16 16:31:10 -07:00
wezterm
wget
2025-10-16 17:07:43 -07:00
zellij
2025-08-16 16:31:10 -07:00
zstd
2025-11-05 00:58:59 -08:00
# keep-sorted end
2024-09-17 00:20:17 -07:00
];
2025-08-16 16:31:10 -07:00
programs.partition-manager.enable = lib.mkDefault true;
hardware.graphics.enable = true;
# hardware.opengl = {
# enable = true;
# extraPackaged = with pkgs; [
# libvdpau-va-gl
# ];
# };
services.xserver.enable = lib.mkDefault true;
services.xserver.excludePackages = [pkgs.xterm];
services.xserver.xkb.layout = "us";
systemd.services.display-manager.restartIfChanged = false;
services.desktopManager.cosmic.enable = lib.mkDefault true;
services.displayManager.cosmic-greeter.enable = lib.mkDefault true;
2025-11-05 03:00:09 -08:00
# environment.sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1;
2025-08-16 16:31:10 -07:00
environment.cosmic.excludePackages = with pkgs; [
cosmic-edit
cosmic-player
cosmic-term
cosmic-wallpapers
2024-07-17 15:25:57 -07:00
];
2025-11-05 03:00:09 -08:00
xdg.portal.enable = lib.mkForce true;
2024-03-18 14:50:43 -07:00
2025-10-16 17:07:43 -07:00
services.flatpak.enable = true;
2025-08-16 16:31:10 -07:00
services.openssh.enable = true;
users.users.root.openssh.authorizedKeys.keys = [
];
programs.ssh.startAgent = true;
services.gnome.gcr-ssh-agent.enable = false;
services.printing.enable = lib.mkDefault true;
2025-09-07 20:34:22 -07:00
services.printing.drivers = with pkgs; lib.mkDefault [gutenprint gutenprintBin hplip];
2025-08-16 16:31:10 -07:00
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
networking.networkmanager.enable = true;
networking.networkmanager.wifi.backend = "iwd";
services.tailscale.enable = true;
services.resolved.enable = true;
networking.wireless.iwd = {
enable = true;
settings.IPv6.Enabled = true;
settings.Settings.AutoConnect = true;
};
2025-10-27 23:34:29 -07:00
services.smartd = {
enable = true;
notifications.systembus-notify.enable = true;
};
2025-08-16 16:31:10 -07:00
# services.btrfs.autoScrub.enable = lib.mkDefault true;
2025-10-27 23:34:29 -07:00
services.btrfs.autoScrub = {
enable = true;
interval = "weekly";
fileSystems = ["/"];
};
2025-08-16 16:31:10 -07:00
security.rtkit.enable = true;
services.pipewire = {
enable = lib.mkDefault true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
wireplumber.enable = lib.mkDefault true;
};
security.sudo-rs.enable = true;
security.sudo.enable = false;
i18n.inputMethod = {
enable = lib.mkDefault true;
type = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-gtk
fcitx5-mozc
fcitx5-rime
];
};
environment.variables = {
EDITOR = "hx";
VISUAL = "hx";
PAGER = "bat";
SKIM_DEFAULT_COMMAND = "rg --files";
};
environment.sessionVariables = {
EDITOR = "hx";
VISUAL = "hx";
PAGER = "bat";
SKIM_DEFAULT_COMMAND = "rg --files";
};
time.timeZone = lib.mkDefault "US/Pacific";
# services.automatic-timezoned.enable = lib.mkDefault true;
# i18n.defaultLocale = "en_US.UTF-8";
# i18n.extraLocaleSettings = {
# LC_CTYPE = "en_US.UTF-8";
# LC_MESSAGES = "en_US.UTF-8";
# LC_ALL = "en_US.UTF-8";
# };
2025-08-13 17:16:20 -07:00
# systemd.settings.Manager = ''
# DefaultTimeoutStopSec=15s
2025-08-16 16:31:10 -07:00
# '';
2025-08-13 17:16:20 -07:00
# systemd.settings.Manager = "";
2025-08-16 16:31:10 -07:00
zramSwap = {
enable = true;
algorithm = "zstd";
};
boot.loader.systemd-boot.enable = lib.mkDefault true;
boot.loader.efi.canTouchEfiVariables = lib.mkDefault true;
boot.loader.timeout = lib.mkForce 1;
# boot.supportedFilesystems = ["ntfs" "btrfs"];
hardware.enableAllFirmware = true;
hardware.bluetooth.enable = lib.mkDefault true;
# hardware.bluetooth.settings.General.Experimental = true;
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
2025-08-21 16:36:43 -07:00
programs.nix-ld = {
enable = true;
};
2025-08-16 16:31:10 -07:00
nix.settings = {
experimental-features = "nix-command flakes";
auto-optimise-store = true;
# adding logged in users allows for passwordless root
2025-10-28 20:39:24 -07:00
trusted-users = ["root" "@wheel"];
2025-08-16 16:31:10 -07:00
system-features = [
"benchmark"
"big-parallel"
"gccarch-znver3"
"gccarch-znver4"
"kvm"
"nixos-test"
];
};
nixpkgs.config = {allowUnfree = true;};
nix.nixPath = ["nixpkgs=${pkgs.path}"];
2025-11-13 08:38:07 -08:00
nix.gc = {
automatic = true;
options = "--delete-older-than 7d";
};
2025-08-16 16:31:10 -07:00
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
system.stateVersion = lib.mkDefault "23.05";
2023-07-11 00:38:39 -07:00
}