dotfiles/homes/me/home.nix

123 lines
2.4 KiB
Nix

{
inputs,
outputs,
lib,
config,
pkgs,
...
}:
{
imports = [
# ./nvim.nix
];
nixpkgs = {
config.allowUnfree = false;
};
home = {
username = "me";
homeDirectory = "/home/me";
};
programs = {
# Required for home-manager
home-manager.enable = true;
git.enable = true;
# The terminal I use
# TODO: this is dependent on nvim being installed
# TODO: make this into a module with a configurable editor option
rio = {
enable = true;
# Rio Config Docs: https://raphamorim.io/rio/docs/config
settings = {
theme = "dracula";
hide-mouse-cursor-when-typing = true;
use-fork = true; # fork (dont spawn) Rio
fonts = {
size = 18;
features = [];
regular = {
family = "IosevkaTerm";
style = "normal";
weight = 400;
};
bold = {
family = "IosevkaTerm";
style = "normal";
weight = 800;
};
italic = {
family = "IosevkaTerm";
style = "italic";
weight = 400;
};
bold-italic = {
family = "IosevkaTerm";
style = "italic";
weight = 800;
};
};
# Run when the `OpenConfigEditor` keybinding is triggered
editor = {
program = "nvim";
args = [];
};
};
};
};
# Nicely reload system units when changing configs
systemd.user.startServices = "sd-switch";
home.stateVersion = "24.05"; # don't change this
/*
services = {
# Change monitor positions
# TODO: find a way to make this modular (ie put something different for my laptop)
# my idea is to have a "monitors" module and use kanshi for wayland
kanshi = {
enable = true;
systemdTarget = "hyprland-session.target";
# You can find your monitors in hyprland by using `hyprctl monitors all`
settings = [
{ # 1920x1080@144 gaming monitor
output.criteria = "HDMI-A-1";
output.mode = "1920x1080@119.98Hz";
output.scale = 1.0;
output.adaptiveSync = false; # Variable Refresh Rate (this can be changed for gaming)
}
{ # 4k side monitor
output.criteria = "DP-2";
output.mode = "3840x2160@60.00Hz";
output.scale = 2.0;
}
{ # This is my default setup
profile.name = "default";
profile.outputs = [
{
criteria = "DP-2";
position = "0,0";
}
{
criteria = "HDMI-A-1";
position = "3840,0";
}
];
}
];
};
};
*/
}