Files
nix-config/configuration.nix
T
Claude 3f736a9ac3 niri: add full desktop stack (bar, launcher, notifications, configs)
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
2026-04-23 14:57:14 +00:00

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";
}