# Edit this configuration file to define what should be installed on # your system. Help is available in the configuration.nix(5) man page, on # https://search.nixos.org/options and in the NixOS manual (`nixos-help`). { config, lib, pkgs, inputs, ... }: { nixpkgs.overlays = [ (final: prev: { wezterm = final.callPackage ../../drvs/wezterm-stable-bin.nix {}; sddm-astronaut-theme = final.callPackage ../../drvs/sddm-astronaut-theme.nix {}; }) ]; imports = [ ]; # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = lib.mkForce false; boot.lanzaboote = { enable = true; pkiBundle = "/var/lib/sbctl"; }; boot.loader.efi.canTouchEfiVariables = true; # Use latest kernel. boot.kernelPackages = pkgs.linuxPackages_latest; networking.hostName = "kachu-laptop"; # Define your hostname. # Configure network connections interactively with nmcli or nmtui. networking.networkmanager.enable = true; services.desktopManager.plasma6.enable = true; services.displayManager.sddm = { enable = true; wayland.enable = true; extraPackages = with pkgs; [ kdePackages.qtmultimedia # Required for video backgrounds/audio ]; }; services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; security.polkit.enable = true; security.sudo.wheelNeedsPassword = false; nix = { settings = { experimental-features = [ "nix-command" "flakes" ]; }; gc = { automatic = true; # Включает автоматическую сборку мусора dates = "weekly"; # Запуск раз в неделю options = "--delete-older-than 7d"; # Удалять только то, что старше 7 дней }; optimise.automatic = true; }; # Set your time zone. time.timeZone = "Europe/Moscow"; i18n.defaultLocale = "en_US.UTF-8"; i18n.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.kachu = { isNormalUser = true; extraGroups = ["wheel"]; # Enable ‘sudo’ for the user. packages = with pkgs; [ tree git starship zoxide fzf wezterm eza kdePackages.sddm-kcm alejandra v2rayn telegram-desktop ]; shell = pkgs.zsh; }; programs.firefox.enable = true; # List packages installed in system profile. # You can use https://search.nixos.org/ to find more packages (and options). nixpkgs.config.allowUnfree = true; environment.systemPackages = with pkgs; [ git vscode git-credential-manager kdePackages.kio kdePackages.kio-fuse kdePackages.kio-extras sbctl ]; programs.fuse.enable = true; programs.zsh.enable = true; programs.nix-ld.enable = true; programs.nix-ld.libraries = with pkgs; [ ]; fonts.packages = [ inputs.monaco-nerd-font.packages.${pkgs.system}.monaco ]; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; # programs.gnupg.agent = { # enable = true; # enableSSHSupport = true; # }; # List services that you want to enable: # Enable the OpenSSH daemon. # services.openssh.enable = true; # Open ports in the firewall. # networking.firewall.allowedTCPPorts = [ ... ]; # networking.firewall.allowedUDPPorts = [ ... ]; # Or disable the firewall altogether. networking.firewall.enable = false; # Copy the NixOS configuration file and link it from the resulting system # (/run/current-system/configuration.nix). This is useful in case you # accidentally delete configuration.nix. # system.copySystemConfiguration = true; # This option defines the first version of NixOS you have installed on this particular machine, # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. # # Most users should NEVER change this value after the initial install, for any reason, # even if you've upgraded your system to a new NixOS release. # # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how # to actually do that. # # This value being lower than the current NixOS release does NOT mean your system is # out of date, out of support, or vulnerable. # # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, # and migrated your data accordingly. # # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . system.stateVersion = "26.05"; # Did you read the comment? }