{ config, lib, pkgs, ... }: { imports = [ ./common.nix ]; nix.extraOptions = '' netrc-file = /home/stuebinm/Dokumente/.netrc experimental-features = nix-command flakes ''; # for haskell.nix compilers # nix.binaryCachePublicKeys = [ # "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" # ]; # nix.binaryCaches = [ # "https://hydra.iohk.io" # ]; # Enable CUPS to print documents. services.printing = { enable = true; drivers = [ pkgs.epson-escpr2 pkgs.epson-escpr ]; }; users.mutableUsers = false; users.defaultUserShell = pkgs.fish; users.users.stuebinm = { isNormalUser = true; extraGroups = [ "docker" "wheel" "networking" "video" ]; home = "/home/stuebinm"; hashedPassword = "$6$IULsCnY7HjDHAJWs$05DYuwXsfWWKj6m3KTWCPp5k9HuQikIamNBzn2GihMG8oeEf5c8YkXlwuO6uTnX8ZFmyAQdhXfO5yYNEM/YTm0"; useDefaultShell = true; }; nix.settings.trusted-users = [ "root" "@wheel" ]; services.syncthing = { enable = true; user = "stuebinm"; guiAddress = "syncthing.localhost:3000"; dataDir = "/home/stuebinm/syncthing"; configDir = "/home/stuebinm/syncthing/.config/syncthing"; }; networking.hosts = { "127.0.0.1" = [ "syncthing.localhost" ]; }; # graphics and stuff programs.light.enable = true; programs.slock.enable = true; environment.systemPackages = with pkgs; [ hikari fuzzel ]; security.pam.services.hikari-unlocker.text = '' auth include login ''; services.greetd = { enable = true; settings = { default_session = { command = "${pkgs.greetd.tuigreet}/bin/tuigreet -tr --asterisks --cmd 'hikari -c ~/hikari.conf'"; user = "stuebinm"; }; terminal.vt = 2; }; }; systemd.services.greetd.unitConfig.Conflicts = lib.mkForce ["getty@tty2.service"]; systemd.services.greetd.serviceConfig.Type = lib.mkForce "idle"; systemd.services.greetd.unitConfig.after = lib.mkForce [ "multi-user.target" ]; #boot.kernelParams = [ "console=tty1" ]; hardware.opengl.enable = true; fonts.enableDefaultFonts = true; programs.xwayland.enable = false; xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-wlr ]; xdg.portal.enable = true; services.flatpak.enable = true; # Enable sound. sound.enable = true; hardware.pulseaudio.enable = true; }