{ config, pkgs, lib, options, specialArgs, modulesPath, }: { nixpkgs.config.allowUnfreePredicate = _: true; home.stateVersion = "23.05"; home.username = "kristian"; home.homeDirectory = "/home/kristian"; # For cursor not showing in hyprland with nvidia home.sessionVariables.WLR_NO_HARDWARE_CURSORS = "1"; # Symlinks home.file = { ".wallpaper".source = ./wallpaper; # Wallpaper #"Media".source = config.lib.file.mkOutOfStoreSymlink "/mnt/Media"; #"Documents".source = config.lib.file.mkOutOfStoreSymlink "/mnt/Documents"; }; # TODO: Change for Laptop targets.genericLinux.enable = false; # Enable on non-nixos ditros # Keyboard Layout home.keyboard.layout = "at"; # NOTE: Set by Hyprland config # Programs (additional programs) home.packages = import ./packages.nix {inherit pkgs;}; ## Services services.copyq.enable = true; services.playerctld.enable = true; # for mpris waybar module # Programs programs = { home-manager.enable = true; # Allow home-manager to manage itself wofi.enable = true; mpv.enable = true; obs-studio.enable = true; zathura.enable = true; yt-dlp.enable = true; lf.enable = true; vscode.enable = true; bashmount.enable = true; bash = import ./bash.nix {enable = true;}; alacritty = import ./alacritty.nix {enable = true;}; neovim = import ./nvim { enable = true; pkgs = pkgs; }; firefox = import ./firefox.nix { enable = true; nur = config.nur; }; waybar = import ./waybar.nix { enable = true; pkgs = pkgs; }; git = import ./git.nix {enable = true;}; thunderbird = import ./thunderbird.nix {enable = true;}; }; xdg.mimeApps = { enable = true; defaultApplications = {"video/*" = ["mpv.desktop"];}; }; systemd.user.mounts = let home = "home-kristian"; in { "${home}-Documents" = { Unit = { Description = "Mount Documents"; After = ["graphical.target "]; Wants = ["graphical.target"]; }; Install = {WantedBy = ["default.target"];}; Mount = { What = "kristian@krsnik.at:/mnt/TITAN/Documents"; Where = "/home/kristian/Documents"; Type = "fuse.sshfs"; Options = "_netdev,reconnect,ServerAliveInterval=30,ServerAliveCountMax=5,x-systemd.automount"; TimeoutSec = 60; }; }; "${home}-Media" = { Unit = { Description = "Mount Media"; After = ["graphical.target "]; Wants = ["graphical.target"]; }; Install = {WantedBy = ["default.target"];}; Mount = { What = "kristian@krsnik.at:/mnt/TITAN/Media"; Where = "/home/kristian/Media"; Type = "fuse.sshfs"; Options = "_netdev,reconnect,ServerAliveInterval=30,ServerAliveCountMax=5,x-systemd.automount"; TimeoutSec = 60; }; }; }; wayland.windowManager.hyprland = import ./hyprland.nix {enable = true;}; }