Files
azos/nixos/configuration.nix

150 lines
3.6 KiB
Nix

{
inputs,
outputs,
suiteModules,
lib,
config,
pkgs,
...
}: {
imports = [
./lauretta-hardware-configuration.nix
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-t480
inputs.musnix.nixosModules.musnix
inputs.home-manager.nixosModules.home-manager
suiteModules.nixos.base
suiteModules.nixos.exwm
suiteModules.nixos.audio
suiteModules.nixos.bluetooth
suiteModules.nixos.steam
suiteModules.nixos.virtualization
suiteModules.nixos.binfmt
suiteModules.nixos.attic
];
boot.loader.grub = {
enable = true;
efiSupport = true;
device = "nodev";
};
boot.loader.efi.canTouchEfiVariables = true;
nixpkgs = {
overlays = [
outputs.overlays.addpkgs
outputs.overlays.qutebrowserdrm
outputs.overlays.modifications
outputs.overlays.unstable-packages
];
config = {
allowUnfree = true;
};
};
nix.registry = (lib.mapAttrs (_: flake: {inherit flake;})) ((lib.filterAttrs (_: lib.isType "flake")) inputs);
nix.nixPath = ["/etc/nix/path"];
networking.hostName = "lauretta";
networking.networkmanager.enable = true;
time.timeZone = "Asia/Jerusalem";
i18n.defaultLocale = "en_IL";
i18n.extraLocaleSettings = {
LC_ADDRESS = "he_IL.UTF-8";
LC_IDENTIFICATION = "he_IL.UTF-8";
LC_MEASUREMENT = "he_IL.UTF-8";
LC_MONETARY = "he_IL.UTF-8";
LC_NAME = "he_IL.UTF-8";
LC_NUMERIC = "he_IL.UTF-8";
LC_PAPER = "he_IL.UTF-8";
LC_TELEPHONE = "he_IL.UTF-8";
LC_TIME = "he_IL.UTF-8";
};
services.xserver = {
xkb = {
layout = "us,il";
variant = "";
};
xkb.options = "grp:alt_shift_toggle";
};
console.keyMap = "il";
users.users.aner = {
isNormalUser = true;
description = "Aner Zakobar";
extraGroups = ["networkmanager" "wheel" "audio" "video" "seat" "input"];
packages = with pkgs; [];
};
nix.settings = {
experimental-features = "nix-command flakes";
auto-optimise-store = true;
};
azos.suites.exwm.enable = true;
azos.attic.enable = true;
home-manager = {
extraSpecialArgs = {inherit inputs outputs suiteModules pkgs;};
users = {
aner = import ../home-manager/home.nix;
};
};
specialisation = {
steam-big-picture = {
configuration = {
environment.systemPackages = [pkgs.sway];
environment.etc."sway-steam.conf".text = ''
output * bg #000000 solid_color
default_border none
default_floating_border none
exec ${pkgs.dbus}/bin/dbus-run-session -- ${pkgs.bash}/bin/bash -c "steam -tenfoot; ${pkgs.sway}/bin/swaymsg exit"
'';
services.seatd.enable = true;
services.greetd.settings = lib.mkForce {
terminal.vt = 1;
default_session = {
command = "${pkgs.tuigreet}/bin/tuigreet --time --user-menu --cmd '/home/aner/.login.sh'";
user = "greeter";
};
initial_session = {
command = "${pkgs.sway}/bin/sway --config /etc/sway-steam.conf";
user = "aner";
};
};
home-manager.users.aner = {lib, ...}: {
azos.suites.exwm.enable = lib.mkForce false;
};
};
};
};
boot.supportedFilesystems = ["exfat"];
boot.kernelModules = ["exfat"];
environment.systemPackages = with pkgs; [
vim
git
tmux
killall
brightnessctl
exfatprogs
gamescope
];
fonts.enableDefaultPackages = true;
services.upower.enable = true;
systemd.targets.sleep.enable = false;
systemd.targets.suspend.enable = false;
systemd.targets.hibernate.enable = false;
systemd.targets.hybrid-sleep.enable = false;
system.stateVersion = "25.11";
}