{ config, pkgs, ... }: { imports = [ ./hardware-configuration.nix ]; boot = { loader.systemd-boot.enable = true; loader.efi.canTouchEfiVariables = true; initrd.enable = true; plymouth = { enable = true; theme = "rings"; themePackages = with pkgs; [ # By default we would install all themes (adi1090x-plymouth-themes.override { selected_themes = [ "rings" ]; }) ]; }; consoleLogLevel = 3; kernelParams = [ "quiet" "splash" "boot.shell_on_fail" "udev.log_priority=3" "rd.systemd.show_status=auto" "mem_sleep_default=s2idle" ]; loader.timeout = 0; #resumeDevice = "/dev/disk/by-uuid/c49249b9-0d68-44af-97e0-e399c8409408"; }; nix.settings.experimental-features = [ "nix-command" "flakes" ]; networking.hostName = "tower"; networking.networkmanager.enable = true; time.timeZone = "Europe/Stockholm"; i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "sv_SE.UTF-8"; LC_IDENTIFICATION = "sv_SE.UTF-8"; LC_MEASUREMENT = "sv_SE.UTF-8"; LC_MONETARY = "sv_SE.UTF-8"; LC_NAME = "sv_SE.UTF-8"; LC_NUMERIC = "sv_SE.UTF-8"; LC_PAPER = "sv_SE.UTF-8"; LC_TELEPHONE = "sv_SE.UTF-8"; LC_TIME = "sv_SE.UTF-8"; }; services.displayManager = { gdm.enable = true; gdm.wayland = true; }; services.desktopManager.gnome.enable = true; services.xserver.xkb.layout = "se"; services.gnome.gnome-keyring.enable = true; nix.settings.auto-optimise-store = true; nix.gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 7d"; }; console.keyMap = "sv-latin1"; services.printing.enable = true; services.pulseaudio.enable = false; services.pipewire = { enable = true; alsa.enable = true; pulse.enable = true; jack.enable = true; }; services.fwupd.enable = true; programs.fish.enable = true; programs.steam = { enable = true; remotePlay.openFirewall = true; }; environment.systemPackages = with pkgs; [ # CLI tools git wget curl btop ripgrep bat fd eza bash # Chat discord signal-desktop # Browser firefox # Editor vscode obsidian # Virtualization podman # GNOME tweaks and extensions gnome-tweaks dconf-editor gnomeExtensions.ddterm gnomeExtensions.unpanel # Other syncthing steam ]; virtualisation.podman = { enable = true; dockerCompat = true; defaultNetwork.settings.dns_enabled = true; }; users.users.alisceon = { isNormalUser = true; extraGroups = [ "wheel" "networkmanager" "podman" ]; shell = pkgs.fish; }; security.sudo.wheelNeedsPassword = false; programs.dconf.enable = true; environment.shells = with pkgs; [ fish ]; system.stateVersion = "24.05"; }