3f736a9ac3
Moves programs.niri into a dedicated niri.nix module and installs the usual Wayland userland — alacritty, fuzzel, waybar, mako, swaybg, grim/slurp/wl-clipboard, swaylock/swayidle/wlogout, xwayland-satellite, plus nm-applet/pavucontrol/playerctl/brightnessctl. Ships starter configs for niri (keybinds mirroring sway/KDE habits, screenshots to ~/Pictures/Screenshots, media keys, workspace switching, auto-lock via swayidle), waybar with a Catppuccin-ish style, mako, and fuzzel — all wired up through home-manager's xdg.configFile. https://claude.ai/code/session_01NrGdGEBRbDbWvHUb3Lho44
116 lines
2.7 KiB
Nix
116 lines
2.7 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
{
|
|
imports = [
|
|
./hardware-configuration.nix
|
|
./packages.nix
|
|
./desktop.nix
|
|
./niri.nix
|
|
./nvidia.nix
|
|
./shell.nix
|
|
./yami-dev-stack.nix
|
|
];
|
|
|
|
nix = {
|
|
settings.experimental-features = [ "nix-command" "flakes" ];
|
|
gc = {
|
|
automatic = true;
|
|
dates = "weekly";
|
|
options = "--delete-older-than 14d";
|
|
};
|
|
optimise.automatic = true;
|
|
};
|
|
|
|
boot = {
|
|
kernelPackages = pkgs.linuxPackages_zen;
|
|
loader = {
|
|
efi.canTouchEfiVariables = true;
|
|
systemd-boot.enable = false;
|
|
grub = {
|
|
enable = true;
|
|
device = "nodev";
|
|
efiSupport = true;
|
|
useOSProber = true;
|
|
};
|
|
};
|
|
};
|
|
|
|
fileSystems = {
|
|
"/mnt/storage" = {
|
|
device = "/dev/disk/by-uuid/C4E29B73E29B6906";
|
|
fsType = "ntfs-3g";
|
|
options = [ "nosuid" "nodev" "nofail" "uid=1000" ];
|
|
};
|
|
"/mnt/ssd_110" = {
|
|
device = "/dev/disk/by-uuid/14ca9da9-cd66-431c-be96-c0e05066f3a0";
|
|
fsType = "ext4";
|
|
options = [ "nosuid" "nodev" "nofail" ];
|
|
};
|
|
"/mnt/wd_blue" = {
|
|
device = "/dev/disk/by-uuid/91feabaf-ea5f-490e-9925-56f7c05e7110";
|
|
fsType = "ext4";
|
|
options = [ "nosuid" "nodev" "nofail" ];
|
|
};
|
|
};
|
|
|
|
networking = {
|
|
hostName = "chexit";
|
|
networkmanager.enable = true;
|
|
};
|
|
|
|
time.timeZone = "Europe/Moscow";
|
|
|
|
i18n = {
|
|
defaultLocale = "en_US.UTF-8";
|
|
extraLocaleSettings = {
|
|
LC_ADDRESS = "ru_RU.UTF-8";
|
|
LC_IDENTIFICATION = "ru_RU.UTF-8";
|
|
LC_MEASUREMENT = "ru_RU.UTF-8";
|
|
LC_MONETARY = "ru_RU.UTF-8";
|
|
LC_NAME = "ru_RU.UTF-8";
|
|
LC_NUMERIC = "ru_RU.UTF-8";
|
|
LC_PAPER = "ru_RU.UTF-8";
|
|
LC_TELEPHONE = "ru_RU.UTF-8";
|
|
LC_TIME = "ru_RU.UTF-8";
|
|
};
|
|
};
|
|
|
|
users.users.chexit = {
|
|
isNormalUser = true;
|
|
description = "chexit";
|
|
shell = pkgs.fish;
|
|
extraGroups = [ "networkmanager" "wheel" "docker" ];
|
|
};
|
|
|
|
programs._1password.enable = true;
|
|
programs._1password-gui = {
|
|
enable = true;
|
|
polkitPolicyOwners = [ "chexit" ];
|
|
};
|
|
|
|
programs.throne = {
|
|
enable = true;
|
|
tunMode.enable = true;
|
|
};
|
|
|
|
programs.steam = {
|
|
enable = true;
|
|
remotePlay.openFirewall = true;
|
|
dedicatedServer.openFirewall = true;
|
|
};
|
|
|
|
programs.gamemode.enable = true;
|
|
|
|
services.tailscale.enable = true;
|
|
# Docker is now managed by yami-dev-stack.nix when that module is enabled.
|
|
# services.yami-dev-stack = { enable = true; user = "chexit"; };
|
|
|
|
services.yami-dev-stack = {
|
|
enable = true;
|
|
user = "chexit";
|
|
dataDir = "/mnt/ssd_110/yami";
|
|
};
|
|
|
|
system.stateVersion = "25.11";
|
|
}
|