112 lines
3.0 KiB
Nix
112 lines
3.0 KiB
Nix
{
|
|
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}-Media" = {
|
|
Unit = {
|
|
Description = "Mount disk-1 with sshfs";
|
|
After = ["graphical-session-pre.target"];
|
|
PartOf = ["graphical-session-pre.target"];
|
|
};
|
|
Install = {WantedBy = ["graphical-session-pre.target"];};
|
|
Mount = {
|
|
What = "kristian@krsnik.at:/mnt/TITAN/Media";
|
|
Where = "/home/kristian/kristian/Media";
|
|
Type = "fuse.sshfs";
|
|
#Options=_netdev,reconnect,ServerAliveInterval=30,ServerAliveCountMax=5,x-systemd.automount
|
|
#TimeoutSec=60
|
|
#Options = "resolve-symlinks";
|
|
};
|
|
};
|
|
"${home}-Documents" = {
|
|
Unit = {
|
|
Description = "Mount disk-1 with sshfs";
|
|
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;
|
|
#Options = "resolve-symlinks";
|
|
};
|
|
};
|
|
};
|
|
|
|
wayland.windowManager.hyprland = import ./hyprland.nix {enable = true;};
|
|
}
|