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
|
2025-03-06 17:05:34 -08:00
|
|
|
# screen
|
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
|
2025-03-06 17:05:34 -08:00
|
|
|
dumbpipe
|
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
|
2025-03-06 17:05:34 -08:00
|
|
|
inputs.zen-browser.packages."${system}".default
|
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
|
2025-03-14 18:07:44 -07:00
|
|
|
# rustdesk
|
2025-03-06 17:05:34 -08:00
|
|
|
sendme
|
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; [
|
2025-02-26 22:31:57 -08:00
|
|
|
kdePackages.elisa
|
|
|
|
|
kdePackages.konsole
|
|
|
|
|
kdePackages.gwenview
|
|
|
|
|
kdePackages.kate
|
2024-03-20 17:29:48 -07:00
|
|
|
xterm
|
2023-07-11 00:38:39 -07:00
|
|
|
];
|
|
|
|
|
|
2024-03-18 14:50:43 -07:00
|
|
|
services.openssh.enable = true;
|
2024-10-13 21:17:25 -07:00
|
|
|
users.users.root.openssh.authorizedKeys.keys = [
|
|
|
|
|
];
|
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;
|
2025-03-25 01:07:02 -07:00
|
|
|
services.printing.drivers = with pkgs; [gutenprint gutenprintBin];
|
2024-08-28 13:49:15 -07:00
|
|
|
services.avahi = {
|
|
|
|
|
enable = true;
|
|
|
|
|
nssmdns4 = true;
|
|
|
|
|
openFirewall = true;
|
|
|
|
|
};
|
2024-03-18 14:50:43 -07:00
|
|
|
|
|
|
|
|
networking.networkmanager.enable = true;
|
2024-09-28 15:55:25 -07:00
|
|
|
networking.networkmanager.wifi.backend = "iwd";
|
2024-03-18 14:50:43 -07:00
|
|
|
services.tailscale.enable = true;
|
2024-04-13 19:27:26 -07:00
|
|
|
services.resolved.enable = true;
|
2024-09-28 15:55:25 -07:00
|
|
|
networking.wireless.iwd = {
|
|
|
|
|
enable = true;
|
|
|
|
|
settings.IPv6.Enabled = true;
|
|
|
|
|
settings.Settings.AutoConnect = true;
|
|
|
|
|
};
|
2024-03-18 14:50:43 -07:00
|
|
|
|
|
|
|
|
services.smartd.enable = true;
|
2024-10-13 23:28:53 -07:00
|
|
|
# services.btrfs.autoScrub.enable = lib.mkDefault true;
|
2024-03-18 14:50:43 -07:00
|
|
|
|
2024-12-30 21:12:17 -08:00
|
|
|
# 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-17 00:20:17 -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;
|
2025-02-17 22:48:03 -08:00
|
|
|
# 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";
|
|
|
|
|
# };
|
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;
|
2024-10-13 21:17:25 -07:00
|
|
|
# boot.supportedFilesystems = ["ntfs" "btrfs"];
|
2024-03-18 14:50:43 -07:00
|
|
|
hardware.enableAllFirmware = true;
|
|
|
|
|
hardware.bluetooth.enable = lib.mkDefault true;
|
2024-11-08 21:26:16 -08:00
|
|
|
# hardware.bluetooth.settings.General.Experimental = 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;
|
2025-03-12 19:47:31 -07:00
|
|
|
# adding logged in users allows for passwordless root
|
|
|
|
|
# trusted-users = ["root"];
|
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;};
|
2025-02-11 14:53:02 -08:00
|
|
|
nix.nixPath = ["nixpkgs=${pkgs.path}"];
|
2024-03-18 14:50:43 -07:00
|
|
|
|
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
|
|
|
}
|