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-09-04 19:58:01 -07:00
|
|
|
inputs.zen-browser.packages."${system}".default
|
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
|
2024-07-02 00:01:49 -07:00
|
|
|
dumbpipe
|
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-08-20 11:00:33 -07: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
|
|
|
|
2024-06-27 20:34:08 -07:00
|
|
|
hardware.graphics.enable = true;
|
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;
|
2024-08-28 13:49:15 -07:00
|
|
|
services.printing.drivers = with pkgs; [hplip hplipWithPlugin gutenprint gutenprintBin];
|
|
|
|
|
services.avahi = {
|
|
|
|
|
enable = true;
|
|
|
|
|
nssmdns4 = true;
|
|
|
|
|
openFirewall = true;
|
|
|
|
|
};
|
2024-03-18 14:50:43 -07:00
|
|
|
|
|
|
|
|
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-09-01 22:11:49 -07:00
|
|
|
# i18n.inputMethod = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# type = "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-07-30 15:25:51 -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"];
|
2024-07-17 15:25:57 -07:00
|
|
|
system-features = [
|
|
|
|
|
"benchmark"
|
|
|
|
|
"big-parallel"
|
|
|
|
|
"gccarch-znver3"
|
|
|
|
|
"gccarch-znver4"
|
|
|
|
|
"kvm"
|
|
|
|
|
"nixos-test"
|
|
|
|
|
];
|
2024-03-18 14:50:43 -07:00
|
|
|
};
|
|
|
|
|
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
|
|
|
}
|