2024-11-22 00:58:04 -05:00
|
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
|
|
|
|
{
|
|
|
|
imports =
|
|
|
|
[
|
|
|
|
./hardware-configuration.nix
|
|
|
|
];
|
|
|
|
|
|
|
|
boot.loader.systemd-boot.enable = true;
|
|
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
|
|
|
|
|
|
networking.hostName = "ytnix";
|
|
|
|
networking.networkmanager.enable = true;
|
|
|
|
networking.wireless.iwd = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
Rank = {
|
2024-11-22 19:18:02 -05:00
|
|
|
# disable 2.4 GHz cause i have a shitty wireless card
|
|
|
|
# that interferes with bluetooth otherwise
|
2024-11-22 00:58:04 -05:00
|
|
|
BandModifier2_4GHz = 0.0;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
networking.networkmanager.wifi.backend = "iwd";
|
|
|
|
time.timeZone = "America/Toronto";
|
|
|
|
|
|
|
|
services.pipewire = {
|
|
|
|
enable = true;
|
|
|
|
pulse.enable = true;
|
|
|
|
};
|
|
|
|
|
|
|
|
services.libinput.enable = true;
|
|
|
|
|
|
|
|
users.users.yt = {
|
|
|
|
isNormalUser = true;
|
|
|
|
extraGroups = [ "wheel" ];
|
|
|
|
shell = pkgs.zsh;
|
|
|
|
packages = with pkgs; [
|
|
|
|
firefox
|
|
|
|
ungoogled-chromium
|
|
|
|
librewolf
|
|
|
|
bitwarden-desktop
|
|
|
|
bitwarden-cli
|
|
|
|
aerc
|
|
|
|
delta
|
|
|
|
fzf
|
|
|
|
zoxide
|
|
|
|
eza
|
|
|
|
fastfetch
|
2024-11-22 02:31:12 -05:00
|
|
|
discord
|
|
|
|
nwg-look
|
2024-11-22 19:18:02 -05:00
|
|
|
element-desktop-wayland
|
|
|
|
kdePackages.gwenview
|
2024-11-22 20:46:58 -05:00
|
|
|
kdePackages.okular
|
|
|
|
kdePackages.qtwayland
|
|
|
|
mpv
|
|
|
|
yt-dlp
|
|
|
|
anki-bin
|
2024-11-22 00:58:04 -05:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
tmux
|
|
|
|
vim
|
|
|
|
wget
|
|
|
|
neovim
|
|
|
|
git
|
|
|
|
python3
|
|
|
|
grim
|
|
|
|
slurp
|
|
|
|
wl-clipboard
|
|
|
|
mako
|
|
|
|
tree
|
|
|
|
kitty
|
|
|
|
rofi-wayland
|
|
|
|
rofimoji
|
|
|
|
cliphist
|
|
|
|
borgbackup
|
|
|
|
jq
|
|
|
|
brightnessctl
|
|
|
|
alsa-utils
|
|
|
|
nixd
|
|
|
|
veracrypt
|
|
|
|
bluetuith
|
|
|
|
libimobiledevice
|
|
|
|
networkmanagerapplet
|
2024-11-22 01:39:38 -05:00
|
|
|
pass-wayland
|
2024-11-22 19:18:02 -05:00
|
|
|
htop
|
|
|
|
file
|
2024-11-22 00:58:04 -05:00
|
|
|
];
|
|
|
|
|
|
|
|
system.stateVersion = "24.05";
|
|
|
|
|
|
|
|
services.gnome.gnome-keyring.enable = true;
|
|
|
|
programs.gnupg.agent.enable = true;
|
|
|
|
|
|
|
|
services.displayManager.defaultSession = "hyprland";
|
|
|
|
services.displayManager.sddm = {
|
|
|
|
enable = true;
|
|
|
|
wayland.enable = true;
|
|
|
|
};
|
|
|
|
programs.waybar.enable = true;
|
|
|
|
programs.zsh.enable = true;
|
2024-11-22 19:18:02 -05:00
|
|
|
# security.sudo.wheelNeedsPassword = false;
|
2024-11-22 00:58:04 -05:00
|
|
|
|
|
|
|
fonts.packages = with pkgs; [
|
|
|
|
nerdfonts
|
|
|
|
];
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
|
|
|
|
hardware.bluetooth = {
|
|
|
|
enable = true;
|
|
|
|
powerOnBoot = true;
|
|
|
|
};
|
|
|
|
services.blueman.enable = true;
|
|
|
|
|
|
|
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
|
|
|
|
|
|
|
programs.hyprland = {
|
|
|
|
enable = true;
|
|
|
|
# withUWSM = true;
|
|
|
|
};
|
|
|
|
|
2024-11-22 01:39:38 -05:00
|
|
|
services.borgbackup.jobs = {
|
|
|
|
ytnixRsync = {
|
|
|
|
paths = [ "/root" "/home" "/var/lib" "/opt" "/etc" ];
|
|
|
|
exclude = [
|
|
|
|
".git"
|
|
|
|
"**/.cache"
|
|
|
|
"**/node_modules"
|
|
|
|
"**/cache"
|
|
|
|
"**/Cache"
|
|
|
|
"/var/lib/docker"
|
|
|
|
"/home/**/Downloads"
|
|
|
|
"**/.steam"
|
|
|
|
"**/.rustup"
|
|
|
|
"**/.docker"
|
2024-11-22 19:18:02 -05:00
|
|
|
"**/.snapshots"
|
2024-11-22 01:39:38 -05:00
|
|
|
];
|
|
|
|
repo = "de3911@de3911.rsync.net:borg/yt";
|
|
|
|
encryption = {
|
|
|
|
mode = "repokey-blake2";
|
|
|
|
passCommand = "cat /run/keys/borg_yt";
|
|
|
|
};
|
|
|
|
environment = {
|
|
|
|
BORG_RSH = "ssh -i /home/yt/.ssh/id_ed25519";
|
|
|
|
BORG_REMOTE_PATH = "borg1";
|
|
|
|
};
|
|
|
|
compression = "auto,zstd";
|
|
|
|
startAt = "hourly";
|
|
|
|
};
|
|
|
|
};
|
2024-11-22 19:18:02 -05:00
|
|
|
services.btrbk.instances.local.settings = {
|
|
|
|
snapshot_preserve = "14d 52w";
|
|
|
|
snapshot_preserve_min = "2d";
|
|
|
|
volume."/" = {
|
|
|
|
target = "/snapshots";
|
|
|
|
subvolume = {
|
|
|
|
home = {};
|
|
|
|
"/" = {};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2024-11-22 02:09:31 -05:00
|
|
|
|
|
|
|
programs.steam.enable = true;
|
|
|
|
|
2024-11-22 19:18:02 -05:00
|
|
|
services.logind = {
|
|
|
|
lidSwitch = "hibernate";
|
|
|
|
suspendKey = "hibernate";
|
2024-11-22 02:09:31 -05:00
|
|
|
};
|
2024-11-22 20:46:58 -05:00
|
|
|
|
|
|
|
xdg.mime.defaultApplications = {
|
|
|
|
"application/pdf" = "okular.desktop";
|
|
|
|
"image/*" = "gwenview.desktop";
|
|
|
|
"*/html" = "librewolf.desktop";
|
|
|
|
};
|
|
|
|
|
|
|
|
programs.thunar = {
|
|
|
|
enable = true;
|
|
|
|
plugins = with pkgs.xfce; [
|
|
|
|
thunar-archive-plugin
|
|
|
|
thunar-volman
|
|
|
|
];
|
|
|
|
};
|
|
|
|
# preference changes don't work in thunar without this
|
|
|
|
programs.xfconf.enable = true;
|
|
|
|
# mount, trash and stuff in thunar
|
|
|
|
services.gvfs.enable = true;
|
|
|
|
# thumbnails in thunar
|
|
|
|
services.tumbler.enable =true;
|
2024-11-22 01:39:38 -05:00
|
|
|
}
|