NOflake/systems/BASED.nix

161 lines
3.9 KiB
Nix
Raw Normal View History

2024-02-24 02:30:17 -08:00
{
inputs,
lib,
pkgs,
modulesPath,
...
}: {
2023-07-11 00:38:39 -07:00
environment.systemPackages = with pkgs; [
2024-04-05 14:18:27 -07:00
# inputs.helix.packages.${pkgs.system}.default
2023-07-11 00:38:39 -07:00
bat
bottom
2023-10-19 11:01:23 -07:00
cifs-utils
2023-07-11 00:38:39 -07:00
du-dust
2023-09-30 22:39:53 -07:00
exfatprogs
2024-05-14 15:11:43 -07:00
fastfetch
2024-03-28 00:49:09 -07:00
ffmpeg
2024-04-05 14:18:27 -07:00
firefox
2023-07-11 00:38:39 -07:00
git
2024-04-02 18:11:12 -07:00
helix
2024-04-05 14:18:27 -07:00
inputs.agenix.packages.${pkgs.system}.default
2024-06-13 13:30:29 -07:00
sendme
2023-09-28 23:33:56 -07:00
mesa
2024-03-28 00:49:09 -07:00
mpv
2023-07-11 00:38:39 -07:00
ouch
2024-03-18 14:50:43 -07:00
pueue
2023-09-30 22:39:53 -07:00
ripgrep
2024-01-30 10:46:26 -08:00
rustdesk
2024-05-28 20:40:46 -07:00
# screen
2023-07-11 00:38:39 -07:00
skim
tree
wezterm
2024-03-18 14:50:43 -07:00
wget
2023-09-28 23:33:56 -07:00
zstd
2023-07-11 00:38:39 -07:00
];
2023-09-30 17:07:49 -07:00
programs.partition-manager.enable = lib.mkDefault true;
2023-07-11 00:38:39 -07:00
2024-04-29 13:53:43 -07:00
programs.nh = {
enable = true;
};
programs.firefox.enable = true;
2024-03-22 23:26:56 -07:00
programs.firefox.policies = {
DisablePocket = true;
PasswordManagerEnabled = false;
2024-03-23 01:24:31 -07:00
NoDefaultBookmarks = false;
2024-03-22 23:26:56 -07:00
};
2024-03-24 17:08:49 -07:00
programs.firefox.preferences = {
2024-04-04 02:50:30 -07:00
"media.ffmpeg.vaapi.enabled" = true;
2024-04-02 18:11:12 -07:00
2024-03-24 17:08:49 -07:00
"widget.use-xdg-desktop-portal.file-picker" = 1;
2024-04-02 18:11:12 -07:00
"widget.use-xdg-desktop-portal.location" = 1;
2024-03-24 17:08:49 -07:00
"widget.use-xdg-desktop-portal.mime-handler" = 1;
2024-04-02 18:11:12 -07:00
"widget.use-xdg-desktop-portal.open-uri" = 1;
"widget.use-xdg-desktop-portal.settings" = 1;
2024-04-04 02:50:30 -07:00
"accessibility.browsewithcaret_shortcut.enabled" = false;
"browser.bookmarks.restore_default_bookmarks" = false;
2024-03-24 17:08:49 -07:00
};
2024-03-22 23:26:56 -07:00
2023-11-29 22:34:53 -08:00
services.xserver.enable = lib.mkDefault true;
2024-06-13 13:30:29 -07:00
services.xserver.excludePackages = [pkgs.xterm];
2024-02-05 13:47:51 -08:00
services.xserver.xkb.layout = "us";
2023-07-11 00:38:39 -07:00
systemd.services.display-manager.restartIfChanged = false;
2024-04-12 00:26:20 -07:00
services.displayManager.sddm.enable = lib.mkDefault true;
2024-04-25 15:48:29 -07:00
services.displayManager.sddm.wayland.enable = true;
2024-03-16 18:54:05 -07:00
services.desktopManager.plasma6.enable = lib.mkDefault true;
2024-03-03 23:17:20 -08:00
environment.plasma6.excludePackages = with pkgs; [
2023-07-11 00:38:39 -07:00
elisa
konsole
2023-09-28 23:33:56 -07:00
gwenview
2024-03-20 17:29:48 -07:00
kate
xterm
2023-07-11 00:38:39 -07:00
];
2024-03-18 14:50:43 -07:00
services.openssh.enable = true;
2024-04-15 16:52:16 -07:00
programs.ssh.startAgent = true;
2024-03-18 14:50:43 -07:00
services.printing.enable = lib.mkDefault true;
networking.networkmanager.enable = true;
services.tailscale.enable = true;
2024-05-28 20:40:46 -07:00
# TODO figure out a socks5 that blocks when not connected to tailscale exit-node
# services.tailscale.extraDaemonFlags = ["--socks5-server=localhost:1055"];
2024-04-13 19:27:26 -07:00
services.resolved.enable = true;
2024-03-23 01:24:31 -07:00
# networking.interfaces.tailscale0.useDHCP = false;
2024-03-18 14:50:43 -07:00
services.smartd.enable = true;
services.btrfs.autoScrub.enable = lib.mkDefault true;
hardware.pulseaudio.enable = lib.mkDefault false;
2024-02-24 14:31:26 -08:00
security.rtkit.enable = true;
2023-07-11 00:38:39 -07:00
services.pipewire = {
2023-11-29 23:43:51 -08:00
enable = lib.mkDefault true;
2023-07-11 00:38:39 -07:00
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
2024-02-27 10:26:58 -08:00
wireplumber.enable = lib.mkDefault true;
2023-07-11 00:38:39 -07:00
};
2024-02-19 22:41:58 -08:00
security.sudo-rs.enable = true;
2024-04-13 18:49:07 -07:00
security.sudo.enable = false;
2024-02-19 22:41:58 -08:00
2024-03-18 14:50:43 -07:00
i18n.inputMethod = {
enabled = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-gtk
fcitx5-mozc
fcitx5-rime
];
2023-07-11 00:38:39 -07:00
};
2024-03-18 14:50:43 -07:00
environment.variables = {
EDITOR = "hx";
VISUAL = "hx";
PAGER = "bat";
SKIM_DEFAULT_COMMAND = "rg --files";
};
environment.sessionVariables = {
2024-04-04 02:50:30 -07:00
EDITOR = "hx";
VISUAL = "hx";
PAGER = "bat";
SKIM_DEFAULT_COMMAND = "rg --files";
2024-03-18 14:50:43 -07:00
};
2023-07-18 22:14:59 -07:00
2024-03-29 12:51:49 -07:00
time.timeZone = lib.mkDefault "US/Pacific";
# services.automatic-timezoned.enable = lib.mkDefault true;
2024-04-26 14:57:27 -07:00
# i18n.extraLocaleSettings = {
# LC_CTYPE = "en_US.UTF-8";
# LC_MESSAGES = "en_US.UTF-8";
# LC_ALL = "en_US.UTF-8";
# };
2024-03-18 14:50:43 -07:00
systemd.extraConfig = ''
DefaultTimeoutStopSec=15s
'';
2024-04-25 14:05:35 -07:00
zramSwap = {
enable = true;
algorithm = "zstd";
};
2024-03-20 17:29:48 -07:00
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"];
2024-03-18 14:50:43 -07:00
hardware.enableAllFirmware = true;
hardware.bluetooth.enable = lib.mkDefault true;
2023-07-11 00:38:39 -07:00
2024-02-24 02:30:17 -08:00
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
2023-07-18 22:14:59 -07:00
2024-03-18 14:50:43 -07:00
nix.settings = {
experimental-features = "nix-command flakes";
auto-optimise-store = true;
trusted-users = ["root" "@wheel"];
};
nixpkgs.config = {allowUnfree = true;};
2023-07-18 22:14:59 -07:00
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
2023-09-30 18:47:13 -07:00
system.stateVersion = lib.mkDefault "23.05";
2023-07-11 00:38:39 -07:00
}