# Edit this configuration file to define what should be installed on # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). { config, pkgs, lib, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ]; # optimize power usage powerManagement.enable = true; # optimize storage nix.optimise.automatic = true; # Bootloader. boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.efiSysMountPoint = "/boot"; boot.loader.systemd-boot.enable = true; # udev for brillo services.udev.extraRules = '' ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="intel_backlight", MODE="0666", RUN+="${pkgs.coreutils}/bin/chmod a+w /sys/class/backlight/%k/brightness" ''; networking.hostName = "absol"; # networking.wireless.enable = true; networking.networkmanager.enable = true; # Set your time zone. time.timeZone = "Europe/Berlin"; i18n.supportedLocales = [ "en_US.UTF-8/UTF-8" "de_DE.UTF-8/UTF-8" ]; # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LANG = "en_US.UTF-8"; LC_ALL = "en_US.UTF-8"; LANGUAGE = "en_US.UTF-8"; LC_ADDRESS = "de_DE.UTF-8"; LC_IDENTIFICATION = "de_DE.UTF-8"; LC_MEASUREMENT = "de_DE.UTF-8"; LC_MONETARY = "de_DE.UTF-8"; LC_NAME = "de_DE.UTF-8"; LC_NUMERIC = "de_DE.UTF-8"; LC_PAPER = "de_DE.UTF-8"; LC_TELEPHONE = "de_DE.UTF-8"; LC_TIME = "de_DE.UTF-8"; }; services.greetd = { enable = true; settings = { default_session = { command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --remember --cmd Hyprland"; user = "greeter"; }; }; }; # Configure console keymap console.keyMap = "us"; # Enable CUPS to print documents. #services.avahi = { # enable = true; # nssmdns4 = true; # openFirewall = true; #}; services.printing = { enable = true; # drivers = [ pkgs.splix ]; }; # bluetooth hardware.bluetooth.enable = true; hardware.bluetooth.powerOnBoot = true; services.blueman.enable = true; # Enable sound with pipewire. sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; # Define a user account. users.users.leonv = { isNormalUser = true; description = "Leon Vatthauer"; extraGroups = [ "networkmanager" "wheel" ]; initialPassword = "leonv"; # just for setup }; # Allow unfree packages nixpkgs.config.allowUnfree = true; # List packages installed in system profile. environment.systemPackages = with pkgs; let catp-gtk = pkgs.catppuccin-gtk.override { accents = [ "flamingo" ]; # You can specify multiple accents here to output multiple themes size = "compact"; tweaks = [ "rimless" "black" ]; # You can also specify multiple tweaks here variant = "macchiato"; }; in [ # for connecting to nas nfs-utils # some standards for convenience vim parted os-prober qpdfview swww # greeter greetd.gtkgreet catp-gtk # deps for hyprland / eww socat texliveFull ]; system.stateVersion = "24.05"; # NFS setup services.rpcbind.enable = true; # needed for NFS systemd.mounts = [{ type = "nfs"; mountConfig = { Options = "noatime"; }; what = "192.168.178.20:/volume1/MiniDrive"; where = "/MiniDrive"; }]; systemd.automounts = [{ wantedBy = [ "multi-user.target" ]; automountConfig = { TimeoutIdleSec = "10"; }; where = "/MiniDrive"; }]; # source zsh programs.zsh.enable = true; users.defaultUserShell = pkgs.zsh; nix.settings.substituters = [ "https://aseipp-nix-cache.global.ssl.fastly.net" ]; # environment variables environment.sessionVariables = { ## disable logging when direnv changes DIRENV_LOG_FORMAT = []; # GTK theme (set here for greetd) GTK_THEME = "Catppuccin-Macchiato-Compact-Flamingo-Dark"; }; # fonts fonts = { packages = with pkgs; [ ((nerdfonts.override { fonts = [ "Hack" "DejaVuSansMono" "DroidSansMono" "Noto" ]; })) mononoki # noto-fonts noto-fonts-cjk noto-fonts-emoji ]; enableDefaultPackages = true; fontconfig = { defaultFonts = { monospace = [ "Berkeley Mono Nerd Font" ]; sansSerif = [ "NotoSans Nerd Font" ]; serif = [ "NotoSans Nerd Font" ]; emoji = [ "Noto Color Emoji" ]; }; }; }; # enable flakes nix.settings.experimental-features = [ "nix-command" "flakes" ]; # hyprland programs.hyprland.enable = true; # ssh programs.ssh.startAgent = true; programs.ssh.extraConfig = '' AddKeysToAgent yes IdentityFile ~/.ssh/git ''; programs.steam.enable = true; # thunar programs.thunar = { enable = true; plugins = with pkgs.xfce; [ thunar-archive-plugin thunar-volman ]; }; services.gvfs.enable = true; # Mount, trash, and others services.tumbler.enable = true; # thumbnail support for images }