{ # Snowfall Lib provides a customized `lib` instance with access to your flake's library # as well as the libraries available from your flake's inputs. lib, # An instance of `pkgs` with your overlays and packages applied is also available. pkgs, # You also have access to your flake's inputs. inputs, # Additional metadata is provided by Snowfall Lib. namespace, # The namespace used for your flake, defaulting to "internal" if not set. system, # The system architecture for this host (eg. `x86_64-linux`). target, # The Snowfall Lib target for this system (eg. `x86_64-iso`). format, # A normalized name for the system target (eg. `iso`). virtual, # A boolean to determine whether this system is a virtual target using nixos-generators. systems, # An attribute map of your defined hosts. # All other arguments come from the system system. config, ... }: { imports = [ ./hardware-configuration.nix ]; boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; boot.blacklistedKernelModules = [ "pcspkr" ]; # Disables "beep" networking.hostName = "aspi"; networking.networkmanager.enable = true; topology.self = { hardware.info = "ThinkPad L430, 8GB RAM"; }; time.timeZone = "Europe/Berlin"; modules = { nix-settings.enable = true; xserver-defaults.enable = true; keymap.enable = true; builder.enable = false; system.boot-efi.enable = true; sound.enable = true; locales.enable = true; # thunar.enable = true; pcmanfm.enable = true; i3.enable = true; gdm.enable = true; redshift.enable = true; # wayland.enable = true; # hyprland.enable = true; # tuigreet.enable = true; virtualbox.enable = true; users-julian.enable = true; syncthing.enable = true; xdg-portal.enable = true; polkit.enable = true; keyring.enable = true; }; services.blueman.enable = true; services.upower.enable = true; programs.steam.enable = true; programs.dconf.enable = true; services.logind.lidSwitch = "lock"; services.logind.lidSwitchDocked = "lock"; programs.kdeconnect.enable = true; # Enable touchpad support (enabled default in most desktopManager). services.libinput.enable = true; # This interface is started on boot / switch networking.wg-quick.interfaces = { julian = { configFile = "/etc/wireguard/julian.conf"; }; }; # List services that you want to enable: services.openssh.enable = false; services.flatpak.enable = true; virtualisation.docker.enable = true; # Packages needed as root environment.systemPackages = with pkgs; [ vim htop mc xorg.xhost pavucontrol frajul.pulseaudio-popup gparted-xhost # needs to be installed as system package so it can be actually opened xclip brightnessctl ]; # ======================== DO NOT CHANGE THIS ======================== system.stateVersion = "24.05"; # ======================== DO NOT CHANGE THIS ======================== }